Navigation

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

    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

    MQTT Adapter SetState wird nicht verarbeitet

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

      Hallo,

      ich habe den MQTT Adapter installiert und sende damit Nachrichten an das Programm AlsavoCtrl von Strandborg in Github, um meine Pool Wärmepumpe zu steuern.

      Das Topic zum Steuern Ein/Aus ist "mqtt.1.homie.alsavo.controls.power.set". Das ist ein Boolean Typ. Wenn ich den Wert manuell im Objekt Browser oder per Javascript auf "false" setze erwarte ich, dass die Pumpe ausgeschaltet wird. Das tut sie aber NUR wenn ich die Instanz mqtt.1 neustarten, im laufenden Betrieb funktioniert es nicht. Komisch...

      Auf der Gegenseite kommt die Nachricht auch an und die Status Informationen von der Gegenseite werden auch sauber übertragen...

      Wie kann ich mich dem Problem nähern?

      Das Log der Gegenseite:
      d9c456cb-76c0-44f6-8c79-58ca52391e0e-grafik.png

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

        @vippis Wahrscheinlich schicktst Du den Wert aus Deinem JS nicht unbestätigt (ACK=false) und hast mit Retain rumgespielt. Ich empfehle Dir alle Haken zu deaktivieren in den mqtt-Einstellungen.

        V 1 Reply Last reply Reply Quote 1
        • V
          Vippis @mickym last edited by Vippis

          @mickym

          Ich löse gleich mal auf. Ja es funktioniert jetzt mit JS wenn ich sendTo nutze statt setState.

          sendTo('mqtt.1', 'sendMessage2Client', { topic: 'homie/alsavo/controls/power/set', message: 'false', retain: false });
          

          Funktioniert!

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Vippis last edited by

            @vippis Das ist aber einfach nur ein alternativer Weg. Mit setState muss es genauso klappen. Teil gerne mal deinen Code und die Instanzeinstellungen.

            V 1 Reply Last reply Reply Quote 0
            • V
              Vippis @haus-automatisierung last edited by Vippis

              @haus-automatisierung

              Gerne, hier einmal die Objekte:

              b5721ffc-2dd4-4d2e-a141-547131ee0c9e-grafik.png

              Hier die MQTT Einstellungen für Instanz mqtt.1:

              dc9267b7-cc0f-4e88-98ee-decccd4cdb8a-grafik.png

              4589d70e-9e76-4391-8e08-b678ca3c117a-grafik.png

              Da ich per JS ohne Retain Flag sende, habe ich auch mal 6e201e33-8c3b-4e43-bbdb-3c7d8872e300-grafik.png probiert, aber das funktioniert auch nicht.

              Komisch ist auch, dass die Instanz die ganze Zeit das gelbe Symbol zeigt, das liegt wohl daran, dass das MQTT Format von AlsavoCtrl nicht ganz dem erwarteten Format des Adapters entspricht (Homie Konvention):

              9cd829bf-011f-4da6-a733-9dcde55cbbd5-grafik.png

              Die Connectet Liste ist leer:
              8195575f-f011-495d-b7e0-1d71c6f930ec-grafik.png

              V 1 Reply Last reply Reply Quote 0
              • V
                Vippis @Vippis last edited by Vippis

                @vippis

                Link zum Programm:

                https://github.com/strandborg/AlsavoCtrl

                Läuft bei mir auf dem PI als Docker Image.

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

                  @vippis lies dir noch mal den 2. Beitrag von @mickym durch.
                  Wenn du ein SetState an einem MQTT-Datenpunkt machst (also unterhalb von mqtt.0.xxx oder mqtt.1.xxx) und das mit dem Bestätigung / ACK Flag, passiert genau nichts. Du musst immer unbestätigt hineinschreiben. Dann reagiert der Adapter, sendet den Wert und schreibt den Wert noch mal bestätigt in den gleichen Datenpunkt (womit du überprüfen kannst das er das registriert und reagiert hat).

                  Falls du Blockly nutzt musst du "steuere" nehmen, NICHT "aktualisiere"

                  Edit wegen Rechtschreibung

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

                  Support us

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

                  753
                  Online

                  31.9k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  269
                  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