Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Probleme mit mqtt client

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Probleme mit mqtt client

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

      Moin!
      In meinem System läuft der mqtt-Server/Client Adapter als Client und greift auf den Mosquitto Broker zu. Funktioniert eigentlich einwandfrei, bis auf folgendes Problem: die Datenpunkte aktualisieren nicht, wenn die Nachricht unverändert, also mit derselben Payload, erneut abgesetzt wird.
      Beispiel: Beliebiger Schalter sendet nach Betätigung "on". Über den MQTT-Explorer kann ich erkennen, dass diese Nachricht korrekt abgesetzt wird. Wenn im Datenpunkt des iob mqtt-Client ein identischer Wert steht, erfolgt kein Refresh. Sobald die Nachricht abgeändert ist (z.B. derselbe Schalter sendet "off") erfolgt eine sofortige Aktualisierung des Datenpunktes. Falls danach nochmal auf "off" gedrückt wird, passiert wieder kein Refresh (weil der Wert ja so im Datenpunkt steht). Wenn dann "on" gedrückt wird, wird sofort refreshed.
      Welche Einstellung habe ich nicht korrekt vorgenommen?

      Mein System:
      Raspberry Pi 4 Model B, 8 GB
      Raspbian GNU / Linux 11 (bullseye)
      SD Karte mit 29 GB, 24,4 GB laut IOBroker frei
      js-controller: 4.0.24
      Node.js: v16.19.1
      NPM: 8.19.3
      Conbee II

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Oelesen last edited by mickym

        @oelesen Du hast eventuell angehakt nur Änderungen publizieren. In der Regel sollte keine Option in dieser Konstellation angehakt sein.

        8aec9b51-3744-4d9b-a3f6-529e902f68cc-image.png

        1 Reply Last reply Reply Quote 0
        • O
          Oelesen last edited by

          @mickym
          "Nur Änderungen publizieren" ist bei mir nicht angehakt, kann es also nicht sein (oder buggy??). Ist aber (glaub ich) auch nur für das Publizieren, nicht für die Subscription!?

          Screenshot 2023-03-02 133941.png

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Oelesen last edited by

            @oelesen Nein das schaut gut aus. Du müsstest beim erneuten Senden eines topics in jedem Fall eine Änderung des Zeitstempels sehen. Teste mal mit einem anderen mqtt-Client was zu publishen (z.Bsp. NodeRed).

            52e8292f-c906-4200-864b-941e773c6ee0-image.png

            O 1 Reply Last reply Reply Quote 0
            • O
              Oelesen @mickym last edited by

              @mickym
              In einem Versuch mit NodeRed bekomme ich für jede Schalterbetätigung eine sofortige Nachricht.
              Das Problem müsste ja demnach tatsächlich im Mqtt-Adapter des IoB liegen, oder?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Oelesen last edited by mickym

                @oelesen Nein - mit NodeRed greifst Du ja direkt auf Dein mosquitto zu. Der gibt es wiederum an den iob Adapter weiter. Also müsste grundsätzlich Deine Kommunikation zwischen mosquitto und dem iob Adapter in Ordnung sein. Das heißt es gäbe wirklich ein Problem oder keinen Eingang in Deinem mosquitto. Das heißt Du musst wohl oder übel das mosquitto Log öffnen und schauen, ob Dein Schalter auch was schickt.

                Ausser - und da gibts schon Probleme mit dem mqtt-Adapter - wenn Nachrichten mit besonderen Flags geschickt werden. Du hast ja geschrieben im MQTT-Explorer kommt es an und damit greifst Du ja auf Dein mosquitto zurück. Der Schalter muss es also irgendwie anders schicken, als wenn Du über NodeRed was publishst. Das gilt es herauszufinden. Ob man das beheben kann, ist eine andere Frage.

                In manchen Situationen arbeitet der mqtt-Adapter wirklich nicht sauber (s. Retain Flags etc.). Dann würde ich aber mal schauen, ob Du den mqtt-Adapter umgehen kannst und mal über NodeRed Deinen Schalter subscriben und schauen, ob da jede Aktualisierung ankommt. Dann hättest Du auch den ultimativen Beweis.

                Schau am Besten nochmal die beiden Logs (mqtt-Adapter und mosquitto Log an, ob da was erkennbar ist).

                O 1 Reply Last reply Reply Quote 0
                • O
                  Oelesen @mickym last edited by

                  @mickym [gelöst]
                  Vielen Dank mickym für Deine Hilfe!
                  "Problem" ist gelöst: Jeder Schalterdruck löst eine Aktualisierung des Wertes im IoB aus. Sofern sich der Wert der Payload nicht ändert, bekommt man den Refresh jedoch nicht mit, weil weder der Wert grün aufblinkt, noch die Timestamps aktualisiert werden. Tatsächlich lässt sich der Refresh aber im Skript über den Trigger "Falls Objekt wurde aktualisiert" nachweisen und somit auch verwenden. Damit ist mein Problem gelöst.....

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Oelesen last edited by

                    @oelesen Na der timestamp sollte aber aktualisiert werden - aber vielleicht ist es Cashing Problem im Browser.

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

                    Support us

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

                    872
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    579
                    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