Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. MQTT Keepalive im Skript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT Keepalive im Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Humidor last edited by

      @humidor Na wenn Du eine leere payload schickst, kommt ja auch nichts (übrigens immer mit / die topics voneinander trennen) - es dient ja lediglich dazu zu zeigen, dass die Verbindung noch aktiv ist. Wenn also (null) drinsteht, dann ist das eine leere payload. Alternativ steht ja kann man dem Teil eine Liste auf topics schicken. Ich kann somit keine Fehler erst mal entdecken.

      Wenn Du willst dass dauernd alles veröffentlicht wird, dann solltest Du wohl besser die Methode a verwenden:

      7f65e606-cf44-4aeb-88cb-d3ee65cba09d-image.png

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

        @mickym es funktioniert jetzt mit serial beschreiben, der Objektbaum is riesig.

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

          @humidor Ja steht ja in der Beschreibung - dass dann immer alles gepublished wird. Wenn man nur einzelne topics haben will, dass muss man das wie beschrieben halt in das keepalive topic schreiben.

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

            @mickym schon klar, wie ich einzelne abrufe weiß ich noch nicht, muss noch rausfinden

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

              @humidor sagte in MQTT Keepalive im Skript:

              @mickym schon klar, wie ich einzelne abrufe weiß ich noch nicht, muss noch rausfinden

              Na das steht doch weiter unten:

              c49c4f20-f242-432b-8d57-6ba6f9095334-image.png

              In das keepalive kannst ein Array mitgeben, mit einzelnen topics oder sogar mit Wildcards welche Äste.

              Humidor mickym 2 Replies Last reply Reply Quote 0
              • Humidor
                Humidor @mickym last edited by

                @mickym das ist sehr schön, dass es da steht, wie setzt man es um, ich bin kein programmierer.... und das wird ja nicht gesagt, das muss man wieder rausfinden 😉

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

                  @mickym Um das in dem Beispiel benutzte Array zu verwenden gibst du das ArrAY

                  @humidor sagte in MQTT Keepalive im Skript:

                  @mickym das ist sehr schön, dass es da steht, wie setzt man es um, ich bin kein programmierer.... und das wird ja nicht gesagt, das muss man wieder rausfinden 😉

                  Na um das unten gesagte Array zu senden modifizierst Du nur deine Inject NOde.

                  c0c1e4e7-b124-414a-a291-fe42cbbc51d3-image.png

                  1c8b9828-e87a-40fe-ba61-641b2216a816-image.png

                  Hier die Inject Node zum Import:

                  [
                     {
                         "id": "1dd9175a09c34086",
                         "type": "inject",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[\"vebus/#\",\"solarcharger/+/Dc/0/Voltage\"]",
                         "payloadType": "json",
                         "x": 490,
                         "y": 3960,
                         "wires": [
                             []
                         ]
                     }
                  ]
                  

                  und sendest das dann an den keepalive topic.

                  So kannst Du einzelne topics häufiger abfragen und andere weniger häufig.

                  Humidor 1 Reply Last reply Reply Quote 1
                  • Humidor
                    Humidor @mickym last edited by

                    @mickym ist das so ev. richtig? oder muss der payload anders injected werden?
                    Bildschirmfoto 2024-02-02 um 15.01.32.png Bildschirmfoto 2024-02-02 um 15.01.08.png

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

                      @humidor Ja das passt schon - Du musst halt in das array nur reinschreiben, was Du haben möchtest. Und eigenltich hätte auch alles kommen müssen wenn Du eine leere payload schickst. Weiß aber nicht warum, warum das nicht gegangen ist. Jedenfalls funktioniert ja Deine Kommunikation grundsätzlich, sonst wäre es ja über die Serial 0 nicht gegangen. Ob es den Ast vebus etc gibt oder Du die verschiedenen solarcharger topics gibt weiss ich nicht.

                      Mit # nimmst du immer alles was darunter ist - das Pluszeichen ist hingegegen ein Wildcard auf der jeweiligen Hierarchieebene.

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

                        @mickym also das laden eines Wertes fkt. noch nicht
                        Bildschirmfoto 2024-02-02 um 15.04.39.png
                        Bildschirmfoto 2024-02-02 um 15.08.04.png
                        Bildschirmfoto 2024-02-02 um 15.08.29.png

                        kommt nix
                        Bildschirmfoto 2024-02-02 um 15.09.37.png

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

                          @humidor Na das ist doppelt gemoppelt.

                          Mit system/# nimmst Du ja alle was drunter ist, d.h. das oben drüber ist redundant. Keep Alive heißt ja auch nur dass Änderungen gepublished werden. Also wenn das Teil nichts ändert kommt auch nichts an. KeepAlive heißt nicht, dass es alles sofort published.

                          Wenn Du AKTIV was auslesen willst, dann musst Du direkt das topic ansprechen.

                          Wenn Du direkt den Power Datenpunkt auslesen willst

                          f3176ad6-5d9a-4ce7-bd4a-2b64d9a66b68-image.png

                          dann musst Du eine leere payload an das Power topic schicken.

                          So und nun Achtung: Die Antwort kommt im N Ast an - im R Ast sendest Du den Request.

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

                            @mickym öhmm, steh auf der Leitung
                            keepalive nur als trigger
                            der Datenpunkt direkt auslesen, sowie keepalive? dachte das wird nur als payload angehängt?
                            was ist das dann mit mehreren Werten?
                            einen R Ast habe ich nicht im Objektbaum

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

                              @humidor Na keepalive verstehe ich so, dass diese topics gepu

                              @humidor sagte in MQTT Keepalive im Skript:

                              einen R Ast habe ich nicht im Objektbaum

                              Brauchst Du auch nicht. Ein Gerät wird nie auf ein topic was es hört selbst was veröffentlichen. Gibt das einfach in mit dem R in die mqtt Out NOde ein. Was Du im iobroker siehst ist nur ein Spiegel. Wenn da noch nichts veröffentlich wurde unter dem topic siehst du nichts. Du müsstest den Datenpunkt mit Send oder manuell anlegen. In Node Red kannst Du einfach das R topic in die mqtt out NOde schreiben.

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

                                @mickym den power habe ich schon so ausgesucht, da kommen Werte rein (serial)

                                damit das jetzt verstehe, die Mqtt Out mit keepalive lasse ich ohne payload, nur der Trigger drauf ?

                                ein weiteres Mqtt out mit payload auf den Wert

                                mickym 2 Replies Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Humidor last edited by

                                  @humidor Nochmal sende einfach an den R Ast den kompletten Pfad eine leere payload.

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

                                    @mickym ich verstehe das nicht was du sagst, es klingt logisch, ich hab aber null ahnung wie ich das in den nodes umsetze

                                    ist das mal der richtige Ansatz?
                                    Bildschirmfoto 2024-02-02 um 15.25.38.png

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

                                      @humidor sagte in MQTT Keepalive im Skript:

                                      damit das jetzt verstehe, die Mqtt Out mit keepalive lasse ich ohne payload, nur der Trigger drauf ?
                                      ein weiteres Mqtt out mit payload auf den Wert

                                      Also bei dem keepalive schickst Du ein Array mit allen topics die regelmässig, welche dich interessieren und die werden meines Erachtens nur wenn sie aktualisiert werden gepublished.

                                      Wenn Du ein einzelnes topic auslesen willst, dann sendest Du es eine leere payload an dieses topic.

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

                                        @humidor Nicht mit Punkt - mqtt topics werden immer durch / getrennt.

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

                                          @mickym mit dem / macht keepalive jetzt auch alles, dh alles wird aktualisiert, keine einzelnen werte
                                          wenn ich den anderen node als payload anhänge, ist ihm das scheints egal

                                          so wird alles immer aktualisiert
                                          Bildschirmfoto 2024-02-02 um 15.34.48.png Bildschirmfoto 2024-02-02 um 15.35.21.png

                                          mickym 2 Replies Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Humidor last edited by

                                            @humidor ja das ist ja richtig - wenn nichts drin steht dann alles - steht ja auch so in der Beschreibung

                                            7afb24a2-83d1-4b66-8312-9f9f1811f715-image.png

                                            [
                                               {
                                                   "id": "299f08bd75c55546",
                                                   "type": "inject",
                                                   "z": "7e6af0015415146d",
                                                   "name": "trigger keepalive - leer ist alles",
                                                   "props": [
                                                       {
                                                           "p": "payload"
                                                       }
                                                   ],
                                                   "repeat": "",
                                                   "crontab": "",
                                                   "once": false,
                                                   "onceDelay": 0.1,
                                                   "topic": "",
                                                   "payload": "",
                                                   "payloadType": "str",
                                                   "x": 380,
                                                   "y": 4000,
                                                   "wires": [
                                                       [
                                                           "8e3243efa72835dd"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "8e3243efa72835dd",
                                                   "type": "mqtt out",
                                                   "z": "7e6af0015415146d",
                                                   "name": "",
                                                   "topic": " R/e0ff50a097c0/keepalive",
                                                   "qos": "",
                                                   "retain": "",
                                                   "respTopic": "",
                                                   "contentType": "",
                                                   "userProps": "",
                                                   "correl": "",
                                                   "expiry": "",
                                                   "broker": "be6c1eaab0dff4fe",
                                                   "x": 710,
                                                   "y": 4000,
                                                   "wires": []
                                               },
                                               {
                                                   "id": "9f4e6b2203b5288b",
                                                   "type": "mqtt out",
                                                   "z": "7e6af0015415146d",
                                                   "name": "",
                                                   "topic": "R/e0ff50a097c0/pvinverter/20/Ac/Power",
                                                   "qos": "",
                                                   "retain": "",
                                                   "respTopic": "",
                                                   "contentType": "",
                                                   "userProps": "",
                                                   "correl": "",
                                                   "expiry": "",
                                                   "broker": "be6c1eaab0dff4fe",
                                                   "x": 760,
                                                   "y": 4060,
                                                   "wires": []
                                               },
                                               {
                                                   "id": "42b8e1975ba1d685",
                                                   "type": "inject",
                                                   "z": "7e6af0015415146d",
                                                   "name": "leer nur auslesen",
                                                   "props": [
                                                       {
                                                           "p": "payload"
                                                       }
                                                   ],
                                                   "repeat": "",
                                                   "crontab": "",
                                                   "once": false,
                                                   "onceDelay": 0.1,
                                                   "topic": "",
                                                   "payload": "",
                                                   "payloadType": "str",
                                                   "x": 400,
                                                   "y": 4060,
                                                   "wires": [
                                                       [
                                                           "9f4e6b2203b5288b"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "f55b93f59bcaea05",
                                                   "type": "inject",
                                                   "z": "7e6af0015415146d",
                                                   "name": "Ganzen system Baum",
                                                   "props": [
                                                       {
                                                           "p": "payload"
                                                       }
                                                   ],
                                                   "repeat": "",
                                                   "crontab": "",
                                                   "once": false,
                                                   "onceDelay": 0.1,
                                                   "topic": "",
                                                   "payload": "[\"system/#\"]",
                                                   "payloadType": "json",
                                                   "x": 400,
                                                   "y": 3960,
                                                   "wires": [
                                                       [
                                                           "8e3243efa72835dd"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "be6c1eaab0dff4fe",
                                                   "type": "mqtt-broker",
                                                   "name": "",
                                                   "broker": "192.168.178.104",
                                                   "port": "1883",
                                                   "clientid": "mqttClientNodeRedTest",
                                                   "autoConnect": true,
                                                   "usetls": false,
                                                   "protocolVersion": "4",
                                                   "keepalive": "60",
                                                   "cleansession": true,
                                                   "birthTopic": "",
                                                   "birthQos": "0",
                                                   "birthPayload": "",
                                                   "birthMsg": {},
                                                   "closeTopic": "",
                                                   "closeQos": "0",
                                                   "closePayload": "",
                                                   "closeMsg": {},
                                                   "willTopic": "",
                                                   "willQos": "0",
                                                   "willPayload": "",
                                                   "willMsg": {},
                                                   "userProps": "",
                                                   "sessionExpiry": ""
                                               }
                                            ]
                                            

                                            Musst halt Deine Daten reinschreiben

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            510
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            49
                                            2255
                                            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