SolarForecast / Parameter

Begonnen von Hackstall, 22 September 2023, 09:43:08

Vorheriges Thema - Nächstes Thema

Hackstall

Hallo ich interessiere mich für das
SolarForecast Modul und würde es gerne
Benutzen.

Hier hätte ich eine Frage zu 3 Parametern:
Etotal (Inverter)
Intotal und Outtotal (Batterie)

Diese Summenparameter werden von meiner
Anlage noch bereitgestellt.
Habt Ihr eine Idee was ich machen kann?
Oder kann ich trotzdem das Modul verwenden.
Mein Ziel ist es eine Überschuss Steuerung zu implementieren die von BHKW und PV gespeist
Wird und in Heizstab und E-Auto verbraucht
Wird ( Batterie auch vorhanden).

Danke Gruss Andreas

DS_Starter

Moin,

ZitatHier hätte ich eine Frage zu 3 Parametern:
Etotal (Inverter)
Intotal und Outtotal (Batterie)

Diese Summenparameter werden von meiner
Anlage noch bereitgestellt.
Habt Ihr eine Idee was ich machen kann?
Die Aussage/Frage ist unklar. Kannst du sie bitte nochmal formulieren?
Es gibt mit Sicherheit eine Lösung.
ESXi@NUC+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

Hackstall

Danke für die spontane Reaktion:

setstate Forecast 2023-03-03 19:35:46 currentBatteryDev E3DC_S10E9 pout=-pin:kW pin=battwatt:kW intotal=bat_loadtotal:kWh outtotal=bat_unloadtotal:kWh charge=chargestatus
setstate Forecast 2023-02-27 19:53:12 currentForecastDev DWD
setstate Forecast 2023-02-27 22:42:02 currentInverterDev E3DC_S10E9 pv=pvwatt:kW etotal=etotal:kWh capacity=9500
setstate Forecast 2022-03-29 08:44:11 currentMeterDev SMA_Energymeter gcon=Bezug_Wirkleistung:W contotal=Bezug_Wirkleistung_Zaehler:kWh gfeedin=-gcon:W feedtotal=Einspeisung_Wirkleistung_Zaehler:kWh

In der Empfehlung zu SolarForeCast erfolgt die Anbindung an meine Werte wie im Codeauszug oben:

Leider gibt mein System von E3DC kein etotal (currentInverterDev), intotal und outtotal (currentBatteryDev).

Wie kann ich dieses lösen, das wäre meine Frage. Hoffe es ist nun etwas klarer geworden.


Danke Gruss
Andreas

DS_Starter

Ja jetzt ist es verständlich, danke.
Also in allen deinen Fällen würde m.M. nach ein entsprechendes userReadings mit dem modifier integral oder evtl. auch monotonic helfen.
Es kommt darauf an was deine Geräte für auswertbare Readings liefern. Die benötigten Werte sind Energiewerte, also Wh oder kWh. Liefern deine Geräte z.B. Energietageswerte, würde sich ein monotonic-Reading anbieten. Werden nur z.B. aktuelle Leistungen (W oder kW) geliefert, wäre sicherlich ein integral-Reading der richtige Ansatz.

Die erstellten userReadings gibst du dann im Modul an.
Alle diese Readings müssen stetig wachsende Zähler sein, was sie in den beschriebenen Fällen auch sind.
ESXi@NUC+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

Hackstall

Hallo danke für die Antwort aber mit Integral bin ich nicht so vertraut.
Wie auch immer, ja meine Anlage liefert ni
nur Watt.
1) BatterieInWatt waere mein Reading fuer Batterie laden
BatterieOutWatt für Batterie entladen. was muesste ich für pin und pout denn einstellen.
2) wie würde ich intotal und outtotal berechnen.
3) In der Erklärung wird zum Beispiel pin=-pout gesetzt. Das verstehic nicht. Muesste es nicht per if auf negativ getestet werden und dann im Falle von entaden pin nicht auf 0 gesetzt werden muessen und pout auf pout * -1.

Danke fuer Deine Antwort und das Bemühen Licht in mein Dunkel zu bringen.

DS_Starter

#5
Ich bin nicht sicher ob ich die Ausgangslage richtig verstanden habe.
Versuchen wir es.
Dein WR liefert also die Readings BatterieInWatt (Bat laden) bzw. BatterieOutWatt (Bat entladen).

Beides sind Leistungen (W). Du benötigst aber Energien (Wh) zur Angabe bei  intotal und outtotal.
Zunächst legst du dir userReadings im WR an.
Zum Beispiel für die Ladeenergie:

... userReadings BatInTotal:BatterieInWatt.* integral { ReadingsVal ($name, "BatterieInWatt", 0) / 3600 }

Für die Enladeenergie wäre dann z.B.:
... userReadings BatOutTotal:BatterieOutWatt.* integral { ReadingsVal ($name, "BatterieOutWatt", 0) / 3600}

Im Modul würdest du im Setter currentBatteryDev dann angeben

<WR-Device> pin=BatterieInWatt:W pout=BatterieOutWatt:W charge=XXXX intotal=BatInTotal:Wh outtotal=BatOutTotal:Wh

ZitatIn der Erklärung wird zum Beispiel pin=-pout gesetzt. Das verstehic nicht. Muesste es nicht per if auf negativ getestet werden und dann im Falle von entaden pin nicht auf 0 gesetzt werden muessen und pout auf pout * -1.
Dieser Hinweis bezieht sich auf einen Sonderfall. Manche Geräte liefern nur ein Reading sowohl für Ladeleistung also auch für die Entladeleistung. Zur Unterscheidung der Richtungen wird dann z.B. die Ladeleistung positiv und die Entladeleistung negativ ausgegeben.
Um es im Modul abbilden zu können setzt man dann:

  .... pin=BatterieInWatt:W pout=-pin

Die weitere Logik wird im Modul erledigt.
In deinem Fall brauchst du dieses Konstrukt nicht weil du getrennte Readings für In und Out hast.
ESXi@NUC+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

Hackstall

vielen dank es wird heller aber wieso soll denn

.. userReadings BatInTotal:BatterieInWatt.* integral { ReadingsVal ($name, "BatterieInWatt", 0)

Wattstunden herauskommen?

wo ist denn der Bezug zur Zeit?
Spielt denn die Peride der Messwerte keine Rolle?

Grüsse

DS_Starter

#7
Zitatwo ist denn der Bezug zur Zeit?
Spielt denn die Peride der Messwerte keine Rolle?
Das alles steckt in der integral-Funktion (integriere Leistung über die Zeit). Habe oben noch den Teiler 3600 ergänzt -> Ws -> Wh.

Erklärt ist es z.B. im Forum:
https://forum.fhem.de/index.php?topic=26300.0
ESXi@NUC+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

Hackstall

ok ja aber was ich meine ist:

Wird bei Integral nicht in wattsekunden gerechnet so dass ich noch durch 3600 teilen muss?

DS_Starter

Ja, siehe oben. Habe ich ergänzt.
ESXi@NUC+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