Erfahrungen mit der Anbindung von Huawei Wechselrichtern?

Begonnen von lingerb, 30 Oktober 2020, 20:02:56

Vorheriges Thema - Nächstes Thema

aperoap

Achsooo, ich habe mein WR in mein Netzwerk, wo der die übliche IPv4 statisch hat (also 192.168.1....) die Verbindung ist aufgebaut und ist alles, die Übertragung von Werten ist funktioniert nicht. Die abgefragen register sind leer. bekomme daher nut timeouts.


aperoap

Hallo,

ich habe ein SUN2000 6KTL m1 als Master und ein 2KTL L1 als Slave Gerät.

6KTL M1 ist auf MODBUS ID 1
2KTL L1 auf MODBUS ID 2

   
Die Verbindung kann ich je gerät z.B.: mit

define Sun2000 ModbusAttr 1 10 192.168.1.10:502 TCP    (ID 1 für 6KTL)
define Sun2000 ModbusAttr 2 10 192.168.1.10:502 TCP    (ID 2 für 2KTL)

wie kann ich die Verbindung bei beiden Geräten parallel laufen lassen? hat jemand da schon erfahrung?

Gruß

Torxgewinde

Habe nur ein paar Ideen dazu:
Man könnte zwei Devices anlegen und immer nur eines mittels "disable 0" aktivieren und so hin und herwechseln. Ist nicht elegant, sollte aber klappen... Deine Frage erwähnt bereits extra "parallel", deswegen kennst du diese Möglichkeit vermutlich bereits.

In dem Fall würde ich drüber nachdenken mit einem RS485 Wandler direkt an den Modbus zu gehen. In der Doku steht nur ein wenig dazu, dass "Modbus", also das Modul ohne "Attr" mehrere IDs auf einer RS485 Leitung unterstützt (https://wiki.fhem.de/wiki/Modbus#usage_of_a_module_created_this_way).

db

Ich habe aufbauend auf der Definition des Geräts von weiter vorne mal etwas weitergearbeitet.

defmod Sun2000 ModbusAttr 0 30 192.168.200.1:6607 TCP
PM_Momentanleistung_W ist das, was vom Netz kommt/ins Netz geht: \
>0 : Einspeisung ins Netz, \
<0 : Bezug aus dem Netz.\
\
WR_Energie_Tag_kWh ist inklusive Bezug aus der Batterie \
\
\
Siehe auch https://www.photovoltaikforum.com/core/attachment/251184-solar-inverter-modbus-interface-definitions-pdf/

attr Sun2000 obj-h32016-expr $val/10
attr Sun2000 obj-h32016-len 1
attr Sun2000 obj-h32016-poll 1
attr Sun2000 obj-h32016-reading PV1_voltage
attr Sun2000 obj-h32016-unpack n!
attr Sun2000 obj-h32017-expr $val/100
attr Sun2000 obj-h32017-len 1
attr Sun2000 obj-h32017-poll 1
attr Sun2000 obj-h32017-reading PV1_current
attr Sun2000 obj-h32017-unpack n!
attr Sun2000 obj-h32018-expr $val/10
attr Sun2000 obj-h32018-len 1
attr Sun2000 obj-h32018-poll 1
attr Sun2000 obj-h32018-reading PV2_voltage
attr Sun2000 obj-h32018-unpack n!
attr Sun2000 obj-h32019-expr $val/100
attr Sun2000 obj-h32019-len 1
attr Sun2000 obj-h32019-poll 1
attr Sun2000 obj-h32019-reading PV2_current
attr Sun2000 obj-h32019-unpack n!
attr Sun2000 obj-h32064-len 2
attr Sun2000 obj-h32064-poll 1
attr Sun2000 obj-h32064-reading WR_Eingangsleistung_Solar_W
attr Sun2000 obj-h32064-unpack N!
attr Sun2000 obj-h32069-expr $val/10
attr Sun2000 obj-h32069-len 1
attr Sun2000 obj-h32069-poll 1
attr Sun2000 obj-h32069-reading WR_Phase_A_Voltage
attr Sun2000 obj-h32069-unpack n!
attr Sun2000 obj-h32070-expr $val/10
attr Sun2000 obj-h32070-len 1
attr Sun2000 obj-h32070-poll 1
attr Sun2000 obj-h32070-reading WR_Phase_B_Voltage
attr Sun2000 obj-h32070-unpack n!
attr Sun2000 obj-h32071-expr $val/10
attr Sun2000 obj-h32071-len 1
attr Sun2000 obj-h32071-poll 1
attr Sun2000 obj-h32071-reading WR_Phase_C_Voltage
attr Sun2000 obj-h32071-unpack n!
attr Sun2000 obj-h32072-expr $val/1000
attr Sun2000 obj-h32072-len 2
attr Sun2000 obj-h32072-poll 1
attr Sun2000 obj-h32072-reading WR_Phase_A_Current
attr Sun2000 obj-h32072-unpack N!
attr Sun2000 obj-h32074-expr $val/1000
attr Sun2000 obj-h32074-len 2
attr Sun2000 obj-h32074-poll 1
attr Sun2000 obj-h32074-reading WR_Phase_B_Current
attr Sun2000 obj-h32074-unpack N!
attr Sun2000 obj-h32076-expr $val/1000
attr Sun2000 obj-h32076-len 2
attr Sun2000 obj-h32076-poll 1
attr Sun2000 obj-h32076-reading WR_Phase_C_Current
attr Sun2000 obj-h32076-unpack N!
attr Sun2000 obj-h32078-len 2
attr Sun2000 obj-h32078-poll 1
attr Sun2000 obj-h32078-reading WR_Maximalleistung_Tag_W
attr Sun2000 obj-h32078-unpack N!
attr Sun2000 obj-h32080-len 2
attr Sun2000 obj-h32080-poll 1
attr Sun2000 obj-h32080-reading WR_Momentanleistung_W
attr Sun2000 obj-h32080-unpack N!
attr Sun2000 obj-h32086-expr $val/100
attr Sun2000 obj-h32086-len 1
attr Sun2000 obj-h32086-poll 1
attr Sun2000 obj-h32086-reading WR_Efficiency
attr Sun2000 obj-h32086-unpack n
attr Sun2000 obj-h32087-expr $val/10
attr Sun2000 obj-h32087-len 1
attr Sun2000 obj-h32087-poll 1
attr Sun2000 obj-h32087-reading WR_Internal_temperature
attr Sun2000 obj-h32087-unpack n!
attr Sun2000 obj-h32089-len 1
attr Sun2000 obj-h32089-map 0:standby, 1:standby, 2:standby, 3:standby, 256:starting, 512:on_grid, 513:power_limited, 514:self_derating, 768:shutdown_fault, 769:shutdown_command, 770:shutdown_OVGR, 771:shutdown_comm_disconn, 772:shutdown_power_limited, 773:shutdown_manual_startup_required, 774:shutdown_DC_switches_disconn, 775:shutdown_rapid_cutoff, 776:shutdown_input_underpower, 1025:Grid_scheduling_cosφ-P_curve, 1026:Grid_scheduling_Q-U_curve, 1027:Grid_scheduling_PF-U_curve, 1028:Grid_scheduling_dry_contact, 1029:Grid_scheduling_Q-P_curve, 1280:Spot-check_ready, 1281:Spot-checking, 1536:Inspecting, 1792:AFCI_self_check, 2048:I-V_scanning, 2304:DC_input_detection, 2560:Running_off-grid_charging, 40960:Standby_no_irradiation
attr Sun2000 obj-h32089-poll 1
attr Sun2000 obj-h32089-reading WR_Device_status
attr Sun2000 obj-h32089-unpack n
attr Sun2000 obj-h32091-len 2
attr Sun2000 obj-h32091-poll 1
attr Sun2000 obj-h32091-reading WR_Startup_Time
attr Sun2000 obj-h32091-unpack N!
attr Sun2000 obj-h32093-len 2
attr Sun2000 obj-h32093-poll 1
attr Sun2000 obj-h32093-reading WR_Shutdown_Time
attr Sun2000 obj-h32093-unpack N!
attr Sun2000 obj-h32106-expr $val/100
attr Sun2000 obj-h32106-len 2
attr Sun2000 obj-h32106-poll 1
attr Sun2000 obj-h32106-polldelay 3600
attr Sun2000 obj-h32106-reading WR_Gesamtertrag_kWh
attr Sun2000 obj-h32106-unpack N
attr Sun2000 obj-h32114-expr $val/100
attr Sun2000 obj-h32114-len 2
attr Sun2000 obj-h32114-poll 1
attr Sun2000 obj-h32114-reading WR_Energie_Tag_kWh
attr Sun2000 obj-h32114-unpack N
attr Sun2000 obj-h37000-len 1
attr Sun2000 obj-h37000-map 0:offline, 1:standby, 2:running, 3:fault, 4:sleep_mode
attr Sun2000 obj-h37000-poll 1
attr Sun2000 obj-h37000-reading ESU1_Status
attr Sun2000 obj-h37000-unpack n
attr Sun2000 obj-h37001-expr $val/1
attr Sun2000 obj-h37001-len 2
attr Sun2000 obj-h37001-poll 1
attr Sun2000 obj-h37001-reading ESU1_Momentanleistung_W
attr Sun2000 obj-h37001-unpack N!
attr Sun2000 obj-h37004-expr $val/10
attr Sun2000 obj-h37004-len 1
attr Sun2000 obj-h37004-poll 1
attr Sun2000 obj-h37004-reading ESU1_SoC
attr Sun2000 obj-h37004-unpack n
attr Sun2000 obj-h37015-expr $val/100
attr Sun2000 obj-h37015-len 2
attr Sun2000 obj-h37015-poll 1
attr Sun2000 obj-h37015-reading ESU1_Energie_Ladung_Tag_kWh
attr Sun2000 obj-h37015-unpack N
attr Sun2000 obj-h37017-expr $val/100
attr Sun2000 obj-h37017-len 2
attr Sun2000 obj-h37017-poll 1
attr Sun2000 obj-h37017-reading ESU1_Energie_Entladung_Tag_kWh
attr Sun2000 obj-h37017-unpack N
attr Sun2000 obj-h370177-expr $val/100
attr Sun2000 obj-h37022-expr $val/10
attr Sun2000 obj-h37022-len 1
attr Sun2000 obj-h37022-poll 1
attr Sun2000 obj-h37022-reading ESU1_Temperatur
attr Sun2000 obj-h37022-unpack n!
attr Sun2000 obj-h37066-expr $val/100
attr Sun2000 obj-h37066-len 2
attr Sun2000 obj-h37066-poll 1
attr Sun2000 obj-h37066-reading ESU1_Gesamtenergie_Ladung_kWh
attr Sun2000 obj-h37066-unpack N
attr Sun2000 obj-h37068-expr $val/100
attr Sun2000 obj-h37068-len 2
attr Sun2000 obj-h37068-poll 1
attr Sun2000 obj-h37068-reading ESU1_Gesamtenergie_Entladung_kWh
attr Sun2000 obj-h37068-unpack N
attr Sun2000 obj-h37100-expr $val/100
attr Sun2000 obj-h37100-len 1
attr Sun2000 obj-h37100-poll 1
attr Sun2000 obj-h37100-reading PM_Meter_Status
attr Sun2000 obj-h37100-unpack n
attr Sun2000 obj-h37101-expr $val/10
attr Sun2000 obj-h37101-len 2
attr Sun2000 obj-h37101-poll 1
attr Sun2000 obj-h37101-reading PM_GridVoltage_A
attr Sun2000 obj-h37101-unpack N!
attr Sun2000 obj-h37103-expr $val/10
attr Sun2000 obj-h37103-len 2
attr Sun2000 obj-h37103-poll 1
attr Sun2000 obj-h37103-reading PM_GridVoltage_B
attr Sun2000 obj-h37103-unpack N!
attr Sun2000 obj-h37105-expr $val/10
attr Sun2000 obj-h37105-len 2
attr Sun2000 obj-h37105-poll 1
attr Sun2000 obj-h37105-reading PM_GridVoltage_C
attr Sun2000 obj-h37105-unpack N!
attr Sun2000 obj-h37107-expr $val/100
attr Sun2000 obj-h37107-len 2
attr Sun2000 obj-h37107-poll 1
attr Sun2000 obj-h37107-reading PM_GridCurrent_A
attr Sun2000 obj-h37107-unpack N!
attr Sun2000 obj-h37109-expr $val/100
attr Sun2000 obj-h37109-len 2
attr Sun2000 obj-h37109-poll 1
attr Sun2000 obj-h37109-reading PM_GridCurrent_B
attr Sun2000 obj-h37109-unpack N!
attr Sun2000 obj-h37111-expr $val/100
attr Sun2000 obj-h37111-len 2
attr Sun2000 obj-h37111-poll 1
attr Sun2000 obj-h37111-reading PM_GridCurrent_C
attr Sun2000 obj-h37111-unpack N!
attr Sun2000 obj-h37113-len 2
attr Sun2000 obj-h37113-poll 1
attr Sun2000 obj-h37113-reading PM_Momentanleistung_W
attr Sun2000 obj-h37113-unpack N!
attr Sun2000 obj-h37119-expr $val/100
attr Sun2000 obj-h37119-len 2
attr Sun2000 obj-h37119-poll 1
attr Sun2000 obj-h37119-reading PM_Einspeisung_kWh
attr Sun2000 obj-h37119-unpack N!
attr Sun2000 obj-h37121-expr $val/100
attr Sun2000 obj-h37121-len 2
attr Sun2000 obj-h37121-poll 1
attr Sun2000 obj-h37121-reading PM_Netzbezug_kWh
attr Sun2000 obj-h37121-unpack N!
attr Sun2000 obj-h37132-len 2
attr Sun2000 obj-h37132-poll 1
attr Sun2000 obj-h37132-reading PM_ActivePower_A
attr Sun2000 obj-h37132-unpack N!
attr Sun2000 obj-h37134-len 2
attr Sun2000 obj-h37134-poll 1
attr Sun2000 obj-h37134-reading PM_ActivePower_B
attr Sun2000 obj-h37134-unpack N!
attr Sun2000 obj-h37136-len 2
attr Sun2000 obj-h37136-poll 1
attr Sun2000 obj-h37136-reading PM_ActivePower_C
attr Sun2000 obj-h37136-unpack N!
attr Sun2000 obj-h37738-expr $val/10
attr Sun2000 obj-h37738-len 1
attr Sun2000 obj-h37738-poll 1
attr Sun2000 obj-h37738-reading ESU2_SoC
attr Sun2000 obj-h37738-unpack n
attr Sun2000 obj-h37741-len 1
attr Sun2000 obj-h37741-map 0:offline, 1:standby, 2:running, 3:fault, 4:sleep_mode
attr Sun2000 obj-h37741-poll 1
attr Sun2000 obj-h37741-reading ESU2_Status
attr Sun2000 obj-h37741-unpack n
attr Sun2000 obj-h37743-expr $val/1
attr Sun2000 obj-h37743-len 2
attr Sun2000 obj-h37743-poll 1
attr Sun2000 obj-h37743-reading ESU2_Momentanleistung_W
attr Sun2000 obj-h37743-unpack N!
attr Sun2000 obj-h37746-expr $val/100
attr Sun2000 obj-h37746-len 2
attr Sun2000 obj-h37746-poll 1
attr Sun2000 obj-h37746-reading ESU2_Energie_Ladung_Tag_kWh
attr Sun2000 obj-h37746-unpack N
attr Sun2000 obj-h37748-expr $val/100
attr Sun2000 obj-h37748-len 2
attr Sun2000 obj-h37748-poll 1
attr Sun2000 obj-h37748-reading ESU2_Energie_Entladung_Tag_kWh
attr Sun2000 obj-h37748-unpack N
attr Sun2000 obj-h37752-expr $val/10
attr Sun2000 obj-h37752-len 1
attr Sun2000 obj-h37752-poll 1
attr Sun2000 obj-h37752-reading ESU2_Temperatur
attr Sun2000 obj-h37752-unpack n!
attr Sun2000 obj-h37753-expr $val/100
attr Sun2000 obj-h37753-len 2
attr Sun2000 obj-h37753-poll 1
attr Sun2000 obj-h37753-reading ESU2_Gesamtenergie_Ladung_kWh
attr Sun2000 obj-h37753-unpack N
attr Sun2000 obj-h37755-expr $val/100
attr Sun2000 obj-h37755-len 2
attr Sun2000 obj-h37755-poll 1
attr Sun2000 obj-h37755-reading ESU2_Gesamtenergie_Entladung_kWh
attr Sun2000 obj-h37755-unpack N
attr Sun2000 obj-h37760-expr $val/10
attr Sun2000 obj-h37760-len 1
attr Sun2000 obj-h37760-poll 1
attr Sun2000 obj-h37760-reading ESS_SoC
attr Sun2000 obj-h37760-unpack n
attr Sun2000 obj-h37762-len 1
attr Sun2000 obj-h37762-map 0:offline, 1:standby, 2:running, 3:fault, 4:sleep_mode
attr Sun2000 obj-h37762-poll 1
attr Sun2000 obj-h37762-reading ESS_Status
attr Sun2000 obj-h37762-unpack n
attr Sun2000 obj-h37784-expr $val/100
attr Sun2000 obj-h37784-len 2
attr Sun2000 obj-h37784-poll 1
attr Sun2000 obj-h37784-reading ESS_Energie_Ladung_Tag_kWh
attr Sun2000 obj-h37784-unpack N
attr Sun2000 obj-h37786-expr $val/100
attr Sun2000 obj-h37786-len 2
attr Sun2000 obj-h37786-poll 1
attr Sun2000 obj-h37786-reading ESS_Energie_Entladung_Tag_kWh
attr Sun2000 obj-h37786-unpack N
attr Sun2000 obj-h47081-expr $val/10
attr Sun2000 obj-h47081-len 1
attr Sun2000 obj-h47081-poll 1
attr Sun2000 obj-h47081-reading ESS_Ladegrenze_Prozent
attr Sun2000 obj-h47081-unpack n
attr Sun2000 obj-h47082-expr $val/10
attr Sun2000 obj-h47082-len 1
attr Sun2000 obj-h47082-poll 1
attr Sun2000 obj-h47082-reading ESS_Entladegrenze_Prozent
attr Sun2000 obj-h47082-unpack n
attr Sun2000 obj-h47415-len 1
attr Sun2000 obj-h47415-map 0:unlimited, 1:DI_active_scheduling, 5:zero_power_grid_connection, 6:power_limited_grid_connection_kw, 7:power_limited_grid_connection_percent
attr Sun2000 obj-h47415-poll 1
attr Sun2000 obj-h47415-reading WR_Modus_Leistungsbegrenzung
attr Sun2000 obj-h47415-unpack n
attr Sun2000 room Wechselrichter
attr Sun2000 stateFormat {sprintf("Status: %s, Temp: %.1f, Aktuell %.1f Watt, Heute gesamt %.2f KWh", ReadingsVal($name,"WR_Device_status",0), ReadingsVal($name,"WR_Internal_temperature",0), ReadingsVal($name,"WR_Momentanleistung_W",0), ReadingsVal($name,"WR_Energie_Tag_kWh",0))}


Quintessenz bei der ganzen Geschichte ist, dass ich auch einen Raspberry aus dem Keller umgewidmet habe, der jetzt im WLAN des Wechselrichters hängt und die Daten per LAN über fhem2fhem an die Hauptinstanz weitergibt.
Das läuft seit zwei Wochen jetzt richtig stabil. Alles andere (Daten per LAN/WLAN vom Dongle holen oder Scraping des Portals) war nur Murks.

VG

DB

aperoap

Hallo Zusammen,

ich habe zwei Wechselrichter die per Kaskade Zusammenhängen und zwei unterschiedlichen IDs haben realisiert.
Ich lese die Daten ohne zusätzliche raspberry pi, hole mir die Daten per Modbus direkt aus dem Dongle.

Falls jemand das gleiche Problem hat wie ich:

define ModbusLine Modbus 192.168.1.51:502 TCP

define SUN2000_6KTL ModbusAttr 1 20 TCP
attr SUN2000_6KTL obj-h32016-expr $val/10
attr ...
...

define SUN2000_2KTL ModbusAttr 2 13 TCP
attr ...
...


Wenn jemand genaues wissen möchte einfach schreiben.

Gruß

Telefonmann

Hallo zusammen,

ich bin gerade in der Findungsphase, mir genau so ein PV System von Huawei anzuschaffen.
Klingt sehr interessant, was Ihr hier posted.
Mich würde noch interessieren, was für Anwendungsfälle ihr mit der Anbindung nutzt.
Ich habe ein paar naive Vorstellungen, was das so sein könnte und was ich mir wünschen würde. Wüsste aber gerne, ob ich da richtig unterwegs bin.

-Reines Auslesen der Daten "zum Gucken"?
-Auslesen, um abhängig von bestimmten Events Aktivitäten in der Heimautomatisierung zu steuern? (z.B. die Wärmepumpe). Was sieht man da so?
-Ansteuern der Huawei Geräte (z.B. um die Prio zwischen Einspeisung, Akku-Ladung ... von außen dynamisch vorzugeben?)

Seid Ihr damit wunschlos glücklich, oder gibt es andere PV Technik Anbieter, wo man mehr machen kann?

Gruß

Torxgewinde

#21
Hallo Telefonmann,
Das alles geht ganz gut. Ich nutze FusionSolar nicht und habe den Huawei Geräten das Internet gänzlich gesperrt. Dank der Modbus Schnittstelle vermisse ich nichts. Man kann Auslesen und Befehle senden.

Hinweis:
Ich nutze sowohl den eingebauten WLAN-Accesspoint des Wechselrichters als auch den Dongle im LAN - ich hab in FHEM also zwei Geräte angelegt. Nutzte ich nur den AP im Wechselrichter gelingt zwar schnelles Auslesen (alle 10 Sekunden), aber Befehle kann ich nicht an die Modbus-Adresse "0" zur Ausführung bringen. Um Steuern zu können musste ich in meinem Fall den Dongle in das LAN bringen und an die IP mit der Modbus-ID "1" kann ich Steuerbefehle senden.

Ich bin (bisher) wunschlos glücklich mit dem Set Luna2000+Sun2000!

cs-online

Hallo,

habt Ihr Empfehlungen an Konvertern RS485 => LAN oder USB ? Geplant ist (da das Buskabel vom Wechselrichter zum Smartenergymeter sowieso an meinem FHEM RPI vorbeiläuft), entweder per USB oder an meinen daneben liegenden Switch per LAN anzubinden. Bei Amazon gibt es ja z.B. günstige (im Bereich 6 Euro) auf USB mit FTDI-Chip, den sollte mein RPI ja verarbeiten können...

Wie sind da eure Erfahrungen ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

der-Lolo

Noch kann ich nicht mitreden, meine Anlage ist noch nicht in Betrieb, aber ich werde zwei USR-TCP232-304 serieller RS485 zu TCP/IP Ethernet-Server-Konverter-Module einsetzen.
Die Idee hab ich von hier..

https://mona-stefan.de/index.php?option=com_content&view=article&id=764&catid=33&Itemid=296

TheTrumpeter

Zitat von: Torxgewinde am 30 September 2022, 21:38:01
Ich habe einen LUNA2000 Akku zur SUN2000 und konnte die Angaben sinnvoll erweitern. Hilfreich war aus dem Photovoltaikforum die PDF mit den Modbus Registern (Alternativ und in höherer Auflösung: https://cryptpad.fr/file/#/2/file/b9xVgq38q2vNKNZb9VWiFnnp/). Der Dongle wird nicht genutzt und es muss auch dort nicht Modbus aktiviert werden, ich verbinde mich auch direkt mit dem WLAN aus dem Sun2000-Wechselrichter "SUN2000-TA224XXXXXXXX". Der TCP-Port hat sich scheinbar von 502 auf 6607 geändert!


defmod Sun2000 ModbusAttr 0 10 192.168.200.1:6607 TCP
attr Sun2000 obj-h32016-expr $val/10
attr Sun2000 obj-h32016-len 1
attr Sun2000 obj-h32016-poll 1
attr Sun2000 obj-h32016-reading PV1_voltage
attr Sun2000 obj-h32016-unpack n!
attr Sun2000 obj-h32017-expr $val/100
attr Sun2000 obj-h32017-len 1
attr Sun2000 obj-h32017-poll 1
attr Sun2000 obj-h32017-reading PV1_current
attr Sun2000 obj-h32017-unpack n!
attr Sun2000 obj-h32018-expr $val/10
attr Sun2000 obj-h32018-len 1
attr Sun2000 obj-h32018-poll 1
attr Sun2000 obj-h32018-reading PV2_voltage
attr Sun2000 obj-h32018-unpack n!
attr Sun2000 obj-h32019-expr $val/100
attr Sun2000 obj-h32019-len 1
attr Sun2000 obj-h32019-poll 1
attr Sun2000 obj-h32019-reading PV2_current
attr Sun2000 obj-h32019-unpack n!
attr Sun2000 obj-h32064-len 2
attr Sun2000 obj-h32064-poll 1
attr Sun2000 obj-h32064-reading Input_power
attr Sun2000 obj-h32064-unpack N!
attr Sun2000 obj-h32078-len 2
attr Sun2000 obj-h32078-poll 1
attr Sun2000 obj-h32078-polldelay 3600
attr Sun2000 obj-h32078-reading Peak_active_power
attr Sun2000 obj-h32078-unpack N!
attr Sun2000 obj-h32080-len 2
attr Sun2000 obj-h32080-poll 1
attr Sun2000 obj-h32080-reading Active_power
attr Sun2000 obj-h32080-unpack N!
attr Sun2000 obj-h32086-expr $val/100
attr Sun2000 obj-h32086-len 1
attr Sun2000 obj-h32086-poll 1
attr Sun2000 obj-h32086-reading Efficiency
attr Sun2000 obj-h32086-unpack n
attr Sun2000 obj-h32087-expr $val/10
attr Sun2000 obj-h32087-len 1
attr Sun2000 obj-h32087-poll 1
attr Sun2000 obj-h32087-reading Internal_temperature
attr Sun2000 obj-h32087-unpack n!
attr Sun2000 obj-h32089-len 1
attr Sun2000 obj-h32089-map 0:standby, 1:standby, 2:standby, 3:standby, 256:starting, 512:on_grid, 513:power_limited, 514:self_derating, 768:shutdown_fault, 769:shutdown_command, 770:shutdown_OVGR, 771:shutdown_comm_disconn, 772:shutdown_power_limited, 773:shutdown_manual_startup_required, 774:shutdown_DC_switches_disconn, 775:shutdown_rapid_cutoff, 776:shutdown_input_underpower, 1025:Grid_scheduling_cosφ-P_curve, 1026:Grid_scheduling_Q-U_curve, 1027:Grid_scheduling_PF-U_curve, 1028:Grid_scheduling_dry_contact, 1029:Grid_scheduling_Q-P_curve, 1280:Spot-check_ready, 1281:Spot-checking, 1536:Inspecting, 1792:AFCI_self_check, 2048:I-V_scanning, 2304:DC_input_detection, 2560:Running_off-grid_charging, 40960:Standby_no_irradiation
attr Sun2000 obj-h32089-poll 1
attr Sun2000 obj-h32089-reading Device_status
attr Sun2000 obj-h32089-unpack n
attr Sun2000 obj-h32106-expr $val/100
attr Sun2000 obj-h32106-len 2
attr Sun2000 obj-h32106-poll 1
attr Sun2000 obj-h32106-polldelay 3600
attr Sun2000 obj-h32106-reading Accumulated_energy_yield
attr Sun2000 obj-h32106-unpack N
attr Sun2000 obj-h32114-expr $val/100
attr Sun2000 obj-h32114-len 2
attr Sun2000 obj-h32114-poll 1
attr Sun2000 obj-h32114-reading Daily_energy_yield
attr Sun2000 obj-h32114-unpack N
attr Sun2000 obj-h37004-expr $val/10
attr Sun2000 obj-h37004-len 1
attr Sun2000 obj-h37004-poll 1
attr Sun2000 obj-h37004-reading Battery1_SOC
attr Sun2000 obj-h37004-unpack n
attr Sun2000 obj-h37022-expr $val/10
attr Sun2000 obj-h37022-len 1
attr Sun2000 obj-h37022-poll 1
attr Sun2000 obj-h37022-reading Battery1_temperature
attr Sun2000 obj-h37022-unpack n!
attr Sun2000 obj-h37113-len 2
attr Sun2000 obj-h37113-poll 1
attr Sun2000 obj-h37113-reading PM_active_power
attr Sun2000 obj-h37113-unpack N!
attr Sun2000 obj-h37760-expr $val/10
attr Sun2000 obj-h37760-len 1
attr Sun2000 obj-h37760-poll 1
attr Sun2000 obj-h37760-reading Battery_SOC
attr Sun2000 obj-h37760-unpack n
attr Sun2000 obj-h37762-len 1
attr Sun2000 obj-h37762-map 0:offline, 1:standby, 2:running, 3:fault, 4:sleep_mode
attr Sun2000 obj-h37762-poll 1
attr Sun2000 obj-h37762-reading Battery_status
attr Sun2000 obj-h37762-unpack n
attr Sun2000 obj-h47415-len 1
attr Sun2000 obj-h47415-map 0:unlimited, 1:DI_active_scheduling, 5:zero_power_grid_connection, 6:power_limited_grid_connection_kw, 7:power_limited_grid_connection_percent
attr Sun2000 obj-h47415-poll 1
attr Sun2000 obj-h47415-reading Active_power_control_mode
attr Sun2000 obj-h47415-unpack n
attr Sun2000 room Keller
attr Sun2000 stateFormat {sprintf("Status: %s, Temp: %.1f, Aktuell %.1f Watt, Heute gesamt %.2f KWh", ReadingsVal($name,"Device_status",0), ReadingsVal($name,"Internal_temperature",0), ReadingsVal($name,"Active_power",0), ReadingsVal($name,"Daily_energy_yield",0))}
attr Sun2000 verbose 2

Wenn ich das richtig verstehe, hängst Du Dich mit dem WLAN vom RasPi in den AP vom Wechselrichter und fragst dann mit dem obigen Gerät im 10-Sekunden-Takt ab?

Weiter unten schreibst Du von einem zweiten Gerät, mit dem Du Dich zum Dongle verbindest. Kannst Du diese Definition auch posten? Das Dongle hängt dann ja in Deinem Heimnetz und nicht am AP vom WR, oder?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

TheTrumpeter

Zitat von: der-Lolo am 05 Februar 2023, 19:42:53
Noch kann ich nicht mitreden, meine Anlage ist noch nicht in Betrieb, aber ich werde zwei USR-TCP232-304 serieller RS485 zu TCP/IP Ethernet-Server-Konverter-Module einsetzen.
Die Idee hab ich von hier..

https://mona-stefan.de/index.php?option=com_content&view=article&id=764&catid=33&Itemid=296
Warum brauchst Du dafür 2 Stück?
Ich hab' mir das auch angeschaut, aber um mit FHEM zu kommunizieren müsste doch 1 Teil reichen?
Das kommt an den Wechselrichter und schickt die Daten ins Heimnetz.
In FHEM verbindet man dann mittels Modbus mit der IP des Konverters, d.h. ähnlich wie die Definition von Torxgewinde, nur dass die IP und Port gemäss der Einstellungen vom Konverter gewählt werden.

Oder verstehe ich was falsch?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

der-Lolo

Die Konverter dienen in meinem Fall zur Verbindung des DTSU mit dem WR.

Der geplante Aufbau schaut so aus:

DTSU <-> Konverter <-> UnifiSwitch <-> LWL <-> UnifiSwitch <-> Konverter <-> Wechselrichter

Um den ModbusRTU in FHEM zu bekommen würde ich auf den Adapter setzen -> In-Circuit USB RS485 Adapter
Den habe ich für andere RTU Modbus teilnehmer schon im Einsatz.

Das ist wenn ich alles richtig verstehe ein kleiner knackpunkt - der WR liefert Modbus RTU sein client ist eigentlich der Dongle, es kommt wohl zu aussetzern wenn ein zweiter client ( FHEM ) den Bus abfragt. Der Dongle selbst liefert dann ModbusTCP.
Bei anderen Hausautomatisierungssoftwaren ( nodeRed oder HomeAssist ) schalten die jungs einen Modbus-proxy dazwischen.
https://pypi.org/project/modbus-proxy/

VORSICHT: meine Informationen beruhen auf halbwissen, meine Anlage ist noch nicht in Betrieb, ich bin auch nicht sicher ob ich alles richtig erfasst und verstanden habe.



TheTrumpeter

Zitat von: der-Lolo am 07 Februar 2023, 11:23:55
Die Konverter dienen in meinem Fall zur Verbindung des DTSU mit dem WR.

Der geplante Aufbau schaut so aus:

DTSU <-> Konverter <-> UnifiSwitch <-> LWL <-> UnifiSwitch <-> Konverter <-> Wechselrichter
DTSU habe ich nicht vor einzusetzen, da ich bereits ein SmartMeter vom Netzbetreiber habe. Dieses kann ich im 5-Sekunden-Takt auslesen.

Zitat von: der-Lolo am 07 Februar 2023, 11:23:55
Um den ModbusRTU in FHEM zu bekommen würde ich auf den Adapter setzen -> In-Circuit USB RS485 Adapter
Den habe ich für andere RTU Modbus teilnehmer schon im Einsatz.
FHEM läuft bei mir im Technikraum auf einem RasPi, der Wechselrichter kommt in die Garage, daher ist der Adapter erstmal keine Option. Ausser ich setze auf die weiter oben schon vorgeschlagene FHEM2FHEM-Lösung mit einem 2. RasPi. WLAN zur Not auch LAN (1 Steckplatz am WLAN-Extender in der Garage) wären vorhanden.

Zitat von: der-Lolo am 07 Februar 2023, 11:23:55
Das ist wenn ich alles richtig verstehe ein kleiner knackpunkt - der WR liefert Modbus RTU sein client ist eigentlich der Dongle, es kommt wohl zu aussetzern wenn ein zweiter client ( FHEM ) den Bus abfragt. Der Dongle selbst liefert dann ModbusTCP.
Dongle würd' ich ja gar nicht brauchen, wenn ich über RS485 und irgendeinen Konverter sauber an die Daten komme.

Zitat von: der-Lolo am 07 Februar 2023, 11:23:55
Bei anderen Hausautomatisierungssoftwaren ( nodeRed oder HomeAssist ) schalten die jungs einen Modbus-proxy dazwischen.
https://pypi.org/project/modbus-proxy/

VORSICHT: meine Informationen beruhen auf halbwissen, meine Anlage ist noch nicht in Betrieb, ich bin auch nicht sicher ob ich alles richtig erfasst und verstanden habe.
Tja, ich war auf eine ganz einfache Lösung eingestellt, weil der Elektriker unbedingt einen Fronius-WR verbauen wollte, bei dem man die Daten ganz einfach vom integrierten Webserver holen kann.
Aus Verfügbarkeitsgründen hat er nun vorgeschlagen den Huawei zu nehmen (den ich ursprünglich aus Verfügbarkeitsgründen auch wollte). Jetzt habe ich festgestellt, dass man offensichtlich nicht ganz so leicht an dessen Daten kommt.

Habe schon recht viel recherchiert und es gibt auch einige ganz gute Projekte, die alle viel mehr können als ich brauche und "out-of-the-box" einsatzfähig sein müssten. "Schlank" sind die aber alle nicht, drum suche ich etwas, das mit möglichst wenig Bastelaufwand dann zuverlässig funktioniert.

Ich will eigentlich nur die Daten vom WR möglichst hochfrequent abgreifen können.
Falls möglich, möchte ich zusätzlich (annhähernd) Nulleinspeisung realisieren. Das müsste dann aber einfach über FHEM aktivierbar und deaktivierbar sein und über meine vorhandenen Daten (z.B. vom Smartmeter) gefüttert werden können.
(Hintergrund ist, dass wir in Österreich max. 12.500kWh/Jahr steuerfrei einspeisen dürfen, da würde ich aber drüber kommen. Deshalb möchte ich, sobald die Grenze annähernd erreicht ist, auf Nulleinspeisung umstellen.)

Wirklich vollständige Anleitungen für egal welche Lösung habe ich bisher nicht gefunden.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

der-Lolo

Zitat von: TheTrumpeter am 07 Februar 2023, 14:17:33
DTSU habe ich nicht vor einzusetzen, da ich bereits ein SmartMeter vom Netzbetreiber habe. Dieses kann ich im 5-Sekunden-Takt auslesen.

Erzählst Du mir mehr davon? Das ich einen DTSU habe ich noch den alten vorgaben ( 70% - Regel ) geschuldet. Hast Du die Discovergy Lösung?
Oder smartmetergateway direkt vom VNB? Vermutlich ist Ö nicht mit D vergleichbar.

Zitat von: TheTrumpeter am 07 Februar 2023, 14:17:33
Aus Verfügbarkeitsgründen hat er nun vorgeschlagen den Huawei zu nehmen (den ich ursprünglich aus Verfügbarkeitsgründen auch wollte). Jetzt habe ich festgestellt, dass man offensichtlich nicht ganz so leicht an dessen Daten kommt.

Warte mal ab - Huawei ist sicher ok - ist nur noch nicht ganz so verbreitet. Ich glaube bisher haben sich zumindest aus FHEM sicht noch nicht viele Nutzer dort angesammelt.

Zitat von: TheTrumpeter am 07 Februar 2023, 14:17:33
Habe schon recht viel recherchiert und es gibt auch einige ganz gute Projekte, die alle viel mehr können als ich brauche und "out-of-the-box" einsatzfähig sein müssten. "Schlank" sind die aber alle nicht, drum suche ich etwas, das mit möglichst wenig Bastelaufwand dann zuverlässig funktioniert.

Ich will eigentlich nur die Daten vom WR möglichst hochfrequent abgreifen können.
Falls möglich, möchte ich zusätzlich (annhähernd) Nulleinspeisung realisieren. Das müsste dann aber einfach über FHEM aktivierbar und deaktivierbar sein und über meine vorhandenen Daten (z.B. vom Smartmeter) gefüttert werden können.
(Hintergrund ist, dass wir in Österreich max. 12.500kWh/Jahr steuerfrei einspeisen dürfen, da würde ich aber drüber kommen. Deshalb möchte ich, sobald die Grenze annähernd erreicht ist, auf Nulleinspeisung umstellen.)

Wirklich vollständige Anleitungen für egal welche Lösung habe ich bisher nicht gefunden.

Klingt glaube ich schlimmer als es ist - wenn Du alle Daten in FHEM hast, und entsprechende Verbraucher die via FHEM geschaltet werden können sollte das aber doch "regelbar" sein. Schau Dir mal noch den Thread über die Leistungsprognose an, ich glaube das Modul wird gut wenn Heiko damit fertig ist...
Wenn Du damit rechnest über 12.500kWh einzuspeisen muss es aber auch ein große Anlage sein, wieviel kWP sind es?

TheTrumpeter

Zitat von: der-Lolo am 07 Februar 2023, 18:53:10
Erzählst Du mir mehr davon? Das ich einen DTSU habe ich noch den alten vorgaben ( 70% - Regel ) geschuldet. Hast Du die Discovergy Lösung?
Oder smartmetergateway direkt vom VNB? Vermutlich ist Ö nicht mit D vergleichbar.
Keine Ahnung wovon Du sprichst, ich habe eine Lösung auf Basis eines ESP8266 direkt an das Smartmeter vom Netzbetreiber angeschlossen. Das Protokoll ist offengelegt, man muss vom Netzbetreiber den Schlüssel anfordern, dann geht das.

Zitat von: der-Lolo am 07 Februar 2023, 18:53:10
Warte mal ab - Huawei ist sicher ok - ist nur noch nicht ganz so verbreitet. Ich glaube bisher haben sich zumindest aus FHEM sicht noch nicht viele Nutzer dort angesammelt.
Grundsätzlich habe ich kein Problem "zu basteln", aber ich will ungern immer mehr unterschiedliche Systeme verwenden. Eine Lösung, die ausschließlich über FHEM und ggf. einer kleinen Zusatz-Hardware (selbst gebastelt oder gekauft) besteht, wäre mir am Liebsten.

Zitat von: der-Lolo am 07 Februar 2023, 18:53:10
Klingt glaube ich schlimmer als es ist - wenn Du alle Daten in FHEM hast, und entsprechende Verbraucher die via FHEM geschaltet werden können sollte das aber doch "regelbar" sein. Schau Dir mal noch den Thread über die Leistungsprognose an, ich glaube das Modul wird gut wenn Heiko damit fertig ist...
Ich brauche keine Leistungsprognose, mittels Smartmeter und aktueller PV-Leistung kann ich jederzeit den Strombedarf ausrechnen. Das mache ich jetzt schon mit einem "Balkonkraftwerk".
Habe mittlerweile was auf Basis node-red gefunden, womit angeblich auch per Modbus in den WR geschrieben werden kann. Möglicherweise reicht es dann schon aus das Signal 67 oder 71 vom WR mit dem entsprechenden Limit zu schreiben.
Zitat von: der-Lolo am 07 Februar 2023, 18:53:10
Wenn Du damit rechnest über 12.500kWh einzuspeisen muss es aber auch ein große Anlage sein, wieviel kWP sind es?
Ich bekomme 16,92kWp mit einem 15kW-WR. Mein aktueller Jahresverbrauch beträgt ca. 5.000kWh, prognostizierter Ertrag der Anlage liegt bei ca. 17.000kWh. Von den 5.000kWh sind allein ca. 900kWh Grundlast in der Zeit zwischen Sonnenunter- und -aufgang.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110