Einbindung Huawei Wechselrichter

zoon
Beiträge: 15
Registriert: Mo Feb 15, 2021 12:24 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von zoon »

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
Dateianhänge
20F7E0A7-6B0F-4BDD-B01A-918F99A2D6DF.jpeg
27985569-1C41-4372-B7B0-AF7998AE7701.jpeg
MSPtrs
Beiträge: 60
Registriert: So Aug 29, 2021 1:48 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von MSPtrs »

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:
Screenshot (200).png
(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.
Screenshot (199).png
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 :lol:

Ich würd den Code auf Anfrage denn per PN verschicken, da ich hier nicht das ganze Forum verstopfen möchte :oops:
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

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.
Das würde ich begrüßen.
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
MSPtrs
Beiträge: 60
Registriert: So Aug 29, 2021 1:48 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von MSPtrs »

IP: natürlich die IP vom SDongle :lol:
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 :D

EDIT: hier nochmal die Modbus Definitions (aktualisiert 8.2021):
Solar Inverter Modbus Interface Definitions.pdf
(1.1 MiB) 331-mal heruntergeladen

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. :roll:
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

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. :roll:
Das erklärt warum es bei so vielen nicht geht.
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
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

MSPtrs hat geschrieben: Do Okt 07, 2021 12:46 pm
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. :roll:
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.
Becker
Beiträge: 765
Registriert: Mi Okt 07, 2020 4:34 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von Becker »

MSPtrs hat geschrieben: Do Okt 07, 2021 12:11 pm ...
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.
...
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):
11.JPG
Jeder WR wird alle 5s abgefragt, jedoch werden die Register der Reihe nach abgefragt.
111.JPG
Im Bufferparser wird dann der Typ, Name und Faktor festgelegt.

Selbst openWB frage ich so ab:
ddd.JPG
Auch Kostal und Solaredge habe ich so "gebaut".
openWB series2 Buchse (2021)
go-eCharger HOME+ 22 kW (2022)
MSPtrs
Beiträge: 60
Registriert: So Aug 29, 2021 1:48 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von MSPtrs »

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 ;)
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

MSPtrs hat geschrieben: So Okt 10, 2021 3:01 pm 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.
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
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

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.

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'
Beim versucht statt Holding mit Input Function Code zu lesen noch weniger erfolg:

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
Antworten