könntest du etwas mehr zu deiner Lösung erzählen.
Ich habe schon seit Jahren ein BMV 702 was ich per ASCII auslese (hier beschrieben). Das klappt auch ganz gut, nur muss ich das IO-Interface aller 30 Sekunden öffnen und schlissen sonst legt es mir meinen Rechner lahm.
Ich hab mit einem BMV-712 angefangen. Den benutze ich aber mittlerweile nicht mehr, weil ich Akkus mit BMS habe. Bei mir sind nur noch die Laderegler aktiv.
Der BMV müsste genauso wie die Laderegler jede Sekunde eine Nachricht schicken. Das führt zu performance Problemen, wenn man jede Sekunde den kompletten String verarbeitet. Daher das öffnen und schließen des Ports. Hatte ich auch so gemacht.
Das Modul reagiert nur auf asynchrone HEX-Nachrichten die mit :A beginnen.
Um die wichtigsten Sachen per Hex zu bekommen sende ich einen PING in gewissen Abständen (bei mir 5 Minuten).
Mittlerweile hab ich noch einige Einstellungssachen in das Modul eingebaut (nicht veröffentlicht).
Mit dem Hex-Protokoll kann man eben alle Werte lesen und schreiben, welche von den Victron Geräten zuf Verfügen stehen. Mit dem ASCII-Protokoll halt recht wenig. Daher bleibe ich beim HEX.
Wenn damit was funktioniert bei dir, kann ich dir auch mal eine neuere Version zukommen lassen und eventuell noch ein paar Anpassungen einbauen, wenn du lust hast mir die Daten dazu zu liefern.
Das Verzeichnis in der Zip-Datei wird einfach im ordner von symcon in „modules“ kopiert. Egal ob Windows oder Linux. Danach Symcon neu starten. Fertig.
Sobald das Modul in „Modules“ aufgeführt wird, ist es installiert. Dass im „Modules“-Modul ein Ausrufezeichen - also ein Fehler angezeigt wird, ist nicht relevant.
habe in den VictronConstants.php mal die Variablen für deinen BMV 702 angelegt: "0308" => array('DeviceName' => 'BMV 702', 'DisplayedValues' => array('FW','V','T','P','PID','I','SOC','CE','TTG','Alarm','AR','BMV','H2','H3','H4','H5','H6','H7','H8','H9','H10','H11','H12','H15','H16','H17','H18'))
Bitte ein Update durchführen und berichten, ob Variablen fehlen.
Gruß,
Hermann
Version 1.0 * Serielle Verbindungsdaten 19200 8N1 werden in die Parent-ID geschrieben
Version 1.1 * Translations DE in locale.json erweitert
Version 1.2 * BMV Smart Shunt 500A und BMV 702 erweitert
vielen Dank für dein Modul. Ich habe mir ein paar Ideen von dir geklaut und ein paar Dinge angepasst und ebenfalls ein Modul für die Victron Geräte geschrieben (insbesondere per Seriell/USB)
Folgende Änderungen habe ich bewusst eingebaut:
Änderungen werden nur bei bestimmten Schwellwerten / Alle 60 Sekunden in die Variablen geschrieben, um die Last am System geringer zu halten
Alarm Reason / Warning Reason sind Bitmasken und werden somit je nach Gerät in mehrere Variablen aufgeteilt
Pro Gerät muss eine Instanz erstellt werden
Checksumme wird beim Empfangen geprüft
Dein Modul konnte senden - da ich kein Gerät habe, welches dies unterstützt, habe ich diese Funktion entfernt