Seite 9 von 25

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 11:17 am
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...

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 11:39 am
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.

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 11:41 am
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?

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 11:54 am
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)

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 1:27 pm
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!

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 1:53 pm
von openWB
Ich bitte darum.

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 1:56 pm
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.

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 2:01 pm
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

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 2:03 pm
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

Re: Einbindung Huawei Wechselrichter

Verfasst: Mi Aug 11, 2021 2:07 pm
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))