question

4711austria avatar image
4711austria asked

Mqtt zum ioBroker ?

Hallo,

benötige ein paar Startinfos, ist der Victron Cerbo GX ein Master oder Client? Gibt es dazu eine Dokumentation, wie fkt. es?

Besten Dank!

cerbo gx
2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

holger Bleckwehl avatar image holger Bleckwehl commented ·
Wenn Du sowieso iobroker benutzt.... nimm doch einfach modbus...

das ist ganz einfach und auch gut dokumentiert.. (Tabelle der Register gibt es bei Victron)

0 Likes 0 ·
4711austria avatar image 4711austria holger Bleckwehl commented ·
Modbus bietet mir nicht alle Möglichkeiten die ich benötige, für Visu zwecke sicher gut, läuft auch schon, umständlich aber alle Register einzutragen...
0 Likes 0 ·
11 Answers
d-ferdi avatar image
d-ferdi answered ·

hallo,

normalerweise ist das ein master! ob man ihn auch als client konfigurieren kann, keine ahnung.

aber ich denke, du willst wohl eher wissen, wie du daten vom gx auf einen externen iobroker bekommen kannst. mit einer zusatzsoftware sollte das noeglich sein, ob der cerbo oder ein anderes geraet das von sich aus koennen, weiss ich nicht.

wenn der iobroker daten abrufen kann, koennst du den mqtt-server auch ueber https mit anmeldung auf deinem router freigeben und den iobroker entsprechend einstellen.

das ist allerdings eine variante, die ich auf jeden fall vermeiden wuerde. ich haette allerdings auch die moeglichkeit, die daten von einem meiner linux-system zum iobroker schieben zu lassen.

tschuess

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4711austria avatar image 4711austria commented ·

denke der Cerbo ist ein Client, wenn sich der Master anmeldet, schickt er die Daten. So ist es mit allen anderen Geräten die ich habe, aber der Cerbo meldet sich nicht, warum, weiß ich noch nicht. Liege hier verm. falsch.

Der Cerbo hat einen Mosquito Mqtt Server? drin, wird nur aktiviert in den Einstellungen vom Cerbo, so hätte ich es mal aus einem Youtube Vid gesehen. Wie aber mein ioBroker mit diesem kommuniziert, weiß ich noch nicht.

0 Likes 0 ·
d-ferdi avatar image d-ferdi 4711austria commented ·
hallo,

dann schau mal in die anleitung vom iobroker, wie man von einem mqtt-server daten abruft, scheint ja recht einfach zu sein.

tschuess

0 Likes 0 ·
4711austria avatar image
4711austria answered ·

ich möchte mit dem ioBroker alle Daten von Victron einlesen und auch schreiben (was geht) und hier stoße ich noch auf Grenzen, wie denn mal grundsätzlich die Mqtt Verbindung auf beiden Seiten auszusehen hat. Im Cerbo wird verm. Node Red noch was liefern müssen, auf der ioBroker Seite sollte alles da sein, der Mqtt Adapter kann Master oder Slave sein, egal. Was ich aus den Daten machen bzw. wieder schreiben will, ist eine Sache vom ioBroker, da kenn ich mich aus. Modbus fkt. schon, das war fast zu leicht, aber es bietet mir nicht alle Information die ich haben will und kann auch nicht auf viel Parameter schreiben, damit nur ein gute Schnittstelle für Visualsierung nicht für Steuerung und hier denke ich wird Mqtt (da es auch die Schnittstelle zum VRM ist) weit aus tiefer rein können und eben dann in Kombi mit Node-Red alles umsetzbar sein. So meine Gedanke.

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

d-ferdi avatar image d-ferdi commented ·
hallo,

wenn du node-red benutzt, kannst du dir da auch ein gateway basteln. nur wenn du sehr viele werte brauchst, artet das in arbeit aus, da man immer nur ein topic uebertragen kann oder ein programm erstellen muss, dass ein entsprechende liste durchgeht und uebertraegt.

ob es da noch andere moeglichkeiten gibt, weiss ich aktuell nicht. ich habe selbst noch nicht ausprobiert, was mit node-red geht, sondern nur soweit, wie ich die funktionen benoetigt habe.

fuer die massenweise verarbeitung der mqtt-daten benutze ich ein script und mosquitto unter linux und schreibe die daten alle in eine datenbank. das macht auswertungen wesentlich einfacher.

tschuess

0 Likes 0 ·
4711austria avatar image 4711austria d-ferdi commented ·
ich kenn mich bei Node-Red noch nicht aus, scheint eine Art Blockly zu sein, dann wird das hoff. nicht allzu schwierig werden, aber was basteln, nein, das sehe ich noch lange nicht. Einer Vorlage folgen, schon eher.
0 Likes 0 ·
d-ferdi avatar image
d-ferdi answered ·

hallo,

wenn du eine lokale installation von iobroker benutzt, sollte der sich selbst die daten ueber mqtt vom cerbo holen koennen:

https://www.iobroker.net/docu/index-378.htm?page_id=3790&lang=de

tschuess

5 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4711austria avatar image 4711austria commented ·
ich kenne Mqtt, der Adapter im ioBroker macht das alles, Clients melden sich an und der Objektbaum mit allen Parametern wird autom. erstellt. Das wäre natürlich fein, wenn das Cerbo das auch bieten würde.

suche da noch die Einstellung im ioBroker, es scheint mir aber der Cerbo kommt da nicht von selbst.

0 Likes 0 ·
d-ferdi avatar image d-ferdi 4711austria commented ·
hallo,

du kannst beim cerbo mit einem einzigen aufruf alle vorhandenen daten abrufen und mit keep-alive bekommst du die auch permanent aktualisiert!

tschuess

0 Likes 0 ·
4711austria avatar image 4711austria d-ferdi commented ·
das verstehe ich nicht? wie geht das?
0 Likes 0 ·
Show more comments
steffen-graap avatar image
steffen-graap answered ·

Wenn du NodeRed auf dem GX nutzt, dann benötigst du doch gar kein MQQT. Du kannst doch direkt mit den victron.Nodes auf alles zugreifen.
Anders sieht das aus, wenn NodeRed auf einem anderem System (Raspi, oder PC) als dem GX läuft, dan funktionieren meiner Meinung nach die victron.Nodes auch nicht.

6 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4711austria avatar image 4711austria commented ·
das kenne ich noch nicht, bitte um Infos was das ist und wie es funktioniert, besten Dank
0 Likes 0 ·
steffen-graap avatar image steffen-graap 4711austria commented ·
Du hast doch unten ein Bild gepostet, wo du eine victron.node (Batterie Voltage) nutzt. Genau wie es zum Auslesen von Daten Nodes gibt, gibt es auch welche zum setzen von Daten. Wozu bruachst du also noch ein weiteren MQTT-Broker?

d-ferdi kommentiert darunter ja, das auf dem GX schon ein Server(Broker) läuft und NodeRed mit seinen victron.Nodes als client funktioniert.

0 Likes 0 ·
4711austria avatar image 4711austria steffen-graap commented ·
weiter unten

wenn ich als Client verbinde, wird zwar ein Baum angelegt, alles aber (null) und keine Daten, nichts.

0 Likes 0 ·
steffen-graap avatar image steffen-graap 4711austria commented ·

Ich hab es in dem folgenden Bild mal versucht zu verdeutlichen. Durch die Nutzung einer der blauen Victron Node (eingekreist) greifst du doch schon auf den internen MQTT-Server des GX zu. Warum willst du mit den abgefragten Daten einen weiteren MQTT-Server füttern? Den MQTT-Zugriff kannst du dir sparren (durchgekreuzte Node)

victron-node.png

0 Likes 0 ·
victron-node.png (161.5 KiB)
4711austria avatar image 4711austria steffen-graap commented ·
ich konnte es jetzt anders lösen, ich will ja alle Daten im ioBroker haben

im ioBroker einen Mqtt Client und den keepalive gepollt, damit habe ich den kompletten Baum im ioBroker, Werte die es gibt werden aktualisiert

das war mal die erste Aufgabe.

jetzt kommt das Schreiben

dann von einem Cerbo Battinfos zum anderen schreiben.

0 Likes 0 ·
d-ferdi avatar image d-ferdi 4711austria commented ·
hallo,

das koennte etwas problematischer werden. das steht bei mir auch noch auf der todo-liste.

alternativ rufe ich die daten direkt per mqtt vom anderen cerbo ab, ohne irgendeine weitere instanz dazwischen, die zu verzoegerungen oder fehlern fuehren koennt.

lediglich meine benutzeroberflaeche greift auf die datenbank zu, in der alle daten zusammengefuehrt werden.

tschuess

0 Likes 0 ·
4711austria avatar image
4711austria answered ·

bildschirmfoto-2024-01-31-um-185353.png

als Client im ioBroker kommt was im Objektbaum, tja wie gehts weiter?


1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4711austria avatar image 4711austria commented ·
hier im Objektbaum fehlt mir der Reiter R, darin ist das keepalive oder serial das man ständig anstoßen muss, wie bekomme ich es?
0 Likes 0 ·
4711austria avatar image
4711austria answered ·

dachte ich es mir, der Cerbo fkt. als Client, der ioBroker Master holt die Infos

bildschirmfoto-2024-01-31-um-193201.png


bildschirmfoto-2024-01-31-um-193215.png

jetzt fängt die Arbeit erst an....



1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

d-ferdi avatar image d-ferdi commented ·
hallo,

das ist falsch. auf dem cerbo laeuft ein server und du benutzt node-red als client, um die daten an den iobrocker als server zu schicken.

der iobrocker holt sich da nichts ab.

aber soweit ich mir die anleitung vom iobrocker angesehen habe, sollte der auch in der lage sein, sich den kompletten mqtt-baum beim cerbo abzuholen oder teile davon.

das waere doch wohl wesentlich einfacher.

tschuess

1 Like 1 ·
4711austria avatar image
4711austria answered ·

ja, den gesamten Baum suche ich, wie ich diesen bekomme (lesen / schreiben)

3 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

d-ferdi avatar image d-ferdi commented ·

hallo,

such mal nach dem stichwort "MQTT Einstellungen" auf der seite:

https://www.iobroker.net/docu/index-378.htm?page_id=3790&lang=de

es ist die letzte fundstelle. da steht, wie man alle topics abboniert.

tschuess

0 Likes 0 ·
4711austria avatar image 4711austria d-ferdi commented ·
damit kann ich nicht wirklich was anfangen, bin kein programmierer, nur user
0 Likes 0 ·
d-ferdi avatar image d-ferdi 4711austria commented ·
hallo,

dazu muss man kein programmierer sein, man muss nur die abrufparameter duer alle daten in die konfig eintragen. ich habe den iobroker bei mir hier nicht installiert und kann es daher auch nicht ausprobieren.

aber soweit ich gesehen habe, steht in der anleitung genau drin, was man wo eintragen muss.

tschuess

0 Likes 0 ·
stobli avatar image
stobli answered ·

Installiere dir der MQQT Client Adapter

1706735420313.png

Dann IP vom GX eingeben und Port 1883, User & PW leer lassen.

Schon hast du alle Daten vom GX


1706735508569.png


1706735420313.png (18.6 KiB)
1706735508569.png (6.9 KiB)
2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4711austria avatar image 4711austria commented ·
inzwischen ist bei mir auch mehr gekommen, den Inverter zeigt er mir an, aber noch nicht mehr, kommt der Batterie/Lader auch dann hinzu?
0 Likes 0 ·
4711austria avatar image 4711austria 4711austria commented ·
es wird bei mir nur pvinverter hinzugefügt, alle Parameter darin haben (null)


meine Testumgebung läuft gerade, MP2 5k, Cerbo GX verbunden über Can mit der Gobel PC200. Das Victronsystem läuft, die Batterie wird geheizt und langsam geladen.

Schade dass da nicht mehr kommt über den Client ??

0 Likes 0 ·
4711austria avatar image
4711austria answered ·

mit Node-Red kann ich jeden einzelnen Wert per Mqtt an den ioBroker (Master) senden

als Client bringt er mir keine Werte raus, kA warum, der Objektbaum wird nur unzureichend angelegt und nur (null) Werte sind eingetragen

Jetzt möchte ich Werte zum Cerbo senden, also von Mqttt (ioBroker) empfangen und in den Batterie Monitor CSL, CVL eintragen, klappt natürlich auch nicht.

bildschirmfoto-2024-02-01-um-183353.png


2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

d-ferdi avatar image d-ferdi commented ·

hallo,

du kannst ueber die nodes fuer victrongeraete weder daten abrufen, noch setzen, wenn die entsprechenden geraete nicht existieren!

ob es da die moeglichkeit gibt, die ueber mqtt anzulegen, steht noch auf meiner todo-liste.

und es gibt eine menge null-werte, wenn man den ganzen baum abfragt. bei mir sind es 1897 im ganzen baum und 20000 werte!=null. allerdings habe ich die daten von mehreren geraeten in meiner datenbank.

mit deinem iobroker koennte ich dir nur dann weiterhelfen, wenn ich zugang dazu haette und mir das, mir dir zusammen einmal ansehen kann.

tschuess

0 Likes 0 ·
4711austria avatar image 4711austria d-ferdi commented ·
gerne! wie können wir das machen?
0 Likes 0 ·
4711austria avatar image
4711austria answered ·

so, das Auslesen des kompletten Mqtt Baumes funktioniert, viel ist davon leer.
schade, dass keine Zellspannungen von der Gobel übertragen werden, dh hier muss ich eine andere Lösung suchen.

bildschirmfoto-2024-02-02-um-143418.png

bildschirmfoto-2024-02-02-um-143349.png


1) ioBroker Mqtt als Client ohne Passwort, standard Einstellungen
2) Blockly, Java, Node-Red was man will muss man den Serial beschreiben, damit alles kommt, alternativ den keepalive für spezifische Parameter
3) über Node-Red gehts einfach, 30s Trigger u Mqtt Send mit dem payload der Adresse von serial
4) im Objektbaum zuschauen wie er sich lädt, nicht in Versuchung kommen, alle Verzeichniss gleichzeitig zu öffnen, das überlastet den ioBroker.
5) Fertig.


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ralf1978 avatar image
ralf1978 answered ·

Hi! Google mal nach dem Program Mqtt Explorer und verbinde dich mit diesem direkt auf den cerbo.

Da siehst du alles was an Daten kommt oder kommen sollte.

Ich hab mir nur die benötigten daten per Node Red an meinen iobroker gesendet. Das vermeidet auch Überlastungen, sofern sie auftreten sollten.

Im iobroker hab ich den Adapter MQTT Broker/Client installiert.

Welche VenusOS version hast du installiert?

Ich empfehle dir auch von mosquitto auf FlashMQ umzusteigen. Der performance unterschied ist heftig...


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.