Einbindung Huawei Wechselrichter

evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

ich habe mal die Modbusabfrage aus Loxone heraus gestartet - hier kommen die abgefragten Werte
Bildschirmfoto 2022-01-01 um 22.50.48.png
yankee
Beiträge: 481
Registriert: Sa Mai 16, 2020 11:34 am

Re: Einbindung Huawei Wechselrichter

Beitrag von yankee »

evchab hat geschrieben: Sa Jan 01, 2022 9:52 pm ich habe mal die Modbusabfrage aus Loxone heraus gestartet - hier kommen die abgefragten Werte
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.
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

Hallo,
ID stimmt lese ja aus Loxone mit der ID 2 aus (kommt vom WR Tausch - da hat der Huawei Dongle ein Eigenleben :evil: )
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
MSPtrs
Beiträge: 60
Registriert: So Aug 29, 2021 1:48 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von MSPtrs »

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]
MSPtrs
Beiträge: 60
Registriert: So Aug 29, 2021 1:48 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von MSPtrs »

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?


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.
openWB
Site Admin
Beiträge: 8491
Registriert: So Okt 07, 2018 1:50 pm
Has thanked: 1 time
Been thanked: 25 times

Re: Einbindung Huawei Wechselrichter

Beitrag von openWB »

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 »

openWB hat geschrieben: So Jan 02, 2022 8:57 am https://github.com/snaptec/openWB/blob/ ... /device.py

Zeile 45
Okay, der hats dann wohl geschafft übertragen zu werden :D

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.
yankee
Beiträge: 481
Registriert: Sa Mai 16, 2020 11:34 am

Re: Einbindung Huawei Wechselrichter

Beitrag von yankee »

evchab hat geschrieben: Sa Jan 01, 2022 10:52 pm 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
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))
(Platzhalter für Adresse natürlich ausstauschen). Dann ausführen mit "python modbustest.py".

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?)
uwec
Beiträge: 35
Registriert: So Mai 30, 2021 7:49 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von uwec »

Eventuell das Modbus-Tool ausprobieren, welche bei der openWB dabei ist:
http://[ipderopenwb]/openWB/web/tools/trace/modtest.html
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: Einbindung Huawei Wechselrichter

Beitrag von evchab »

@yankee bekomme pymodbus nicht sauber auf dem Mac installiert d.h. das Testprogramm läuft nicht
Bildschirmfoto 2022-01-02 um 11.36.12.png
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
Antworten