Wir wechseln das Forum am 14.11.24 auf die Forensoftware Discourse. Zwischen Montag Abend und Dienstag Nachmittag wird das Forum deaktiviert. Danach sind wir hoffentlich mit neuem Forum inkl. der vorhandenen Beiträge wieder am Start! Hier zum Forenbeitrag!
Hallo zusammen,
seit ein paar Tagen habe ich ein Huawei-Komplettsystem in Betrieb genommen, jedoch ohne den Stromzähler DTSU666. Warum folgt gleich.
- Es existiert bereits eine SMA Anlage mit 7 kWh BYD Speicher und SBS2.5
- Dazu dann das SMA Energy Meter
- Mit einem BeagleBone im Netz lese ich das Energy meter aus (SMAEM) und...
- ... steuere damit eine Heidelberg Wallbox im PV Überschussbetrieb
- Der Huawei SUN2000 hängt über das komische SmartDongle im selben Netz
Dem Beagle würde ich nun auch gerne die Steuerung des Huawei-Akkus anvertrauen. Ich bin noch dabei Huaweis Philosophie zu verstehen.
Soweit ich rausgefunden habe, gibt es 3 Wege mit dem Wechselrichter (oder dem System) per Modbus zu kommunizieren:
- Per RS485 (zuverlässig, aber dafür müsste ich weitere Kabel verlegen)
- Per im SUN integrierten WLAN Hotspot (wohl auch zuverlässig aber dafür bräuchte ich noch einen WLAN-Adapter am Beagle weil der Wechselrichter sich nicht in ein bestehendes Netz anmelden kann)
- Per SmartDongle (mäßig zuverlässig und langsam, dafür am einfachsten)
Das einzige was mir bisher gelungen ist, ist dieses Projekt zu laufen zu bekommen: https://github.com/mjaschen/huawei-solar-modbus-to-mqtt
Es fragt einige Werte per Modbus ab, kann aber nichts senden. Es nutzt eine Huawei Library https://pypi.org/project/huawei-solar/ die sich wohl für eigene Zwecke nutzen ließe.
Mir ist jetzt allerdings gar nicht klar, wie ich den einfachen Befehl "Lade/Entlade den Akku mit x kW" ausführen kann. Sende ich den an den Wechselrichter? Oder an den Akku? Welches Modbus Register? https://debacher.de/wiki/Sun2000_Modbus_Register
Ich finde da nur Register für zeitgesteuertes Laden. Aber ich will ja regeln.
Ist da schon jemand weiter gekommen?
Danke, das hatte ich allerdings schon.
Wie es scheint funktioniert Nullpunkt-Regelung hier anders. Der WR zieht sich scheinbar periodisch die Leistung von einem DTSU666 und regelt damit.
Hier gibt es ein Projekt, das letzteren emuliert: https://github.com/ChrisSiedler/dtsu666-Emulator
Allerdings muss ich dann doch noch ein RS485 Kabel verlegen.
EDIT: habe stattdessen einen RS485 nach Ethernet Modbus Converter bestellt
Heute habe ich nun endlich alles angeschlossen aber es funktioniert nicht.
Die Erkennung meines simulierten DTSU666-H schlägt fehl.
Wenn man in der App auf Hinzufügen klickt, wird immer die Modbus-Adresse 2002 bzw. 0x7d1 abgefragt, die gar nicht definiert ist. Ich schätze mal, da ich da nicht die erwartete Antwort liefere, schlägt die "Erkennung" fehl.
Ich habe es sowohl direkt über ModbusRTU als auch über den Ethernet-Wandler probiert, das Ergebnis ist das gleiche...
Hat jemand so eine Anlage und möchte mal am Bus lauschen?
EDIT: kann mir selbst antworten. Es wird eine "3" auf 0x7d1 erwartet. Durch Probieren rausgefunden 😉
Die DTSU666 Emulation funktioniert jetzt: https://github.com/jsphuebner/dtsu666-Emulator
"Netterweise" weicht Huawei von der Modbus-Liste in der Gebrauchsanweisung ab.