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 @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

                                          991
                                          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