Dieser Thread soll dazu dienen, sich innerhalb der FHEM-Community über Erfahrungen mit o.g. Goodwe-Wechselrichtern auszutauchen.
Starten möchte ich mit folgender Feststellung und Frage:
Unter Verwendung des FHEM-Moduls SolarForecast (SF) lässt sich ja hervorragend eine Ladesteuerung implementieren. Bei den Wechselrichtern von Goodwe kann der maximale Ladestrom für BAT1 über das Modbus-Register 45353 und der für BAT2 über das Modbus-Register 45378 gesetzt werden.
Leider musste ich feststellen, dass trotz ausreichendem PV-Überschuss die Ladung nicht durchgängig erfolgt, sondern immer wieder pausiert. Nun frage mich, ob das ggf. an der Firmware meines Wechselrichters liegt oder dieses Verhalten auch bei anderen Firmware-Versionen auftritt und würde mich über ein entsprechendes Feedback hier aus der FHEM-Community freuen!
Nachtrag: Im Photovoltaikforum berichten einige User über ähnliche Beobachtungen. Dort herrscht aber die Meinung, dass das seltsame Ladeverhalten durch eine neue Firnware auf den BYDs ausgelöst wird. Da ich auf meinen BYD HVS-Systemen die Firmware nicht abgefasst habe, kann ich meinerseits die BYDs aus Ursache definitiv ausschließen. Den Effekt beobachte ich bei mir übrigens unabhängig vom Ladezustand der BAT-Systeme!
Zitat von: Parallix am 08 August 2025, 13:37:28Leider musste ich feststellen, dass trotz ausreichendem PV-Überschuss die Ladung nicht durchgängig erfolgt, sondern immer wieder pausiert. Nun frage mich, ob das ggf. an der Firmware meines Wechselrichters liegt oder dieses Verhalten auch bei anderen Firmware-Versionen auftritt und würde mich über ein entsprechendes Feedback hier aus der FHEM-Community freuen!
Hallo Parallix,
ich würde das so nicht bestätigen wollen. Das einzige, was ich beobachten kann, ist bei genügend voller Batterie ( >80%?) wird die Ladeleistung zurückgenommen, und dann etwas sanfter vollgeladen.
Was mich an der ganzen WR-Geschichte aber stört, ist dass es manchmal dazu kommt, dass Strom aus dem Netz genommen wird, anstelle die Batterie zu bemühen, oder andersrum, das Netz Strom bekommt, obwohl die Batterie noch nicht voll ist - ausgenommen der Fall oben...
Ich werde heute auch noch das neue WLAN-Kit einbauen, da das alte wahrscheinlich öfters die Verbindung zum GoodWe-Server verliert.
Hängt das Problem aus dem anderen Thread (ModBus TCP https://forum.fhem.de/index.php?msg=1347443 (https://forum.fhem.de/index.php?msg=1347443)) vielleicht auch damit zusammen, dass ich die 5 anstelle der 247 verwendet habe?
Ich muss heute auch nochmal nachlesen, ob ich ModBus TCP oder RTU nehmen muss...
Viele Grüße
Wolfgang
Auch von mir ein Nachtrag...
Auch mit der neuen Modbus-ID von 247 anstelle von 5 funktioniert das eine Device nicht zufriedenstellend. Das andere Device, welches nur die beiden Adresse 35138 und 35140 ausliest, bekommt seine Werte zyklisch...
Ich werde jetzt einmal alle group-Attribute von den Readings löschen, bei denen nur 1 Register ausgelesen wird...
Zitat von: wowogiengen am 05 September 2025, 14:59:13...
Das andere Device, welches nur die beiden Adresse 35138 und 35140 ausliest, bekommt seine Werte zyklisch...
Laufen beide Devices und dann noch die Anbindung zum Server von Goodwe gleichzeitig? Das jedenfalls könnte problematisch sein.
PS: Seit ich meinen Wechselrichter vollständig von Sems abgekoppelt habe und der Modbus-Zugriff nur noch (m)einen Waveshare "RS485 to ETH (B)"-Adapter erfolgt, sind fast alle vorherigen Modbus-Problemen verschwunden.
Hallo,
ich habe bisher noch keine Probleme feststellen können :-)
Mich wundert nur eines...
In der Doku von GoodWe stehen die Regist 35137 und 35139 drin, wenn ich die auslese, bekomme ich als Wert 0, lese ich aber 35138 und 35140 aus, stehen die korrekten Werte (annähernd dem was das Portal meldet) drin... Alle anderen Register sind entweder ok, oder ich habs noch nicht näher prüfen können...
Zitat von: wowogiengen am 05 September 2025, 18:43:00Hallo,
ich habe bisher noch keine Probleme feststellen können :-)
Mich wundert nur eines...
In der Doku von GoodWe stehen die Regist 35137 und 35139 drin, wenn ich die auslese, bekomme ich als Wert 0, lese ich aber 35138 und 35140 aus, stehen die korrekten Werte (annähernd dem was das Portal meldet) drin... Alle anderen Register sind entweder ok, oder ich habs noch nicht näher prüfen können...
Vielleicht hast Du übersehen, dass die Register 35137 und 35139 32-Bit breite vorzeichenbehaftete Register (S32) sind.
Hallo,
jein... Im Originalbeitrag von Rampler (https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107 (https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107)) ist das Register auch auf 35140, mit 16 Bit Länge :-)
In der Doku ist es in der Tat 32 Bit lang... ab 35139...
Mein Fehler... Dann stimmt aber "s>" nicht... brauch ich dann "n" bzw. "n>"?
Zitat von: wowogiengen am 05 September 2025, 20:20:46Hallo,
jein... Im Originalbeitrag von Rampler (https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107 (https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107)) ist das Register auch auf 35140, mit 16 Bit Länge :-)
In der Doku ist es in der Tat 32 Bit lang... ab 35139...
Mein Fehler... Dann stimmt aber "s>" nicht... brauch ich dann "n" bzw. "n>"?
Irgendwo müsste hier doch eine Doku zu den Unpack-Codes zu finden sein, idealerweise im Wiki. Auf die schnelle finde ich sie nicht. Wenn ich mich nicht irre, so muss für big-endian S32 "l>" verwendet werden. Hier steht das "l" für "signed long" und das ">" für big-endian.
PS: Selber nutze ich in meiner Modbus-Konfigurationsdatei durchgängig eigene Typbeschreibungen via "dev-type-<name>-len" und "dev-type-<name>-unpack". Hierdurch wird die Konfiguration schneller und besser lesbar!
Bsp.:
dev-type-S32-len 2
dev-type-S32-unpack l>
und später dann z.B.
obj-h36025-reading meter_active_power_W
obj-h36025-type S32
Zitat von: Parallix am 06 September 2025, 08:13:13Irgendwo müsste hier doch eine Doku zu den Unpack-Codes zu finden sein, idealerweise im Wiki. Auf die schnelle finde ich sie nicht. Wenn ich mich nicht irre, so muss für big-endian S32 "l>" verwendet werden. Hier steht das "l" für "signed long" und das ">" für big-endian.
Direkt in der Hilfe zum ModbusAttr steht ein bisschen was...
unsigned long bigunsigned long littleDamit habe ich es dann geschafft, den Wert anzuzeigen...
Gerade wundere ich mich aber über die Ausgabe des Web-Portals von GoodWe...
Für den großen 10kW Wechselrichter, dessen Module auf die Südseite schauen, bekomme ich angeblich nur 94 Watt Ausgangsleistung. Der kleine 5kW Wechselrichter, der halb/halb auf Ost und West ausgerichtet ist, bekommt aber 2060 Watt. Zusammen soll die Anlage aber 4549 Watt erzeugen.
Liegt aber vielleicht auch daran, dass es sich um das bekannte Problem mit der mehrfachen Verbindung zum WR handelt :-)
Werde auf jeden Fall nachher mal das WLAN-Kit tauschen.
Zitat von: wowogiengen am 06 September 2025, 09:55:03...
Gerade wundere ich mich aber über die Ausgabe des Web-Portals von GoodWe
...
Ganz ehrlich: Mit FHEM hast Du doch alle Möglichkeiten, um Dich unabhängig vom Webportal eines Hersteller, von unangekündigten Firmware-Updates sowie Modifikationen ohne Dein OK zu machen und Daten auch in hoher zeitlicher Auflösung zu bekommen. Sind das nicht genug Gründe, um sich aus einer Hersteller-Cloud zurückzuziehen?
Hallo,
ist bisschen OT...,
Zitat von: Parallix am 06 September 2025, 21:27:15Ganz ehrlich: Mit FHEM hast Du doch alle Möglichkeiten, um Dich unabhängig vom Webportal eines Hersteller, von unangekündigten Firmware-Updates sowie Modifikationen ohne Dein OK zu machen und Daten auch in hoher zeitlicher Auflösung zu bekommen. Sind das nicht genug Gründe, um sich aus einer Hersteller-Cloud zurückzuziehen?
Das mag sein, aber ich bin nicht so fit, um mir FHEM nach meinen Wünschen so anzupassen, und es dann auch noch fail-safe hinzubekommen.
Bsp... Ich wollte mir eine FHEM-Instanz auf meinem Windows-PC installieren. Hab es nach der Anleitung gemacht, so dass Perl mit in das Verzeichnis installiert würde. Aber ich hab es nicht geschafft, fehlende Abhängigkeiten zu installieren - die Kompilierung brach immer wieder ab...
Dann gefällt mit der Plot nicht so toll, das was man mit plotly unter jupyter notebook zeichnen kann, sieht viel schöner aus, und lässt sich auch bequemer zoomen...
Eine eigene Web-UI hab ich mal angefangen zu machen, aber auch da muss man sich wieder erstmal einarbeiten...
Die vielen Stunden wo ich damit schon verbracht habe, verbringe ich lieber woanders :-)
Zurück zum Thema...
Ich habe zwei Wechselrichter:
- GW10KN-ET, 10kW Peak
- GW5000-ES-20, 5kW Peak, ist eigentlich ein 6kW (er meldet sich mit GW6000ES20) aber für DE wurde der gedrosselt und ist deswegen ein GW5000-ES-20...
Beim 10er bin ich mit dieser Definition ganz gut gefahren:
https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107 (https://forum.fhem.de/index.php?topic=137857.msg1328107#msg1328107)
Für den 5er passt das nicht so ganz, also hab ich Goodwe gefragt, welche Doku hierfür geeignet wäre.
Die ZIP-Dateien im Anhang sind das, was ich bekommen habe - PDF wäre bisschen zu groß gewesen, deshalb als ZIP gepackt...
Für den GW5000-ES-20 hat er mir die ARM_105_EM_ES_SBP_BP_Modbus_Protocol_Hybrid_EN_V2.8.pdf gesagt, aber wenn ich da nur das Modell und die Seriennummer auslese,
bekomme ich schon nichts.
Verwende ich die gleichen Register wie beim GW10KN-ET, stimmen die Werte...
Wer hat mit dem GW5000-ES-20 schon Erfahrungen gesammelt?
Viele Grüße
Wolfgang
Zitat von: wowogiengen am 08 September 2025, 19:04:22Hallo,
ist bisschen OT...,
Zitat von: Parallix am 06 September 2025, 21:27:15Ganz ehrlich: Mit FHEM hast Du doch alle Möglichkeiten, um Dich unabhängig vom Webportal eines Hersteller, von unangekündigten Firmware-Updates sowie Modifikationen ohne Dein OK zu machen und Daten auch in hoher zeitlicher Auflösung zu bekommen. Sind das nicht genug Gründe, um sich aus einer Hersteller-Cloud zurückzuziehen?
Das mag sein, aber ich bin nicht so fit, um mir FHEM nach meinen Wünschen so anzupassen, und es dann auch noch fail-safe hinzubekommen.
Bsp... Ich wollte mir eine FHEM-Instanz auf meinem Windows-PC installieren.
...
Mein Tipp: Hol die für wenig Geld einen Banana- oder Raspberry und setze Dich ein wenig mit Linux und dessen Möglichkeiten auf Kommandozeilenebene auseinander. Wenn Du das hinter Dich gebracht hast, dann installierst Du FHEM auf dem System und spielst ein wenig mit unproblematischen Devices, die nur unidirektional betrieben werden können. Dann machst Du Dich langsam Deinen Goodwe via Modbus heran.
Ich mein,
grundsätzlich kenn ich mich mit raspy und Linux schon aus, aber trotzdem sind mir die Perl-, shell-, fhem- Sprachdialekte ein bisschen fremd.
Meine FHEM-Installation läuft ja jetzt auch schon seit einigen Jahren, aber eben nur die basics. Für die Creme de la creme müsste ich mich eben zu sehr
einarbeiten, und da weiß ich halt nicht, wie anfangen...
Ich hab mir schon mal gedacht, auf nem zweiten Raspy eine zweite FHEM-Instanz zu installieren, die sich dann mit fhem2fhem mit der Hauptinstanz verbindet.
Da müsste es ja dann möglich sein, Web-UI und andere Dinge (Daten akkumulieren, DB Wartung etc) damit auszuprobieren...
Hier meine implementierung von meinem Goodwe-ET 10K
Über die Register EMS_Power_Mode (Mode 1 / Mode 11) und BatteryChargePower klappt Laden aus dem Netz.
define GoodweET10 ModbusAttr 247 30 192.178.168.184:502 TCP
setuuid GoodweET10 6444f8b8-f33f-84af-30b9-75659aab1ee5bb81
attr GoodweET10 alias Wechselrichter
attr GoodweET10 alignTime 00:00
attr GoodweET10 comment {start_laden_netz(65)} #Laden auf Target_SOC 65%
attr GoodweET10 dev-h-combine 50
attr GoodweET10 dev-h-defPoll 1
attr GoodweET10 event-min-interval PLoad_Total:180,EMS_Power_Mode:300,Charge_Power:300
attr GoodweET10 event-on-change-reading .*
attr GoodweET10 icon inverter@yellow
attr GoodweET10 obj-h35003-len 8
attr GoodweET10 obj-h35003-reading 0_Serialnumber
attr GoodweET10 obj-h35003-unpack a*
attr GoodweET10 obj-h35011-len 5
attr GoodweET10 obj-h35011-reading 0_Device_type
attr GoodweET10 obj-h35011-unpack a*
attr GoodweET10 obj-h35021-len 6
attr GoodweET10 obj-h35021-reading 0_DSP_Internal_Firmware_Version
attr GoodweET10 obj-h35021-unpack a*
attr GoodweET10 obj-h35027-len 6
attr GoodweET10 obj-h35027-reading 0_ARM_Internal_Firmware_Version
attr GoodweET10 obj-h35027-unpack a*
attr GoodweET10 obj-h35100-reading RTC_1
attr GoodweET10 obj-h35101-reading RTC_2
attr GoodweET10 obj-h35102-reading RTC_3
attr GoodweET10 obj-h35103-expr $val/10
attr GoodweET10 obj-h35103-reading PV_Vpv1
attr GoodweET10 obj-h35103-unpack S>
attr GoodweET10 obj-h35104-expr $val/10
attr GoodweET10 obj-h35104-reading PV_Ipv1
attr GoodweET10 obj-h35104-unpack S>
attr GoodweET10 obj-h35105-len 2
attr GoodweET10 obj-h35105-reading PV_Ppv1
attr GoodweET10 obj-h35105-unpack L>
attr GoodweET10 obj-h35106-reading scan-h35106
attr GoodweET10 obj-h35107-expr $val/10
attr GoodweET10 obj-h35107-reading PV_Vpv2
attr GoodweET10 obj-h35107-unpack S>
attr GoodweET10 obj-h35108-expr $val/10
attr GoodweET10 obj-h35108-reading PV_Ipv2
attr GoodweET10 obj-h35108-unpack S>
attr GoodweET10 obj-h35109-len 2
attr GoodweET10 obj-h35109-reading PV_Ppv2
attr GoodweET10 obj-h35109-unpack L>
attr GoodweET10 obj-h35111-expr $val/10
attr GoodweET10 obj-h35111-reading PV_Vpv3
attr GoodweET10 obj-h35111-unpack S>
attr GoodweET10 obj-h35112-expr $val/10
attr GoodweET10 obj-h35112-reading PV_Ipv3
attr GoodweET10 obj-h35112-unpack S>
attr GoodweET10 obj-h35113-expr $val/10
attr GoodweET10 obj-h35113-len 2
attr GoodweET10 obj-h35113-reading PV_Ppv3
attr GoodweET10 obj-h35113-unpack S>
attr GoodweET10 obj-h35115-expr $val/10
attr GoodweET10 obj-h35115-reading PV_Vpv4
attr GoodweET10 obj-h35115-unpack S>
attr GoodweET10 obj-h35116-expr $val/10
attr GoodweET10 obj-h35116-reading PV_Ipv4
attr GoodweET10 obj-h35116-unpack S>
attr GoodweET10 obj-h35117-expr $val/10
attr GoodweET10 obj-h35117-len 2
attr GoodweET10 obj-h35117-reading PV_Ppv4
attr GoodweET10 obj-h35117-unpack S>
attr GoodweET10 obj-h35119-len 2
attr GoodweET10 obj-h35119-map 0:NO_PV, 1:Standby, 2:Work
attr GoodweET10 obj-h35119-reading PV_Mode
attr GoodweET10 obj-h35119-unpack L>
attr GoodweET10 obj-h35121-expr $val/10
attr GoodweET10 obj-h35121-reading Grid_R_V
attr GoodweET10 obj-h35121-unpack S>
attr GoodweET10 obj-h35122-expr $val/10
attr GoodweET10 obj-h35122-reading Grid_R_I
attr GoodweET10 obj-h35122-unpack S>
attr GoodweET10 obj-h35123-expr $val/100
attr GoodweET10 obj-h35123-reading Grid_R_F
attr GoodweET10 obj-h35123-unpack S>
attr GoodweET10 obj-h35125-reading Grid_R_P
attr GoodweET10 obj-h35125-unpack s>
attr GoodweET10 obj-h35126-expr $val/10
attr GoodweET10 obj-h35126-reading Grid_S_V
attr GoodweET10 obj-h35126-unpack S>
attr GoodweET10 obj-h35127-expr $val/10
attr GoodweET10 obj-h35127-reading Grid_S_I
attr GoodweET10 obj-h35127-unpack S>
attr GoodweET10 obj-h35128-expr $val/100
attr GoodweET10 obj-h35128-reading Grid_S_F
attr GoodweET10 obj-h35128-unpack S>
attr GoodweET10 obj-h35130-reading Grid_S_P
attr GoodweET10 obj-h35130-unpack s>
attr GoodweET10 obj-h35131-expr $val/10
attr GoodweET10 obj-h35131-reading Grid_T_V
attr GoodweET10 obj-h35131-unpack S>
attr GoodweET10 obj-h35132-expr $val/10
attr GoodweET10 obj-h35132-reading Grid_T_I
attr GoodweET10 obj-h35132-unpack S>
attr GoodweET10 obj-h35133-expr $val/100
attr GoodweET10 obj-h35133-reading Grid_T_F
attr GoodweET10 obj-h35133-unpack S>
attr GoodweET10 obj-h35135-reading Grid_T_P
attr GoodweET10 obj-h35135-unpack s>
attr GoodweET10 obj-h35136-reading Grid_Mode
attr GoodweET10 obj-h35136-unpack S>
attr GoodweET10 obj-h35138-reading Total_INV_Power
attr GoodweET10 obj-h35138-unpack s>
attr GoodweET10 obj-h35140-reading AC_ActivePower
attr GoodweET10 obj-h35140-unpack s>
attr GoodweET10 obj-h35142-reading AC_ReactivePower
attr GoodweET10 obj-h35142-unpack s>
attr GoodweET10 obj-h35144-reading AC_ApparentPower
attr GoodweET10 obj-h35144-unpack s>
attr GoodweET10 obj-h35145-expr $val/10
attr GoodweET10 obj-h35145-reading Back-Up_R_Vload
attr GoodweET10 obj-h35145-unpack S>
attr GoodweET10 obj-h35146-expr $val/10
attr GoodweET10 obj-h35146-reading Back-Up_R_Iload
attr GoodweET10 obj-h35146-unpack S>
attr GoodweET10 obj-h35147-expr $val/100
attr GoodweET10 obj-h35147-reading Back-Up_R_Fload
attr GoodweET10 obj-h35147-unpack S>
attr GoodweET10 obj-h35148-reading Load_Mode_R
attr GoodweET10 obj-h35148-unpack S>
attr GoodweET10 obj-h35150-reading Back-Up_R_Pload
attr GoodweET10 obj-h35150-unpack s>
attr GoodweET10 obj-h35151-expr $val/10
attr GoodweET10 obj-h35151-reading Back-Up_S_Vload
attr GoodweET10 obj-h35151-unpack S>
attr GoodweET10 obj-h35152-expr $val/10
attr GoodweET10 obj-h35152-reading Back-Up_S_Iload
attr GoodweET10 obj-h35152-unpack S>
attr GoodweET10 obj-h35153-expr $val/100
attr GoodweET10 obj-h35153-reading Back-Up_S_Fload
attr GoodweET10 obj-h35153-unpack S>
attr GoodweET10 obj-h35154-reading Load_Mode_S
attr GoodweET10 obj-h35154-unpack S>
attr GoodweET10 obj-h35156-reading Back-Up_S_Pload
attr GoodweET10 obj-h35156-unpack s>
attr GoodweET10 obj-h35157-expr $val/10
attr GoodweET10 obj-h35157-reading Back-Up_T_Vload
attr GoodweET10 obj-h35157-unpack S>
attr GoodweET10 obj-h35158-expr $val/10
attr GoodweET10 obj-h35158-reading Back-Up_T_Iload
attr GoodweET10 obj-h35158-unpack S>
attr GoodweET10 obj-h35159-expr $val/100
attr GoodweET10 obj-h35159-reading Back-Up_T_Fload
attr GoodweET10 obj-h35159-unpack S>
attr GoodweET10 obj-h35160-reading Load Mode_T
attr GoodweET10 obj-h35160-unpack S>
attr GoodweET10 obj-h35162-reading Back-Up_T_Pload
attr GoodweET10 obj-h35162-unpack s>
attr GoodweET10 obj-h35164-reading PLoad_R
attr GoodweET10 obj-h35164-unpack s>
attr GoodweET10 obj-h35166-reading PLoad_S
attr GoodweET10 obj-h35166-unpack s>
attr GoodweET10 obj-h35168-reading PLoad_T
attr GoodweET10 obj-h35168-unpack s>
attr GoodweET10 obj-h35170-reading Total_Back-Up_Load
attr GoodweET10 obj-h35170-unpack s>
attr GoodweET10 obj-h35172-reading Total_Load_Power
attr GoodweET10 obj-h35172-unpack s>
attr GoodweET10 obj-h35173-expr $val/100
attr GoodweET10 obj-h35173-reading Ups_Load_Percent
attr GoodweET10 obj-h35173-unpack S>
attr GoodweET10 obj-h35174-expr $val/100
attr GoodweET10 obj-h35174-reading Air_temperature
attr GoodweET10 obj-h35174-unpack s>
attr GoodweET10 obj-h35175-expr $val/100
attr GoodweET10 obj-h35175-reading Module_temperature
attr GoodweET10 obj-h35175-unpack s>
attr GoodweET10 obj-h35176-expr $val/10
attr GoodweET10 obj-h35176-reading Radiator_temperature
attr GoodweET10 obj-h35176-unpack s>
attr GoodweET10 obj-h35177-reading FunctionBitValue
attr GoodweET10 obj-h35177-unpack S>
attr GoodweET10 obj-h35178-expr $val/10
attr GoodweET10 obj-h35178-reading BUSVoltage
attr GoodweET10 obj-h35178-unpack S>
attr GoodweET10 obj-h35179-expr $val/10
attr GoodweET10 obj-h35179-reading NBUSVoltage
attr GoodweET10 obj-h35179-unpack S>
attr GoodweET10 obj-h35180-expr $val/10
attr GoodweET10 obj-h35180-reading Vbattery1
attr GoodweET10 obj-h35180-unpack S>
attr GoodweET10 obj-h35181-expr $val/10
attr GoodweET10 obj-h35181-reading Ibattery1
attr GoodweET10 obj-h35181-unpack s>
attr GoodweET10 obj-h35183-reading Pbattery1
attr GoodweET10 obj-h35183-unpack s>
attr GoodweET10 obj-h35184-reading Battery1_Mode
attr GoodweET10 obj-h35184-unpack S>
attr GoodweET10 obj-h35185-reading Warning_code
attr GoodweET10 obj-h35185-unpack S>
attr GoodweET10 obj-h35186-reading SafetyCountry
attr GoodweET10 obj-h35186-unpack S>
attr GoodweET10 obj-h35187-reading Work_Mode
attr GoodweET10 obj-h35187-unpack S>
attr GoodweET10 obj-h35188-reading Operation_Mode
attr GoodweET10 obj-h35188-unpack S>
attr GoodweET10 obj-h35189-len 2
attr GoodweET10 obj-h35189-reading Error_Message
attr GoodweET10 obj-h35191-expr $val/10
attr GoodweET10 obj-h35191-len 2
attr GoodweET10 obj-h35191-reading Total_PV_Energy
attr GoodweET10 obj-h35191-unpack L>
attr GoodweET10 obj-h35193-expr $val/10
attr GoodweET10 obj-h35193-len 2
attr GoodweET10 obj-h35193-reading PV_Energy_Day
attr GoodweET10 obj-h35193-unpack L>
attr GoodweET10 obj-h35195-expr $val/10
attr GoodweET10 obj-h35195-len 2
attr GoodweET10 obj-h35195-reading PV_Energy_Total
attr GoodweET10 obj-h35195-unpack L>
attr GoodweET10 obj-h35197-len 2
attr GoodweET10 obj-h35197-reading h-Total
attr GoodweET10 obj-h35197-unpack L>
attr GoodweET10 obj-h35199-expr $val/10
attr GoodweET10 obj-h35199-reading E-Day-Sell
attr GoodweET10 obj-h35199-unpack S>
attr GoodweET10 obj-h35202-expr $val/10
attr GoodweET10 obj-h35202-type unsigned short big
attr GoodweET10 obj-h35202-unpack S>
attr GoodweET10 obj-h35203-expr $val/10
attr GoodweET10 obj-h35203-len 2
attr GoodweET10 obj-h35203-reading E-Total-Load
attr GoodweET10 obj-h35203-unpack L>
attr GoodweET10 obj-h35205-expr $val/10
attr GoodweET10 obj-h35205-reading E-Load-Day
attr GoodweET10 obj-h35205-unpack S>
attr GoodweET10 obj-h35206-expr $val/10
attr GoodweET10 obj-h35206-len 2
attr GoodweET10 obj-h35206-reading E-BatteryCharge
attr GoodweET10 obj-h35206-unpack L>
attr GoodweET10 obj-h35208-expr $val/10
attr GoodweET10 obj-h35208-reading E-Charge-Day
attr GoodweET10 obj-h35208-unpack S>
attr GoodweET10 obj-h35209-expr $val/10
attr GoodweET10 obj-h35209-len 2
attr GoodweET10 obj-h35209-reading E-BatteryDischarge
attr GoodweET10 obj-h35209-unpack L>
attr GoodweET10 obj-h35211-expr $val/10
attr GoodweET10 obj-h35211-reading E-discharge-Day
attr GoodweET10 obj-h35211-unpack S>
attr GoodweET10 obj-h35212-reading BattStrings
attr GoodweET10 obj-h35212-unpack S>
attr GoodweET10 obj-h35213-reading CPLD warning code
attr GoodweET10 obj-h35213-unpack S>
attr GoodweET10 obj-h35214-len 2
attr GoodweET10 obj-h35214-reading wChargerCtrlFlg
attr GoodweET10 obj-h35214-unpack S>
attr GoodweET10 obj-h35215-reading Derate_Flag
attr GoodweET10 obj-h35215-unpack S>
attr GoodweET10 obj-h35216-len 2
attr GoodweET10 obj-h35216-reading Derate_frozen_power
attr GoodweET10 obj-h35216-unpack S>
attr GoodweET10 obj-h35218-len 2
attr GoodweET10 obj-h35218-reading DiagStatusH
attr GoodweET10 obj-h35220-len 2
attr GoodweET10 obj-h35220-reading DiagStatusL
attr GoodweET10 obj-h36003-map 0:not checked, 1:connect correctly, 2:connect reverse, 3:connect incorrectly
attr GoodweET10 obj-h36003-reading bMeterConnectStatus
attr GoodweET10 obj-h36003-unpack s>
attr GoodweET10 obj-h36005-reading MTActivepowerR
attr GoodweET10 obj-h36005-unpack s>
attr GoodweET10 obj-h36006-reading MTActivepowerS
attr GoodweET10 obj-h36006-unpack s>
attr GoodweET10 obj-h36007-reading MTActivepowerT
attr GoodweET10 obj-h36007-unpack s>
attr GoodweET10 obj-h36008-reading MTTotalActivepower
attr GoodweET10 obj-h36008-unpack s>
attr GoodweET10 obj-h36014-expr $val/100
attr GoodweET10 obj-h36014-reading MeterFrequence
attr GoodweET10 obj-h36015-expr $val/1000
attr GoodweET10 obj-h36015-len 2
attr GoodweET10 obj-h36015-reading E_Total_Sell
attr GoodweET10 obj-h36015-unpack f>
attr GoodweET10 obj-h36017-expr $val/1000
attr GoodweET10 obj-h36017-len 2
attr GoodweET10 obj-h36017-reading E-Total-Buy
attr GoodweET10 obj-h36017-unpack f>
attr GoodweET10 obj-h36043-reading Meter_Type
attr GoodweET10 obj-h36043-unpack S>
attr GoodweET10 obj-h36044-reading Meter_software_version
attr GoodweET10 obj-h36044-unpack S>
attr GoodweET10 obj-h37007-reading SOC
attr GoodweET10 obj-h37007-unpack S>
attr GoodweET10 obj-h47511-allowWrite 1
attr GoodweET10 obj-h47511-hint 1,2,3,8,11
attr GoodweET10 obj-h47511-len 1
attr GoodweET10 obj-h47511-max 11
attr GoodweET10 obj-h47511-min 1
attr GoodweET10 obj-h47511-reading EMS_Power_Mode
attr GoodweET10 obj-h47511-set 1
attr GoodweET10 obj-h47511-unpack n
attr GoodweET10 obj-h47512-allowWrite 1
attr GoodweET10 obj-h47512-len 1
attr GoodweET10 obj-h47512-max 10000
attr GoodweET10 obj-h47512-min 0
attr GoodweET10 obj-h47512-reading BatteryChargePower
attr GoodweET10 obj-h47512-set 1
attr GoodweET10 obj-h47512-unpack n
attr GoodweET10 retriesAfterTimeout 1
attr GoodweET10 room Energie,PV,PV-Überschuss->Wärmepumpe,SmartGridHub
attr GoodweET10 stateFormat PV: [$name:PV_all_Voltage] W <br>\
Batterie: [$name:Pbattery1:d0] W SOC: [$name:SOC:d0] % Mode: [$name:EMS_Power_Mode:d0]<br>\
Stromnetz: [$name:MTTotalActivepower2:d0] W <br>\
<br>\
Haus: [$name:PLoad_Total:d0] W <br>
attr GoodweET10 userReadings PV1_PV2_Total {ReadingsVal("GoodweET10","PV_Ppv1",0) + ReadingsVal("GoodweET10","PV_Ppv2",0) }, PV_all_Voltage {ReadingsVal("GoodweET10","PV_Ppv1",0) + ReadingsVal("GoodweET10","PV_Ppv2",0) }, PLoad_Total { ReadingsVal("GoodweET10","PLoad_R",0)+ReadingsVal("GoodweET10","PLoad_S",0)+ReadingsVal("GoodweET10","PLoad_T",0) }, ueberNetz { ReadingsVal("GoodweET10","PV_all_Energy",0)+ReadingsVal("GoodweET10","E-Day-Sell",0)-ReadingsVal("GoodweET10","E-Load-Day",0)}, PV_to_Battery {if (ReadingsVal("GoodweET10","Pbattery1",0) < 0) {ReadingsVal("GoodweET10","Pbattery1",0)} else {0}}, Supply_by_Battery {if (ReadingsVal("GoodweET10","Pbattery1",0) > 0) {ReadingsVal("GoodweET10","Pbattery1",0)} else {0}}, Pbattery2 { ReadingsVal("GoodweET10","Pbattery1",0)*(-1)}, Grid_to_Household {if (ReadingsVal("GoodweET10","MTTotalActivepower",0) < 0) {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)} else {0}}, PV_to_Grid {if (ReadingsVal("GoodweET10","MTTotalActivepower",0) > 0) {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)} else {0}}, PV_to_Houshold {ReadingsVal("GoodweET10","PV1_PV2_Total",0) - ReadingsVal("GoodweET10","PV_to_Grid",0) - ReadingsVal("GoodweET10","PV_to_Battery",0)}, MTTotalActivepower2 {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)}
Übrigens ein seltsames Ladeverhalten hatte ich zu Beginn auch bis ich die Funktion "Dreiphasiger unsymetrischer Output" deaktiviert habe.
Zitat von: wowogiengen am 05 September 2025, 14:42:56Zitat von: Parallix am 08 August 2025, 13:37:28Leider musste ich feststellen, dass trotz ausreichendem PV-Überschuss die Ladung nicht durchgängig erfolgt, sondern immer wieder pausiert. Nun frage mich, ob das ggf. an der Firmware meines Wechselrichters liegt oder dieses Verhalten auch bei anderen Firmware-Versionen auftritt und würde mich über ein entsprechendes Feedback hier aus der FHEM-Community freuen!
Hallo Parallix,
ich würde das so nicht bestätigen wollen. Das einzige, was ich beobachten kann, ist bei genügend voller Batterie ( >80%?) wird die Ladeleistung zurückgenommen, und dann etwas sanfter vollgeladen.
Deine Nachricht ist mir erst soeben aufgefallen, sodass ich Sie erst jetzt beantworten kann. Das späte Feeedback bitte ich daher zu entschuldigen!
Nun aber zu dem ersten Teil Deiner Nachricht: Bist Du Dir sicher, dass der WR diese Reduzierung vornimmt und nicht das BMS des Speichers?
ZitatWas mich an der ganzen WR-Geschichte aber stört, ist dass es manchmal dazu kommt, dass Strom aus dem Netz genommen wird, anstelle die Batterie zu bemühen, oder andersrum, das Netz Strom bekommt, obwohl die Batterie noch nicht voll ist - ausgenommen der Fall oben...
Wenn der Netzbezug nur kurzfristig nach dem Einschalten (größerer) Lasten vorkommt, dann ist das akzeptabel und weitestgehend auch verständlich. Wenn ein (größerer) Netzbezug völlig unmotiviert entsteht, dann wäre das in der Tat unschön und auch nicht verständlich. Wie sieht die Situation bei Dir denn genau aus?
ZitatIch werde heute auch noch das neue WLAN-Kit einbauen, da das alte wahrscheinlich öfters die Verbindung zum GoodWe-Server verliert.
Hängt das Problem aus dem anderen Thread (ModBus TCP https://forum.fhem.de/index.php?msg=1347443 (https://forum.fhem.de/index.php?msg=1347443)) vielleicht auch damit zusammen, dass ich die 5 anstelle der 247 verwendet habe?
Meinerseits kann ich Dir nur raten, Modbus direkt via RS485 und nicht via den LAN- oder WLAN-Kits von Goodwe zu nutzen. Mit letzteren hatte ich nur Ärger. Via RS485 läuft alles perfekt!
Was die ModbusID angeht, so muss halt die eingetragen werden, die dem WR zugeordnet wurde. Das kannst Du via SolarGo ja sehen.
Zitat von: Parallix am 12 Oktober 2025, 15:11:25Meinerseits kann ich Dir nur raten, Modbus direkt via RS485 und nicht via den LAN- oder WLAN-Kits von Goodwe zu nutzen. Mit letzteren hatte ich nur Ärger. Via RS485 läuft alles perfekt!
Hallo,
bei mir läuft das mit Modbus *störungsfrei*.
*störungsfrei* --> Ich habe mir ein notify eingerichtet, mit dem ich Änderungen des Verbindungsstatus des Modbus mitbekomme:
define PV_WR_10K_notify_1 notify PV_WR_.*:.*CONNECTED|PV_WR_.*:DISCONNECTED|PV_WR_.*:opened set teleBot _msg @345191095 @2024443488 Wechselrichter $NAME ist $EVENT!
attr PV_WR_10K_notify_1 disable 0
attr PV_WR_10K_notify_1 room PV
# DEF PV_WR_.*:.*CONNECTED|PV_WR_.*:DISCONNECTED|PV_WR_.*:opened set teleBot _msg @345191095 @2024443488 Wechselrichter $NAME ist $EVENT!
# FUUID 68b59554-f33f-a625-a502-b5c8147bca096eb7
# NAME PV_WR_10K_notify_1
# NOTIFYDEV PV_WR_.*
# NR 234
# NTFY_ORDER 50-PV_WR_10K_notify_1
# REGEXP PV_WR_.*:.*CONNECTED|PV_WR_.*:DISCONNECTED|PV_WR_.*:opened
# STATE 2025-10-18 01:51:07
# TRIGGERTIME 1760745067.4797
# TYPE notify
# READINGS:
# 2025-10-11 15:33:43 state active
# 2025-10-18 01:51:07 triggeredByDev PV_WR_5K
# 2025-10-18 01:51:07 triggeredByEvent CONNECTED
#
setstate PV_WR_10K_notify_1 2025-10-18 01:51:07
setstate PV_WR_10K_notify_1 2025-10-11 15:33:43 state active
setstate PV_WR_10K_notify_1 2025-10-18 01:51:07 triggeredByDev PV_WR_5K
setstate PV_WR_10K_notify_1 2025-10-18 01:51:07 triggeredByEvent CONNECTED
Damit bekomme ich dann mit, wenn das Device die Verbindung verliert (selber abbaut?) und dann wieder aufbaut.
Aber alles andere läuft einwandfrei.
Zitat von: Petrosilius Zwackelmann am 12 Oktober 2025, 11:24:36Hier meine implementierung von meinem Goodwe-ET 10K
Über die Register EMS_Power_Mode (Mode 1 / Mode 11) und BatteryChargePower klappt Laden aus dem Netz.
define GoodweET10 ModbusAttr 247 30 192.178.168.184:502 TCP
setuuid GoodweET10 6444f8b8-f33f-84af-30b9-75659aab1ee5bb81
attr GoodweET10 alias Wechselrichter
attr GoodweET10 alignTime 00:00
attr GoodweET10 comment {start_laden_netz(65)} #Laden auf Target_SOC 65%
attr GoodweET10 dev-h-combine 50
attr GoodweET10 dev-h-defPoll 1
attr GoodweET10 event-min-interval PLoad_Total:180,EMS_Power_Mode:300,Charge_Power:300
attr GoodweET10 event-on-change-reading .*
attr GoodweET10 icon inverter@yellow
attr GoodweET10 obj-h35003-len 8
attr GoodweET10 obj-h35003-reading 0_Serialnumber
attr GoodweET10 obj-h35003-unpack a*
attr GoodweET10 obj-h35011-len 5
attr GoodweET10 obj-h35011-reading 0_Device_type
attr GoodweET10 obj-h35011-unpack a*
attr GoodweET10 obj-h35021-len 6
attr GoodweET10 obj-h35021-reading 0_DSP_Internal_Firmware_Version
attr GoodweET10 obj-h35021-unpack a*
attr GoodweET10 obj-h35027-len 6
attr GoodweET10 obj-h35027-reading 0_ARM_Internal_Firmware_Version
attr GoodweET10 obj-h35027-unpack a*
attr GoodweET10 obj-h35100-reading RTC_1
attr GoodweET10 obj-h35101-reading RTC_2
attr GoodweET10 obj-h35102-reading RTC_3
attr GoodweET10 obj-h35103-expr $val/10
attr GoodweET10 obj-h35103-reading PV_Vpv1
attr GoodweET10 obj-h35103-unpack S>
attr GoodweET10 obj-h35104-expr $val/10
attr GoodweET10 obj-h35104-reading PV_Ipv1
attr GoodweET10 obj-h35104-unpack S>
attr GoodweET10 obj-h35105-len 2
attr GoodweET10 obj-h35105-reading PV_Ppv1
attr GoodweET10 obj-h35105-unpack L>
attr GoodweET10 obj-h35106-reading scan-h35106
attr GoodweET10 obj-h35107-expr $val/10
attr GoodweET10 obj-h35107-reading PV_Vpv2
attr GoodweET10 obj-h35107-unpack S>
attr GoodweET10 obj-h35108-expr $val/10
attr GoodweET10 obj-h35108-reading PV_Ipv2
attr GoodweET10 obj-h35108-unpack S>
attr GoodweET10 obj-h35109-len 2
attr GoodweET10 obj-h35109-reading PV_Ppv2
attr GoodweET10 obj-h35109-unpack L>
attr GoodweET10 obj-h35111-expr $val/10
attr GoodweET10 obj-h35111-reading PV_Vpv3
attr GoodweET10 obj-h35111-unpack S>
attr GoodweET10 obj-h35112-expr $val/10
attr GoodweET10 obj-h35112-reading PV_Ipv3
attr GoodweET10 obj-h35112-unpack S>
attr GoodweET10 obj-h35113-expr $val/10
attr GoodweET10 obj-h35113-len 2
attr GoodweET10 obj-h35113-reading PV_Ppv3
attr GoodweET10 obj-h35113-unpack S>
attr GoodweET10 obj-h35115-expr $val/10
attr GoodweET10 obj-h35115-reading PV_Vpv4
attr GoodweET10 obj-h35115-unpack S>
attr GoodweET10 obj-h35116-expr $val/10
attr GoodweET10 obj-h35116-reading PV_Ipv4
attr GoodweET10 obj-h35116-unpack S>
attr GoodweET10 obj-h35117-expr $val/10
attr GoodweET10 obj-h35117-len 2
attr GoodweET10 obj-h35117-reading PV_Ppv4
attr GoodweET10 obj-h35117-unpack S>
attr GoodweET10 obj-h35119-len 2
attr GoodweET10 obj-h35119-map 0:NO_PV, 1:Standby, 2:Work
attr GoodweET10 obj-h35119-reading PV_Mode
attr GoodweET10 obj-h35119-unpack L>
attr GoodweET10 obj-h35121-expr $val/10
attr GoodweET10 obj-h35121-reading Grid_R_V
attr GoodweET10 obj-h35121-unpack S>
attr GoodweET10 obj-h35122-expr $val/10
attr GoodweET10 obj-h35122-reading Grid_R_I
attr GoodweET10 obj-h35122-unpack S>
attr GoodweET10 obj-h35123-expr $val/100
attr GoodweET10 obj-h35123-reading Grid_R_F
attr GoodweET10 obj-h35123-unpack S>
attr GoodweET10 obj-h35125-reading Grid_R_P
attr GoodweET10 obj-h35125-unpack s>
attr GoodweET10 obj-h35126-expr $val/10
attr GoodweET10 obj-h35126-reading Grid_S_V
attr GoodweET10 obj-h35126-unpack S>
attr GoodweET10 obj-h35127-expr $val/10
attr GoodweET10 obj-h35127-reading Grid_S_I
attr GoodweET10 obj-h35127-unpack S>
attr GoodweET10 obj-h35128-expr $val/100
attr GoodweET10 obj-h35128-reading Grid_S_F
attr GoodweET10 obj-h35128-unpack S>
attr GoodweET10 obj-h35130-reading Grid_S_P
attr GoodweET10 obj-h35130-unpack s>
attr GoodweET10 obj-h35131-expr $val/10
attr GoodweET10 obj-h35131-reading Grid_T_V
attr GoodweET10 obj-h35131-unpack S>
attr GoodweET10 obj-h35132-expr $val/10
attr GoodweET10 obj-h35132-reading Grid_T_I
attr GoodweET10 obj-h35132-unpack S>
attr GoodweET10 obj-h35133-expr $val/100
attr GoodweET10 obj-h35133-reading Grid_T_F
attr GoodweET10 obj-h35133-unpack S>
attr GoodweET10 obj-h35135-reading Grid_T_P
attr GoodweET10 obj-h35135-unpack s>
attr GoodweET10 obj-h35136-reading Grid_Mode
attr GoodweET10 obj-h35136-unpack S>
attr GoodweET10 obj-h35138-reading Total_INV_Power
attr GoodweET10 obj-h35138-unpack s>
attr GoodweET10 obj-h35140-reading AC_ActivePower
attr GoodweET10 obj-h35140-unpack s>
attr GoodweET10 obj-h35142-reading AC_ReactivePower
attr GoodweET10 obj-h35142-unpack s>
attr GoodweET10 obj-h35144-reading AC_ApparentPower
attr GoodweET10 obj-h35144-unpack s>
attr GoodweET10 obj-h35145-expr $val/10
attr GoodweET10 obj-h35145-reading Back-Up_R_Vload
attr GoodweET10 obj-h35145-unpack S>
attr GoodweET10 obj-h35146-expr $val/10
attr GoodweET10 obj-h35146-reading Back-Up_R_Iload
attr GoodweET10 obj-h35146-unpack S>
attr GoodweET10 obj-h35147-expr $val/100
attr GoodweET10 obj-h35147-reading Back-Up_R_Fload
attr GoodweET10 obj-h35147-unpack S>
attr GoodweET10 obj-h35148-reading Load_Mode_R
attr GoodweET10 obj-h35148-unpack S>
attr GoodweET10 obj-h35150-reading Back-Up_R_Pload
attr GoodweET10 obj-h35150-unpack s>
attr GoodweET10 obj-h35151-expr $val/10
attr GoodweET10 obj-h35151-reading Back-Up_S_Vload
attr GoodweET10 obj-h35151-unpack S>
attr GoodweET10 obj-h35152-expr $val/10
attr GoodweET10 obj-h35152-reading Back-Up_S_Iload
attr GoodweET10 obj-h35152-unpack S>
attr GoodweET10 obj-h35153-expr $val/100
attr GoodweET10 obj-h35153-reading Back-Up_S_Fload
attr GoodweET10 obj-h35153-unpack S>
attr GoodweET10 obj-h35154-reading Load_Mode_S
attr GoodweET10 obj-h35154-unpack S>
attr GoodweET10 obj-h35156-reading Back-Up_S_Pload
attr GoodweET10 obj-h35156-unpack s>
attr GoodweET10 obj-h35157-expr $val/10
attr GoodweET10 obj-h35157-reading Back-Up_T_Vload
attr GoodweET10 obj-h35157-unpack S>
attr GoodweET10 obj-h35158-expr $val/10
attr GoodweET10 obj-h35158-reading Back-Up_T_Iload
attr GoodweET10 obj-h35158-unpack S>
attr GoodweET10 obj-h35159-expr $val/100
attr GoodweET10 obj-h35159-reading Back-Up_T_Fload
attr GoodweET10 obj-h35159-unpack S>
attr GoodweET10 obj-h35160-reading Load Mode_T
attr GoodweET10 obj-h35160-unpack S>
attr GoodweET10 obj-h35162-reading Back-Up_T_Pload
attr GoodweET10 obj-h35162-unpack s>
attr GoodweET10 obj-h35164-reading PLoad_R
attr GoodweET10 obj-h35164-unpack s>
attr GoodweET10 obj-h35166-reading PLoad_S
attr GoodweET10 obj-h35166-unpack s>
attr GoodweET10 obj-h35168-reading PLoad_T
attr GoodweET10 obj-h35168-unpack s>
attr GoodweET10 obj-h35170-reading Total_Back-Up_Load
attr GoodweET10 obj-h35170-unpack s>
attr GoodweET10 obj-h35172-reading Total_Load_Power
attr GoodweET10 obj-h35172-unpack s>
attr GoodweET10 obj-h35173-expr $val/100
attr GoodweET10 obj-h35173-reading Ups_Load_Percent
attr GoodweET10 obj-h35173-unpack S>
attr GoodweET10 obj-h35174-expr $val/100
attr GoodweET10 obj-h35174-reading Air_temperature
attr GoodweET10 obj-h35174-unpack s>
attr GoodweET10 obj-h35175-expr $val/100
attr GoodweET10 obj-h35175-reading Module_temperature
attr GoodweET10 obj-h35175-unpack s>
attr GoodweET10 obj-h35176-expr $val/10
attr GoodweET10 obj-h35176-reading Radiator_temperature
attr GoodweET10 obj-h35176-unpack s>
attr GoodweET10 obj-h35177-reading FunctionBitValue
attr GoodweET10 obj-h35177-unpack S>
attr GoodweET10 obj-h35178-expr $val/10
attr GoodweET10 obj-h35178-reading BUSVoltage
attr GoodweET10 obj-h35178-unpack S>
attr GoodweET10 obj-h35179-expr $val/10
attr GoodweET10 obj-h35179-reading NBUSVoltage
attr GoodweET10 obj-h35179-unpack S>
attr GoodweET10 obj-h35180-expr $val/10
attr GoodweET10 obj-h35180-reading Vbattery1
attr GoodweET10 obj-h35180-unpack S>
attr GoodweET10 obj-h35181-expr $val/10
attr GoodweET10 obj-h35181-reading Ibattery1
attr GoodweET10 obj-h35181-unpack s>
attr GoodweET10 obj-h35183-reading Pbattery1
attr GoodweET10 obj-h35183-unpack s>
attr GoodweET10 obj-h35184-reading Battery1_Mode
attr GoodweET10 obj-h35184-unpack S>
attr GoodweET10 obj-h35185-reading Warning_code
attr GoodweET10 obj-h35185-unpack S>
attr GoodweET10 obj-h35186-reading SafetyCountry
attr GoodweET10 obj-h35186-unpack S>
attr GoodweET10 obj-h35187-reading Work_Mode
attr GoodweET10 obj-h35187-unpack S>
attr GoodweET10 obj-h35188-reading Operation_Mode
attr GoodweET10 obj-h35188-unpack S>
attr GoodweET10 obj-h35189-len 2
attr GoodweET10 obj-h35189-reading Error_Message
attr GoodweET10 obj-h35191-expr $val/10
attr GoodweET10 obj-h35191-len 2
attr GoodweET10 obj-h35191-reading Total_PV_Energy
attr GoodweET10 obj-h35191-unpack L>
attr GoodweET10 obj-h35193-expr $val/10
attr GoodweET10 obj-h35193-len 2
attr GoodweET10 obj-h35193-reading PV_Energy_Day
attr GoodweET10 obj-h35193-unpack L>
attr GoodweET10 obj-h35195-expr $val/10
attr GoodweET10 obj-h35195-len 2
attr GoodweET10 obj-h35195-reading PV_Energy_Total
attr GoodweET10 obj-h35195-unpack L>
attr GoodweET10 obj-h35197-len 2
attr GoodweET10 obj-h35197-reading h-Total
attr GoodweET10 obj-h35197-unpack L>
attr GoodweET10 obj-h35199-expr $val/10
attr GoodweET10 obj-h35199-reading E-Day-Sell
attr GoodweET10 obj-h35199-unpack S>
attr GoodweET10 obj-h35202-expr $val/10
attr GoodweET10 obj-h35202-type unsigned short big
attr GoodweET10 obj-h35202-unpack S>
attr GoodweET10 obj-h35203-expr $val/10
attr GoodweET10 obj-h35203-len 2
attr GoodweET10 obj-h35203-reading E-Total-Load
attr GoodweET10 obj-h35203-unpack L>
attr GoodweET10 obj-h35205-expr $val/10
attr GoodweET10 obj-h35205-reading E-Load-Day
attr GoodweET10 obj-h35205-unpack S>
attr GoodweET10 obj-h35206-expr $val/10
attr GoodweET10 obj-h35206-len 2
attr GoodweET10 obj-h35206-reading E-BatteryCharge
attr GoodweET10 obj-h35206-unpack L>
attr GoodweET10 obj-h35208-expr $val/10
attr GoodweET10 obj-h35208-reading E-Charge-Day
attr GoodweET10 obj-h35208-unpack S>
attr GoodweET10 obj-h35209-expr $val/10
attr GoodweET10 obj-h35209-len 2
attr GoodweET10 obj-h35209-reading E-BatteryDischarge
attr GoodweET10 obj-h35209-unpack L>
attr GoodweET10 obj-h35211-expr $val/10
attr GoodweET10 obj-h35211-reading E-discharge-Day
attr GoodweET10 obj-h35211-unpack S>
attr GoodweET10 obj-h35212-reading BattStrings
attr GoodweET10 obj-h35212-unpack S>
attr GoodweET10 obj-h35213-reading CPLD warning code
attr GoodweET10 obj-h35213-unpack S>
attr GoodweET10 obj-h35214-len 2
attr GoodweET10 obj-h35214-reading wChargerCtrlFlg
attr GoodweET10 obj-h35214-unpack S>
attr GoodweET10 obj-h35215-reading Derate_Flag
attr GoodweET10 obj-h35215-unpack S>
attr GoodweET10 obj-h35216-len 2
attr GoodweET10 obj-h35216-reading Derate_frozen_power
attr GoodweET10 obj-h35216-unpack S>
attr GoodweET10 obj-h35218-len 2
attr GoodweET10 obj-h35218-reading DiagStatusH
attr GoodweET10 obj-h35220-len 2
attr GoodweET10 obj-h35220-reading DiagStatusL
attr GoodweET10 obj-h36003-map 0:not checked, 1:connect correctly, 2:connect reverse, 3:connect incorrectly
attr GoodweET10 obj-h36003-reading bMeterConnectStatus
attr GoodweET10 obj-h36003-unpack s>
attr GoodweET10 obj-h36005-reading MTActivepowerR
attr GoodweET10 obj-h36005-unpack s>
attr GoodweET10 obj-h36006-reading MTActivepowerS
attr GoodweET10 obj-h36006-unpack s>
attr GoodweET10 obj-h36007-reading MTActivepowerT
attr GoodweET10 obj-h36007-unpack s>
attr GoodweET10 obj-h36008-reading MTTotalActivepower
attr GoodweET10 obj-h36008-unpack s>
attr GoodweET10 obj-h36014-expr $val/100
attr GoodweET10 obj-h36014-reading MeterFrequence
attr GoodweET10 obj-h36015-expr $val/1000
attr GoodweET10 obj-h36015-len 2
attr GoodweET10 obj-h36015-reading E_Total_Sell
attr GoodweET10 obj-h36015-unpack f>
attr GoodweET10 obj-h36017-expr $val/1000
attr GoodweET10 obj-h36017-len 2
attr GoodweET10 obj-h36017-reading E-Total-Buy
attr GoodweET10 obj-h36017-unpack f>
attr GoodweET10 obj-h36043-reading Meter_Type
attr GoodweET10 obj-h36043-unpack S>
attr GoodweET10 obj-h36044-reading Meter_software_version
attr GoodweET10 obj-h36044-unpack S>
attr GoodweET10 obj-h37007-reading SOC
attr GoodweET10 obj-h37007-unpack S>
attr GoodweET10 obj-h47511-allowWrite 1
attr GoodweET10 obj-h47511-hint 1,2,3,8,11
attr GoodweET10 obj-h47511-len 1
attr GoodweET10 obj-h47511-max 11
attr GoodweET10 obj-h47511-min 1
attr GoodweET10 obj-h47511-reading EMS_Power_Mode
attr GoodweET10 obj-h47511-set 1
attr GoodweET10 obj-h47511-unpack n
attr GoodweET10 obj-h47512-allowWrite 1
attr GoodweET10 obj-h47512-len 1
attr GoodweET10 obj-h47512-max 10000
attr GoodweET10 obj-h47512-min 0
attr GoodweET10 obj-h47512-reading BatteryChargePower
attr GoodweET10 obj-h47512-set 1
attr GoodweET10 obj-h47512-unpack n
attr GoodweET10 retriesAfterTimeout 1
attr GoodweET10 room Energie,PV,PV-Überschuss->Wärmepumpe,SmartGridHub
attr GoodweET10 stateFormat PV: [$name:PV_all_Voltage] W <br>\
Batterie: [$name:Pbattery1:d0] W SOC: [$name:SOC:d0] % Mode: [$name:EMS_Power_Mode:d0]<br>\
Stromnetz: [$name:MTTotalActivepower2:d0] W <br>\
<br>\
Haus: [$name:PLoad_Total:d0] W <br>
attr GoodweET10 userReadings PV1_PV2_Total {ReadingsVal("GoodweET10","PV_Ppv1",0) + ReadingsVal("GoodweET10","PV_Ppv2",0) }, PV_all_Voltage {ReadingsVal("GoodweET10","PV_Ppv1",0) + ReadingsVal("GoodweET10","PV_Ppv2",0) }, PLoad_Total { ReadingsVal("GoodweET10","PLoad_R",0)+ReadingsVal("GoodweET10","PLoad_S",0)+ReadingsVal("GoodweET10","PLoad_T",0) }, ueberNetz { ReadingsVal("GoodweET10","PV_all_Energy",0)+ReadingsVal("GoodweET10","E-Day-Sell",0)-ReadingsVal("GoodweET10","E-Load-Day",0)}, PV_to_Battery {if (ReadingsVal("GoodweET10","Pbattery1",0) < 0) {ReadingsVal("GoodweET10","Pbattery1",0)} else {0}}, Supply_by_Battery {if (ReadingsVal("GoodweET10","Pbattery1",0) > 0) {ReadingsVal("GoodweET10","Pbattery1",0)} else {0}}, Pbattery2 { ReadingsVal("GoodweET10","Pbattery1",0)*(-1)}, Grid_to_Household {if (ReadingsVal("GoodweET10","MTTotalActivepower",0) < 0) {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)} else {0}}, PV_to_Grid {if (ReadingsVal("GoodweET10","MTTotalActivepower",0) > 0) {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)} else {0}}, PV_to_Houshold {ReadingsVal("GoodweET10","PV1_PV2_Total",0) - ReadingsVal("GoodweET10","PV_to_Grid",0) - ReadingsVal("GoodweET10","PV_to_Battery",0)}, MTTotalActivepower2 {ReadingsVal("GoodweET10","MTTotalActivepower",0)*(-1)}
Hallo Petrosilius Zwackelmann,
ich hab mal deine Definition übernommen.
Die Werte für Haus können nicht stimmen...
Das Portal zeigt mir nur ca. 500W bis 800W an - über die letzte Stunde oder so.
PLoad_R, PLoad_S und PLoad_T sind aber in Summe viel größer - aktuell fast 2kW.
und 35174 AirTemp, ist um den Faktor 10 zu klein.
Das andere hab ich noch nicht verifiziert...