76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Ok. Dann aber so:

barrierSoC=40:max                  -> Wert auf pinmax setzen
barrierSoC=40:set:ReadingA:<def>   -> Wert auf SF Reading "ReadingA" setzen (mit default)
barrierSoC=40:set:1350             -> Wert auf 1350 W setzen
barrierSoC=40:inc:ReadingB:<def>   -> Wert um den Wert in Reading "ReadingB" erhöhen (mit default)
barrierSoC=40:inc:200              -> Wert um 200 W erhöhen
barrierSoC=40:dec:ReadingC:<def>   -> Wert um den Wert in Reading "ReadingC" erniedrigen (mit default)
barrierSoC=40:dec:100              -> Wert um 100 W erniedrigen
barrierSoC=40:prc:ReadingD:<def>   -> Wert um Prozentwert in Reading "ReadingD" ändern (+ erhöhen, - erniedrigen)
barrierSoC=40:prc:50               -> Wert um 50% ändern (+ erhöhen, - erniedrigen)

Das ist verständlich und auch stringent zu parsen.
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

Parallix

[quote author=DS_Starter link=msg=1351148 date=1762333109]
Ok. Dann aber so:
...
[/quote]

Geht natürlich auch. Wenn der Rückfallwert vor dem Reading steht, vereinfacht sich aus meiner Sicht aber das Parsen.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

ZitatWenn der Rückfallwert vor dem Reading steht, vereinfacht sich aus meiner Sicht aber das Parsen.
Könnte man denken...da aber <def> ein optionaler Syntax-Wert ist der nur bei Readings relevant ist, vereinfacht diese Form das Parsen und ist nebenbei für den Anwender einfacher. Z.B. entfällt der Platzhalter :: und der Default kommt nach dem Reading was auch verständlich ist. Und wenn dort kein def angegeben ist, wäre das auch kein Problem.
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

Parallix

#4443
Zitat von: DS_Starter am 05 November 2025, 10:21:14
ZitatWenn der Rückfallwert vor dem Reading steht, vereinfacht sich aus meiner Sicht aber das Parsen.
Könnte man denken...da aber <def> ein optionaler Syntax-Wert ist der nur bei Readings relevant ist, vereinfacht diese Form das Parsen und ist nebenbei für den Anwender einfacher. Z.B. entfällt der Platzhalter :: und der Default kommt nach dem Reading was auch verständlich ist. Und wenn dort kein def angegeben ist, wäre das auch kein Problem.

Verstehe! Bin gedanklich von einer anderen Seite gekommen: Ohne angegebenes Reading stellt die ansonsten als Rückfallwert dienende Zahl den via set, inc, oder dec zu setzendenden Wert dar. Wird noch ein Reading angefügt, so ist dies ein SF internes Reading. Kommt irgendwer auf die Idee, auch SF-externe Readings mal zuzulassen, dann folgendem Wert zwei mit einem Doppelpunkt getrennten Angaben.

Bsp.:
barrierSoC=40:inc:200                     -> Wert um 200 W erhöhen
barrierSoC=40:inc:200:<SFReading>         -> Wert um den im SF internen Reading angegebenen Wert erhöhen, falls dieser nicht vorliegt um 200 W
barrierSoC=40:inc:200:<Device>:<Reading>  -> Wert um den im (externen) Device-Reading angegebenen Wert erhöhen, falls dieser nicht vorliegt um 200 W
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

#4444
ZitatKommt irgendwer auf die Idee, auch SF-externe Readings mal zuzulassen ...

Das wäre dann ohnehin von mir zu implementieren, geht nicht einfach so.
Die erweiterte Syntax wäre dann:

barrierSoC=40:set:ReadingA@<Dev>:<def>   -> Wert auf SF Reading "ReadingA" aus Device <Dev> setzen (mit default)

Aber das lassen wir erstmal, nicht gleich übertreiben.  ;)
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

grappa24

Zitat von: DS_Starter am 05 November 2025, 00:03:48Angepasste Version liegt im Contrib.
anbei meine Ladekurve (smartPower) mit dieser Version
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

DS_Starter

Kann man erstmal nicht meckern meinerseits.
Wichtig für eine gedankliche Einordnung ist immer der Erreichbarkeitsstatus des Ziels was man im Reading Battery_TargetAchievable_XX verfolgen kann.
Bei mir ist heute endlich wieder Überschuß angesagt. Dadurch erreiche ich lt. Ladungsprognose 100% gegen 16:00.
smartPower regelt auch schon herunter, d.h. die Kurve kommt in einen geregelten Bereich hinein.
Heute Abend kann man sich das Ergebnis mal anschauen.
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