Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. MQTT- Adapter/ Verbindung mit HiveMQ

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT- Adapter/ Verbindung mit HiveMQ

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active last edited by

      @basti97 sagte in MQTT- Adapter/ Verbindung mit HiveMQ:

      Muss ich dann auf das Zahnrad gehen um den erstellten DB in user zu "verknüpfen" und wo gebe ich an welches Gerät es sein soll.

      Zeig doch bitte mal, wie jetzt der Baum unter mqtt.0 für ein Tasmota Gerät aussieht. Dies entspricht 1:1 den MQTT Topics, die du verwenden musst. Warum sollten wir jetzt mit Beispielen hantieren, wenn es doch gleich konkret werden kann!?

      Basti97 1 Reply Last reply Reply Quote 0
      • Basti97
        Basti97 Most Active @Marc Berg last edited by

        Da hast du recht und zwar habe bzw musste ich unter cmnd die Datenpunkte per Hand erstellen damit ich die Zustände im MQTT state ändern bzw im Tasmota Gerät. So weit hat es dann auch geklappt. was ich aber am Sonoff Adapter besser finde ist das man den state und cmnd Zustand in einem Datenpunkt hat was wahrscheinlich hier im Adapter nicht funktoniert? Das "zusammenführen" habe ich auch schon mal per Blockly getestet hat eigentlich auch funktoniert. Da aber der MQTT Adapter immer wieder neu gestartet hat und die Zustände in diesen Augenblick nicht vom Server/ Tasmota Gerät ankamen waren sie mit dem virtuellen Datenpunkte unterschiedlich. Und leider ist es am Ende zu einem Loop gekommen wo der Ausgang angefangen mit blinken und die CPU hoch ging. 😀 Außerdem hat es dann noch lange gedauert bis die Zustände wieder "ruhig waren".

        2779ef95-48a4-4ac4-99af-586cf7535928-grafik.png

        56511b1e-5379-45d5-8b6f-ebe73ebf751c-grafik.png

        97209dc3-79d5-46ce-adaa-3403a7581c05-grafik.png

        Danke das du mir hilfst. 🙂 Dir noch ein schönen Abend.

        Marc Berg 1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Basti97 last edited by

          @basti97

          ...und wenn du die Objektdaten hier als Text in CodeTags reinkopiert hättest, könnte man auch rauskopieren, das tippe ich jetzt nicht ab.

          Wie ich es machen würde:

          Lesend:

          1. einen Datenpunkt deiner Wahl (genaue Namen spielen hier keine Rolle) unter "0_Userdata" anlegen, z.B. "0_Userdata.Tasmota.ESPimFlur.getPower1"
          2. Auf Zahnrad klicken und mqtt-client aktivieren, nur "Subscribe" aktivieren und "nur Änderungen"
          3. Als Topic dein MQTT Topic eintragen (stat/ESP...)

          Für Daten, die du an die Tasmota-Geräte schreiben/senden willst, anders herum:

          1. einen Datenpunkt deiner Wahl (genaue Namen spielen hier keine Rolle) unter "0_Userdata" anlegen, z.B. "0_Userdata.Tasmota.ESPimFlur.setPower1"
          2. Auf Zahnrad klicken und mqtt-client aktivieren, nur "Publish" aktivieren und "nur Änderungen"
          3. Als Topic dein MQTT Topic eintragen (cmnd/ESP...)

          Wichtig: ggf. vorhandene schreibende Aktionen auf mqtt.0.cmnd... vorher abschalten.

          Basti97 2 Replies Last reply Reply Quote 0
          • Basti97
            Basti97 Most Active @Marc Berg last edited by Basti97

            @marc-berg Hätte ich machen können ist ja noch nicht zu spät schicke es dir dann später. Schon mal vielen Dank für die Hilfe und dein Lösungsvorschlag.

            Brauche ich dann trotzdem zusätzlich noch den Mqtt Adapter oder nicht? Ich würde sagen nein ein kurzes Update wo ich heute Nachmittag geschaut habe läuft der mqttclient ohne Verbindungsabbrüche. Gut verbunden ist er er hat ja aber noch keine Daten zum DB.

            1 Reply Last reply Reply Quote 0
            • Basti97
              Basti97 Most Active @Marc Berg last edited by Basti97

              @marc-berg ich habe es gerade probiert aber irgendwie funktoniert es nicht.

              Das sind die Einstellungen des Adapters verbindung zu hivemq besteht bzw Adapter ist grün.
              9537cef2-693d-4457-af01-0f827a5a38de-grafik.png
              Muss ich vielleicht das auch noch anpassen die Namen unten habe ich einfach erfunden. Mir ist nichts anders eingefallen oder müssen sie zum Gerät passen

              für schreiben
              e1cde76e-bc1a-4e5e-8151-25bb7ea9c6df-grafik.png

              cmnd/ESPWemos_mini/POWER1
              

              für lesen
              59f768c7-8222-4435-85e7-375dca396731-grafik.png

              state/ESPWemos_mini/POWER1
              
              1 Reply Last reply Reply Quote 0
              • Marc Berg
                Marc Berg Most Active last edited by Marc Berg

                @basti97

                Publish: auf keinen Fall "als Objekt" anhaken. Da kann Tasmota nichts mit anfangen, du willst ja nur den Wert übertragen.

                Subscribe: Wurden denn vom Tasmota-Gerät neue Werte bzw. Änderungen übertragen? Nur dann erfolgt hier eine Aktualisierung.

                Ansonsten würde ich aus der Datenpunkt-ID Zeichen wie Klammern und Umlaute zur Sicherheit rauslassen.
                Zur weiteren Fehlersuche kannst du auch mal den MQTT Explorer auf HiveMQ loslassen. Damit siehst du dann genau, welche Topics gerade übertragen werden.

                Basti97 1 Reply Last reply Reply Quote 0
                • Basti97
                  Basti97 Most Active @Marc Berg last edited by

                  @marc-berg Dankeschön probiere ich am Freitag noch einmal vielleicht schaffe ich den Durchbruch. Aber unabhängig davon das ich kein Gerät schalten kann bzw abfragen kann. Funktioniert der Adapter zu HiveMQ ohne Fehlermeldungen.

                  1 Reply Last reply Reply Quote 0
                  • Basti97
                    Basti97 Most Active last edited by

                    Kurz eine Info ich habe das ganze mit einem Raspberry mal getestet und es kommt der gleiche Fehler
                    4b09c945-f81b-4b76-b97a-50b16747fcae-grafik.png

                    Marc Berg 1 Reply Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active @Basti97 last edited by Marc Berg

                      @basti97 sagte in MQTT- Adapter/ Verbindung mit HiveMQ:

                      Kurz eine Info ich habe das ganze mit einem Raspberry mal getestet und es kommt der gleiche Fehler

                      Was steht im Log direkt vor "ECONNRESET"?

                      EDIT: kann es sein, dass du die "Client ID" auf der Seite "Client Settings" nicht gesetzt hast? Schreib da mal einen eindeutigen Namen rein, der von keinem anderen Client genutzt wird. Außerdem QoS mal auf "1" setzen.

                      Basti97 2 Replies Last reply Reply Quote 0
                      • Basti97
                        Basti97 Most Active @Marc Berg last edited by

                        @marc-berg Unter Client steht bei mir nichts drinnen muss ich da das ESP Gerät eingeben oder die HiveMQ Seite. Das andere habe ich auf 1 geändert

                        93fd7479-456d-49f6-9789-7ebbade0f330-grafik.png

                        Marc Berg 1 Reply Last reply Reply Quote 0
                        • Marc Berg
                          Marc Berg Most Active @Basti97 last edited by

                          @basti97 sagte in MQTT- Adapter/ Verbindung mit HiveMQ:

                          Unter Client steht bei mir nichts drinnen muss ich da das ESP Gerät eingeben oder die HiveMQ Seite

                          Dort muss eine beliebiger Text rein. Wichtig ist nur, dass dies über alle Clients (also auch Tasmota) eindeutig ist, also z.B. "mqttclientiob". Es könnte sein, dass Probleme auftreten, wenn die ID leer oder doppelt vergeben ist, das gilt auch für den mqtt-client Adapter.

                          1 Reply Last reply Reply Quote 0
                          • Basti97
                            Basti97 Most Active @Marc Berg last edited by

                            @Marc-Berg
                            Das ist ein auszug vom Log habe noch mal die State geändert um das auch auszuschliesen.


                            mqtt.3
                            2025-01-28 11:58:38.438 info terminating
                            mqtt.3
                            2025-01-28 11:58:38.003 info Disconnected from xxxxxxxxxxxxxxxx.eu.hivemq.cloud
                            mqtt.3
                            2025-01-28 11:58:38.001 error Client error: Error: read ECONNRESET
                            mqtt.3
                            2025-01-28 11:58:37.934 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                            mqtt.3
                            2025-01-28 11:58:37.930 info terminating
                            mqtt.3
                            2025-01-28 11:58:37.919 info Got terminate signal TERMINATE_YOURSELF
                            mqtt.3
                            2025-01-28 11:51:48.696 info send2Server mqtt.3.info.connection[info/connection]
                            mqtt.3
                            2025-01-28 11:51:48.665 info All states published
                            mqtt.3
                            2025-01-28 11:51:48.604 info Publishing state mqtt.3.Weihnachten.tele.Adventskranz.STATE
                            mqtt.3
                            2025-01-28 11:51:48.603 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER5
                            mqtt.3
                            2025-01-28 11:51:48.602 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER4
                            mqtt.3
                            2025-01-28 11:51:48.601 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER3
                            mqtt.3
                            2025-01-28 11:51:48.601 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER2
                            mqtt.3
                            2025-01-28 11:51:48.600 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER6
                            mqtt.3
                            2025-01-28 11:51:48.598 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.POWER1
                            mqtt.3
                            2025-01-28 11:51:48.597 info Publishing state mqtt.3.Weihnachten.stat.Adventskranz.RESULT
                            mqtt.3
                            2025-01-28 11:51:48.595 info Publishing state mqtt.3.cmnd.Adventskranz.cmnd.Adventskranz.POWER1
                            mqtt.3
                            2025-01-28 11:51:48.595 info Publishing state mqtt.3.ioBroker.cmnd.Adventskranz.POWER1
                            mqtt.3
                            2025-01-28 11:51:48.594 info Publishing state mqtt.3.ioBroker.Weihnachten.cmnd.Adventskranz.POWER1
                            mqtt.3
                            2025-01-28 11:51:48.592 info Publishing state mqtt.3.info.connection
                            mqtt.3
                            2025-01-28 11:51:48.586 info Subscribe on "#"
                            mqtt.3
                            2025-01-28 11:51:48.582 info Connected to xxxxxxxxxxxxxxxx..s1.eu.hivemq.cloud
                            mqtt.3
                            2025-01-28 11:51:47.785 info Try to connect to mqtts:// xxxxxxxxxxxxxxxx..s1.eu.hivemq.cloud:8883 with clientId=Media04.mqtt.3and credentials Mia25:*******************
                            mqtt.3
                            2025-01-28 11:51:47.318 info starting. Version 6.1.2 in /opt/iobroker/node_modules/iobroker.mqtt, node: v18.20.5, js-controller: 7.0.6
                            mqtt.3
                            2025-01-28 11:51:46.233 info Sets unsupported
                            mqtt.3
                            2025-01-28 11:51:37.480 info terminating
                            mqtt.3
                            2025-01-28 11:51:37.036 info Disconnected from xxxxxxxxxxxxxxxx..s1.eu.hivemq.cloud
                            mqtt.3
                            2025-01-28 11:51:37.035 error Client error: Error: read ECONNRESET
                            mqtt.3
                            2025-01-28 11:51:36.975 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                            mqtt.3
                            2025-01-28 11:51:36.971 info terminating
                            mqtt.3
                            2025-01-28 11:51:36.961 info Got terminate signal TERMINATE_YOURSELF
                            mqtt.3
                            2025-01-28 11:41:47.146 info All states published

                            Marc Berg 1 Reply Last reply Reply Quote 0
                            • Marc Berg
                              Marc Berg Most Active @Basti97 last edited by

                              @basti97

                              Dann habe ich auch keine Idee mehr. Also entweder das Publishen der eigenen States abschalten um den Traffic zu sparen (Fehlermeldungen bleiben dann) oder auf den mqtt-client Adapter wechseln, das muss gehen.

                              In der HiveMQ Oberfläche gibt es den "Web Client", darin kannst du doch alle Messages sehen, ohne jetzt noch extra den MQTT Explorer zu installieren.

                              Ausgehend von den Messages und Topics, die dort erscheinen und den Einstellungen des mqtt-client Adapters könnten wir weiter den Fehler eingrenzen.

                              Basti97 2 Replies Last reply Reply Quote 0
                              • Basti97
                                Basti97 Most Active @Marc Berg last edited by

                                @marc-berg Danke für deine Meldung ich habe jetzt den Adapter nochmal gestartet in den ich bei client deinen vorgeschlagenen Name hinein kopiert habe.

                                1 Reply Last reply Reply Quote 0
                                • Basti97
                                  Basti97 Most Active @Marc Berg last edited by

                                  @marc-berg Die erste erfolgsmeldung mit den MQTT- Client Adapter kann ich bis jetzt schon die Zustände in Tasmota schreiben. Nun fehlen noch die state durch den Explorer in HiveMQ sieht man es sehr gut woran es lag. Denn der Adapter hat "Weihnachten/cmnd/Weihnachten/cmnd/Adventskranz/POWER5" immer weggeschickt anstatt nur "cmnd/Adventskranz/POWER5"

                                  mcm1957 1 Reply Last reply Reply Quote 0
                                  • mcm1957
                                    mcm1957 @Basti97 last edited by

                                    @basti97

                                    Wenn du hier weiterkommst / machst, dann schließ bitte das Issue im Repo des mqtt Adapters. So wie es aussieht liegt ja weder ein Fehler im Adapter noch ein Featurerequest vor.

                                    Basti97 1 Reply Last reply Reply Quote 0
                                    • Basti97
                                      Basti97 Most Active @mcm1957 last edited by Basti97

                                      @mcm1957 Naja es erschließt mich aber trotzdem nicht warum das mit dem MQTT Adapter nicht funktioniert aber mit den MQTT.client wahrscheinlich schon. Sind die Adapter so verschieden im Aufbau?

                                      1 Reply Last reply Reply Quote 0
                                      • Marc Berg
                                        Marc Berg Most Active last edited by Marc Berg

                                        @basti97 sagte in MQTT- Adapter/ Verbindung mit HiveMQ:

                                        Sind die Adapter so verschieden im Aufbau?

                                        Habe mir das nochmal genauer angeschaut und die Ursache gefunden. Der mqtt (Broker/Client)-Adapter hat fix eine "keepalive"-Zeit vom 1000 Sekunden gesetzt, die sich über die Instanzeinstellungen nicht anpassen lässt. Diese Zeit ist HiveMQ zu lang, sodass die Verbindung abgebrochen wird und neu aufgebaut werden muss.

                                        Der mqtt-client-Adapter hat die keepalive-Zeit NICHT gesetzt, damit greift der Default-Wert von 60 Sekunden.

                                        Workaround1: regelmäßig, z.B. alle 60 Sekunden, eine MQTT Nachricht senden

                                        Workaround2: In der Instanz die Einstellungen als json runterladen, nach "keepalive" suchen, die 1000 in 60 ändern und speichern. Danach die json Datei wieder hochladen.

                                        9d636cf1-bf0c-4584-8699-5d058db9b357-grafik.png

                                        Basti97 1 Reply Last reply Reply Quote 1
                                        • Basti97
                                          Basti97 Most Active @Marc Berg last edited by Basti97

                                          @marc-berg Danke das du nachgeschaut hast es funktioniert mit dem MQTTClient Adapter sehr gut ich denke das ich es erstmal so lasse. Und hoffe das der Adapter die keepalive Zeit bei einem der nächsten Updates bei dem client Adapter nicht bekommt.
                                          Also ist in der Standard MQTT Teleperiod von 300 in Tasmota auch schon zuviel und man müsste wenn man den Adapter nutzen möchte häufiger senden/ empfangen also aller 60 Sekunden mindestens.
                                          Den Workaround2 teste ich aber auf jeden Fall mal jetzt habe ich ja ein experten vom Adapter.

                                          Ich weiß ja nicht ob man für die HiveMQTT Verbindung mal einen eigenen Adapter schreiben sollte auf dem Stand des MQTT bzw MQTTClient Adapter mit einer geringeren keepalive Zeit. Oder ob man diese gleich herunter setzt. Hat es für andere MQTT Anwendungen irgendeine Auswirkung wenn sie nur 60 wäre anstat 1000?
                                          Also nochmal vielen lieben Dank für deine Hilfe und sorry das ich erst zu spät antworte. 🙂

                                          Marc Berg 1 Reply Last reply Reply Quote 0
                                          • Marc Berg
                                            Marc Berg Most Active @Basti97 last edited by

                                            @basti97 sagte in MQTT- Adapter/ Verbindung mit HiveMQ:

                                            Also ist in der Standard MQTT Teleperiod von 300 in Tasmota auch schon zuviel und man müsste wenn man den Adapter nutzen möchte häufiger senden/ empfangen also aller 60 Sekunden mindestens.

                                            Nein. Was wir wissen ist, dass die 1000 Sekunden für HiveMQ zu viel sind. Man müsste sich jetzt mal herantasten, welcher Wert noch okay ist. Ich denke mal, auch die 300 Sekunden sind in Ordnung.

                                            Ich weiß ja nicht ob man für die HiveMQTT Verbindung mal einen eigenen Adapter schreiben sollte auf dem Stand des MQTT bzw MQTTClient Adapter mit einer geringeren keepalive Zeit.

                                            Nein. Man müsste lediglich den keepalive Parameter (den es ja im Hinter-/Untergrund bereits gibt) in die Oberfläche einbauen, um ihn einfach einstellen zu können.

                                            Oder ob man diese gleich herunter setzt. Hat es für andere MQTT Anwendungen irgendeine Auswirkung wenn sie nur 60 wäre anstat 1000?

                                            Ich denke nicht. Die 60 Sekunden müssen ja auch nicht sein, sicher reichen keepalive-Zeiten irgendwo zwischen 100 und 500 Sekunden. Wie gesagt, müsste man probieren.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            971
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            absturz cloud hivemq mqtt tasmota
                                            3
                                            29
                                            876
                                            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