Einbindung Huawei Wechselrichter
Re: Einbindung Huawei Wechselrichter
Die Daten die openwb mir anzeigen bei PV sind nicht richtig.
Die beiden Screenshots sind gleichzeitig aufgenommen.
Habe jetzt wieder auf „Hand“ gestellt.
Habe kein externes Modul. Nur die IP vom WR/Dongle eingetragen. Ohne die LAN Verbindung hatte ich gar keine Daten.
Als Speicher den Huawei Luna2000
Die beiden Screenshots sind gleichzeitig aufgenommen.
Habe jetzt wieder auf „Hand“ gestellt.
Habe kein externes Modul. Nur die IP vom WR/Dongle eingetragen. Ohne die LAN Verbindung hatte ich gar keine Daten.
Als Speicher den Huawei Luna2000
Re: Einbindung Huawei Wechselrichter
Hier nochmal ein funktionierendes Beispiel:
Ich nutze einen Sun WR des Modells M1 mit Firmware SPC136 und jeweils Luna2000 und SDongle. (Siehe Setup etwa zwei Beiträge vorher in diesem Thema).
Seit ca. einem Monat läuft bei mir die Auslesung des Speichers und des EVU sehr stabil:
(hier in Rot der SoC der Batterie, gelb die Batterieladeleistung und in hellblau die Einspeisung bzw. Bezug => Erstellt in ioBroker per Flot)
Um die Daten auszulesen nutze ich eine Modbus TCP Kommunikation per SDongle (LAN), die auf Nodered basiert. Hier können alle relevanten Momentanwerte (siehe sc) ausgelesen werden. Leider sind die Gesamtwerte in Wh in der Firmwareversion SPC136 willkürlich und somit unbrauchbar, aber es sieht ja so aus, als ob die OpenWB laut OWB-Support bald auch eine "native Zählung" unterstützen wird.
Wer ebenfalls eine Auslesung von Speicher und EVU-Zähler von Huawei beabsichtigt, kann sich gerne an diesem NodeRed Code bedienen, es wird das hauseigene Modbusmodul von Nodered benötigt.
Zudem sehe ich da auch keine Schwierigkeiten in OpenWB diese Abfrage zu integrieren (ich kenne mich nicht mit Python aus), aber so eine simple Abfrage wird schon kein Problem sein.
Ich werd bald meine OpenWB bekommen und dann per MQTT diese Werte der WB publishen, mal schauen was passiert
Ich würd den Code auf Anfrage denn per PN verschicken, da ich hier nicht das ganze Forum verstopfen möchte
Ich nutze einen Sun WR des Modells M1 mit Firmware SPC136 und jeweils Luna2000 und SDongle. (Siehe Setup etwa zwei Beiträge vorher in diesem Thema).
Seit ca. einem Monat läuft bei mir die Auslesung des Speichers und des EVU sehr stabil:
(hier in Rot der SoC der Batterie, gelb die Batterieladeleistung und in hellblau die Einspeisung bzw. Bezug => Erstellt in ioBroker per Flot)
Um die Daten auszulesen nutze ich eine Modbus TCP Kommunikation per SDongle (LAN), die auf Nodered basiert. Hier können alle relevanten Momentanwerte (siehe sc) ausgelesen werden. Leider sind die Gesamtwerte in Wh in der Firmwareversion SPC136 willkürlich und somit unbrauchbar, aber es sieht ja so aus, als ob die OpenWB laut OWB-Support bald auch eine "native Zählung" unterstützen wird.
Wer ebenfalls eine Auslesung von Speicher und EVU-Zähler von Huawei beabsichtigt, kann sich gerne an diesem NodeRed Code bedienen, es wird das hauseigene Modbusmodul von Nodered benötigt.
Zudem sehe ich da auch keine Schwierigkeiten in OpenWB diese Abfrage zu integrieren (ich kenne mich nicht mit Python aus), aber so eine simple Abfrage wird schon kein Problem sein.
Ich werd bald meine OpenWB bekommen und dann per MQTT diese Werte der WB publishen, mal schauen was passiert
Ich würd den Code auf Anfrage denn per PN verschicken, da ich hier nicht das ganze Forum verstopfen möchte
-
- Site Admin
- Beiträge: 8499
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 1 time
- Been thanked: 27 times
Re: Einbindung Huawei Wechselrichter
Das würde ich begrüßen.Zudem sehe ich da auch keine Schwierigkeiten in OpenWB diese Abfrage zu integrieren (ich kenne mich nicht mit Python aus), aber so eine simple Abfrage wird schon kein Problem sein.
Welche Register mit welchem FunctionCode werden ausgelesen?
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
IP: natürlich die IP vom SDongle
Standartport: 502
Standartdevice ID: 1
SDongle (WR) agiert als Slave
=> OpenWB als Master
Register: alles HoldingRegister mit BigEndien
Batterie SoC: 37765 (16bit unsigned) [*0,1%]
Batterie Lade / Entladeleistung: 37760 (32bits signed) (0< Laden / 0> Entladen) [*1W]
EVU Energie: 37113 (32bits signed) (0< Einspeisung / 0> Bezug) [*1W]
Stromstärke L1: 37107 (32bits signed) (0< Einspeisung / 0> Bezug) [ *0,01A]
Stromstärke L2: 37109 (32bits signed) (0< Einspeisung / 0> Bezug) [*0,01A]
Stromstärke L3: 37111 (32bits signed) (0< Einspeisung / 0> Bezug) [*0,01A]
Spannung L1: (32bits signed) [*0,1V]
Spannung L2: 37103 (32bits signed) [*0,1V]
Spannung L3: 37105 (32bits signed) [*0,1V]
Frequenz: 37118 (16bit unsigned) [*0,1hz]
PV-Register kann ich nun nicht testen, ich gehe aber davon aus, dass die funktionieren
Aktuelle PV Leistung: 32080 (32bits signed) (0< PV-Ertrag / 0> ??) [*1kW]
Gesamter PV Ertrag: 32106 (32bits signed) [*0,01kWh] Bei dem Gesamtertrag wäre ich aber vorsichtig, das hat bei der Batterie und den EVU Meter auch nicht geklappt...
Noch ein Tipp zu den signed Integer, bei NodeRed musste man die mit einer Formel umrechnen, sonst haben die bei negativen Angaben völlig verrückt gespielt. Das wird dir ja aber wahrscheinlich keine Probleme machen, wenn du schon so viele Module integriert hast
EDIT: hier nochmal die Modbus Definitions (aktualisiert 8.2021):
EDIT.2: das sind alles Holding Register
WICHTIG!! Nach dem connecten per Mbus TCP MUSS eine Timeout oder Sleep oder whatever von ca. 5-10 Sekunden erfolgen, wenn man sofort nach connecten anfängt Daten zu lesen, fühlt der WR sich da noch nicht bereit dazu.
Standartport: 502
Standartdevice ID: 1
SDongle (WR) agiert als Slave
=> OpenWB als Master
Register: alles HoldingRegister mit BigEndien
Batterie SoC: 37765 (16bit unsigned) [*0,1%]
Batterie Lade / Entladeleistung: 37760 (32bits signed) (0< Laden / 0> Entladen) [*1W]
EVU Energie: 37113 (32bits signed) (0< Einspeisung / 0> Bezug) [*1W]
Stromstärke L1: 37107 (32bits signed) (0< Einspeisung / 0> Bezug) [ *0,01A]
Stromstärke L2: 37109 (32bits signed) (0< Einspeisung / 0> Bezug) [*0,01A]
Stromstärke L3: 37111 (32bits signed) (0< Einspeisung / 0> Bezug) [*0,01A]
Spannung L1: (32bits signed) [*0,1V]
Spannung L2: 37103 (32bits signed) [*0,1V]
Spannung L3: 37105 (32bits signed) [*0,1V]
Frequenz: 37118 (16bit unsigned) [*0,1hz]
PV-Register kann ich nun nicht testen, ich gehe aber davon aus, dass die funktionieren
Aktuelle PV Leistung: 32080 (32bits signed) (0< PV-Ertrag / 0> ??) [*1kW]
Gesamter PV Ertrag: 32106 (32bits signed) [*0,01kWh] Bei dem Gesamtertrag wäre ich aber vorsichtig, das hat bei der Batterie und den EVU Meter auch nicht geklappt...
Noch ein Tipp zu den signed Integer, bei NodeRed musste man die mit einer Formel umrechnen, sonst haben die bei negativen Angaben völlig verrückt gespielt. Das wird dir ja aber wahrscheinlich keine Probleme machen, wenn du schon so viele Module integriert hast
EDIT: hier nochmal die Modbus Definitions (aktualisiert 8.2021):
EDIT.2: das sind alles Holding Register
WICHTIG!! Nach dem connecten per Mbus TCP MUSS eine Timeout oder Sleep oder whatever von ca. 5-10 Sekunden erfolgen, wenn man sofort nach connecten anfängt Daten zu lesen, fühlt der WR sich da noch nicht bereit dazu.
-
- Site Admin
- Beiträge: 8499
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 1 time
- Been thanked: 27 times
Re: Einbindung Huawei Wechselrichter
Das erklärt warum es bei so vielen nicht geht.WICHTIG!! Nach dem connecten per Mbus TCP MUSS eine Timeout oder Sleep oder whatever von ca. 5-10 Sekunden erfolgen, wenn man sofort nach connecten anfängt Daten zu lesen, fühlt der WR sich da noch nicht bereit dazu.
Darf ich mal um die openWB Cloud Zugangsdaten bitten um das zu testen? (PN)
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
Vielen Dank für deine Arbeit - hoffe wir kommen hier mal weiter
Huawei spricht hier von 1-2 Sekunden oder ist das auch abhängig von was abgefragt wird?
Ich habe da bei Abfrage mit Loxone 1 Sekunde.
Re: Einbindung Huawei Wechselrichter
Hallo,
ich will mich da nicht einmischen, aber die Abfrage in Node-Red sieht nicht "gut" aus.
Es scheint als wenn du alle Register immer auf einmal abfragst, so habe ich auch mal begonnen, leider mögen die SMA WR nicht zu viele Abfragen auf einmal. Huawei scheint es egal zu sein.
Dennoch würde ich dir meine Abfrage in Node-Red gern zeigen (an der habe ich etwa 1 Jahr gearbeitet): Jeder WR wird alle 5s abgefragt, jedoch werden die Register der Reihe nach abgefragt.
Im Bufferparser wird dann der Typ, Name und Faktor festgelegt.
Selbst openWB frage ich so ab: Auch Kostal und Solaredge habe ich so "gebaut".
openWB series2 Buchse (2021)
go-eCharger HOME+ 22 kW (2022)
go-eCharger HOME+ 22 kW (2022)
Re: Einbindung Huawei Wechselrichter
Hallo Becker,
vielen Dank für deine sehr konstruktive Kritik, wenn ich das System so dauerhaft betrieben wollen würde, müsste ich das auf jeden Fall nach deiner Methode lösen, die Abfragen nacheinander zu gestalten.
Ich habe in meinen Flow in den Modbus Flex Getter eine queue delay eingebaut, sodass diese Werte auch nacheinander abgefragt werden, was zwar augenscheinlich auch so funktioniert, aber nicht ansatzweise so gut gelöst ist, wie in deinem Flow. - Da hast du dir echt ein sehr vorbildliches System überlegt
Trotz dessen setze ich eigentlich darauf, dass ich bald auf die OpenWB hauseigenen EVU- Speicher- und PV-Module zurückgreifen kann, welche wir ja versuchen hier zu entwickeln. Da denke ich, dass mein Flow gut genug dafür war, die Parameter herauszufinden, um eine stabile Abfrage zu ermöglichen. Zudem wäre es mir später eine Ehre, diese an mein System zu testen.
Jedoch bin ich sehr dankbar für dein Verbesserungsvorschlag, da die Marke OpenWB offensichtlich von Bastlern, wie du es auf jeden Fall bist, überhaupt überlebt! Daher ein großes Dankeschön an dich
vielen Dank für deine sehr konstruktive Kritik, wenn ich das System so dauerhaft betrieben wollen würde, müsste ich das auf jeden Fall nach deiner Methode lösen, die Abfragen nacheinander zu gestalten.
Ich habe in meinen Flow in den Modbus Flex Getter eine queue delay eingebaut, sodass diese Werte auch nacheinander abgefragt werden, was zwar augenscheinlich auch so funktioniert, aber nicht ansatzweise so gut gelöst ist, wie in deinem Flow. - Da hast du dir echt ein sehr vorbildliches System überlegt
Trotz dessen setze ich eigentlich darauf, dass ich bald auf die OpenWB hauseigenen EVU- Speicher- und PV-Module zurückgreifen kann, welche wir ja versuchen hier zu entwickeln. Da denke ich, dass mein Flow gut genug dafür war, die Parameter herauszufinden, um eine stabile Abfrage zu ermöglichen. Zudem wäre es mir später eine Ehre, diese an mein System zu testen.
Jedoch bin ich sehr dankbar für dein Verbesserungsvorschlag, da die Marke OpenWB offensichtlich von Bastlern, wie du es auf jeden Fall bist, überhaupt überlebt! Daher ein großes Dankeschön an dich
Re: Einbindung Huawei Wechselrichter
ihr seit ja mit Node-Red auf jeden Fall einen Schritt weiter
ich wollte das heute mal probieren habe Node-Red auf einem Qnap NAS unter Container-Station (Docker) probiert scheitere aber schon an der Installation der Modbus Unterstützung
deshalb hoffe ich das mit eurer Unterstützung die entsprechenden Module umgesetzt werden - bin auch gerne bereit beim Testen zu helfen
-
- Site Admin
- Beiträge: 8499
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 1 time
- Been thanked: 27 times
Re: Einbindung Huawei Wechselrichter
Zumindest bei evchab hilft der Timeout nicht.
Versucht wird Reg 32080 auszulesen. Das sollte es geben, bzw. tut es zumindest bei anderen wo es manchmal klappt.
Beim versucht statt Holding mit Input Function Code zu lesen noch weniger erfolg:
Versucht wird Reg 32080 auszulesen. Das sollte es geben, bzw. tut es zumindest bei anderen wo es manchmal klappt.
Code: Alles auswählen
DEBUG:pymodbus.transaction:Current transaction state - IDLE
DEBUG:pymodbus.transaction:Running transaction 1
DEBUG:pymodbus.transaction:SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x7d 0x50 0x0 0x2
DEBUG:pymodbus.client.sync:New Transaction state 'SENDING'
DEBUG:pymodbus.transaction:Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
DEBUG:pymodbus.transaction:Transaction failed. (Modbus Error: [Invalid Message] Incomplete message received, expected at least 8 bytes (0 received))
DEBUG:pymodbus.framer.socket_framer:Processing:
DEBUG:pymodbus.transaction:Getting transaction 1
DEBUG:pymodbus.transaction:Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
Code: Alles auswählen
DEBUG:pymodbus.transaction:Current transaction state - IDLE
DEBUG:pymodbus.transaction:Running transaction 1
DEBUG:pymodbus.transaction:SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x4 0x7d 0x50 0x0 0x2
DEBUG:pymodbus.client.sync:New Transaction state 'SENDING'
DEBUG:pymodbus.transaction:Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
DEBUG:pymodbus.transaction:Transaction failed. ([Errno 104] Connection reset by peer)
DEBUG:pymodbus.framer.socket_framer:Processing:
DEBUG:pymodbus.transaction:Getting transaction 1
DEBUG:pymodbus.transaction:Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
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