Leistungsprognose für Wechselrichter

Begonnen von ch.eick, 18 Januar 2021, 08:35:46

Vorheriges Thema - Nächstes Thema

DS_Starter

ZitatNoch ne andere Frage. Kann es sein, dass die Reihenfolge beim Moduldurchlauf "ungünstig" ist.
Also er prüft scheinbar erst ob er consumer schalten muss und dann werden die Werte (akt. Verbrauch, Überschuss, Batterie, etc.) aktualisiert. Wirkt zumindest im Log so, da dort die Reihenfolge so ist.
Nein. Das scheint nur so, da die Generierung der Readings, was entsprechende Events zur Folge hat, von der eigentlichen Wertermittlung entkoppelt ist.
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

Christian83

Zitat von: DS_Starter am 26 Juli 2023, 13:45:48Nein. Das scheint nur so, da die Generierung der Readings, was entsprechende Events zur Folge hat, von der eigentlichen Wertermittlung entkoppelt ist.
Okay.
Dann sieht es nur so aus, dass er bei der Prüfung ob ein Consumer geschalten werden muss, den surplus Wert aus dem vorhergehenden Readings-Generierung ist. Ist irgendwie verwirrend.

DS_Starter

Dann nicht Events und Logeinträge miteinander vermischen / vergleichen, sondern z.B.
 
    ctrlDebug=collectData,radiationProcess,collectData,consumerSwitching

einschalten wenn man detailliertere Informationen in der Reihenfolge sehen will.

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

Christian83

Zitat von: DS_Starter am 26 Juli 2023, 13:53:37Dann nicht Events und Logeinträge miteinander vermischen / vergleichen, sondern z.B.
 
    ctrlDebug=collectData,radiationProcess,collectData,consumerSwitching

einschalten wenn man detailliertere Informationen in der Reihenfolge sehen will.



Okay. jetzt sehe ich die Reihenfolge für die Verbraucher-Schaltung.

Woher kommt dann bei den Events (also wenn Werte geschrieben werden) die Abweichenung bei der Consumption? Aus diesen Werten wird ja auch die Grafik gebaut, oder?

2023.07.26 14:02:00 1: Forecast2 DEBUG> collect Inverter data - device: Dum.Energy =>
2023.07.26 14:02:00 1: Forecast2 DEBUG> pv: 5745 W, etotal: 14800 Wh
2023.07.26 14:02:00 1: Forecast2 DEBUG> collect Meter data - device: Dum.Energy =>
2023.07.26 14:02:00 1: Forecast2 DEBUG> gcon: 0 W, gfeedin: 1104 W, contotal: 500 Wh, feedtotal: 4700 Wh
2023.07.26 14:02:00 1: Forecast2 DEBUG> collect Battery data: device=Solaranlage =>
2023.07.26 14:02:00 1: Forecast2 DEBUG> pin=2503.001 W, pout=0 W, totalin: 0 Wh, totalout: 0 Wh, soc: 94
2023.07.26 14:02:00 1: Forecast2 DEBUG> ############### consumer "01" ###############
2023.07.26 14:02:00 1: Forecast2 DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: 2074 W, nompower: 2000, surplus: 3730 W, planstate: continuing:, starttime: 26.07.2023 13:52:00
2023.07.26 14:02:00 1: Forecast2 DEBUG> consumer "01" - isInLocktime: 0
2023.07.26 14:02:00 1: Forecast2 DEBUG> consumer "01" - current Context is switching "on" => swoncond: 1, on-command: heater on
2023.07.26 14:02:00 1: Forecast2 DEBUG> consumer "01" - current Context is switching "off" => swoffcond: 0, off-command: heater off
2023.07.26 14:02:00 1: Forecast2 DEBUG> consumer "01" - current planning state: continuing
>2023.07.26 14:02:00 1: Forecast2 DEBUG> wid: fc1_17_ww, val: 61, txt: durchgehend leichter Regen, cc: 98, rp: 23.00, temp: 19.3</div>2023-07-26 14:02:00 SolarForecast Forecast2 Current_PV: 5745 W
2023-07-26 14:02:00 SolarForecast Forecast2 Current_GridFeedIn: 1104 W
2023-07-26 14:02:00 SolarForecast Forecast2 Current_PowerBatIn: 2503 W
2023-07-26 14:02:00 SolarForecast Forecast2 Current_Consumption: 2138 W
2023-07-26 14:02:00 SolarForecast Forecast2 Current_SelfConsumption: 2138 W
2023-07-26 14:02:00 SolarForecast Forecast2 Current_SelfConsumptionRate: 37 %
2023-07-26 14:02:00 SolarForecast Forecast2 Current_Surplus: 3607 W

Wolfshund

@Heiko

Danke für die Infos, habe das bis jetzt wohl zu kompliziert gesehen.
wenn ich dich richtig verstehe, brauche ich aus dem Wiki NUR
Zitatdefine DWD DWD_OpenData ...
und
Zitatdefine Forecast SolarForecast...

danach in SolarForecast
ZitatcurrentBatteryDev            BatteryDummy pin=-pout:kW pout=total_pac:kW intotal=bat_loadtotal:kWh outtotal=bat_unloadtotal:kWh charge=chargestatus
   

currentForecastDev           DWD
   
currentInverterDev           InverterDummy pv=total_pac:kW etotal=etotal:kWh capacity=9500
   

currentMeterDev              SMA_Energymeter gcon=Bezug_Wirkleistung:W contotal=Bezug_Wirkleistung_Zaehler:kWh gfeedin=Einspeisung_Wirkleistung:W feedtotal=Einspeisung_Wirkleistung_Zaehler:kWh
   

mit meinen Werten aus dem SENEC befüllen?

Teilweise müsste ich die Werte im SENEC Device durch UserReadings erzeugen.
SolarForecast liest diese Werte dann aus dem SENEC aus.
BatteryDummy,InverterDummy,SMA_Energymeter werden dann durch SENEC ersetzt.
Hoffe ich hab das jetzt richtig verstanden.

LG

Andreas

Raspberry PI, Mysensors Serial Gateway, Firmata Relais,Mysensors Dallas/Relais, Mysensors Dallas mit Nokia Display

DS_Starter

ZitatWoher kommt dann bei den Events (also wenn Werte geschrieben werden) die Abweichenung bei der Consumption? Aus diesen Werten wird ja auch die Grafik gebaut, oder?
Die Werte kommen auch aus dem Datenspeicher den man sich mit get valCurrent anschauen kann. Dort der Key consumption.
Die Events kann man nicht unbedingt zum Vergleich heranziehen, denn sie können systembedingt durch z.B. event-on-Attribute manipuliert sein.
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

DS_Starter

Hallo Andreas,

ja siehst du richtig.
Nach dem

  define Forecast SolarForecast

wirst du durch die Konfiguration geführt. Zumindest für die Grundkonfiguration.
Wenn du Fragen hast, melde dich einfach.

LG
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

DS_Starter

@all,

in meinem contrib liegt die Version 0.80.16.

Was ist neu:

- Sicherlich habe viele User (ich auch) Verbraucher am Modul registriert nur um sie grafisch in die
  Hausübersicht zu integrieren, zu sehen ob sie an/aus sind, sie evtl. manuell über das Paneel zu
  schalten und den Stromverbrauch der Geräte zu sehen. Eine Planung soll nicht geschehen.
  Um diesen Modus zu unterstützen, gibt es nun im Consumer Schlüssel type den möglichen Wert
  noSchedule. Ist dieser gesetzt (type=noSchedule) wird der Consumer nicht geplant oder
  automatisch geschaltet.

- die Anzahl der am Modul registrierbaren Consumer ist auf 16 erhöht.

- kleinere Changes und Fixes

LG
 
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

Christian83

Zitat von: DS_Starter am 26 Juli 2023, 14:31:58
ZitatWoher kommt dann bei den Events (also wenn Werte geschrieben werden) die Abweichenung bei der Consumption? Aus diesen Werten wird ja auch die Grafik gebaut, oder?
Die Werte kommen auch aus dem Datenspeicher den man sich mit get valCurrent anschauen kann. Dort der Key consumption.
Die Events kann man nicht unbedingt zum Vergleich heranziehen, denn sie können systembedingt durch z.B. event-on-Attribute manipuliert sein.

Ich rufe das get Forecast data aus einem Notify heraus, wenn sich ein Datum (akt. Produktion) der Solaranlage ändert. Kann es sein, dass dies dafür sorgt, dass das Reading im Device dann zu spät gesetzt ist, und deshalb Forecast 2 verschiedene Daten erhält? (Erst "Altdaten" für Consumerplanung und dann "Neudaten" für die Readings?)

DS_Starter

Nimm mal die neue Version aus meinem contrib die ich vorhin hochgeladen habe.
An einer Stelle nahm ich den Wert noch aus dem Reading statt aus dem valCurrent Datenspeicher.
Das habe ich mit korrigiert. Möglicherweise führte das zu der Diskrepanz.
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

Christian83

Zitat von: DS_Starter am 26 Juli 2023, 20:54:35Nimm mal die neue Version aus meinem contrib die ich vorhin hochgeladen habe.
An einer Stelle nahm ich den Wert noch aus dem Reading statt aus dem valCurrent Datenspeicher.
Das habe ich mit korrigiert. Möglicherweise führte das zu der Diskrepanz.


Hat leider nichts geändert. Man sieht halt, dass die Inhalte der Readings (der Event zum Füllen) dann erst in der nächsten consumer-Prüfungsrunde benutzt werden. Also immer ein Durchlauf versetzt.
Ist an sich nicht schlimm (eigentlich gar nicht). War nur ein Gedanke, ob das vielleicht andere Themen auch erschwert.

2023.07.27 13:45:37 1: Forecast2 DEBUG> collect Inverter data - device: Dum.Energy =>
2023.07.27 13:45:37 1: Forecast2 DEBUG> pv: 2117 W, etotal: 18900 Wh
2023.07.27 13:45:37 1: Forecast2 DEBUG> collect Meter data - device: Dum.Energy =>
2023.07.27 13:45:37 1: Forecast2 DEBUG> gcon: 0 W, gfeedin: 426 W, contotal: 200 Wh, feedtotal: 13100 Wh
2023.07.27 13:45:37 1: Forecast2 DEBUG> collect Battery data: device=Solaranlage =>
2023.07.27 13:45:37 1: Forecast2 DEBUG> pin=0 W, pout=0 W, totalin: 0 Wh, totalout: 0 Wh, soc: 100
2023.07.27 13:45:37 1: Forecast2 DEBUG> ############### consumer "01" ###############
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: 1706 W, nompower: 2000, surplus: 385 W, planstate: continuing:, starttime: 27.07.2023 05:48:04
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - isInLocktime: 0
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - current Context is switching "on" => swoncond: 1, on-command: heater on
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - device >WhirlpoolESP< is used as switching device
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - current Context is switching "off" => swoffcond: 0, off-command: heater off
2023.07.27 13:45:37 1: Forecast2 DEBUG> consumer "01" - current planning state: continuing
2023-07-27 13:45:37 SolarForecast Forecast2 Current_PV: 2117 W
2023-07-27 13:45:37 SolarForecast Forecast2 Today_Hour14_PVreal: 2300 Wh
2023-07-27 13:45:37 SolarForecast Forecast2 Current_GridFeedIn: 426 W
2023-07-27 13:45:37 SolarForecast Forecast2 Current_Consumption: 1691 W
2023-07-27 13:45:37 SolarForecast Forecast2 Current_SelfConsumption: 1691 W
2023-07-27 13:45:37 SolarForecast Forecast2 Current_SelfConsumptionRate: 80 %
2023-07-27 13:45:37 SolarForecast Forecast2 Current_Surplus: 426 W
2023-07-27 13:45:38 SolarForecast Forecast2 updated

2023.07.27 13:46:02 1: Forecast2 DEBUG> collect Inverter data - device: Dum.Energy =>
2023.07.27 13:46:02 1: Forecast2 DEBUG> pv: 2139 W, etotal: 18900 Wh
2023.07.27 13:46:02 1: Forecast2 DEBUG> collect Meter data - device: Dum.Energy =>
2023.07.27 13:46:02 1: Forecast2 DEBUG> gcon: 0 W, gfeedin: 459 W, contotal: 200 Wh, feedtotal: 13100 Wh
2023.07.27 13:46:02 1: Forecast2 DEBUG> collect Battery data: device=Solaranlage =>
2023.07.27 13:46:02 1: Forecast2 DEBUG> pin=0 W, pout=0 W, totalin: 0 Wh, totalout: 0 Wh, soc: 100
2023.07.27 13:46:02 1: Forecast2 DEBUG> ############### consumer "01" ###############
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: 1691 W, nompower: 2000, surplus: 426 W, planstate: continuing:, starttime: 27.07.2023 05:48:04
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - isInLocktime: 0
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - current Context is switching "on" => swoncond: 1, on-command: heater on
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - device >WhirlpoolESP< is used as switching device
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - current Context is switching "off" => swoffcond: 0, off-command: heater off
2023.07.27 13:46:02 1: Forecast2 DEBUG> consumer "01" - current planning state: continuing
3:46:02 1: Forecast2 DEBUG> wid: fc0_21_ww, val: 61, txt: durchgehend leichter Regen, cc: 95, rp: 21.00, temp: 17.8</div>2023-07-27 13:46:02 SolarForecast Forecast2 Current_PV: 2139 W
2023-07-27 13:46:02 SolarForecast Forecast2 Current_GridFeedIn: 459 W
2023-07-27 13:46:02 SolarForecast Forecast2 Current_Consumption: 1680 W
2023-07-27 13:46:02 SolarForecast Forecast2 Current_SelfConsumption: 1680 W
2023-07-27 13:46:02 SolarForecast Forecast2 Current_SelfConsumptionRate: 79 %
2023-07-27 13:46:02 SolarForecast Forecast2 Current_Surplus: 459 W

DS_Starter

Ich habe nochmal etwas verändert. Lade dir bitte die V 0.80.17 aus meinem contrib.
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

Christian83

Zitat von: DS_Starter am 27 Juli 2023, 23:45:47Ich habe nochmal etwas verändert. Lade dir bitte die V 0.80.17 aus meinem contrib.

Hi,

ja jetzt sind die Daten synchron.
Vielen Dank.

Echt super Modul!!!!

Wolfshund

@Heiko

Hallo Heiko,

habe inzwische die hoffentlich richtigen Werte eingetragen, sieht auch schon sehr gut aus.
was mir momentan Kopfschmerzen macht sind die Werte die bei
CO -> nächste4H , Rest heute,  Morgen angezeigt werden.

Ich vermute das dies mit den Readings: intotal,etotal,contotal zu tuen hat.
Sind diese Werte auf Stunde,Tage,Monate,jahre hochzurechnen?


Beispielsweise meine Berechnung von etotal
Zitatur_etotal:ur_Modulleistung.* integral {ReadingsVal("SENEC","ur_Modulleistung",0)/3600}

ur_Modulleistung ist das was momentan gesamt vom Dach kommt (habe nur einen String)


LG
Andreas



Raspberry PI, Mysensors Serial Gateway, Firmata Relais,Mysensors Dallas/Relais, Mysensors Dallas mit Nokia Display

kask

#2804
Nein, die Werte kommen als Zählwert rein und sind ein Wert wie dein Stromzähler/Wasseruhr liefert. Da wird auch nichts hochgerechnet. Dein Interaglwert sollte also passen.
Gucke dir mal die pvHistory an. Ich hatte mir die Consumptionwerte auch mal verhauen. Ist noch garnicht so lange her. Bei mir lag es an Änderungen eines Totalwertes.
Gucke mal 1-2 Seiten hier zurück. Am Ende musste ich leider die ganze History löschen das es gut aussah/sieht.
Kleiner Tipp: Resete die History nach Mitternacht oder früh morgens. Dann geht das selbstständige interne anpassen schneller.