Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT-Adapter - Grundsatzfragen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    MQTT-Adapter - Grundsatzfragen

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

      Du brauchst dafür nur den MQTT-Client.

      Ich habe noch einen Verdacht. Kannst du mal den Adapter komplett deinstallieren und dann nochmal 0.3.2 neu installieren? Ist jetzt auch auf npm.

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

        @Pman:

        Kannst du mal den Adapter komplett deinstallieren und dann nochmal 0.3.2 neu installieren? `
        Das hatte ich gestern sowieso gemacht, allerdings zwischenzeitlich den mqtt Adapter installiert.

        Werde ich trotzdem heute nochmal machen.

        Gruß

        Rainer

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

          @Pman:

          Ich habe noch einen Verdacht `
          Was hast du getan?

          ich habe alles gleich gemacht, wie bei meinen ersten Gehversuchen.

          Jetzt läuft es (fast) so, wie es sein soll.

          client ist grün und auf dem broker kommt der ausgewählte State an, und wird aktualisiert.

          lediglich werden auch States vom broker-Tinkerboard auf dem client subscribed, wohl weil ich im MQTT-Adapter unter

          MQTT Einstellungen

          Maske für Bekanntgeben von eigenen States:

          mqtt.0.*
          

          eingeben musste, weil sonst dort irgendetwas mit States aus dem Tankerkönig Adapter kollidierte.

          Dann kann ich ja weiter forschen 😉

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • P
            Pman last edited by

            Wofür nutzt du den MQTT-Adapter?

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

              @Pman:

              Wofür nutzt du den MQTT-Adapter? `
              Damit ich die Doku schreiben kann 😉

              Der UseCase:

              Im Moment habe ich eine produktive ioBroker Umgebung bestehend aus einem Cubietruck als Master und einem Pi2 als Slave im Keller, auf dem der Smartmeter-Adapter meinen Stromzähler ausliest. Diese Werte konnte ich bisher nur in der Produktivumgebung verwenden. In allen Testumgebungen hatte ich keinen Zugriff auf die Smartmeter-Werte. Die Werte vom Solar-Wechselrichter hingegen konnte ich auf beliebig vielen Testsystemen auch gleichzeitig auswerten.

              Wie gesagt war ich von dem Vortrag von hobbyquaker dermaßen fasziniert, dass ich es immer schon mal probieren wollte. Der erste Schritt kam dann, dass ich (ebenfalls ohne Ahnung davon) über den LuftgüteThread zu zwei Teensy-LC kam, die Raumdaten per MQTT an eine Testinstallation schickten.

              Genau an diese Installation wollte ich jetzt auch weitere Daten senden, und durch die Limitierung der smartmeter-Werte auf einen RasPi bot sich das an. Das Ergebnis ist SUPER!!!
              144_stromverbrauchswerte_per_mqtt.jpg

              Seit eben habe ich alle möglichen Werte zur Verfügung. Außerdem Werte, die auf dem Raspi per js gerechnet werden, müssen auf dem Tinker nicht nochmal gerechnet werden, sondern werden einfach mit ausgelesen.

              Außerdem wächst die Non-Homematic-Gemeinde bei ioBroker, da bin ich gerade dabei nach Möglichkeiten zu suchen ein Einsteigertutorial für non-HM User zu schreiben.

              Arduino / WeMos und Co. sind da oft verbreitet, und da bietet sich auch MQTT als Thema an.

              Gruß

              Rainer

              1 Reply Last reply Reply Quote 0
              • P
                Pman last edited by

                Sieht super aus, musst natürlich irgendwie die beiden Adapter trennen in der Doku, da man in der Regel eher nur einen von beiden benötigt.

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

                  @Pman:

                  musst natürlich irgendwie die beiden Adapter trennen in der Doku `
                  Klar, gibt ja zwei Dokus, für jeden Adapter eine.

                  @Pman:

                  da man in der Regel eher nur einen von beiden benötigt. `
                  Und da hänge ich gerade beim Spielen fest - na nicht ganz.

                  Wenn ich es jetzt alles richtig verstanden habe sieht eine mqtt-Struktur z.B. so aus.

                  Meine erste Stufe:

                  Tinker1 = Broker; hier laufen alle Daten zusammen. Die clients geben ihn als host an.

                  Teensy Gästezimmer (client) sendet seine Daten zum Broker, Daten werden dort verarbeitet und visualisiert

                  Teensy Arcade (client) sendet seine Daten zum Broker, Daten werden dort verarbeitet und visualisiert

                  Jetziger Ausbau:

                  RasPi Keller (client) sendet seine Daten zum Broker, Daten werden dort verarbeitet und visualisiert

                  und gaaanz aktueller Test

                  Tinker 2 (meine cloud TestInstallation - hier will ich natürlich möglichst auch alles sehen) ebenfalls client.

                  nur wie bekomme ich die Daten hierhin zum Visualisieren:

                  einfach beim MQTT-Adapter unter MQTT-Einstellungen als publish-Maske /smartmeter* eingegeben brachte nur einzelne Datenpunkte

                  Änderung in /smartmeter/0/* brachte einen weiteren.

                  Erst die Änderung im MQTT-Client bei der subscriptions-Maske ebenfalls smartmeter/* eingeben erzeugte erst eine gelbe Ampel und nach restart des Adapters läuft es jetzt.

                  Das war viel Try and Error (Macht mir nichts), aber wie ist es denn richtig?

                  Gruß

                  Rainer

                  1 Reply Last reply Reply Quote 0
                  • P
                    Pman last edited by

                    Den MQTT Adapter brauchst du eigentlich grundsätzlich nur wenn du einen Broker erstellen willst. der Adapter kann auch als Client funktionieren, insbesondere, wenn du nur subscriben willst aber keine (einzelnen) States publishen.

                    Wenn du ioBroker nicht als MQTT-Broker nutzen willst müsste jedoch der MQTT-Client Adapter besser passen. Insbesondere weil man publish/subscribe eben PRO STATE einstellen kann.

                    Es gibt nun zwei Wege, um Datenpunkte vom MQTT-Broker nach ioBroker zu bekommen.

                    1.

                    Du verknüpfst EINEN in ioBroker vorhandenen State mit dem EINEM Topic auf dem MQTT-Broker. Das wäre der Weg über die Einstellung über das Zahnrad im Admin. Du hast dann je nach Einstellung (publish/subscribe) eine Einwege- oder Zweiwegesynchronisation. Wenn du State-Änderungen im ioBroker auch zum MQTT-Broker senden möchtest, musst du auch publish für diesen State aktivieren.

                    2.

                    Du hast im ioBroker keine passenden States und möchtest Topics oder ganze Topicbäume vom MQTT-Broker subscriben. In diesem Fall stellst du bei den MQTT-Client Adaptereinstellungen unter Subscriptions eine Kommaseparierte Liste von Topics (ggf. mit Wildcard) ein. In deinem Fall wäre das ACHTUNG "/smartmeter/0/#". Auch nutzt man normalerweise keine Leading Slashes in MQTT, wenn du allerdings dorthin publishst musst du es auch hier beim subscriben angeben. So weit ich weiß sind "/1/2" und "1/2" nämlich wirklich unterschiedliche Topics. Mehr dazu und Wildcards unter MQTT hier:

                    http://www.hivemq.com/blog/mqtt-essenti … -practices

                    Was passiert wenn du hier ein Topic/Topic-Baum einträgst: Unter mqtt-client.0.* werden zu allen empfangenen Topics automatisch passende States angelegt und für diese wird automatisch der 1-Wege-Sync aktiviert. Danach verhält es sich wie bei 1. beschrieben. Du kannst zum testen auch einfach mal "$SYS/#" eintragen, dort veröffentlicht der MQTT-Broker normalerweise einige eigene Metriken.

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

                      Danke für diese Super Erklärung!

                      Ich war ganz dicht dran 😉

                      Das mit mqtt und mqtt Client hatte ich mir schon so gedacht, einiges in der konfig des mqtt als client gefiel mir besser, aber die Möglichkeiten für einzelne states sind eben nur beim mqtt-client Adapter.

                      Im Fall 2 fehlte mir wahrscheinlich der hash, alternativ hatte ich bereits überlegt manuell die states anzulegen um dort manuell subscribe zu aktivieren. Ich nehme an, dass meinst du mit dem letzten Absatz.

                      Naja, es gibt genug zu spielen.

                      Gruß

                      Rainer

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

                        @Pman:

                        und möchtest Topics oder ganze Topicbäume vom MQTT-Broker subscriben. In diesem Fall stellst du bei den MQTT-Client Adaptereinstellungen unter Subscriptions eine Kommaseparierte Liste von Topics (ggf. mit Wildcard) ein. In deinem Fall wäre das ACHTUNG "/smartmeter/0/#". `

                        Ich habe heute einen neuen client angelegt und wollte nur die markierten Daten vom Broker subscriben:
                        144_broker_daten.jpg

                        Ich habe es u.a. so versucht:
                        144_iobroker_client_subscriptions.jpg

                        Doch das Ergebnis sieht (für mich nicht nachvollziehbar) so aus:
                        144_iobroker_mqtt_client_subscriptions.jpg

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • P
                          Pman last edited by

                          Ich sehe grad nicht den Fehler :shock:

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

                            Gibt es bei dem Adapter keine Auto reconnect Funktion?

                            Gesendet von iPad mit Tapatalk Pro

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

                              Schließe mich der Frage von chucky666 an:

                              Gibt es einen automatic reconnect des MQTT-Servers in iobroker?

                              Oder genauer: Einen automatischen Restart der Instanz, wenn die Ampel davor auf Rot geht?

                              Habe dieses Phänomen manchmal (und habe leider noch nicht rausgefunden warum): Schaue morgens rein und die MQTT-Server-Instanz ist plötzlich rot.

                              Bei Reload funktioniert alles wieder. Leider auch noch nichts im Protokoll gefunden, das war gelöscht.

                              Wäre toll, wenn das irgendwie automatisch gehen würde, sonst kann ich den MQTT Server nämlich nicht nutzen, was sehr schade wäre.

                              Übersehe ich irgendwas?

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

                                Ich sitze immer noch an der Doku für den/die MQTT-Adapter und versuche mich wie immer mit try and Error in das Thema einzuarbeiten.

                                Jetzt hatte ich einige Probleme, die ich nicht einordnen kann, aber ggf. meiner speziellen Installation geschuldet waren.

                                Ich habe mehrere ioBroker Installationen laufen, auf einer den MQTT-Adapter als Broker, auf einem anderen den Client als publisher und auf zwei(?) den Client als Subscriber.

                                Jetzt ist mir aufgefallen, dass der mqtt client auf beiden subscribern mir das log vollmüllte indem diese andauernd neu die Subskription losgetreten hatten. Heute habe ich es geschafft das zu beenden, indem ich alle Objekte incl. MQTT gelöscht hatte, und sich diese neu aufbauten, Die Subskription habe ich direkt in der Konfiguration (nicht in den Objekten) angelegt:
                                144_mqtt_subscriptions.jpg

                                Die Objekte bauten sich auch direkt wieder auf, das Logging für flot musste ich wieder aktivieren und Ruhe war im log.

                                Allerdings taucht immer wieder ein Objekt auf, dass "eigentlich" gar nicht mehr existiert:
                                144_mqtt_falsch.jpg
                                Hier hatte ich im publisher den vorgeschlagenen Namen geändert und irrtümlich einen slash zu wenig gelöscht. Das habe ich nachträglich geändert, dieser Datenpunkt ist unter beiden subscriber mqtt-client auch da, aber der alte verschwindet nicht. Nach Löschen taucht er immer wieder sofort auf mit Wert "null".

                                Im Broker ist er auch nicht mehr.

                                Zusätzlich waren früher in diesem Feld automatisch die Namen der Subskription eingetragen, neuerdings sind diese leer:
                                144_mqtt_leer.jpg

                                MUSS hier etwas stehen, damit es klappt?

                                Zusatzinfo: EIN subscriber client hatte zwischenzeitlich eine neue IP bekommen.

                                Danke für eure Hilfe

                                Rainer

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                642
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                5
                                28
                                13892
                                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