NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
@badsnoopy667 Ich möchte gerne meinem Sun2000 WR einen Shelly Pro3EM als Smartmeter anschliessen, statt dem Huawei Smart Sensor DTSU666. Der Shelly ist bei mir schon montiert. Die Daten kann ich wunderbar per Node RED über Modbus an den WR schicken.
Gibt es da Erfahrungen?
-
ich würde den Original Huawei DTSU nehmen oder lassen. Da dieser direkt mit dem WR per RS485 verbunden ist und schnell die Änderungen von Strombezüge dem WR mitteilt, damit dieser dann Strom aus der Batterie liefern kann.
-
@0815_peter aber genau das wäre ja der Shelly auch...
-
ja stimmt das schon
Aber der Shelly funkt per WLAN zum iobroker--> iobroker dann per WLAN oder LAN zum WR und das sollte alles im Sekunden Bereich laufen damit der WR immer den aktuellen Stand hat.
Ich sag immer nix geht über ein KabelIch würde es nicht machen, da mir die Fehlerquellen zu hoch werden wenn man noch eine Middleware dazwischen schaltet.
Die Frage ist ja auch hat der WR die Register im Mod-Bus wo du ihn sagst wieviel gerade eingespeist oder bezogen wird?Aber Versuch macht Klug.
Hast du schon versucht Register zuschreiben? Da musst du die Datenformate usw. einhalten. Ich habe es noch nicht mal geschafft die Batterie Cut OFF Werte dem WR zusenden, da man die Datenwerte richtig aufarbeiten muss.
-
Wenn man dem WR sagen kann, wie hoch die Einspeisung ist, wofür braucht man den Shelly? Ich weiß doch auch über den IR Lesekopf am Smartmeter, wie viel ich verbrauche oder einspeise.
Würde mich sehr interessieren, wie ich die Werte zum WR bekommen. -
@hant0r der WR empfängt die Werte über Modbus. Entweder Modus TCP (Dongle) oder über Modbus RTU 2 Draht Anschluss.
-
@approx3145 Dann muss ich mir das mal genauer ansehen. Wäre ja cool, wenn ich dem WR die Daten zur Verfügung stellen könnte. Hast du das schon gemacht?
Edit: Bzw. weiß du, welche Adresse das beim Modbus ist?
-
@approx3145
Habe jetzt nochmal weiter geschaut, aber ich finde nichts dazu, dass man dem WR die Werte in irgendeiner Form zukommen lassen kann. Sehr schade -
rein Packtisch --> wenn du im Fusion Solar Portal dir die Konfigurationen der Geräte anschaust, sind das alles Register die bearbeitet oder gelesen werden können.
-
@0815_peter
Ich habe im Fusion Solar Portal mir die Konfigurationen der Geräte angesehen. Allerdings finde ich da leider auch nichts, wo ich dem WR meine Daten zum Hausverbrauch / Netzeinspeisung übermitteln könnte. Stehe irgendwie auf dem Schlauch -
@hant0r
Wofür willst Du die Daten denn an den WR schicken? Du hast doch gesagt, Du hast keine Batterie. Dann muss der WR doch gar nicht wissen, ob Du gerade einspeist oder nicht. -
@homewolf said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
@badsnoopy667ja laufen beide auf 502... aber das ist doch auch richtig oder?
Hi @HomeWolf
ich hab auch den SCharger und versuch seit einiger Zeit verzweifelt zum einen an die Register zu kommen und zum anderen überhaupt eine Verbindung zur Wallbox herzustellen.
Wie hast du das gemacht?
Hast du eine Modbus-Connection zur Wallbox über die Dongle-IP oder über die Wallbox IP?
Welche Register nutzt zu für welchen Wert?Würd mich freuen, wenn du mich hier ein wenig aufschlaust
Danke! -
Hi, ich bekomme beim Wert Battery_Power bei leerem Akku immer so einen komischen Wert.
Alles andere läuft. Woran kann das liegen?
-
Hallo zusammen, ich bekomme soweit alle Daten heraus die ich brauche. Ich versuche aber seit Tagen die Tageswerte herein zu bekommen: Netzbezug / Netzeinspeisung.
Hat jemand eine Idee? Egal ob ich es über Node Red versuche oder über die Northbound Schnittstelle über das Fusion Solar Portal. -
Ich habe noch
Wenn ich das richtig sehe ist das die kumulierte Netzeinspeisung. Wenn du die jeden Morgen speicherst und abends den Wert abziehst hast du schonmal den Tageswert für die Einspeisung
Und unter Inverter habe ich noch den Tagesertrag:
Wenn du das gegenrechnest müsstet du doch den Netzbezug haben, oder?
-
@badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
@bastian-rüggen
Die Efficiency habe ich deaktiviert, weil bei mir auch nur Mist ausgelesen wird. MMn müsste das die Effizienz vom Wechselrichter sein. Also das Verhältnis von Input Power (Solarleistung DC) zu Active Power (Erzeugung/Abgabe auf der AC Seite).Du übersetzt Input Power mit Solarleistung DC, doch wie ist das mit den anderen englischen Angaben, wobei varc die Übersetzung von vara sein soll: varb sind die Register dazu. Ich frage diese Werte über ein Python script ab und habe so meine Zweifel ob ich die Herkunft der Daten richtig zuordne.
Dongleabfrage:
vara = ['total_input_power','grid_power','load_power','total_battery_power','total_active_power']
varb = ['37498','37502','37500','37504','37516']
varc = ['total_input_power','Input_Zaehler','load_power','total_battery_power','total_active_power']
Inverterabfrage:
vara = ['storage_current_day_discharge_capacity','storage_total_charge','storage_total_discharge','storage_current_day_charge_capacity',
'wechselrichter_power','solar_power','storage_charge_discharge_power','storage_state_of_capacity',
'phase_A_voltage','phase_B_voltage','phase_C_voltage',
'phase_A_current','phase_B_current','phase_C_current','daily_yield_energy',
'storage_unit_1_state_of_capacity','storage_unit_1_charge_discharge_power','storage_unit_2_state_of_capacity','storage_unit_2_charge_discharge_power']
varb =['37786','37780','37782','32086',
'32080','32064','37765','37760',
'32069','32070','32071',
'32072','32074','32076','32114',
'37004','37001','37738','37743']
varc = ['Batterie_Tag_entladen','Batterie_Total_in','Battereie_Total_aus','Batterie_Tageskapazitaet',
'wechselrichter_power','Solarleistung','Batterie_ein_aus','Batterstorage_state_of_capacity',
'Phase_A_Spannung','Phase_B_Spannung','Phase_C_Spannung',
'Phase_A_Strom','Phase_B_Strom','Phase_C_Strom','Tag_bezogen',
'Batterie_1_Kapazitaet','Batterie_1_Be-Entladung','Batterie_2_Kapazität','Batterie_2_Be-Entladung']
Michael -
@doom-86 said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Hat es eigentlich schon jemand geschafft die start und Ende uhrzeit im time of use betriebsmodus über modbus einzustellen? Laut Dokumentation ist es das register 47255 mit type bytes und quantity 43.
Ich beiße mir daran die Zähne aus und komme einfach nicht voran. Ich würde das gerne mit einem nodered flow machen.
Hintergrund ist, durch den stromanbieter tibber möchte ich in den Wintermonaten gezielt den Speicher zu den günstigen Zeiten laden. Die günstigsten Zeiten habe ich schon in iobroker als datenpunkte und werden täglich berechnet. Auch schon umgerechnet in Minuten.Bei mir hackt es wirklich nur noch daran, wie ich diese mit über modbus schreiben kann.
Hast du es mittlerweile geschafft? Wäre auch daran interessiert den Speicher zu günstigen Zeiten zu laden.
-
@christof-lewandowski hab das auch geplant und wär interessiert an einer Lösung.
-
@christof-lewandowski
Das würde mich auch immer noch brennend interessieren.
Ich bin mir gar nicht sicher, ob man wirklich Register 47255 schreiben muss. Das scheint das Register zu sein um dem Speicher konkrete Lade- und Entladezeiträume zu übertragen. Deshalb ist es auch 43 Zeichen lang.
Es gibt noch mehrere andere Register die sich alle mit Forced Charge / Discharge beschäftigen. Diese sind teilweise deutlich kürzer und damit (vermutlich) einfacher zu schreiben. Aber bisher habe ich es noch nicht hinbekommen.Es gibt eine Home Assistant Integration für den Huawei Wechselrichter. Diese scheint von den Screenshots bei GitHub her auch das Forced Charging zu unterstützen.
HA IntegrationIch habe schon bei GitHub einen Adapter-Request für iobroker gestellt. Ich hätte die Hoffnung, dass sich Teile der HA Integration nutzen lassen dafür?
-
@badsnoopy667 das im HA sieht gut aus. Mal schauen ob ich zum Test mal im ioBroker den Modbus Zugriff deaktiviere und über HA Teste.