Einbindung Huawei Wechselrichter

Johannes_FS
Beiträge: 20
Registriert: Fr Jul 16, 2021 7:36 am

Re: Einbindung Huawei Wechselrichter

Beitrag von Johannes_FS »

evchab hat geschrieben: Mi Aug 11, 2021 11:14 am und das nutzt du dann als EVU Modul?
Nein, (noch) nicht - ich bin gerade noch am experimentieren wie ich das Überschussladen am Ende machen möchte.
Aktuell nutze ich Node Red + Dashboard. Auto kommt erst morgen ;-)

Edit: Ich habe mir gerade mal den Code von einem EVU Modul (HTTP) angeschaut, ich glaube das wäre gar nicht so schwer zu bauen für Huawei. Es wäre ja eigentlich identisch zum PV Modul mit ein paar kleinen Anpassungen in den Registern und den Zielen wo man die Daten hinschreibt...
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

aiole hat geschrieben: Mi Aug 11, 2021 11:07 am Im Sommerupdate geht es nur um Fremd-WB. Andere Komponentenhersteller (PV, Speicher, Zähler usw.) sind gern gesehen, sofern sie es mit einer Minimaldoku unterstützen. Ein Problem ist es nur, wenn sich so ein Hersteller ausdrücklich distanziert oder die eigene API nicht zur Nutzung freigibt.
Dennoch braucht es oWB-Entwicklerkapazitäten, um neue Geräte einzubinden. Diese sind nicht immer gegeben.
weiß ich natürlich das es um Fremd-WB geht :roll:
aber im Prinzip geht es ja wie immer ums liebe Geld ... aber lassen wir das hiermit

wie schon gesagt wär ich an einer funktionierenden Anbindung der Huawei´s (EVU Kit) interessiert, haben in der Familie mehrere PV Anlagen mit Huawei und da stehen auch Wallboxen an. Leider fehlen mir die Programmierkenntnisse um mich da zu engagieren.
openWB
Site Admin
Beiträge: 8482
Registriert: So Okt 07, 2018 1:50 pm
Has thanked: 1 time
Been thanked: 24 times

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

Es geht dann „nur“ darum 2-3 ids und Register anzupassen.
Das ist bisher immer fehlgeschlagen.
Scheinbar klappt aber nun wenigstens die per lan angebundene Variante?
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

im o.a. Loxone Beispiel lese ich 3 Register per Modbus TCP (LAN) aus. Abfrageintervall 5 Sekunden (ist das kürzeste was Loxone zulässt)
Johannes_FS
Beiträge: 20
Registriert: Fr Jul 16, 2021 7:36 am

Re: Einbindung Huawei Wechselrichter

Beitrag von Johannes_FS »

openWB hat geschrieben: Mi Aug 11, 2021 11:41 am Es geht dann „nur“ darum 2-3 ids und Register anzupassen.
Das ist bisher immer fehlgeschlagen.
Scheinbar klappt aber nun wenigstens die per lan angebundene Variante?
Ich musste das Python Programm (huawei.py) für das PV Modul etwas anpassen damit es geht... https://github.com/snaptec/openWB/blob/ ... /huawei.py

Kann gerne Details liefern falls Interesse besteht!
openWB
Site Admin
Beiträge: 8482
Registriert: So Okt 07, 2018 1:50 pm
Has thanked: 1 time
Been thanked: 24 times

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

Ich bitte darum.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Johannes_FS
Beiträge: 20
Registriert: Fr Jul 16, 2021 7:36 am

Re: Einbindung Huawei Wechselrichter

Beitrag von Johannes_FS »

Zeile 14 und 26: Duplikate -> eine entfernen

Zeile 26: client = ModbusTcpClient(ipaddress, port=502, unit_id=1)
Zeile 27: "unit=1" entfernen
zw. Zeile 26 und 27 einfügen: time.sleep(2)
Zeile 4: import time -> Kommentar entfernen

Irgendwie hatte ich dann auch Probleme bei der Hex Umwandlung in Zeile 33, aber das habe ich nicht weiter untersucht.
werbepoker
Beiträge: 6
Registriert: Mi Aug 04, 2021 8:31 am

Re: Einbindung Huawei Wechselrichter

Beitrag von werbepoker »

Hallo auch nochmal von meiner Seite,

es freut mich sehr, dass ich nicht alleine mit meinem Huawei-Problem bin und das es einige Beteiligte hier im Forum gibt, die einer Lösung offensichtlich näher kommen.
Da ich leider immer noch zu wenig Ahnung von der Materie habe und deshalb den Beiträgen von Johannes und evchab leider nicht wirklich folgen kann, wäre ich übrigens ebenfalls bereit für eine fertige Lösung Geld zu bezahlen (ich stelle auch gerne Log-Dateien etc. zur Verfügung, wenn es hilft).

Vielen Dank an alle, die Ihr Wissen hier teilen und viele Grüße
Steffen
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

hattest du das auch mit sleep 1 probiert
wie ich Huawei verstanden habe liegt es daran länger auf Antwort zu warten
und ich hatte in Loxone den Timeout von default ??? auf 1000ms gestellt
Johannes_FS
Beiträge: 20
Registriert: Fr Jul 16, 2021 7:36 am

Re: Einbindung Huawei Wechselrichter

Beitrag von Johannes_FS »

Johannes_FS hat geschrieben: Mi Aug 11, 2021 1:56 pm Zeile 14 und 26: Duplikate -> eine entfernen

Zeile 26: client = ModbusTcpClient(ipaddress, port=502, unit_id=1)
Zeile 27: "unit=1" entfernen
zw. Zeile 26 und 27 einfügen: time.sleep(2)
Zeile 4: import time -> Kommentar entfernen

Irgendwie hatte ich dann auch Probleme bei der Hex Umwandlung in Zeile 33, aber das habe ich nicht weiter untersucht.
Argh, das wichtigste vergessen: Vor die neue Zeile "time.sleep(2)" muss noch ein "client.connect()"

Hier mal der Code, der zumindest wenn man ihn manuell ausführt das korrekte Ergebnis in Register[1] liefert.
Wie gesagt das formatieren unten und das in die Datei schreiben hab ich aktuell noch nicht angeschaut.

Code: Alles auswählen

#!/usr/bin/python
import sys
import time
import struct
from pymodbus.client.sync import ModbusTcpClient

ipaddress = str(sys.argv[1])

client = ModbusTcpClient(ipaddress, port=502, unit_id=1)
client.connect()
time.sleep(2)
resp= client.read_holding_registers(32080,2)
value1 = resp.registers[0]
value2 = resp.registers[1]
print(str(value1))
print(str(value2))
#all = format(value1, '04x') + format(value2, '04x')
#final = int(struct.unpack('>i', all.decode('hex'))[0])*-1
#f = open('/var/www/html/openWB/ramdisk/pvwatt', 'w')
#f.write(str(final))
#f.close()
# print(str(final))
Antworten