Skip to content

Conversation

@ggtimtom
Copy link
Contributor

@ggtimtom ggtimtom commented Aug 9, 2025

This is my first Pullrequest.

I connected the CHINT DTSU666 smartmeter and the ZCS Azzurro 3PH 12KTL-V3 to an Modbus to Network Adapter.
The WIFI-Module from ZCS is removed.

image

@LKuemmel
Copy link
Contributor

Hast Du eine Doku für die Register des ZCS?
Es gibt bereits ein Modul dafür, allerdings mit anderen Registern https://github.com/openWB/core/tree/master/packages/modules/devices/azzurro_zcs/azzurro_zcs, basierend auf dieser Doku: https://forum.iobroker.net/assets/uploads/files/1638097185191-modbus-communication-protocol-storage-and-hybrid-inverter.pdf
Hast Du einen Hybrid-Wechselrichter?

@ggtimtom
Copy link
Contributor Author

ggtimtom commented Aug 11, 2025

Hast Du eine Doku für die Register des ZCS? Es gibt bereits ein Modul dafür, allerdings mit anderen Registern https://github.com/openWB/core/tree/master/packages/modules/devices/azzurro_zcs/azzurro_zcs, basierend auf dieser Doku: https://forum.iobroker.net/assets/uploads/files/1638097185191-modbus-communication-protocol-storage-and-hybrid-inverter.pdf

Leider nein, aber die passende Register sind z.B. hier beschrieben:
https://github.com/wills106/homeassistant-solax-modbus/blob/main/custom_components/solax_modbus/plugin_sofar.py

Hast Du einen Hybrid-Wechselrichter?

Nein es ist nur ein Wechselrichter. ZCS Azzurro 3PH 12KTL-V3.

Bei dem CHINT Modul ist es ähnlich. Die DTSU666 sind vie4l verbaut, aber hier gibt es unterschiedliche Register. Nachdem ich wie beim Wechselrichter mit dem Oszi ein paar Register herausgefunden habe, habe ich danach im Internet gesucht um passende Infos zu finden. Bei dem DTSU habe ich aber ein Dokument gefunden.

Zum Test lese ich die beiden Geräte mit Nodered aus und binde sie über MQTT an die OpenWB an. Da kommen alle Werte richtig an.

@LKuemmel
Copy link
Contributor

zu CHINT: Das Modul passt inhaltlich, bitte noch die Flake8 Meldungen vom automatischen Test beheben.
Den Zähler kann man auch für einen Speicher (ohne SoC) oder einen WR einbauen. Deshalb implementieren wir auch ein Speicher und WR-Modul (die Register sind die gleichen wie beim Counter-Modul). Möchtest Du das noch einbauen? Ich kann das Modul auch gerne nach dem Mergen entsprechend erweitern.

zu ZCS: Ich denke der Unterschied in den Registern liegt an Hybrid und nicht Hybrid. Deshalb sollte dein WR-Modul zum bestehenden azzurro_zcs-Modul verschoben werden. Die Komponente in der config.py und device.py ergänzen und einen anderen config und dazu passenden Dateinamen vergeben.
Bei Fragen gerne melden.

@LKuemmel LKuemmel added this to the 2.1.9 milestone Aug 21, 2025
@ggtimtom
Copy link
Contributor Author

ggtimtom commented Aug 23, 2025

zu CHINT: Das Modul passt inhaltlich, bitte noch die Flake8 Meldungen vom automatischen Test beheben. Den Zähler kann man auch für einen Speicher (ohne SoC) oder einen WR einbauen. Deshalb implementieren wir auch ein Speicher und WR-Modul (die Register sind die gleichen wie beim Counter-Modul). Möchtest Du das noch einbauen? Ich kann das Modul auch gerne nach dem Mergen entsprechend erweitern.

Ja, danke. Ich mache die Korrekturen. Mir ist bei den laufenden Tests noch ein Fehler bei den Powerfactors aufgefallen. Die Werte stimmen teilweise nicht mit der Anzeige überein. Es gibt aber drei nicht dokumentierte Register die exakt zur Anzeige am Gerät passen. Zudem habe ich noch eine Auffälligkeit bei den Vorzeichen der Strommessung entdeckt die zeitweise nicht mit den Vorzeichen der Leistungsanzeige übereinstimmen. Das forsche ich auch noch mit weiteren Tests raus. Dann mache ich den PR.

zu ZCS: Ich denke der Unterschied in den Registern liegt an Hybrid und nicht Hybrid. Deshalb sollte dein WR-Modul zum bestehenden azzurro_zcs-Modul verschoben werden. Die Komponente in der config.py und device.py ergänzen und einen anderen config und dazu passenden Dateinamen vergeben. Bei Fragen gerne melden.

Da bin ich mir unsicher wie das ergänzen geht. Gibt es ein Beispiel oder Doku wie man ein Gerät zu einem bestehenden Modul hinzufügt?

@LKuemmel
Copy link
Contributor

zu ZCS: Ich denke der Unterschied in den Registern liegt an Hybrid und nicht Hybrid. Deshalb sollte dein WR-Modul zum bestehenden azzurro_zcs-Modul verschoben werden. Die Komponente in der config.py und device.py ergänzen und einen anderen config und dazu passenden Dateinamen vergeben. Bei Fragen gerne melden.

Da bin ich mir unsicher wie das ergänzen geht. Gibt es ein Beispiel oder Doku wie man ein Gerät zu einem bestehenden Modul hinzufügt?

Da habe ich mich nicht ganz sauber ausgedrückt:
Deshalb sollte deine WR-Komponente zum bestehenden azzurro_zcs-Gerät verschoben werden.
Ein Gerät kann mehrere Wechselrichter-Komponenten haben. Du könntest die neue WR-Komponente zB pv_inverter.py und type="pv_inverter" nennen.

@LKuemmel LKuemmel marked this pull request as ready for review November 18, 2025 07:19
@LKuemmel
Copy link
Contributor

UI: openWB/openwb-ui-settings#848

Ich habe Deinen PR weiter bearbeitet, sodass dieser in die aktuelle Alpha gemergt werden kann.
Vielen Dank für deinen PR!

@LKuemmel LKuemmel merged commit 1efc1da into openWB:master Nov 18, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants