Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Mqtt zum Victron Cerbo GX ?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Mqtt zum Victron Cerbo GX ?

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

      @humidor Der Broker published die topics an die Clients, die dieses topic verwendet haben.

      Der Broker liefert die Information unter N/... (N bedeutet? notification?) Nein - der Broker sendet/published seine Information an alle Clients, die ein topic subscribed abonniert haben. Dein Vectron OS/ Cerbo (keine Ahnung wer das wirklich macht) ist auch ein mqtt-Client, der alles unter R/ und W/ subscribed hat, also abonniert hat.
      Was R/N/W bedeutet weiß ich auch nicht. Aber stell Dir vor Deine Batterie oder das Betriebssystem ist auch ein mqtt-client, wie jeder andere Client auch.

      Betrachte den mqtt-Broker einfach als eigene Einheit - die NIEMAND gehört.

      Deine Batterie/Vectron/Cerbo subscribed einfach alles was unter R oder W steht. - Die Batterie macht also das Gleiche wie eine mqtt-IN Node, die folgende topics abonniert:
      R/#
      und eine zweite mqtt-IN Node, die
      W/#
      abonniert.

      Das etwas unter R oder W schreibt sind keine allgemeingültigen topics, sondern jedes Gerät kann selbst festlegen auf welche topics es hört.
      R könnte so was wie Read für den Cerbo mqtt Client bedeuten, sprich wenn das jemand beschreibt
      W könnte Write bedeuten also etwas an das Cerbo zu schicke
      N könnte Notification bedeuten -
      Das ist aber alles nicht wichtig - weil das Cerbo das einfach so festlegt.

      Der Broker liefert die Information unter N/... (N bedeutet? notification?)

      Nein das ist schon wieder verkehrt. Der Broker liefert keine Informationen. Der Cerbo/Batterie ist ebenfalls ein mqtt-client, der published Information unter dem N topic an den Broker. - Der Broker verteilt diese Information an alle, die das topic subscribed haben.
      Umgekehrt subscribed Cerbo/Batterie alle topics die unter W und R veröffentlicht werden. Dabei legt der Cerbo selbst fest, dass alles was unter R gepublished wird - Informationen anfordert und alles was unter W gepublished wird, da muss der Cerbo was machen.

      Also betrachte den Broker als eigene Einheit, die Informationen entgegennimmt und die Information an alle weiterleitet, die dieses Topic subscriebd haben.

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

        @mickym ich muss schon verstehen wo der Client liest und wo er schreibt, das hab ich noch nicht restlich verstanden

        Der Broker - die Datenkrake - published.

        Der Client - der Informationslieferant - published und subcribed.
        subscribed vom Broker um Infos aus der Datenbank zu erhalten (N/...)
        oder um Befehler zu erhalten (W/...)

        • wo published der Client? R/.. ?
          600px-MQTT_protocol_example_without_QoS.svg.png
        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Humidor last edited by mickym

          @humidor R publishst Du in dem Du mit NodeRed als mqtt Client ein topic unter R beschreibst. Zum Beispiel den keepalive Datenpunkt. Der mqtt Client Cerbo subscribed die topics unter R und published die Informationen unter dem N topic.

          Das hast Du doch schön in Deinem mqtt-Instanzen gesehen. Am Anfang war nur der N-Ast da, dann hast Du mit NodeRed oder einem andern mqtt-Client den R Ast beschrieben und dann wurden alle geforderten Informationen vom Cerbo Client in den N Ast gepublished

          Den mqtt topic unter R zu beschreiben dazu brauchst Du im Übrigen kein NodeRed. Du kannst direkt im mqtt-Adapter in den Objekten den keepalive Datenpunkt beschreiben. Das kannst Du auch mit Blockly machen, falls Dich das ganze NodeRed verwirrt.

          Um den R-keepalive zu beschreiben brauchst Du auch KEIN Node-Red - sondern das geht auch mit den mqtt-Instanzen im iobroker und Puzzleteilchen.

          686b40bc-07af-40f5-bbdf-833ffe057c74-image.png

          oder Du schreibst den Wert direkt in der Objektansicht des Admin Adapters im iobroker.

          Du musst also nicht NodeRed lernen, wenn Du nicht willst und lieber über Puzzleteilchen über mqtt mit Deiner Batterie kommunizieren willst.

          Lange Rede kurzer Sinn - wenn Du kein NodeRed nutzen willst um via mqtt mit Deiner Batterie zu kommunizieren, dann musst Du nicht.

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

            @mickym ja, ich sagte ja, nicht restlich verstanden

            Node Red ist schon OK, ich kenne Json nicht, aber bin interessiert es zu lernen. Andere Möglichkeiten, wenn mans kapiert ev. einfacher für komplexe Aufgaben als in Blockly.
            Blockly war meine bisherige Heimat, hat aber auch seine Grenzen.

            Die Topology Mqtt ist mir jetzt szsg bekannt, lese gerade das Doc dazu.

            Eigentlich ist Mqtt nicht dazu da, dass der Client Aktionen am Broker startet, so mein Verständis. Man misbraucht es um Werte oder Anweisungen zu übergeben, in meinem Fall.

            In meinem System liegt der Broker am Gerät das gesteuert werden soll, somit missbrauche ich den Broker um Anweisungen an das OS bzw. Gerät zu übergeben.

            Am Ende mache ich es bewusst den Rest ignoriere ich.

            Ich möchte es jetzt schon verstehen und wissen, wie ich aus Node-Red meine Befehle übergebe, das aber so, dass ich das Protokoll nicht verletze oder zerstöre.
            Ob ich es dann noch in Blockly realisieren werden, ist dzt. noch offe.

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

              @humidor

              Eigentlich ist Mqtt nicht dazu da, dass der Client Aktionen am Broker startet, so mein Verständis. Man misbraucht es um Werte oder Anweisungen zu übergeben, in meinem Fall.

              Nein Du missbrauchst da gar nichts - sondern das ist ganz normale Kommunikation.

              Dein Cerbo/OS nutzt einen mqtt Broker, um mit der Aussenwelt zu kommunizieren. Du nutzt halt keinen externen Broker - sondern der Broker mit dem Dein Cerbo/OS kommuniziert ist halt festgelegt und fest verdrahtet und befindet sich auf der gleichen Maschine.

              Es wird nichts missbraucht.

              Tasmota/Shellies alles was mit mqtt funktioniert auch nach diesem Prinzip. Die Shellies hören auf bestimmte topics und führen dann entsprechende Aktionen aus oder publishen Infos. So schaut meine ganze Hausautomation im iobroker aus - da ich alles mit mqtt mache und weder Shelly/Sonoff/Zigbee Adapter nutze.

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

                @mickym ok, dann folgt nun der nächste Schritt, wie mache ich die Steuerung vom OS am Broker richtig.

                meine Vorstellung:
                ioBroker Client Node Red - schreibt auf R/...modus was geändert werden soll.
                Bezug ist hier N/...modus das vom Broker gepublished wurde
                der Broker soll dies dann in seiner Datenbank ändern und die Änderung publishen

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

                  @humidor Im R Ast schreibst Du Infos die ausgeben soll - unter W halt die Werte. Du hast doch in dem anderen Thread das komplette Wiki/github gepostet - da steht doch auf welche topics du schreibst.

                  Ich glaube mit ===> Pfeilen alles topics zum Auslesen von Daten, <==== zum Beschreiben für irgendwelche Einstellungen.

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

                    @mickym du verwechselst mich wieder, welche Wiki/github, welche topics, das suche ich noch

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

                      Hier in diesem Thread hat doch @adcrafter27 alles gepostet: https://forum.iobroker.net/post/1123441

                      Es ist mühsam, wenn ich alles hier selbst raussuchen muss.

                      https://github.com/victronenergy/venus/wiki/dbus#battery

                      Hier siehst doch alle topics
                      <- topics zum Lesen also unter R
                      -> zum Schreiben unter W

                      Dann ist doch irgendwo schon beschrieben gewesen mit Lesen und Schreiben - das warst DU!

                      Hier halt DEIN Posting in dem anderen Thread wo ich das beschreiben vorgestellt habe: https://forum.iobroker.net/topic/54892/mqtt-keepalive-im-skript?_=1707419768036

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

                        Das Ganze steht doch auch hier aus dem anderen Thread:
                        https://github.com/victronenergy/dbus-mqtt

                        Das sind auch N/R/W erklärt

                        a032b5c0-585b-4fad-a425-26a79271dea3-image.png

                        N steht für Notifications

                        d0b4d171-70b5-4b07-9da7-e9dd9b5bf5a4-image.png

                        W steht für Write Requests

                        cf7f4196-90e7-4a32-9613-a54f09c52274-image.png

                        R steht für Read Requests

                        Also ich weiss nicht - genauer kann man es eigentlich nicht beschreiben.

                        In dem letzten Post aus dem anderen Request habe ich Dir auch gezeigt, wie man die W topics mittels eines JSON Objects beschreibst, also

                        {"value": -200}
                        

                        um in irgendein topic den Wert -200 zu schreiben.

                        Wie gesagt inhaltlich sage ich nichts dazu - aber Du hast nun eigentlich alle Informationen.

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

                          @mickym Ja richtig, schon 1000 Infos auf mich eingeprasselt, hab das nicht richtig oder gar nicht abgespeichert bzw. zuordnen können.

                          Ich werde mir das genau ansehen. Danke!

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

                            @humidor Ja das verstehe ich schon.

                            Aber das was Du gemacht hast (auch wenn zufällig ist doch auch eine valide Methode) und für Dich einfacher.

                            Mach halt eigene topics und sammel die mqtt-In Nodes ein und dann sende sie mittels der blauen Nodes weiter - DU musst doch nicht über die offizielle mqtt topics kommunizieren. Die blauen Nodes machen es für Dich.

                            Schau mal was Du hier gemacht hast - ist doch gut:https://forum.iobroker.net/post/1125910

                            Also machs aber nicht mit irgendwelchen W topics - hast Du mal 1,2,3,4 an test/hallo gesendet wie ich gesagt habe??? - Das würde ich Dir emfehlen, damit vermeidest Du Fehler und nutzt die blauen Nodes die direkt auf das Cerbo OS zugreifen.

                            Das ist doch ein guter Anstatz:
                            041e7ad6-2ef1-4f11-b4e8-de557a95d9d2-image.png

                            Nur mach das halt über das topic test/hallo oder eigene topics!!!!

                            Es ist viel einfacher hier eine EIGENE Kommunikation über mqtt aufzubauen - nach Deinen Bedürfnissen, anstelle der mqtt Schnittstelle. Diese blauen Nodes kommunizeren direkt mit der Cerbo OS und das ist doch sehr komfortabel - da musst Du Dir keine topics merken!!!!

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

                              @mickym im Rückschluss habe ich ja fast kapiert wie es geht, nur ginge es...

                              ich habe wie in der Doc steht auf W/... geschrieben, aber das hat genau nichts bewirkt, der Broker hätte die Werte auf den DBUS schreiben sollen

                              dann der Umweg den W/... wieder auslesen, was eigentlich nicht notwendig sein sollte
                              Bildschirmfoto 2024-02-08 um 22.09.56.png

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

                                @humidor Du hast keine Objekte geschrieben wie ich das gesagt habe - also {"value": 4} sondern nur 4. Wozu habe ich Dir dieses Posting gemacht: https://forum.iobroker.net/post/1123294 ????

                                Ich empfehle Dir mach eine eigene Kommunikation auf und nutze die blauen Nodes. Das ist viel einfacher und komfortabler.

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

                                  @mickym ich nehme deine Empfehlung auf, keine Frage

                                  dennoch möchte ich es doch wissen, warum das nicht ging und ich habe natürlich auch als Json übergeben, ohne Reaktion seitens Broker
                                  ist es möglich da eine Info zu sehen, Fehler, Änderungen nicht angenommen usw... ?

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

                                    @humidor

                                    733b1733-4d11-42b5-9d49-524d1aceea11-image.png

                                    10402dd1-978c-4e91-896a-b5f27145bf3d-image.png

                                    Hier steht nur 4 und kein JSON Objekt mit value 4.
                                    Nochmal siehe hier - wie Du die 4 in ein Objekt packst mit einer Change Node. https://forum.iobroker.net/post/1123294

                                    Du kannst im N Baum suchen, ob es Fehlermeldungen gibt. Das weiß ich nicht. Jetzt geraten wir in einen Bereich, der nichts mehr mit allgemeinem NodeRed oder mqtt zu tun haben, sondern wo es um spezifische Eigenschaften und Einstellungen geht - und da bin ich RAUS.

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

                                      @mickym das ist ein Bild mit der Zahl 4, auch mit {"value.... habe ich übergeben, halt kein Bild gemacht. folge bitte auch meinen Worten.....

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

                                        @humidor sagte in Mqtt zum Victron Cerbo GX ?:

                                        @mickym das ist ein Bild mit der Zahl 4, auch mit {"value.... habe ich übergeben, halt kein Bild gemacht. folge bitte auch meinen Worten.....

                                        Na wie gesagt da bin ich raus - das ist mir zu spezifisch. Ich empfehle Dir die Kommunikation mit den blauen Nodes.

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

                                          @mickym das ist nicht spezifisch, das ist das Grundprinzip von Mqtt, schreibe auf W/... der Broker setzt das um.

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

                                            @humidor sagte in Mqtt zum Victron Cerbo GX ?:

                                            @mickym das ist nicht spezifisch, das ist das Grundprinzip von Mqtt, schreibe auf W/... der Broker setzt das um.

                                            Na wenn Du alles nach Beschreibung richtig in den W Ast geschrieben hast und auch als JSON Objekt und das Cerbo es trotzdem nicht frisst, dann ist es spezifisch. Ich kann Dir dann keine Antworten geben, warum das Cerbo das nicht frisst. An der Kommunikation an sich hapert es nicht - das haben wir ja mit dem test/hallo topic doch alles ausprobiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            218
                                            21526
                                            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