Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. MQTT Adapter sendMessage2Client Escape "

    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 sendMessage2Client Escape "

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

      Tja,

      Ist zwar lange her und ich habe immer wieder damit rumgespielt, aber es funktioniert leider nach wie vor nicht.

      sendTo('mqtt.0', 'sendMessage2Client', {topic:'W/dca6322aed74/settings/0/Settings/CGwacs/AcPowerSetPoint', message:JSON.stringify({value: -0})});
      

      Endet wieder in einen escapen String am MQTT Explorer:
      b51ebf7e-1843-4156-9d3c-94589531eed6-image.png

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

        @maxx8888 sagte in MQTT Adapter sendMessage2Client Escape ":

        sendTo('mqtt.0', 'sendMessage2Client', {topic:'W/dca6322aed74/settings/0/Settings/CGwacs/AcPowerSetPoint', message:JSON.stringify({value: -0})});

        Na bis auf das Minuszeichen vor der 0 sollte es funktionieren. Wenn Du allerdings mqtt.0 als Broker betreibst - hat das Ding wieder ein Problem - deshalb nutze ich als Broker mosquitto.

        Das funktioniert aber:

        00ceaee1-072d-47f7-a979-5d4164196c17-image.png

        sendTo('mqtt.3', 'sendMessage2Client', {topic:'W/dca6322aed74/settings/0/Settings/CGwacs/AcPowerSetPoint', message:JSON.stringify({value:0})});
        
        

        Wenn ich den gleichen Befehl an einen Broker schicke - dann geht das auch nicht.

        9b51fa48-3ae8-4a09-92d8-365d6151a577-image.png

        Aber wie gesagt - den Adapter würde ich sowieso nicht als Broker betreiben - da hat mit der zuviele Bugs.

        1 Reply Last reply Reply Quote 0
        • T
          ticaki Developer @maxx8888 last edited by

          @maxx8888
          Ich sende meine Dinge so wie du... nur das : ist immer '{"key": 1}'

          Nutze aber wie mickym mosquitto

          1 Reply Last reply Reply Quote 0
          • M
            maxx8888 last edited by

            Wie macht ihr das genau?

            Klingt interessant. Ich habe wohl auch schon einen Mosquitto Docker laufen der die Daten vom Venus OS abruft. Aber parallel mqtt.0 direkt zum Venus OS.
            Verstehe ich das richtig das ihr im IOBroker schon auch einen mqtt Adapter am laufen habt, aber mit Mosquitto verbunden anstatt mit Venus OS?

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

              @maxx8888 Ja. Ich glaube VenusOS agiert auch als Broker. In dem Fall hättest Du 2 Broker in Deinem System und bräuchtest deshalb 2 Instanzen von dem mqtt- Adapter.

              M 1 Reply Last reply Reply Quote 0
              • M
                maxx8888 @mickym last edited by

                @mickym

                MQTT.0 Adapter ist als Client/Subscriber konfiguriert im IOBroker.

                Also bei mir im Moment:
                VenusOS(Broker) -> MQTT.0 Adapter(Client)

                Parallel damit ich auch im Mosquitto alle Daten habe:
                VenusOS(Broker) -> Mosquitto(Broker)

                Haben wir dann nicht doch die gleichen Settings?

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

                  @maxx8888 Nein das geht nicht, das sind 2 verschiedene Broker. Aber das brauchst Du dann ja nicht, weil wenn Du den mqtt-Adapter als Client konfiguriert hast, dann sollte er auch das Objekt richtig schreiben. Also in meinem 1. Beispiel funktionierte das ja. Ob ich jetzt mosquitto oder den VenusOS als Broker nutze sollte dann eigentlich aus iobroker Sicht keinen Unterschied machen

                  1 Reply Last reply Reply Quote 0
                  • M
                    maxx8888 last edited by

                    Es tut mir Leid ich stehe jetzt etwas auf der Leitung. Was funktioniert da nicht?
                    Könntest Du mir bitte nochmal genau erklären wie Du aus ioBroker eine MQTT Message an Victron schickst.

                    Ich habe nur das Problem das bei mir der mqtt.0 Adapter bei einem "sendMessage2Client" die message scheinbar falsch escaped. Alle 3 Teilnehmer funktionieren an sich normal, ich sehe alle Daten überall.

                    Ich kann auch andere Daten die keine Kombination aus {"xxx":"xxx"} enthalten ganz normal an Victron schicken:

                    Um Venus MQTT aktiv zu halten schicke ich zb:

                    //Refresh all:
                        sendTo('mqtt.0', 'sendMessage2Client', {topic:"R/dca6322aed74/keepalive", message:"#"});
                    

                    Hier gibt es das escaping Problem nicht.

                    Dieses tritt nur auf wenn die Message die man schickt und diese eine Kombination aus {"xxx":"xxx"}enthält:

                    sendTo('mqtt.0', 'sendMessage2Client', {topic:'W/dca6322aed74/settings/0/Settings/CGwacs/AcPowerSetPoint', message:JSON.stringify({value: 0})});
                    

                    Hier meine Adapter Settings:
                    880ebbfc-eca8-42e6-943c-447232da085c-image.png

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

                      @maxx8888 Ich bin ehrlich gesagt überfragt, warum das bei Dir nicht tut. Bei mir tut es wenn der mqtt Adapter ein Client ist. Ich habe keine Ahnung warum das bei Dir nicht tut.

                      Ich habe bei den Adaptersettings nichts angehakt - aber glaube nicht, dass das einen Unterschied macht. Ich habe leider keine Ahnung. Sorry.

                      3eb39440-296e-4052-bdaa-2bd1925b924f-image.png

                      c9ac1171-1e52-4625-b84b-de5391fc0e29-image.png

                      Genau der gleiche String nur mqtt.3

                      c4458790-964d-4e6d-b8ed-0ea819ea246b-image.png

                      1 Reply Last reply Reply Quote 0
                      • M
                        maxx8888 last edited by

                        Perfekt!

                        Das hat geholfen. Problem ist das setting "Zustandsobject als MQTT Nachricht senden".
                        Ich habe das abgehakt, und siehe da, das Problem ist weg.

                        Dafür hat das keepalive Kommando nicht mehr geklappt und Venus OS hört auf Daten zu schicken.
                        Hier scheint aber die ältere Variante auch zu funktionieren.

                        Vielen Dank für Deinen Screenshot vom Adapter. Der war Gold wert 🙂

                            //Keepalive:
                            sendTo('mqtt.0', 'sendMessage2Client', {topic:"R/dca6322aed74/system/0/Serial", message: ''});
                        
                            //ACPowerSetpoint
                            sendTo('mqtt.0', 'sendMessage2Client', {topic:'W/dca6322aed74/settings/0/Settings/CGwacs/AcPowerSetPoint', message:'{"value" : ' + 0 +'}'});
                        
                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @maxx8888 last edited by

                          @maxx8888 Du kannst ja eine zusätzliche Instanz installieren mit anderen Einstellungen. Es können sich ja beliebig viele Clients an einen mqtt-Broker anmelden.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          432
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          14
                          769
                          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