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.
    • 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
                                          • Basti97
                                            Basti97 Most Active @Marc Berg last edited by

                                            @marc-berg
                                            Wenn ich mich so richtig erinnern kann hatte ich ganz am Anfang weniger Abbrüche gehabt wo ich die Teleperiode zeit noch gering hatte auf 300 aber da kam es auch mal vor hat sich aber dann irgendwie im Sande verlaufen oder ich habe da kein großen Augenmerk darauf gelegt. Aber aus irgendeinen Grund hatte ich bei HiveMQ angeblich schon 10GB verbraucht und ich habe dann die Teleperiode Zeit erhöht erst 600 dann 900. Dann fingen die Probleme an, ich kann das ja mal testen aber dann mit einen anderen ESP. Den der ESP in Verbindung mit MQTT Client funktioniert ja und den lasse ich unangetastet.

                                            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.

                                            Ja das wäre die einfachste Variante vielleicht mit dem Hinweis für HiveMQ.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            901
                                            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