76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

300P

Zitat von: Dirk070 am 12 Februar 2025, 18:00:55Heute habe ich ein Update gemacht, nun wird der Akku-SOC als 0 % in der Grafik angezeigt.
Im Reading Current_BatCharge_01 ist der Wert aber korrekt.

Muss ich etwas neu einrichten oder ist das ein Bug?

Hallo Dirk,

zeig bitte mal dein "setupBatteryDev01" komplett.
Es könnte die Einstellung cap=xyxyxyxy sein.

Gruß
300P
FHEM 6.3|RaspberryPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|QNAP|
JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_edge|ESP32CAM

Dirk070

Hallo,

ja, ich war gerade dabei meinen Post zu ergänzen  ;)
CAP war vorher optional, nachdem ich den Wert eingetragen habe, erscheint auch der SOC (wieder).
Dafür wäre der CAP aber doch nicht notwendig, wenn ich CHARGE angegeben habe, oder?

e3dc_s10Pro pin=Battery_Power:W pout=-pin cap=13110 charge=Battery_SOC
Danke fürs Antworten.

300P

Die cap-Angabe war optional - jetzt geht nicht alles ohne den cap  ;D
Das hat wohl schon so einige getroffen ....
FHEM 6.3|RaspberryPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|QNAP|
JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_edge|ESP32CAM

Dirk070

Danke Dir!!

Den Wert kriege ich leider nicht für mein E3/DC über die RSCP2MQTT Lösung von PVTom. Daher musste es dann ein direkter Wert sein.

DS_Starter

Hallo 300P,

Zitatkann es evtl. sein das es irgendwo einen Bug "dauerhafte Bevorzugung zum Be-laden der Batterie 2" gibt.

Ich frage deshalb, da ich Folgendes bei meiner Vorbereitung / Kontrolle mit SF zum "Netzdienliches Be-Laden" beobachtet habe:
ABER - Hinweis :
Ich schalte / steuere die Batterie-Beladung beider Batterien z.Z. noch nicht mit FHEM - logge bzw. schaue aktuell nur was wohl von SF berechnet und vorgeben wird
Nein, es gibt keine Bevorzugung. Aber es gibt eine Gewichtung aller relevanten Kenngrößen bei der Berechnung in Abhängigkeit des cap-Anteils der Batterie zur gesamten installerten Batterie-Kapazität um eine gewisse Anteilsverteilung hinzubekommen.
So richtig arbeiten wird diese Logik wohl erst wenn die Sonne uns wieder Freude macht.  ;)
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#1940
Morgen früh ist die Version 1.45.6 im Update.

Enthalten sind Codes zur weiteren Vorbereitung die Verbrauchsprognose demnächst von einem deutlich erweiterterbaren Wertevorrat ableiten zu können.
In dem Zusammenhang wird bei einer späteren Umstellung das Attribut affectConsForecastLastDays wahrscheinlich obsolet da der Wertevorrat deutlich erweitert wird.

In dem Zusammenhang versuche ich ebenfalls das zuletzt mit Parallix diskutierte Thema mit zu implementieren, d.h. die geplanten Schaltzeiten der Verbraucher in den nächsten Stunden mit den Auswertungen der historischen Betriebsstunden zu verknüpfen.
Mal sehen ob/wie es mir gelingt.

Das Update morgen enthält keine funktionalen Änderungen, aber wichtige Vorbereitungen.
Führt das Update bitte zeitnah aus.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

FHEMAN

Zitat von: 300P am 12 Februar 2025, 18:09:26
Zitat von: Dirk070 am 12 Februar 2025, 18:00:55Heute habe ich ein Update gemacht, nun wird der Akku-SOC als 0 % in der Grafik angezeigt.
Im Reading Current_BatCharge_01 ist der Wert aber korrekt.

Muss ich etwas neu einrichten oder ist das ein Bug?

Hallo Dirk,

zeig bitte mal dein "setupBatteryDev01" komplett.
Es könnte die Einstellung cap=xyxyxyxy sein.

Gruß
300P
Moin!
Ich hatte das selbe Verhalten. Es hat bei mir geholfen von cap=7.680:kWh auf cap=7680 umzustellen. Danke für den Tipp!

Das Modul habe ich gestern zum ersten mal eingerichtet und bin echt geflasht! Jahrelang baut man sich seinen eigenen Mist und dann bekommt man so eine schöne Ansicht generiert nach Einstellung von ein paar Parametern. Mega cool!

Wird hier auch irgendwie noch Schneefall / Schnee auf den Modulen berücksichtigt?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

300P

Zitat von: FHEMAN am 13 Februar 2025, 08:03:25..........
Moin!
Ich hatte das selbe Verhalten. Es hat bei mir geholfen von cap=7.680:kWh auf cap=7680 umzustellen. Danke für den Tipp!

Das Modul habe ich gestern zum ersten mal eingerichtet und bin echt geflasht! Jahrelang baut man sich seinen eigenen Mist und dann bekommt man so eine schöne Ansicht generiert nach Einstellung von ein paar Parametern. Mega cool!

Wird hier auch irgendwie noch Schneefall / Schnee auf den Modulen berücksichtigt?

Ja - deine Werte der realen PV-Erträge werden an dem Tag reduziert !?!
 ;D  ;D  ;D
FHEM 6.3|RaspberryPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|QNAP|
JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_edge|ESP32CAM

DS_Starter

#1943
Guten Morgen,

ZitatWird hier auch irgendwie noch Schneefall / Schnee auf den Modulen berücksichtigt?
Wie 300P schon schrieb, werden deine realen Werte dadurch natürlich reduziert.  ;)

Aber ich vermute du möchtest gern wissen ob dieser Zustand in der PV-Prognose berücksichtigt wird?

Das hatten wir schon mal weit vorn diskutiert. Wenn die aktuelle Witterung (Wetterdienst) Schneefall vorhersagt, geht es natürlich in die Prognose ein. Aber das Modul kann nicht einschätzen ob die Module von Schnee bedeckt sind.
So kann zum Beispiel der schönste Sonnenschein vorliegen, aber die Module sind von einer dicken Schneeschicht bedeckt die in der Nacht gefallen ist.
Dann wird das prognostizierte und reale Ergebnis weit auseinanderliegen. Das Modul unterstützt eine externe Einflussnahme über die Setter pvCorrectionFactor_XX und pvCorrectionFactor_Auto.

So kannst du dir z.B. einen "Schneesensor" in FHEM bauen und falls der anschlägt, über geeignete Maßnahme (notify, DOIF, ...) für jede relevante Stunde eine individuelle Abschwächung vornehemen. Dadurch kannst du in diesen Fällen die Prognose und reale Erzeugung näher zusammenbringen.
Nur so als Anregung.

LG,
Heiko
   
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

tomcat.x

Hallo zusammen,

ich nutze das Modul jetzt schon einige Zeit, hatte aber bisher keine Verbraucher angelegt. Damit habe ich jetzt angefangen. Vielleicht nicht die beste Jahreszeit, aber so startet die Waschmaschine bei Fehlern auch nicht gleich drei Mal am Tag ;-)

Für ein Thema habe ich noch keine richtig gute Lösung: Ich habe einen Akku, den ich einmal pro Woche laden möchte. Natürlich gerne bei Überschuss, spätestens Ende der Woche aber auch ohne. Soweit ich die Konfigurationsmöglichkeiten verstanden habe, sind die eher auf eine tägliche Ansteuerung der Verbraucher ausgelegt. Oder habe ich etwas übersehen. Ich könnte natürlich über Notifys mit den Parametern auto und mode arbeiten, bräuchte aber mindestens noch einen (Wochen-) Timer, den ich nach vorhandenem Überschuss aber auch wieder irgendwie deaktivieren müsste. Das scheint mir ziemlich unübersichtlich zu werden. Hatte schon jemand eine gute Idee für so einen Anwendungsfall?

Vielen Dank für Tipps
Thomas
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

tobi01001

Zitat von: tomcat.x am 13 Februar 2025, 16:04:15Hatte schon jemand eine gute Idee für so einen Anwendungsfall?
Exakt so einen Fall habe ich nicht. Aber ich habe zum Laden - um einen gewissen Wert sicherzustellen - abhängig vom Ladezustand userReadings canCharge und mustCharge im Device erstellt. Die kann man im Device mit verwenden (oder was eigenes draus bauen).
Wenn ich mustCharge erreiche - also während canCharge nicht genügend Überschuss zusammenkommt - wird zwangsgeladen. Ist keines aktiv wird gar nicht geladen.

Durch Verwendung von z.B. userReadings bleiben die Werte im Device selber und solarforeCast kann sich derer bedienen.

Gruß,
Tobi
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

kask

@tomcat.x
Darf man mal Fragen warum..
ZitatIch habe einen Akku, den ich einmal pro Woche laden möchte
..du das machen möchest?

mannil

Nabend,

ich habe mich heute auch mal an den SolarForecast gewagt.
Hat super funktioniert mit der geführten Einrichtung.

Eine Sache habe ich aber noch.
Ich habe ein S10E von E3DC und lese die erforderlichen Daten per RSCP2MQTT aus.
Jetzt habe ich mit den Werten für Netzbezug, Einspeisung, Bezug  aus Batterie  und Einspeichern in Batterie ein "Problemchen".
Die Daten werden im 15 Minuten-Takt zur Verfügung gestellt. Immer ca. 1-1,5 Minuten nach der vollen Viertelstunde.

Beim Stundenwechsel zieht er mir die letzte Viertelstunde der vorhergehende Stunde in die aktuelle Stunde. (Hört sich doof an, ich weiß;-)).
Im Endeffekt habe ich dann in der Balkengrafik quasi immer den Verbrauch von x:15 bis x+1:15.
Wie haben das andere E3DC Nutzer  gelöst? Es ist im Endeffekt nur Kosmetik.

Und dann hätte ich noch eine Frage.
Was bedeutet die 0 unter meiner Wärmepumpe?




Schönen Abend noch!
HP Elitedesk G4, Intel i5-8500t, 16GB RAM, 256GB SSD
diverse Shellys, HM Rolladensteuerungen und sonst viel zusammengewürfelter Kram ;-.)
PV 9,75kWp Ost-West  an E3DC S10 mit 9,6kWh Speicher, Wärmepumpe Stiebel Eltron WPL-A10 HK premium 400
Tesla Model Y BYD SR an go-e Charger gemini flex 11kW

DS_Starter

Die Frage kann ich dir beantworten:

ZitatWas bedeutet die 0 unter meiner Wärmepumpe?

Das ist die Restlaufzeit des aktuellen Zyklus in Minuten falls der Consumer geplant wurde und gestartet ist.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

dyna

Zitat von: mannil am 13 Februar 2025, 21:10:13Nabend,

ich habe mich heute auch mal an den SolarForecast gewagt.
Hat super funktioniert mit der geführten Einrichtung.

Eine Sache habe ich aber noch.
Ich habe ein S10E von E3DC und lese die erforderlichen Daten per RSCP2MQTT aus.
Jetzt habe ich mit den Werten für Netzbezug, Einspeisung, Bezug  aus Batterie  und Einspeichern in Batterie ein "Problemchen".
Die Daten werden im 15 Minuten-Takt zur Verfügung gestellt. Immer ca. 1-1,5 Minuten nach der vollen Viertelstunde.

Beim Stundenwechsel zieht er mir die letzte Viertelstunde der vorhergehende Stunde in die aktuelle Stunde. (Hört sich doof an, ich weiß;-)).
Im Endeffekt habe ich dann in der Balkengrafik quasi immer den Verbrauch von x:15 bis x+1:15.
Wie haben das andere E3DC Nutzer  gelöst? Es ist im Endeffekt nur Kosmetik.

Und dann hätte ich noch eine Frage.
Was bedeutet die 0 unter meiner Wärmepumpe?




Schönen Abend noch!


Moin mannil,

wir haben auch eine E3DC-Anlage. Ich hole die werte mit MODBUS alle 20 Sekunden ab und summiere einfach auf.
Das ist ausreichend genau und hat sich für mich bewährt.

Hier die Definition des devices

define S10 ModbusAttr 1 20 192.168.67.62:502 TCP
attr S10 DbLogInclude Leistung,battsoc,battwatt,gridwatt,homewatt,Entladung,Ladung,Netzbezug,Einspeisung,sun2watt2,s1_p,s2_p
attr S10 devStateIcon opened:rc_WEB@32CD32  disconnected:rc_WEB@red
attr S10 event-min-interval .*:180
attr S10 event-on-change-reading .*
attr S10 event-on-update-reading battwatt.*,Entladung.*,Ladung.*,Netzbezug.*,Leistung.*,homewatt.*,sun2watt2.*,s1_p.*,s2_p.*
attr S10 group E3DC
attr S10 icon measure_photovoltaic_inst@yellow
attr S10 obj-h40052-len 16
attr S10 obj-h40052-poll 1
attr S10 obj-h40052-reading seriennr
attr S10 obj-h40052-unpack n
attr S10 obj-h40066-len 2
attr S10 obj-h40066-poll 1
attr S10 obj-h40066-reading sunwatt
attr S10 obj-h40066-unpack N
attr S10 obj-h40068-len 2
attr S10 obj-h40068-poll 1
attr S10 obj-h40068-reading battwatt0
attr S10 obj-h40068-unpack N
attr S10 obj-h40070-len 2
attr S10 obj-h40070-poll 1
attr S10 obj-h40070-reading homewatt0
attr S10 obj-h40070-unpack N
attr S10 obj-h40072-len 2
attr S10 obj-h40072-max 65537
attr S10 obj-h40072-min 0
attr S10 obj-h40072-poll 1
attr S10 obj-h40072-reading gridwatt0
attr S10 obj-h40072-unpack N
attr S10 obj-h40074-len 2
attr S10 obj-h40074-poll 1
attr S10 obj-h40074-reading zusatzwatt
attr S10 obj-h40074-unpack N
attr S10 obj-h40081-len 1
attr S10 obj-h40081-poll 1
attr S10 obj-h40081-reading ae
attr S10 obj-h40081-unpack n
attr S10 obj-h40082-len 1
attr S10 obj-h40082-poll 1
attr S10 obj-h40082-reading battsoc
attr S10 obj-h40082-unpack n
attr S10 obj-h40084-len 1
attr S10 obj-h40084-reading ems
attr S10 obj-h40084-unpack n
attr S10 obj-h40101-len 1
attr S10 obj-h40101-poll 1
attr S10 obj-h40101-reading s1_p
attr S10 obj-h40101-unpack n
attr S10 obj-h40102-len 1
attr S10 obj-h40102-poll 1
attr S10 obj-h40102-reading s2_p
attr S10 obj-h40102-unpack n
attr S10 room Solaranlage
attr S10 timestamp-on-change-reading statSunwattDayMax,statSunwattDayMaxLast,statSunwattHourMax,statSunwattHourMaxLast,statSunwattMonthMax,statSunwattYearMax
attr S10 userReadings gridwatt { if (ReadingsVal("S10", "gridwatt0", "0") <= 32768 ) {(ReadingsVal("S10", "gridwatt0", "0"))} else {(ReadingsVal("S10", "gridwatt0", "0")) - 65536 };; }, \
battwatt { if (ReadingsVal("S10", "battwatt0", "0") <= 32768 ) {(ReadingsVal("S10", "battwatt0", "0"))} else {(ReadingsVal("S10", "battwatt0", "0")) - 65536 };; }, \
homewatt { if (ReadingsVal("S10", "homewatt0", "0") <= 4294901759 ) {(ReadingsVal("S10", "homewatt0", "0"))} else {(ReadingsVal("S10", "homewatt0", "0")) - 4294967295 + 65536 };; }, \
notstrom { (ReadingsVal("S10", "ems", "0")) ;; }, \
sun2wat { if (ReadingsVal("S10", "zusatzwatt", "0") <= 4294901759 ) {(ReadingsVal("S10", "zusatzwatt", "0")) - 65536 } else {(ReadingsVal("S10", "zusatzwatt", "0")) - 4294967296 + 65536 };; }, \
sun2wat2 { if (ReadingsVal("S10", "sun2wat", "0") > 40000 ) {(ReadingsVal("S10", "sun2wat", "0")) - 65536 } else {(ReadingsVal("S10", "sun2wat", "0")) };; }, \
sun2watt { if (ReadingsVal("S10", "sun2wat2", "0") < -40000 ) {(ReadingsVal("S10", "sun2wat2", "0")) + 65536 } else {(ReadingsVal("S10", "sun2wat2", "0")) };; }, \
sun2watt2 { (ReadingsVal("S10", "sun2watt", "0")) *-1 ;; }, \
Leistung { (ReadingsVal("S10", "sun2watt2", "0")) + (ReadingsVal("S10", "sunwatt", "0")) ;; }, \
autarkie { ((ReadingsVal("S10", "ae", "0")) & 0xFF00) >> 8;; }, \
eigenverbrauch { (ReadingsVal("S10", "ae", "0")) & 0xFF;; }, \
Entladung:.* {if (ReadingsVal("S10", "battwatt", "0")<=0) {my $Wert=abs(ReadingsVal("S10", "battwatt", "0"));; return $Wert} else{return 0}}, \
Ladung:.* {if (ReadingsVal("S10", "battwatt", "0")>=0) {my $Wert=abs(ReadingsVal("S10", "battwatt", "0"));; return $Wert} else{return 0}}, \
Battsoc_KWh:.* {use Math::Round qw/round/;; Math::Round::nearest(0.01,ReadingsVal("S10", "battsoc", "0")*29.16/100)}, \
Netzbezug:.* {if (ReadingsVal("S10", "gridwatt", "0")>=0) {my $Wert=abs(ReadingsVal("S10", "gridwatt", "0"));; return $Wert} else{return 0}}, \
Einspeisung:.* {if (ReadingsVal("S10", "gridwatt", "0")<=0) {my $Wert=abs(ReadingsVal("S10", "gridwatt", "0"));; return $Wert} else{return 0}}, \
Sparsam:.* {if (ReadingsVal("S10", "homewatt", "0")<700) {return 1} else{return 0}}
#   DEF        1 20 192.168.67.62:502 TCP
#   DeviceName 192.168.67.62:502
#   EXPECT     idle
#   FD         25
#   FUUID      612fdb98-f33f-79f8-2c69-879d76551b3e937b
#   IODev      S10
#   Interval   20
#   LASTOPEN   1739440102.46783
#   MODBUSID   1
#   MODE       master
#   MODULEVERSION Modbus 4.5.6 - 7.11.2023
#   NAME       S10
#   NOTIFYDEV  global
#   NR         522
#   NTFY_ORDER 50-S10
#   PARTIAL   
#   PROTOCOL   TCP
#   STATE      opened
#   TCPConn    1
#   TYPE       ModbusAttr
#   devioLoglevel 3
#   devioNoSTATE 1
#   eventCount 6026
#   nextOpenDelay 60
#   DICACHE:
#     3:
#       UNPACK    
#       EXPRS:
#       EXTRAS:
#       FNAMES:
#   Helper:
#     DBLOG:
#       Einspeisung:
#         logdb:
#           TIME       1739480324.72469
#           VALUE      0
#       Entladung:
#         logdb:
#           TIME       1739480324.72469
#           VALUE      0
#       Ladung:
#         logdb:
#           TIME       1739480324.72469
#           VALUE      0
#       Leistung:
#         logdb:
#           TIME       1739480344.84775
#           VALUE      0
#       Netzbezug:
#         logdb:
#           TIME       1739480344.9374
#           VALUE      568
#       battsoc:
#         logdb:
#           TIME       1739480305.25335
#           VALUE      0
#       battwatt:
#         logdb:
#           TIME       1739480324.72469
#           VALUE      0
#       gridwatt:
#         logdb:
#           TIME       1739480344.9374
#           VALUE      568
#       homewatt:
#         logdb:
#           TIME       1739480324.82962
#           VALUE      568
#       s1_p:
#         logdb:
#           TIME       1739480205.40592
#           VALUE      0
#       s2_p:
#         logdb:
#           TIME       1739480205.51689
#           VALUE      0
#       sun2watt2:
#         logdb:
#           TIME       1739480344.84775
#           VALUE      0
#   PICACHE:
#     h40052:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40066:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40068:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40070:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40072:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40074:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40081:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40082:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40101:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#     h40102:
#       bswapRegs 
#       decode    
#       encode    
#       expr      
#       format    
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#   QUEUE:
#   READ:
#     BUFFER    
#   READINGS:
#     2025-02-13 21:59:04   Autarkie        0
#     2025-02-13 21:59:04   Battsoc_KWh     0
#     2022-04-19 11:24:01   Bildpfad        /fhem/www/images/Solaranlage_dunkel_neu_ohne_Text.png
#     2025-02-13 21:59:04   Eigennutzung    0
#     2025-02-13 21:59:04   Einspeisung     0
#     2025-02-13 21:58:44   Einspeisung_Fortlaufend 0
#     2025-02-13 21:59:04   Entladung       0
#     2025-02-13 21:58:44   Entladung_Fortlaufend 0
#     2025-02-13 21:59:04   Ertrag_Fortlaufend_Extern 1.71
#     2025-02-13 21:59:04   Ertrag_Fortlaufend_Test 6.7
#     2025-02-13 21:59:04   Ertrag_Fortlaufend_s1_p 0
#     2025-02-13 21:59:04   Ertrag_Fortlaufend_s2_p 5.6
#     2025-02-13 21:58:44   Hausverbrauch_Fortlaufend 78602.47
#     2025-02-13 21:59:04   Ladung          0
#     2025-02-13 21:59:05   Leistung        0
#     2025-02-13 21:59:04   Netzbezug       568
#     2025-02-13 21:59:04   Netzbezug_Fortlaufend 79299.38
#     2025-02-13 21:59:04   Sparsam         1
#     2025-02-13 21:59:05   ae              99
#     2025-02-13 21:59:05   autarkie        0
#     2025-02-13 21:59:05   battsoc         0
#     2025-02-13 21:59:05   battwatt        0
#     2025-02-13 21:59:04   battwatt0       0
#     2025-02-13 21:59:05   eigenverbrauch  99
#     2022-12-12 23:29:16   ems             0
#     2025-02-13 21:59:05   gridwatt        568
#     2025-02-13 21:59:04   gridwatt0       568
#     2025-02-13 21:59:05   homewatt        568
#     2025-02-13 21:59:04   homewatt0       568
#     2025-02-13 21:59:05   notstrom        0
#     2025-02-13 21:59:05   s1_p            0
#     2025-02-13 21:59:05   s2_p            0
#     2025-02-13 21:59:04   seriennr        12383
#     2025-02-13 21:59:04   statEinspeisungDay Min: 0 Avg: 0 Max: 0
#     2025-02-12 23:59:55   statEinspeisungDayLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statEinspeisungDayMax 0
#     2025-02-12 23:59:55   statEinspeisungDayMaxLast 0
#     2025-02-13 21:59:04   statEinspeisungHour Min: 0 Avg: 0 Max: 0
#     2025-02-13 20:59:55   statEinspeisungHourLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statEinspeisungHourMax 0
#     2025-02-13 20:59:55   statEinspeisungHourMaxLast 0
#     2025-02-13 21:59:04   statEinspeisungMonth Min: 0 Avg: 4 Max: 4012
#     2025-01-31 23:59:55   statEinspeisungMonthLast Min: 0 Avg: 1 Max: 2398
#     2025-02-13 21:59:04   statEinspeisungMonthMax 4012
#     2025-01-31 23:59:55   statEinspeisungMonthMaxLast 2398
#     2025-02-13 21:59:04   statEinspeisungYear Min: 0 Avg: 2 Max: 4012
#     2024-12-31 23:59:55   statEinspeisungYearLast Min: 0 Avg: 616 Max: 18705
#     2025-02-13 21:59:04   statEinspeisungYearMax 4012
#     2024-12-31 23:59:55   statEinspeisungYearMaxLast 18705
#     2025-02-13 21:59:04   statEntladungDay Min: 0 Avg: 0 Max: 0
#     2025-02-12 23:59:55   statEntladungDayLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statEntladungDayMax 0
#     2025-02-12 23:59:55   statEntladungDayMaxLast 0
#     2025-02-13 21:59:04   statEntladungHour Min: 0 Avg: 0 Max: 0
#     2025-02-13 20:59:55   statEntladungHourLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statEntladungHourMax 0
#     2025-02-13 20:59:55   statEntladungHourMaxLast 0
#     2025-02-13 21:59:04   statEntladungMonth Min: 0 Avg: 334 Max: 11115
#     2025-01-31 23:59:55   statEntladungMonthLast Min: 0 Avg: 107 Max: 10185
#     2025-02-13 21:59:04   statEntladungMonthMax 11115
#     2025-01-31 23:59:55   statEntladungMonthMaxLast 10185
#     2025-02-13 21:59:04   statEntladungYear Min: 0 Avg: 174 Max: 11115
#     2024-12-31 23:59:55   statEntladungYearLast Min: 0 Avg: 409 Max: 11583
#     2025-02-13 21:59:04   statEntladungYearMax 11115
#     2024-12-31 23:59:55   statEntladungYearMaxLast 11583
#     2025-02-13 21:59:04   statHomewattDay Min: 355 Avg: 3727 Max: 16052
#     2025-02-12 23:59:55   statHomewattDayLast Min: 486 Avg: 749 Max: 2970
#     2025-02-13 21:59:04   statHomewattDayMax 16052
#     2025-02-12 23:59:55   statHomewattDayMaxLast 2970
#     2025-02-13 21:59:04   statHomewattHour Min: 408 Avg: 5401 Max: 7657
#     2025-02-13 20:59:55   statHomewattHourLast Min: 367 Avg: 587 Max: 6764
#     2025-02-13 21:59:04   statHomewattHourMax 7657
#     2025-02-13 20:59:55   statHomewattHourMaxLast 6764
#     2025-02-13 21:59:04   statHomewattMonth Min: 0 Avg: 3069 Max: 18475
#     2025-01-31 23:59:55   statHomewattMonthLast Min: 0 Avg: 2857 Max: 16933
#     2025-02-13 21:59:04   statHomewattMonthMax 18475
#     2025-01-31 23:59:55   statHomewattMonthMaxLast 16933
#     2025-02-13 21:59:04   statHomewattYear Min: 0 Avg: 2920 Max: 18475
#     2024-12-31 23:59:55   statHomewattYearLast Min: 0 Avg: 1858 Max: 21626
#     2025-02-13 21:59:04   statHomewattYearMax 18475
#     2024-12-31 23:59:55   statHomewattYearMaxLast 21626
#     2025-02-13 21:59:04   statLadungDay   Min: 0 Avg: 0 Max: 0
#     2025-02-12 23:59:55   statLadungDayLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statLadungDayMax 0
#     2025-02-12 23:59:55   statLadungDayMaxLast 0
#     2025-02-13 21:59:04   statLadungHour  Min: 0 Avg: 0 Max: 0
#     2025-02-13 20:59:55   statLadungHourLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statLadungHourMax 0
#     2025-02-13 20:59:55   statLadungHourMaxLast 0
#     2025-02-13 21:59:04   statLadungMonth Min: 0 Avg: 344 Max: 8919
#     2025-01-31 23:59:55   statLadungMonthLast Min: 0 Avg: 118 Max: 8958
#     2025-02-13 21:59:04   statLadungMonthMax 8919
#     2025-01-31 23:59:55   statLadungMonthMaxLast 8958
#     2025-02-13 21:59:04   statLadungYear  Min: 0 Avg: 184 Max: 8958
#     2024-12-31 23:59:55   statLadungYearLast Min: 0 Avg: 420 Max: 11469
#     2025-02-13 21:59:04   statLadungYearMax 8958
#     2024-12-31 23:59:55   statLadungYearMaxLast 11469
#     2025-02-13 21:59:04   statLeistungDay Min: 0 Avg: 1 Max: 36
#     2025-02-12 23:59:55   statLeistungDayLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statLeistungDayMax 36
#     2025-02-12 23:59:55   statLeistungDayMaxLast 0
#     2025-02-13 21:59:04   statLeistungHour Min: 0 Avg: 0 Max: 0
#     2025-02-13 20:59:55   statLeistungHourLast Min: 0 Avg: 0 Max: 0
#     2025-02-13 21:59:04   statLeistungHourMax 0
#     2025-02-13 20:59:55   statLeistungHourMaxLast 0
#     2025-02-13 21:59:04   statLeistungMonth Min: 0 Avg: 886 Max: 7865
#     2025-01-31 23:59:55   statLeistungMonthLast Min: 0 Avg: 402 Max: 8944
#     2025-02-13 21:59:04   statLeistungMonthMax 7865
#     2025-01-31 23:59:55   statLeistungMonthMaxLast 8944
#     2025-02-13 21:59:04   statLeistungYear Min: 0 Avg: 544 Max: 8944
#     2024-12-31 23:59:55   statLeistungYearLast Min: 0 Avg: 1835 Max: 20589 (since: 2024-07-10_13:02:47 )
#     2025-02-13 21:59:04   statLeistungYearMax 8944
#     2024-12-31 23:59:55   statLeistungYearMaxLast 20589
#     2024-07-10 13:02:28   statSunwattDay  Min: 0 Avg: 2207 Max: 11295
#     2024-07-09 23:59:55   statSunwattDayLast Min: 0 Avg: 3047 Max: 8224
#     2024-07-10 13:01:27   statSunwattDayMax 11295
#     2024-07-09 23:59:55   statSunwattDayMaxLast 8224
#     2024-07-10 13:02:28   statSunwattHour Min: 6065 Avg: 8095 Max: 11272
#     2024-07-10 12:59:55   statSunwattHourLast Min: 3594 Avg: 5493 Max: 11295
#     2024-07-10 12:59:55   statSunwattHourMax 11272
#     2024-07-10 12:59:55   statSunwattHourMaxLast 11295
#     2024-07-10 13:02:28   statSunwattMonth Min: 0 Avg: 2214 Max: 13170
#     2024-06-30 23:59:55   statSunwattMonthLast Min: 0 Avg: 2398 Max: 13048
#     2024-07-10 13:00:28   statSunwattMonthMax 13170
#     2024-06-30 23:59:55   statSunwattMonthMaxLast 13048
#     2024-07-10 13:02:28   statSunwattYear Min: 0 Avg: 1454 Max: 13170
#     2023-12-31 23:59:55   statSunwattYearLast Min: 0 Avg: 1286 Max: 12632
#     2024-07-10 13:00:28   statSunwattYearMax 13170
#     2023-12-31 23:59:55   statSunwattYearMaxLast 12632
#     2025-02-13 10:48:31   state           opened
#     2025-02-13 21:59:05   sun2wat         -65536
#     2025-02-13 21:59:05   sun2wat2        -65536
#     2025-02-13 21:59:05   sun2watt        0
#     2025-02-13 21:59:05   sun2watt2       0
#     2025-02-13 21:59:04   sunwatt         0
#     2025-02-13 21:59:05   zusatzwatt      0
#   REMEMBER:
#     lid        1
#     lname      S10
#     lrecv      1739480345.44747
#     lsend      1739480345.44281
#   UPDATECACHE:
#     h40052:
#       adr        40052
#       len        16
#       objCombi   h40052
#       reading    seriennr
#       span       16
#       type       h
#     h40066:
#       adr        40066
#       len        2
#       objCombi   h40066
#       reading    sunwatt
#       span       2
#       type       h
#     h40068:
#       adr        40068
#       len        2
#       objCombi   h40068
#       reading    battwatt0
#       span       2
#       type       h
#     h40070:
#       adr        40070
#       len        2
#       objCombi   h40070
#       reading    homewatt0
#       span       2
#       type       h
#     h40072:
#       adr        40072
#       len        2
#       objCombi   h40072
#       reading    gridwatt0
#       span       2
#       type       h
#     h40074:
#       adr        40074
#       len        2
#       objCombi   h40074
#       reading    zusatzwatt
#       span       2
#       type       h
#     h40081:
#       adr        40081
#       len        1
#       objCombi   h40081
#       reading    ae
#       span       1
#       type       h
#     h40082:
#       adr        40082
#       len        1
#       objCombi   h40082
#       reading    battsoc
#       span       1
#       type       h
#     h40101:
#       adr        40101
#       len        1
#       objCombi   h40101
#       reading    s1_p
#       span       1
#       type       h
#     h40102:
#       adr        40102
#       len        1
#       objCombi   h40102
#       reading    s2_p
#       span       1
#       type       h
#   defptr:
#     S10        1
#   gotReadings:
#     s2_p       0
#   helper:
#     _98_statistics StatDevice_S10
#   lastRead:
#     h40052     1739480344.48043
#     h40066     1739480344.58921
#     h40068     1739480344.69903
#     h40070     1739480344.80699
#     h40072     1739480344.9127
#     h40074     1739480345.0226
#     h40081     1739480345.1285
#     h40082     1739480345.2355
#     h40101     1739480345.34035
#     h40102     1739480345.44815


Die Addition mache ich folgendermaßen. Hier ein Beispiel für den Solarertrag.
Das geht sicher viel elganter aber es funktioniert und ich habe die Werte für die zwei direkt anbeschlossenen Strings und einen weiteren Wechselrichter.

define Solaranlage_Solarertrag_Fortlaufend_Doif DOIF (["S10:Leistung"])\
    (    \
    {\
    use Math::Round qw/round/;;\
       my $Leistung = ReadingsNum("S10","Leistung","0")/180;;\
    my $Leistung_s1_p = ReadingsNum("S10","s1_p","0")/180;;\
    my $Leistung_s2_p = ReadingsNum("S10","s2_p","0")/180;;\
    my $Leistung_Extern = ReadingsNum("S10","sun2watt2","0")/180;;\
    \
    my $Ertrag_Fortlaufend = ReadingsNum("S10","Ertrag_Fortlaufend_Test","0");;\
    my $Ertrag_Fortlaufend_s1_p = ReadingsNum("S10","Ertrag_Fortlaufend_s1_p","0");;\
    my $Ertrag_Fortlaufend_s2_p = ReadingsNum("S10","Ertrag_Fortlaufend_s2_p","0");;\
    my $Ertrag_Fortlaufend_Extern = ReadingsNum("S10","Ertrag_Fortlaufend_Extern","0");;\
    \
       $Ertrag_Fortlaufend = $Ertrag_Fortlaufend + $Leistung;;\
       $Ertrag_Fortlaufend_s1_p = $Ertrag_Fortlaufend_s1_p + $Leistung_s1_p;;\
       $Ertrag_Fortlaufend_s2_p = $Ertrag_Fortlaufend_s2_p + $Leistung_s2_p;;\
       $Ertrag_Fortlaufend_Extern = $Ertrag_Fortlaufend_Extern + $Leistung_Extern;;\
       \
       $Ertrag_Fortlaufend = Math::Round::nearest(0.01, $Ertrag_Fortlaufend);;\
       $Ertrag_Fortlaufend_s1_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s1_p);;\
       $Ertrag_Fortlaufend_s2_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s2_p);;\
       $Ertrag_Fortlaufend_Extern = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_Extern);;\
       \
          fhem ("setReading S10 Ertrag_Fortlaufend_Test $Ertrag_Fortlaufend");;\
       fhem ("setReading S10 Ertrag_Fortlaufend_s1_p $Ertrag_Fortlaufend_s1_p");;\
       fhem ("setReading S10 Ertrag_Fortlaufend_s2_p $Ertrag_Fortlaufend_s2_p");;\
       fhem ("setReading S10 Ertrag_Fortlaufend_Extern $Ertrag_Fortlaufend_Extern");;\
    }\
    )\
    \
DOELSEIF ([00:00])\
    (\
     setReading S10 Ertrag_Fortlaufend_Test 0;;\
     setReading S10 Ertrag_Fortlaufend_s1_p 0;;\
     setReading S10 Ertrag_Fortlaufend_s2_p 0;;\
     setReading S10 Ertrag_Fortlaufend_Extern 0\
    )
attr Solaranlage_Solarertrag_Fortlaufend_Doif cmdpause 5
attr Solaranlage_Solarertrag_Fortlaufend_Doif do always
attr Solaranlage_Solarertrag_Fortlaufend_Doif room Solaranlage
attr Solaranlage_Solarertrag_Fortlaufend_Doif verbose 1
#   DEF        (["S10:Leistung"])
#    (   
#    {
#    use Math::Round qw/round/;
#       my $Leistung = ReadingsNum("S10","Leistung","0")/180;
#    my $Leistung_s1_p = ReadingsNum("S10","s1_p","0")/180;
#    my $Leistung_s2_p = ReadingsNum("S10","s2_p","0")/180;
#    my $Leistung_Extern = ReadingsNum("S10","sun2watt2","0")/180;
#   
#    my $Ertrag_Fortlaufend = ReadingsNum("S10","Ertrag_Fortlaufend_Test","0");
#    my $Ertrag_Fortlaufend_s1_p = ReadingsNum("S10","Ertrag_Fortlaufend_s1_p","0");
#    my $Ertrag_Fortlaufend_s2_p = ReadingsNum("S10","Ertrag_Fortlaufend_s2_p","0");
#    my $Ertrag_Fortlaufend_Extern = ReadingsNum("S10","Ertrag_Fortlaufend_Extern","0");
#   
#       $Ertrag_Fortlaufend = $Ertrag_Fortlaufend + $Leistung;
#       $Ertrag_Fortlaufend_s1_p = $Ertrag_Fortlaufend_s1_p + $Leistung_s1_p;
#       $Ertrag_Fortlaufend_s2_p = $Ertrag_Fortlaufend_s2_p + $Leistung_s2_p;
#       $Ertrag_Fortlaufend_Extern = $Ertrag_Fortlaufend_Extern + $Leistung_Extern;
#      
#       $Ertrag_Fortlaufend = Math::Round::nearest(0.01, $Ertrag_Fortlaufend);
#       $Ertrag_Fortlaufend_s1_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s1_p);
#       $Ertrag_Fortlaufend_s2_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s2_p);
#       $Ertrag_Fortlaufend_Extern = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_Extern);
#      
#          fhem ("setReading S10 Ertrag_Fortlaufend_Test $Ertrag_Fortlaufend");
#       fhem ("setReading S10 Ertrag_Fortlaufend_s1_p $Ertrag_Fortlaufend_s1_p");
#       fhem ("setReading S10 Ertrag_Fortlaufend_s2_p $Ertrag_Fortlaufend_s2_p");
#       fhem ("setReading S10 Ertrag_Fortlaufend_Extern $Ertrag_Fortlaufend_Extern");
#    }
#    )
#   
#DOELSEIF ([00:00])
#    (
#     setReading S10 Ertrag_Fortlaufend_Test 0;
#     setReading S10 Ertrag_Fortlaufend_s1_p 0;
#     setReading S10 Ertrag_Fortlaufend_s2_p 0;
#     setReading S10 Ertrag_Fortlaufend_Extern 0
#    )
#   FUUID      6331b829-f33f-a551-4c86-8035c752bcf33a83
#   MODEL      FHEM
#   NAME       Solaranlage_Solarertrag_Fortlaufend_Doif
#   NOTIFYDEV  global,.*(S10).*
#   NR         595
#   NTFY_ORDER 50-Solaranlage_Solarertrag_Fortlaufend_Doif
#   STATE      cmd_1
#   TYPE       DOIF
#   VERSION    29460 2024-12-29 20:25:48
#   eventCount 691
#   READINGS:
#     2025-02-13 22:02:04   Device          S10
#     2025-02-13 22:02:04   cmd             1
#     2025-02-13 22:02:04   cmd_event       S10
#     2025-02-13 22:02:04   cmd_nr          1
#     2025-02-12 13:23:03   mode            enabled
#     2025-02-13 22:02:04   state           cmd_1
#     2025-02-13 10:48:22   timer_01_c02    14.02.2025 00:00:00
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       :
#         0:
#           "S10:Leistung" S10:Leistung
#   attr:
#     cmdState:
#     cmdpause:
#       5
#     wait:
#     waitdel:
#   condition:
#     0          ::EventDoIf('S10',$hash,'Leistung',0)
#     1          ::DOIF_time_once($hash,0,$wday)
#   days:
#   do:
#     0:
#       0                   {     use Math::Round qw/round/;        my $Leistung = ReadingsNum("S10","Leistung","0")/180;     my $Leistung_s1_p = ReadingsNum("S10","s1_p","0")/180;     my $Leistung_s2_p = ReadingsNum("S10","s2_p","0")/180;     my $Leistung_Extern = ReadingsNum("S10","sun2watt2","0")/180;          my $Ertrag_Fortlaufend = ReadingsNum("S10","Ertrag_Fortlaufend_Test","0");     my $Ertrag_Fortlaufend_s1_p = ReadingsNum("S10","Ertrag_Fortlaufend_s1_p","0");     my $Ertrag_Fortlaufend_s2_p = ReadingsNum("S10","Ertrag_Fortlaufend_s2_p","0");     my $Ertrag_Fortlaufend_Extern = ReadingsNum("S10","Ertrag_Fortlaufend_Extern","0");             $Ertrag_Fortlaufend = $Ertrag_Fortlaufend + $Leistung;        $Ertrag_Fortlaufend_s1_p = $Ertrag_Fortlaufend_s1_p + $Leistung_s1_p;        $Ertrag_Fortlaufend_s2_p = $Ertrag_Fortlaufend_s2_p + $Leistung_s2_p;        $Ertrag_Fortlaufend_Extern = $Ertrag_Fortlaufend_Extern + $Leistung_Extern;                $Ertrag_Fortlaufend = Math::Round::nearest(0.01, $Ertrag_Fortlaufend);        $Ertrag_Fortlaufend_s1_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s1_p);        $Ertrag_Fortlaufend_s2_p = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_s2_p);        $Ertrag_Fortlaufend_Extern = Math::Round::nearest(0.01, $Ertrag_Fortlaufend_Extern);                   fhem ("setReading S10 Ertrag_Fortlaufend_Test $Ertrag_Fortlaufend");        fhem ("setReading S10 Ertrag_Fortlaufend_s1_p $Ertrag_Fortlaufend_s1_p");        fhem ("setReading S10 Ertrag_Fortlaufend_s2_p $Ertrag_Fortlaufend_s2_p");        fhem ("setReading S10 Ertrag_Fortlaufend_Extern $Ertrag_Fortlaufend_Extern");     }    
#     1:
#       0                setReading S10 Ertrag_Fortlaufend_Test 0;      setReading S10 Ertrag_Fortlaufend_s1_p 0;      setReading S10 Ertrag_Fortlaufend_s2_p 0;      setReading S10 Ertrag_Fortlaufend_Extern 0    
#     2:
#   helper:
#     NOTIFYDEV  global,.*(S10).*
#     event      Leistung: 0
#     globalinit 1
#     last_timer 1
#     sleeptimer -1
#     timerdev   S10
#     timerevent Leistung: 0
#     triggerDev S10
#     timerevents:
#       sun2wat: -65536
#       sun2wat2: -65536
#       sun2watt: 0
#       sun2watt2: 0
#       Leistung: 0
#       Ertrag_Fortlaufend_Test: 6.7
#     timereventsState:
#       sun2wat: -65536
#       sun2wat2: -65536
#       sun2watt: 0
#       sun2watt2: 0
#       Leistung: 0
#       Ertrag_Fortlaufend_Test: 6.7
#     triggerEvents:
#       sun2wat: -65536
#       sun2wat2: -65536
#       sun2watt: 0
#       sun2watt2: 0
#       Leistung: 0
#       Ertrag_Fortlaufend_Test: 6.7
#     triggerEventsState:
#       sun2wat: -65536
#       sun2wat2: -65536
#       sun2watt: 0
#       sun2watt2: 0
#       Leistung: 0
#       Ertrag_Fortlaufend_Test: 6.7
#   internals:
#   intervalfunc:
#   localtime:
#     0          1739487600
#   perlblock:
#   readings:
#   realtime:
#     0          00:00:00
#   time:
#     0          00:00:00
#   timeCond:
#     0          1
#   timer:
#     0          0
#   timers:
#     1           0
#   trigger:
#   triggertime:
#     1739487600:
#       localtime  1739487600
#       hash:
#   uiState:
#   uiTable:


Grüße
Jens