Einbindung Huawei Wechselrichter
Re: Einbindung Huawei Wechselrichter
ich habe mal die Modbusabfrage aus Loxone heraus gestartet - hier kommen die abgefragten Werte
Re: Einbindung Huawei Wechselrichter
Sehr mysteriös. Mir gehen die Ideen aus. Mit der Slave-ID=2 bist du dir wirklich sicher?
Mir gehen die Ideen aus. Weiter weiß ich nicht. Zumindest nicht ohne selbst Hand anzulegen.
Was noch eine Hilfe sein könnte, wäre wenn du einen einfachen Modbus-TCP client nimmst und damit versuchst den Register 32064 auszulesen. Meine Erwartung ist zwar, das Loxone genau da tut, aber wer weiß... Vielleicht wissen die etwas, was wir nicht wissen.
Re: Einbindung Huawei Wechselrichter
Hallo,
ID stimmt lese ja aus Loxone mit der ID 2 aus (kommt vom WR Tausch - da hat der Huawei Dongle ein Eigenleben )
die drei Register habe ich aus der Huawei Modbus Definition V3 - ich verwende für aktuelle Leistung 32080 Active Power weiß nicht welches Register openWB verwendet für PV Leistung
ich nutze Mac OSX und habe dafür auf die Schnelle keinen Modbus Client gefunden
was wäre die Empfehlung für Windows? dann könnte ich das mal mit Parallels VM probieren
ID stimmt lese ja aus Loxone mit der ID 2 aus (kommt vom WR Tausch - da hat der Huawei Dongle ein Eigenleben )
die drei Register habe ich aus der Huawei Modbus Definition V3 - ich verwende für aktuelle Leistung 32080 Active Power weiß nicht welches Register openWB verwendet für PV Leistung
ich nutze Mac OSX und habe dafür auf die Schnelle keinen Modbus Client gefunden
was wäre die Empfehlung für Windows? dann könnte ich das mal mit Parallels VM probieren
Re: Einbindung Huawei Wechselrichter
Mit den Registern kann ich euch noch helfen, da ich ja mit openWB zusammen die alte Version der Auslesung von PV; EVU und Batterie realisiert habe.
( Die PV Register waren früher 32080 / 32081, was aber zu Problemen führte, da das die gesamte aktive Leistung des Wechselrichters war und somit auch die Speicher(ent-)ladung als PV Ertrag wertete.)
Hier die richtigen MBus Register:
PV:
PV Wirkleistung
32064 / 32065 (16bit unsigned be) [Wert mal -1]
----------------------
Ernergy Storage:
Batterie SoC (Einheit %)
37760 (16bit unsigned be) [Wert mal 0,1]
Batterieleistung (Einheit Watt) [größer als null Laden / kleiner als null Entladen]
37765 / 37766 (32bit signed be) [Wert mal 1]
----------------------
EVU:
Einspeisung / Bezug
37113 / 37114 (32bit signed be) [Wert mal 1]
Stromstärke der Phasen (Einheit Amphere)
Phase 1: 37107 / 37108 (32bit signed be) [Wert mal 0,01]
Phase 2: 37109 / 37110 (32bit signed be) [Wert mal 0,01]
Phase 3: 37111 / 37112 (32bit signed be) [Wert mal 0,01]
( Die PV Register waren früher 32080 / 32081, was aber zu Problemen führte, da das die gesamte aktive Leistung des Wechselrichters war und somit auch die Speicher(ent-)ladung als PV Ertrag wertete.)
Hier die richtigen MBus Register:
PV:
PV Wirkleistung
32064 / 32065 (16bit unsigned be) [Wert mal -1]
----------------------
Ernergy Storage:
Batterie SoC (Einheit %)
37760 (16bit unsigned be) [Wert mal 0,1]
Batterieleistung (Einheit Watt) [größer als null Laden / kleiner als null Entladen]
37765 / 37766 (32bit signed be) [Wert mal 1]
----------------------
EVU:
Einspeisung / Bezug
37113 / 37114 (32bit signed be) [Wert mal 1]
Stromstärke der Phasen (Einheit Amphere)
Phase 1: 37107 / 37108 (32bit signed be) [Wert mal 0,01]
Phase 2: 37109 / 37110 (32bit signed be) [Wert mal 0,01]
Phase 3: 37111 / 37112 (32bit signed be) [Wert mal 0,01]
Re: Einbindung Huawei Wechselrichter
Was evtl. auch noch ein Problem sein könnte und bei der "Modultransversion" vielleicht vergessen wurde, ist dass der Huawei WR sehr eigenartig Modbusanfragen beantwortet. Bei allen Abfragen muss nach dem Verbinden mindesten 7 (besser 10) Sekunden gewartet werden, bis die ersten Abfragen gestellt werden können. Sonst können nur einige Register abgefragt werden und der Rest wird einfach missachtet.
=> würde für mich den Errorcode "Slave is busy" erkären und das Problem, dass die PV-Abfrage beantwortet wird und der Rest, der danach angefragt wird, nicht beachtet wird.
Zudem würde ich die Taktung der Abfrage statt 1ms auf 3ms erhöhen, wenn das für oWB funktioniert, denn bei meiner NodeRed Abfrage des WR hat das sehr viele ModbusErrors vermieden, die es hier im Programm alle paar Stunden und Minuten mal gibt.
(hier nochmal die damalige Bestätigung von openWB, dass es ein einmaligen connection timeout geben muss.)
Könntet ihr mal überprüfen, ob der das ins neue Modul geschafft hat?
=> würde für mich den Errorcode "Slave is busy" erkären und das Problem, dass die PV-Abfrage beantwortet wird und der Rest, der danach angefragt wird, nicht beachtet wird.
Zudem würde ich die Taktung der Abfrage statt 1ms auf 3ms erhöhen, wenn das für oWB funktioniert, denn bei meiner NodeRed Abfrage des WR hat das sehr viele ModbusErrors vermieden, die es hier im Programm alle paar Stunden und Minuten mal gibt.
(hier nochmal die damalige Bestätigung von openWB, dass es ein einmaligen connection timeout geben muss.)
Könntet ihr mal überprüfen, ob der das ins neue Modul geschafft hat?
openWB hat geschrieben: ↑Fr Okt 15, 2021 11:09 am Gerne mal in der aktuellen Nightly probieren.
Sowohl PV, als auch EVU und Speicher sollten sich auslesen lassen.
Gerne mal Feedback dazu wie stabil das nun funktioniert.
Im Gegensatz zum ursprünglich von uns getesteten SmartLogger ist es tatsächlich so das eine Verbindung aufgebaut und dann 7 Sekunden gewartet werden muss ehe Daten abgefragt werden.
-
- Site Admin
- Beiträge: 8510
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 2 times
- Been thanked: 29 times
Re: Einbindung Huawei Wechselrichter
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: Einbindung Huawei Wechselrichter
Okay, der hats dann wohl geschafft übertragen zu werdenopenWB hat geschrieben: ↑So Jan 02, 2022 8:57 am https://github.com/snaptec/openWB/blob/ ... /device.py
Zeile 45
VIelleicht wäre es dann nochmal einen Versuch wert, den Abstand der einzelnen Abfragen um 2ms zu erhöhen, sonst hätte ich keine Idee mehr, woran es an der Modbusabfrage scheitern sollte. Dann müsste der Fehler im Modul liegen, was ja auch Sinn machen würde, da es bis zur 249er Nightly echt gut funktioniert hat. Da kann ich euch dann aber leider nicht mehr weiterhelfen.
Re: Einbindung Huawei Wechselrichter
Mhh... Da weiß ich auch nichts. Vielleicht kommen noch Emphelungen von anderen. Ansonsten mal Python probieren. Python muss natürlich installiert sein und pymodbus. Falls noch nicht der Fall, dann erst Python installieren und dann mit dem Befehl "pip install pymodbus" noch pymodus installieren. Dann folgendes Script in einer Textdatei (zum Beispiel mit dem Namen "modbustest.py" speichern:
Code: Alles auswählen
from pymodbus.client.sync import ModbusTcpClient
from time import sleep
if __name__ == '__main__':
with ModbusTcpClient("HUAWEI WECHSELRICHTER ADRESSE") as client:
#sleep(7)
response = client.read_holding_registers(32064, 2, unit=2)
if response.isError():
raise response
print(' '.join('%04x' % register for register in response.registers))
Ggf. etwas wie von anderen Leuten vorgeschlagen mit dem sleep spielen. Im Beispiel oben ist das sleep auskommentiert. Die Raute entfernen damit das sleep aktiv wird.
(Was ist das eigentlich für ein Teil, welches solche Einschränkungen hat? Wtf?)
Re: Einbindung Huawei Wechselrichter
Eventuell das Modbus-Tool ausprobieren, welche bei der openWB dabei ist:
http://[ipderopenwb]/openWB/web/tools/trace/modtest.html
http://[ipderopenwb]/openWB/web/tools/trace/modtest.html
Re: Einbindung Huawei Wechselrichter
@yankee bekomme pymodbus nicht sauber auf dem Mac installiert d.h. das Testprogramm läuft nicht
was muss hier in Startadresse und Länge?
was ist eigentlich der gravierende Unterschied zwischen 249 und 250 das verstehe ich nicht in 249 hat es ja funktioniert
was muss hier in Startadresse und Länge?
was ist eigentlich der gravierende Unterschied zwischen 249 und 250 das verstehe ich nicht in 249 hat es ja funktioniert