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 sagte in Mqtt zum Victron Cerbo GX ?:

      ch dachte auch, jetzt hab ich was kaputt gemacht bzw. das System geschossen, war nicht mehr erreichbar.... hats nur bei meinem Testaufbau die Sicherung geschmissen

      Deswegen - ich bin jetzt raus und lehne Haftung für alle Einstellungen ab, die Du nun schickst.

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

        @mickym sagte in Mqtt zum Victron Cerbo GX ?:

        @humidor sagte in Mqtt zum Victron Cerbo GX ?:

        ch dachte auch, jetzt hab ich was kaputt gemacht bzw. das System geschossen, war nicht mehr erreichbar.... hats nur bei meinem Testaufbau die Sicherung geschmissen

        Deswegen - ich bin jetzt raus und lehne Haftung für alle Einstellungen ab, die Du nun schickst.

        Na gibt ja nun ein mqtt Puzzlestück - das ist ja dann kein Problem mehr.

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

          @mickym das Blockly läuft noch nicht, ich mach da was mit der Nachricht falsch
          Bildschirmfoto 2024-02-08 um 23.24.55.png
          Bildschirmfoto 2024-02-08 um 23.25.51.png

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

            @humidor Topics mit / und nicht mit Punkten. Diese Punkte haben im mqtt System nichts zu suchen.

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

              @mickym ach ich Trottel, copy past Idiot, ja jetzt läuft es 😊
              hab noch gelesen, dass für diesen mqtt befehl der Datenpunkt schon da sein muss

              Super, so viel Erfolg heute! das reicht, ab in Bett, danke dir, schönen Abend noch.

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

                @humidor sagte in Mqtt zum Victron Cerbo GX ?:

                @mickym ach ich Trottel, copy past Idiot, ja jetzt läuft es 😊

                Wenn Du den Namen kopierst und nicht den Pfad - dann ist da in der Regel die mqtt Schreibweise drin:
                test/hallo2

                7b09423c-4058-4dc5-8f10-779acec61f29-image.png

                Der Datenpunkt wird automatisch angelegt - er muss nicht vorhanden sein, wenn Du den Datenpunkt nicht mit steuere beschreibst sondern mit mqtt Send Block.

                A 1 Reply Last reply Reply Quote 1
                • A
                  ak68 @mickym last edited by ak68

                  @mickym

                  Ich brauche Hilfe beim Senden meines JSON an enphase/battery (Vicron Cerbo)

                  Der JSON sollte wie folgt aussehen (battery) und mein Ergebnis der. u.g. Logik (test)

                  0973ed98-da90-4403-9f16-ce9d3bef606a-image.png

                  Red-Node-Logik- Alle Eingäng vorerst händisch

                  fdd2b772-207f-4c61-890b-86f77ca38c83-image.png

                  Join-Node:
                  4d092713-1e2d-4916-8e7b-c4a1a84d0e97-image.png

                  43b7e6c4-ca8b-47f3-8796-ed14ec143df8-image.png

                  Einer der 4 Input-nodes;
                  195b13a8-a363-4808-9469-8e69267f73fa-image.png

                  Danke für Euere Gedanken
                  Wie kann ich den korrekten JSON-String erstellen ?

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

                    @ak68 bitte auf deutsch !

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

                      @ak68 nun die topics musst halt ausschreiben. die Eigenschaften die unter DC sollen, verschiebst halt mit einer change node entweder mit einer JSONATA Regel oder halt mit 3 Verschieberegeln.
                      Verschiebe payload.P nach payload.DC.P usw.

                      wenn das Objekt voll ist (also alle 4 Eigenschaften gesetzt sind), dann kannst auch den Haken bei jeder nachfolgenden Nachricht reinmachen.

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

                        @mickym

                        Ich habe jetzt eine ganz andere Lösung gefunden, aber noch 1 Problem: Der String wird nicht in der nötigen Reihenfolge zusammengesetzt: 1.2.3.4 sondern wahllos nach Werteingang (vgl MQTT-Explorer: "battery").
                        Wie kann ich die Reihenfolge erzwingen (wie in Mqtt-Explorer: "Test")?

                        6cb62f5b-8dd0-478a-a4df-8120cf931ebb-image.png

                        f5ade5af-cb43-4664-9ea4-5bf23f95869b-image.png

                        32ecb38b-6b0d-464d-882b-e6339cc410eb-image.png

                        Vielen Dank schon einmal
                        Andreas

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

                          @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

                          Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

                          Hier alle Möglichkeiten, die ich Dir beschrieben habe:

                          dd022756-4939-48e1-b568-263141a3be2a-image.png

                          und hier zum Import:

                          [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
                          

                          MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

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

                            Ach ja und wenn Du was Multiplizieren musst - kannst Du es entweder auch direkt über JSONATA machen - und nicht wieder irgendwelche unnützen Nodes verwenden. Wenn Du es nicht weißt, wie dann lieber fragen - als solche unnützen Nodes installieren.

                            Die Change Node ist SO mächtig, mit der kannst Du fast alles machen, ändern, transformieren!!!!

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

                              @mickym sagte in Mqtt zum Victron Cerbo GX ?:

                              @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

                              Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

                              Hier alle Möglichkeiten, die ich Dir beschrieben habe:

                              dd022756-4939-48e1-b568-263141a3be2a-image.png

                              und hier zum Import:

                              [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
                              

                              MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

                              Du bist ein Schatz 🙂
                              Läuft ....
                              Sorry, aber ich komme aus der Edomi-Ecke und habe bisher keine Red-Node-Erfahrung 🙂
                              Andreas

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

                                @ak68 Na das ist ja kein Problem - Du solltest Dich nur mal mit Javascript Objekten und Arrays beschäftigen - jedenfalls nichts mit Strings machen.

                                Auch über die Debug Node kann man Pfade ermitteln wenn man nicht weiß, wie man auf bestimmte Eigenschaften zugreifen kann.

                                copy path.gif

                                Es war auch nicht böse gemeint. Nur wenn ich Dir was mit Text beschreibe und Du es nicht verstehst, dann frage lieber nach bevor Du selbst in die falsche Richtung gehst. Anhand meines Flows siehst Du ja nun 3 Möglichkeiten und kannst Dir ja überlegen, welche Dir am Besten gefällt.

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

                                  @mickym

                                  Hallo Mickym,

                                  leider habe ich offensichlich falsche Variablen.
                                  Mit den manuellen Werten klappt es, mit meinen per MQTT-zugeleiteten Werte NICH.

                                  Müssen diese noch umgewandelt werden ?

                                  8c815122-1d68-4236-9d36-619df0f94648-image.png

                                  Danke
                                  Andreas

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

                                    @ak68 Ja wahrscheinlich musst Du mit change Variablen noch das richtig topic setzen. Du siehst ja, dass ich in den Inject Nodes - die entsprechenden topics gesetzt habe. Setze also einfach hinter die mqtt In Nodes, Change Nodes und setze die korrekten Topics.

                                    Also zum Beispiel:

                                    e08a8688-336a-4579-83f0-b7a01d166a1c-image.png

                                    Ein Nachrichtenobjekt ist wie ein normales Object (JS oder JSON) aufgebaut und besitzt mehrere Eigenschaften, die Du frei definieren kannst.

                                    Gebräuchlich sind meist eine Eigenschaft "payload", die die Nutzdaten enthält, das ist aber nicht zwingend. Und meist auch ein "topic", das beschreibt um welchen Wert es sich handelt. Wenn Nachrichten nur Nutzwerte schicken würden, wie 3,23 usw. ohne dass man deren Bedeutung beschreibt, könnte man mit diesen Werten nichts anfangen. Deswegen setzt man ein topic.

                                    Und wie gesagt solche Multiplier Nodes kann man sich sparen. Rechnen kann man auch in Change NOdes mit JSONATA. Mehr machen diese Nodes auch nicht.

                                    Wenn Du das topic nicht setzt, dann steht halt in der Nachricht das mqtt-topic im topic - das siehst Du alles, wenn Du Dir das Nachrichtenobjekt über die Debug Nodes ausgibst. Gerne auch das komplette Nachrichtenobjekt.

                                    Lange Rede kurzer Sinn. Setze hinter Deine mqtt Nodes noch Change Nodes und setze das topic korrekt, wie in den Inject nodes, dann funktioniert das Ganze auch.

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

                                      @mickym

                                      Jetzt klapp´s, viele Dank auch für die "Basics" am Rande 🙂

                                      Andreas

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        ak68 @ak68 last edited by ak68

                                        Hallo Mickym,

                                        Ich habe die beiden Nodes "Verschieben mit 2 bzw 3 Regeln" nicht verstanden.
                                        Was bewirken diese ?

                                        Vielen Dank
                                        Andreas

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

                                          @ak68 Na ja sie machen das gleiche wie die Change Node mit JSONATA - nur eben in dem die Eigenschaften verschoben werden - also mit anderen Mitteln oder einer anderen Methode. Du siehst ja das Ergebnis ist das Gleiche. Wenn Du zu den Regel eine Verständnisfrage hast, dann frag. Ansonsten kannst ja eine Regel löschen und sehen, wie das Ergebnis aussieht.

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

                                            Ahoi zusammen,

                                            ich hatte Anfangs ebenfalls Probleme, Werte via MQTT von meiner Cerbo zu bekommen, Knackpunkt war tatsächlich auch der Wert "keepalive", welcher oben hier im Topic thematisiert wurde.
                                            Der Hinweis zu den wichtigen Schritten, konkret dem "keepalive" von @adcrafter27 war Ausschlaggebend. Ich schicke der Cerbo jetzt einfach per Blockly Script alle 30s alternierend eine 0 und eine 1. Das sorgt dafür, dass die Session aktiv bleibt und die Cerbo mir konstant ihre Werte schickt.

                                            Falls ihr ein Display an der Cerbo habt (oder ein EkranoGX mit integriertem Display betreibt), könnte eben das Display übrigens dafür verantwortlich sein, dass ihr nichts an den Keepalive schicken müsst, zumindest wenn die GUI v2 aktiv ist.
                                            Bei einem Kumpel ist das jedenfalls so, CerboGX mit angeschlossenem Display und v2 GUI. Er muss kein Keepalive schicken. 😉

                                            Das so als kleiner Erfahrungsbericht zur MQTT Kommunikation mit VenusOS, in meinem Fall auf einer CerboGX. 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            969
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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