Vor ein paar Wochen haben wir bei uns einen BYD Energiespeicher (HVM 2x 19.3kWh) am Fronius Symo GEN24 10.0 Plus in Betrieb genommen. Von BYD steht die Windows-Software Be_Connect_Plus zur Verfügung, um Details zum Zustand des Energiespeichers auszulesen. Im Netz fand ich nur wenige Code-Beispiele, um die Daten direkt aus dem BYD auszulesen. Die interessanteste Implementierung fand ich im Projekt iobroker.net mit dem Adapter BYD HVS.
Da wir unser Haus mit SmartHomeNG steuern und überwachen, implementierte ich nun selber ein "BYD Batterie Plugin". Das Plugin holt alle 60 Sekunden die Grunddaten aus dem System. Die Diagnosedaten werden gemäss 'diag_cycle' abgefragt und in Heatmaps dargestellt (siehe unten).
Das Plugin kann entweder direkt aus meinem Repository heruntergeladen werden: https://github.com/lgb-this/plugins/...evelop/byd_bat oder direkt https://www.beathis.ch/sh/byd_bat_v0.1.3.zip.
Kurzanleitung:
1) BYD Energiespeicher mit Netzwerk verbinden => BYD System bezieht eine Adresse vom DHCP-Server
2) IP-Adresse des BYD Energiespeichers im Router bestimmen (Name "WiFiAP") und IP fest dem Gerät zuweisen
3) Dateien des Plugin herunterladen und in Verzeichnis "byd_bat" im Verzeichnis "smarthome/plugins" kopieren
4) In der Datei "etc/plugin.yaml" das neue Plugin hinzufügen und IP-Adresse von (2) eintragen:
5) Im Verzeichnis "etc/items" eine neue Datei "byd.yaml" mit folgendem Inhalt anlegen:
6) SmartHomeNG neu starten
7) Im SmartHomeNG die Adminseite öffnen und das Web Interface des Plugin öffnen (nach ca. 5 Sekunden sollten die Daten sichtbar werden)
Bei Bedarf können die Plots auch noch an einen zusätzlichen Ort im Rechner gespeichert werden, beispielweise für smartVISU (Parameter "imgpath" in der Plugin-Konfiguration).
Ich habe das Plugin mit meinem Speicher (Typ HVM, 2 Türme) getestet. Ich suche nun weitere BYD-Benutzer mit anderen Konfigurationen, um sicherzustellen, dass das Plugin auch dort funktioniert. Falls jemand das Plugin testet, bitte den Log-Level für dieses Plugin auf DEBUG setzen und SmartHomeNG neu starten. Dann die Logdatei via PN an mich senden. Ich prüfe dann, wie ich das Plugin anpassen kann.
Weitere Angaben zum Plugin finden sich in der Datei "byd_bat\user_doc.rst"
Nachfolgend einige Screenshots der aktuellen Version (Web Interface):
home.png
diag.png
volt.png
temp.png
logdata.png
Das Plugin ist auch im offiziiellen Plugin-Github zu finden: https://github.com/smarthomeNG/plugi...evelop/byd_bat
Changelog (Details siehe "byd_bat\__init__.py"
Da wir unser Haus mit SmartHomeNG steuern und überwachen, implementierte ich nun selber ein "BYD Batterie Plugin". Das Plugin holt alle 60 Sekunden die Grunddaten aus dem System. Die Diagnosedaten werden gemäss 'diag_cycle' abgefragt und in Heatmaps dargestellt (siehe unten).
Das Plugin kann entweder direkt aus meinem Repository heruntergeladen werden: https://github.com/lgb-this/plugins/...evelop/byd_bat oder direkt https://www.beathis.ch/sh/byd_bat_v0.1.3.zip.
Kurzanleitung:
1) BYD Energiespeicher mit Netzwerk verbinden => BYD System bezieht eine Adresse vom DHCP-Server
2) IP-Adresse des BYD Energiespeichers im Router bestimmen (Name "WiFiAP") und IP fest dem Gerät zuweisen
3) Dateien des Plugin herunterladen und in Verzeichnis "byd_bat" im Verzeichnis "smarthome/plugins" kopieren
4) In der Datei "etc/plugin.yaml" das neue Plugin hinzufügen und IP-Adresse von (2) eintragen:
Code:
byd: class_name: byd_bat ip: '192.168.10.51'
Code:
byd: struct: byd_bat.byd_struct
7) Im SmartHomeNG die Adminseite öffnen und das Web Interface des Plugin öffnen (nach ca. 5 Sekunden sollten die Daten sichtbar werden)
Bei Bedarf können die Plots auch noch an einen zusätzlichen Ort im Rechner gespeichert werden, beispielweise für smartVISU (Parameter "imgpath" in der Plugin-Konfiguration).
Ich habe das Plugin mit meinem Speicher (Typ HVM, 2 Türme) getestet. Ich suche nun weitere BYD-Benutzer mit anderen Konfigurationen, um sicherzustellen, dass das Plugin auch dort funktioniert. Falls jemand das Plugin testet, bitte den Log-Level für dieses Plugin auf DEBUG setzen und SmartHomeNG neu starten. Dann die Logdatei via PN an mich senden. Ich prüfe dann, wie ich das Plugin anpassen kann.
Weitere Angaben zum Plugin finden sich in der Datei "byd_bat\user_doc.rst"
Nachfolgend einige Screenshots der aktuellen Version (Web Interface):
home.png
diag.png
volt.png
temp.png
logdata.png
Das Plugin ist auch im offiziiellen Plugin-Github zu finden: https://github.com/smarthomeNG/plugi...evelop/byd_bat
Changelog (Details siehe "byd_bat\__init__.py"
- 230811 : V0.0.1 - erster Release
- 230812 : V0.0.2 - Korrektur Berechnung Ausgangsstrom
- 230819 : V0.0.3 - kleine Anpassungen
- 230904 : V0.0.4 - Bilder JPG in PNG konvertiert fuer user_doc.rst
- 231030 : V0.0.5 - Diagnose ergänzt: Bat-Voltag, V-Out, Current / Liste der Wechselrichter aktualisiert / Alle Plot-Dateien beim Plugin-Start löschen / Anpassungen fuer mathplotlib 3.8.0 mit requirements.txt
- 231210 : V0.0.7 - Neues Item 'enable_connection' im Struct 'byd_struct' aktiviert/deaktiviert die Kommunikation mit dem Speicher, neuer Parameter 'diag_cycle' im Plugin definiert die Abfragehäufigkeit der Diagnosedaten, Temperatur max/min pro Turm ergänzt, Balancing wird mit einem 'B' in der Heatmap angezeigt
- 240112: V0.0.8 - Zellen mit Balancing werden neu rot umrandet (Heatmap Spannungen), diverse neue Items, Abfrage der Logdaten (BMU,BMS), neuer Plot mit Balkendiagramm
- 240113: V.0.1.0 - Release
- 240115: V0.1.1 - zusätzliche Items, Plots angepasst
- 240120: V0.1.2 - Log-Texte ergänzt
- 240303: V0.1.3 - Web-Interface Fehler korrigiert, Log-Daten auf 2 Tabs verteilt (Direkt-Download)
Kommentar