NEWS
Victron
-
@kmuenke wie @Homoran schrieb glaub ich ist das Victron System selbst ein MQTT-Broker. So kannst Du versuchen den Adapter als mqtt-Client zu konfigurieren.
Wenn Du Node-Red nutzen willst kannst du auch direkt die mqtt-Nodes nehmen, aber dann zu Victron System.
Dann kannst Du noch die Victron Node direkt in einer Node-Red Instanz im iobroker verwenden:
https://flows.nodered.org/node/@victronenergy/node-red-contrib-victronDann musst Dich aber halt an die Installationsinstruktionen halten. Du musst da aber ggf. am VenusOS selbst was ändern und wenn da ein Fehler passiert und Deine System nicht mehr hochkommt, dann hast Du ein größeres Problem.
Also diese Warnungen beherzigen:
WARNINGS: (A) Only do this on a trusted network. Exposing D-Bus to TCP is not secured - anyone on the same network can do anything he/she wants after enabling this setting. (B) If you do below change incorrectly, the GX Device will no longer boot correctly and will also not enable SSH nor Remote Console anymore. Also the GUI won't work; nor will anything else. Basically its rendered unusable, until either debugged via the serial console using a serial console cable; or reinstalled using an factory installation image on an sdcard. Note that after factory installation, certain files must be put back in order for, for example, the wifi to work again. There is no complete documentation about how to restore those, but the information on older revisions of this page will at least help: Venus OS Extended manual - Repart. appendix. (C) below modifications are on ones own risk. We'll help where possible; but there are only a few people available within Victron that can help; and they won't be standby all the time to help with issues like this: only do this when you (I) are not in a rush when it goes wrong and (II) are technical and know what you are doing. To get help, you could try the issues, as well as the Modifications section on Community. (D) Remember that a firmware update of the GX device will override below advised (and any other) changes to the rootfs.
Die Lösung die @Dirk-4 gewählt hat, ist die interne NodeRed Instanz zu nutzen und via HTTP zu Node-Red in den iobroker zu übertragen.
Du hast also 4 Möglichkeiten, die Du ausprobieren kannst:
- MQTT als Client sich mit dem Venus zu verbinden, wenn das geht
- Die Nodes separat in der iobroker Instanz installieren und Einstellungen am VenusOS vornehmen und Beachtung der Warnungen
- Das bereits vorkonfigurierte interne NodeRed nutzen und via HTTP auf die iobroker Instanz zugreifen.
- Das interne vorkonfigurierte interne NodeRed nutzen um via MQTT die Daten zum iobroker zu übertragen oder ebenfalls HTTP über die simple API.
-
-
@homoran Nun wie gesagt - dann muss er halt mit dem internen Node-Red via mqtt zum iobroker schicken. Das müsste auch gehen.
-
@mickym Hi dann versuche ich es noch einmal.
Ich habe einen iobroker wo ich über Modbus zustände von meinem Akku (kein Victron) bekomme und natürlich noch div. andere Zustände oder Werte. Ich würde gerne in dem Victron OS mit NodeRed diese zustände abfragen und dann im Victron OS mit NodeRed die Victron Geräte steuern.Im iobroker habe ich wie gesagt schon mal einen MQTT Server aufgebaut der läuft und zeigt mir auch eine Verbindung zum Venus OS an. Leider kommen dort (Venus OS) aber die Wert nicht an.
Ja ich kann natürlich die Werte über eine HTTP Instanz in den iobroker schreiben aber ich würde gerne die Werte aus den iobroker in das Venus OS schreiben oder abfragen.
Ich hoffe ich habe mich verständlich ausgedrückt. -
-
-
@homoran Ja das stimmt, aber ein Client zumindest sagt das die Grafik aus dem NodeRed von Venus OS.
und im iobroker sagt er ja auch er ist verbunden.
-
@kmuenke hast du dir den Link zur Victron community angesehen?
da ist u.a.
ich bin da jetzt raus, weil ich nur modbus bei der GX nutze
-
Im iobroker habe ich wie gesagt schon mal einen MQTT Server aufgebaut der läuft und zeigt mir auch eine Verbindung zum Venus OS an. Leider kommen dort (Venus OS) aber die Wert nicht an
Der Server baut keine Verbindung zu einem Client auf. Der Client baut Verbindung zu einem Server auf. Entweder stellt das Venus OS einen MQTT-Broker oder Server bereit , dann brauchst Du auf der anderen Seite aber einen Client und Venus OS legt dann fest, welche topics subscribed werden.
Du kannst den iobroker als MQTT_Broker definieren und mit Node Red auf Victron OS Seite daten abfragen, aber dann musst Du doch die Daten bereitstellen. Sprich Du willst aus anderen Adaptern informationen im MQTT-Broker über den Adapter bereitstellen und dann über Node-Red diese Datenpunkte auf Victron OS übertragen. Soweit verstanden - aber dann ist doch der Punkt wie bekommst Du Daten aus den anderen Adaptern in den MQTT-Broker. Dann würde ich entweder den MQTT_Client oder eine weitere Client Instanz installieren.
Falls ich das nicht verstanden habe, solltest Du vielleicht bissi was zeichnen, damit es auch solche Dummies wie ich es verstehen.
-
@mickym Hallo ja klar das der Server keine Verbindung aufbaut und nur der Client ich denke das das auch so ist. Ich habe unter der Instanze im iobroker einen Datenpunkt als Beispiel angelegt den ich im dem Venus OS abfragen will.
Soweit so gut.
Im Node RED auf dem Venus OS MQTT Eingang würde ich gerne diesen Datenpunkt abholen.
Der Debug zeigt jetzt zumindest einen Fehler !!
-
@kmuenke das topic ist immer ohne die Instanz des Adapters. Im mqtt gibts die nicht. Also einfach das mqtt.2 weglassen. Außerdem werden die Hierarchien im mqtt durch Schrägstrich und nicht Punkte getrennt.
Korrekt sieht das topic so aus:
e3dc/EMS/POWER_HOME
Die anderen Instanzen sind hoffentlich keine MQTT-Broker. Es kann nur einen auf dem Port und der IP geben.
Wenn du alle Datenpunkte in einer Node subscriben möchtest dann halt als topic ein: #
-
e3dc/EMS/POWER_HOME
Alles klar das wusste ich nicht mit den / und Punkten. leider funktioniert es aber auch mit diesem Topic nicht. Ich habe natürlich noch 2 MQTT Clients lauf diese hören aber auf einen anderen Port dieser ist auf 3883 eingestellt und ja auf beiden Seiten.
Muss denn vielleicht auf dem MQTT Server (iobroker) noch was eingestellt werden ?
-
@kmuenke na ggf. kann man das nur Änderungen publishen noch rausnehmen. Evtl. das iobroker log noch prüfen, ob Nachricht gesendet wurde oder noch mit einer weiteren mqtt-Client Instanz setzen. Der Adapter als Broker macht in meinen Augen immer Probleme, wenn man ihn gleichzeitig als Client verwendet. Ich hab aus dem Grund den mqtt-Adapter als Client laufen und nutze mosquitto als Broker.
Hast du den Wert auch unbestätigt gesetzt? -
-
@homoran Ja habe ich und mir gestern mein Venus OS zerschossen !!!!
-
So habe das Problem jetzt gelöst und es funktioniert. Die Einstellungen sind dann wie folgt.
iobroker MQTT Server
und die Einstellungen im Venus OS NodeRed.
Das Topic sollte aber der Pfad sein. Leider weiss ich noch nicht wie ich den MQTT dazu bekommen mehrere Stats auch unter 0_Userdate zu Pushen.
Sowie unter drunter beschrieben funktioniert es nicht. Ein Speichern ist dann nicht möglich. -
@kmuenke Na wie gesagt - das mit dem topic wundert mich, sollte auch so nicht funktionieren. Ich würde trotzdem mal als topic nur den # nehmen - der sollte alle subscriben dann kommt die topic so raus, wie sie eigentlich sollten. Ich würde eine extra client-Instanz definieren, die dann unter einem eigenen Prefix aus 0_userdata.0 published.
Warum das plötzlich geht, ist, dass eigene States gepublished werden - da erzeugst Du dir aber Endlosschleifen, wenn Du diese nicht unter eigenem Prefix publishst.
Manche Dinge habe ich hier ja mal zusammengefasst und getestet: https://forum.iobroker.net/topic/53315/grundsatzfrage-zu-den-mqtt-adaptern