Hallo,
ich habe für den Victron Multiplus eine Go Library zur Kommunikation und ein einfache Regelung in Zusammenhang mit einem Shelly-EM3 geschrieben.
Das besondere ist, dass es ohne GX oder Venus OS funktioniert. Stattdessen redet man über den MK3-Adapter mit dem Multiplus direkt. Dazu gibt es vielerlei Codebeispiele, aber alle die ich gesehen habe sind rein zur Statusabfrage geschrieben worden. Victron selbst schreibt zum MK2/3 Protokoll: "Note that, as also indicated on the Data Communication whitepaper, the MK2/3 protocol is not an easy protocol. That is unfortunate, but it is what it is. [..]" - stimmt finde ich, könnte einfacher sein, geht aber trotzdem.
Der code in go ist hier abrufbar: https://github.com/yvesf/ve-ctrl-tool Das asynchrone schreiben/lesen würde ich bei Gelegenheit gerne mal aufräumen aber erstmal funktioniert es so. Test-coverage ist auch meist eher so im Bereich "unfortunate, but it is what it is." :).
Mein test-setup ist ein RaspberryPi-4 auf dem der Shelly-gesteuerte Regler (ve-ess-shelly) mit NixOS deployed wird. Es ist getestet mit einem MultiPlus "12/500/20" und "MultiPlus 48/2000/25". Es müsste aber auch mit anderen Geräten funktionieren.
Gruss, Yves
Ich finde das absolut fantastisch, zumal ich Go auch viel besser finde als Python. Ich werde das mal im Hinterkopf behalten, obwohl ich jetzt schon 3 python module für mein GX geschrieben habe.
Die Idee finde ich wirklich Klasse. Zumal es ja schon wegen der Lieferbarkeit der Pis ja keine schlechte Idee ist, selber was auf einer anderer Plattform basierend auf die Beine zu stellen. Kann man es so verstehen, dass ein komplettes Victron ESS damit machbar ist? Das wäre genau das, was ich gerne realisieren würde.
Kann man es so verstehen, dass ein komplettes Victron ESS damit machbar ist?
Du kannst damit die Batterie gesteuert laden/entladen, ich mache das mit einem shelly-em3 als steuerungsinput. Bin in letzter Zeit nicht dazu gekommen den code weiterzupflegen aber es läuft zuverlässig.