Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. MQTT Topic wird unterschiedlich gesendet

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    MQTT Topic wird unterschiedlich gesendet

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SabineT last edited by

      Hallo!

      Ich hab MQTT Broker/Client als Client installiert und bei den "MQTT Einstellungen" unter "Prefix für alle Topics" iobroker/ eingestellt. "Publish nur bei Änderung" hab ich nicht ausgewählt, "Bekanntgeben eigene States beim Verbinden" schon.

      Als MQTT-Server hab ich Mosquitto auf einem anderen Linuxrecher laufen und schaue dort mit "mosquitto_sub -v -t +/#" mit, was so alles an Topics daher kommt.

      Nach einem Start oder Neustart werden die Topics dann in der Form "iobroker/xxx/yyy" ausgegeben, bei einem Update des zugehörigen Objects dann aber als "iobroker/iobroker/xxx/yyy".

      Der Prefix wird also 2x vorgesetzt!

      Hab ich jetzt irgend einen Verständnisfehler oder ist das ein Fehler vom MQTT?

      Interessant ist übrigens auch, dass ioBroker in der Adapter-Liste als installierte Version 1.5.0 anzeigt, als Verfügbar aber 1.4.1

      Sabine

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        @SabineT:

        oder ist das ein Fehler vom MQTT? `
        ich arbeite mich gerade etwas in MQTT ein, aber mit prefixes habe ich noch nicht gearbeitet.

        Allerdings habe auch ich seltsame Dinge bemerkt.

        viewtopic.php?f=22&t=12894&p=139601#p136762

        Vielleicht lassen sich da ja die Issues eingrenzen.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • S
          SabineT last edited by

          Wenn ich Prefix leer lasse wird übrigens immer nur "xxx/yyy" gesendet. Schaut für mich also danach aus, dass beim Posten eines Updates der Prefix 2x vorgesetzt wird, beim Bekanntgeben der States beim Verbinden aber nur 1x.

          lg, Sabine

          1 Reply Last reply Reply Quote 0
          • S
            SabineT last edited by

            Ich hab mir mal im Verzeichnis /opt/iobroker/node_modules/iobroker.mqtt/lib die beiden Programme client.js und common.js angeschaut.

            In client.js in der function send2Server wird u.a.:

            convertID2topic(obj._id, null, adapter.config.prefix, adapter.namespace); aufgerufen

            und später dann:

            client.publish(adapter.config.prefix + topic, null);

            In der function publishAllStates wird aber:

            client.publish(config.prefix + id.replace(/./g, '/'), state2string(states[id].val), function (err)

            verwendet.

            In common.js kommt in der function convertID2topic u.a. dann:

            topic = prefix + id; vor.

            D.h. bei send2Server wird erst durch convertID2topic der prefix vorgesetzt und dann beim publish nochmals.

            Beim publishAllStates wird aber beim client.publish die id selber verwendet (das replace ersetzt nur . durch /).

            Ich hab aber jetzt zu wenig Erfahrung mit Javascript, um da jetzt selber Änderungen durchzuführen, da ich ja auch nicht weis, warum der Autor das so programmiert hat.

            lg, Sabine

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @SabineT:

              Ich hab aber jetzt zu wenig Erfahrung mit Javascript, um da jetzt selber Änderungen durchzuführen, da ich ja auch nicht weis, warum der Autor das so programmiert hat. `

              nach zu wenig Erfahrung sieht das aber nicht aus 😉

              Ich glaube den Inhalt Deines letzten Posts könntest Du als Issue beim Adapter melden.

              https://github.com/ioBroker/ioBroker.mqtt/issues

              1 Reply Last reply Reply Quote 0
              • S
                SabineT last edited by

                @ruhr70:

                nach zu wenig Erfahrung sieht das aber nicht aus 😉

                Ich glaube den Inhalt Deines letzten Posts könntest Du als Issue beim Adapter melden.

                https://github.com/ioBroker/ioBroker.mqtt/issues `
                Ich hab Erfahrung in diversen anderen Programmiersprachen, daher traue ich mir zu, auch JavaScript Programme zu lesen. Aber das jetzt selber Auszubessern ist dann doch eine ander Sache…

                Hab meine Postings aber mal zusammengefasst als Issue gemeldet.

                lg, Sabine

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User last edited by

                  The MQTT plugin works great but 1 downside is only being able to subscribe to 1 topic at a time. Could you add the ability to just keep adding as many as you want?

                  Thanks

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    You can use wildcards. Or I don't understand what you mean.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    787
                    Online

                    31.6k
                    Users

                    79.5k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    1534
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo