Huawei Wechselrichter auslesen

Gestern habe ich mich mal wieder damit beschäftigt, wie ich es schaffe die Daten aus meiner – Naja, die des Vermieters – Solanlage herauszubekommen.
Ganz nach dem Motto: Ich brauch keine Chinesische App, ich habe Python.

Die erste Hürde, die ich überspringen musste – Nein, kein Hobbyhorsing – war es den Modbus TCP zu aktivieren, was natürlich mal wieder nur der Besitzer / Techniker kann. Übrigens kann man die ganze Anlage auch resetten, was dann dazu führt, dass man selber von dieser dann als Besitzer angesehen wird.
Also. Der Port ist dann 502 oder 6605. Bei mir war es dann die 502.
Übrigens geht das alles über den Dienstleisterzugang von Fusion Solar. Ich hätte mir aufschreiben sollen, wo genau….Notiz an mich selbst. Alles aufschreiben. Zum Beispiel in meinem Blog

Nun aber Python!

pip install huawei-solar

Dann ein einfachen Python Script:

import asyncio
from huawei_solar import AsyncHuaweiSolar, register_names as rn

async def main():
ip_address = „666.47.11.42“ # IP deines Wechselrichters
port = 502 # Standardport (oder 6607)
slave_id = 1 # Standard-ID
try:
print(„Verbindung wird aufgebaut…“)
client = await AsyncHuaweiSolar.create(ip_address, port, slave_id)
print(„Verbindung erfolgreich.“)

# Ladezustand der Batterie
soc = await client.get(rn.STORAGE_UNIT_1_STATE_OF_CAPACITY)
print(f“Batterie-Ladestand: {soc.value} %“)

# Aktuelle Wechselrichterleistung (AC)
power = await client.get(rn.ACTIVE_POWER)
print(f“Aktive Leistung: {power.value} W“)

# Tagesertrag in kWh
yield_today = await client.get(rn.DAILY_YIELD_ENERGY)
print(f“Ertrag heute: {yield_today.value:.2f} kWh“)

except Exception as e:
print(„Fehler beim Auslesen:“, e)

if name == „main„:
asyncio.run(main())

Hier noch etwas nettes zum Nachlesen:
https://pypi.org/project/huawei-solar/

Und hier alle Register zum Auslesen: (Je nach Anlage gehen nicht alle)
https://gitlab.com/Emilv2/huawei-solar/-/tree/master/src/huawei_solar?ref_type=heads




RSS
LinkedIn
Share
Instagram
Telegram
Reddit
Mastodon
URL has been copied successfully!