Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Mqtt - Variablen

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

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

      Hallo!
      Mqtt funktioniert, Kommunikation zu meinen Victron Geräten steht, jetzt kommt Blockly dran.
      Es sind 3 Mqtt Adapter auf meinem ioBroker am laufen
      .0 Broker (für andere Kommunikationen)
      .1 Client -> subcribed to Victron Cerbo 1
      .2 Client -> subcribed to Victron Cerbo 2

      In den Victron Clients laufen Node-Red-Clients. In diesen wird die Kommunkation überwacht, bei Ausfall alle weiteren Geräte (Multiplus) gestoppt.

      Was ich nun will, ist die Regelung / Steuerung vom ioBroker mittels Blockly zu realisieren. Dazu benötige ich Kommunikationsvariablen, die von den Clients ausgelesen werden und entsp. Parameter an den Endgeräten gesetzt werden.

      Ich bin nun an den Basics dieser Kommunikation. Wo bzw. wer erstellt die Variablen?

      Grundsatzfrage, kann ich aus dem Blockly Variablen im Mqtt Master (am Victron Cerbo) erzeugen?
      Wenn ich vom Client eine Variable abfrage, wird sie mir im Master am ioBroker angelegt.

      Besten Dank!!

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

        im Cerbo Client eine Variable abfragen, erzeugt im Broker am ioBroker diese
        Bildschirmfoto 2024-02-19 um 13.37.11.png
        Bildschirmfoto 2024-02-19 um 13.36.58.png
        Bildschirmfoto 2024-02-19 um 13.37.04.png

        ist das der richtige Weg? ich denke nicht.
        wenn ich den Wert der angelegten Variable am Broker ioBroker änderen, kommt dieser im Client an.

        haus-automatisierung 2 Replies Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Humidor last edited by

          @humidor sagte in Mqtt - Variablen:

          ist das der richtige Weg? ich denke nicht.

          Doch, so funktioniert das. Was stört dich daran?

          Sobald der State geändert wird (unbestätigt), published der MQTT-Adapter das auf dem hinterlegten Topic.

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

            @haus-automatisierung die angelegte Variable wurde vom Client am Master angelegt, wie diese definiert ist, habe ich keinen Einfluss
            aus ioBroker kann es dann vorkommen, dass ich auf eine Variable schreiben möchte, die noch gar nicht existiert.
            Kann ich das irgendwie abfangen?

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

              @humidor Ich kann Dir nicht so richtig folgen.

              Es wird einfach alles automatisch als State angelegt, was rein kommt. Im Client-Modus vom MQTT-Adapter natürlich nur das, was auch abonniert wurde.

              Mit einem Publish auf hallo/iobroker wird mqtt.0.hallo.iobroker angelegt falls der State noch nicht existiert.

              Was genau meinst Du mit

              @humidor sagte in Mqtt - Variablen:

              dass ich auf eine Variable schreiben möchte, die noch gar nicht existiert.

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

                @humidor sagte in Mqtt - Variablen:

                im Cerbo Client eine Variable abfragen, erzeugt im Broker am ioBroker diese
                Bildschirmfoto 2024-02-19 um 13.37.11.png

                Das ist übrigens ein Subscribe und legt im ioBroker gar nichts an, sondern wartet nur auf Nachrichten.

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

                  @haus-automatisierung ja das ist ein subscribe und legt mir die Variable im ioBroker Mqtt Broker an - diese war vorher nicht existent. Ich kann hier nicht definieren, ob es ein String, Num oder Bool... ist. im ioB ist es ein State.

                  ich habe im Cerbo diese Mqtt In Nodes angelegt:
                  Bildschirmfoto 2024-02-19 um 18.59.47.png

                  danach sind die Variablen im ioB angelegt worden:
                  Bildschirmfoto 2024-02-19 um 18.59.39.png

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

                    @haus-automatisierung ich bin auf der Suche nach der ID meines ioBroker Mqtt Master, hättest du ev. eine Info wie ich zu dieser komme?

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

                      @humidor Was ist denn ein „Mqtt Master“? Der Broker hat keine ID. Jeder verbundene Client schon (die ClientID)

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

                        @haus-automatisierung ja richtig, ok, wie subscribe ich dann vom Client (Cerbo) auf den Master, damit dieser zum polling angestoßen wird?

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

                          @humidor Ich verstehe dich nicht, wenn Du eigene Begriffe ausdenkst.

                          Den Prozess habe ich ja oben erklärt und auch schon etliche Lern-Inhalte zu MQTT erstellt. Gern mal reinschauen dann kann ich auch besser helfen

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

                            @haus-automatisierung wiso, der Client subscribed, der Broker published

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

                              @humidor nein. Polling existiert nicht. Nur publish/subscribe. Das ist ja gerade der Vorteil von MQTT gegenüber z.B HTTP

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

                                @haus-automatisierung https://blog.doubleslash.de/mqtt-fuer-dummies

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

                                  @humidor Kannst den Abschnitt zu „polling“ mal markieren? 😉

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

                                    @haus-automatisierung published...

                                    der Client muss sich am Broker subscriben und das zyklisch

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

                                      @humidor Nein. Subscribe passier einmalig (je topic oder per wildcard) und ist auch kein muss. Man kann als Client auch nur publishen.

                                      Daher ja auch der Hinweis oben, dass ein einfaches subscribe in Node-Red keine Datenpunkte im MQTT-Adapter anlegen wird.

                                      Aber wie gesagt, bitte Grundlagen anschauen.

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

                                        @haus-automatisierung
                                        ich folge der Beschreibung von Victron, auf deren Geräte ich Mqtt ja benutze
                                        https://github.com/victronenergy/dbus-mqtt#keep-alive

                                        der Client muss zyklisch am Broker subcriben, sonst ist nach 60s Schluss
                                        das mache ich und funktioniert auch, sonst bekommt der Victron Cerbo keine Daten

                                        wie ich oben schon geschrieben habe, der Node Red am Cerbo ist ein Client, lege ich dort irgend eine Variable im Mqtt In Node an, wird diese im ioBroker Mqtt Master erzeugt.
                                        veränder ich diese Variable/Wert , wird das im Node Red am Cerbo aktualisiert
                                        das funktioniert.

                                        der neue flashMQ soll ja in der neuen FW vom Cerbo drin sein, meine Cerbos haben V3.20 (aktuell), dieser soll das aktualisieren bereits haben, mein Mqtt IN Node am Cerbo wartet aber mit der Weitergabe der Info auf eine Änderung und das ist mein Thema.

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

                                          @humidor sagte in Mqtt - Variablen:

                                          der Client muss zyklisch am Broker subcriben, sonst ist nach 60s Schluss

                                          Nein, das ist ein Publish. Steht auch da:

                                          To activate keep-alive, send a read request to R/<portal ID>/keepalive. The payload may be blank

                                          Also brauchst Du eine Publish-Node und keine Subscribe-Node! Die nennen ihre Topics halt so (Ein Publish auf R/ ist eine "Read-Request" - das hat mit dem MQTT-Standard aber nichts zu tun. Da kennt man den Begriff "read" gar nicht.)

                                          @humidor sagte in Mqtt - Variablen:

                                          wie ich oben schon geschrieben habe, der Node Red am Cerbo ist ein Client

                                          Richtig. Habe nichts anderes gesagt. Genau wie dein MQTT-Adapter nur ein Client ist.

                                          @humidor sagte in Mqtt - Variablen:

                                          wird diese im ioBroker Mqtt Master erzeugt.

                                          Nein. Nur wenn das Retain-Flag gesetzt wird sind die Payloads auf Topics persistent. Da wird nichts erzeugt. Das ist wie eine Broadcast-Nachricht. Alle, die abonniert haben, bekommen die Nachricht. Wer erst später abonniert, bekommt diese nicht (außer das Retain-Flag wurde beim publish gesetzt).

                                          Es gibt in MQTT keine "Variablen"

                                          @humidor sagte in Mqtt - Variablen:

                                          der neue flashMQ soll ja in der neuen FW vom Cerbo drin sein

                                          Richtig, hat Mosquitto abgelöst. Tut aber nichts zur Sache und verhält sich gleich.

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

                                            @haus-automatisierung gut, dh zwischen Mqtt Standard und Victron ist ein Unterschied, das wird mich da wohl auch verwirren. Damit umschreibe ich ab jetzt nur noch. (lesen/holen/schreiben)

                                            ich sage dem ioBroker Broker, er soll bitte seine Daten senden
                                            ich mache das zyklisch alle 30s, sonst sendet er nach 60s nicht mehr.
                                            das wird im Cerbo Node Red mit einer Mqtt Out Node gemacht
                                            auf Mqtt In Node bekomme ich die Werte, die ich sehen will.

                                            haus-automatisierung 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

                                            861
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            39
                                            1822
                                            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