Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

DS_Starter

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

dk3572

ja, genau nach deinen Anweisungen  ;)

Das Problem hatten wir doch schon mal.
Daher das alte userReading etoday_fc (welches ich natürlich nicht mehr verwende):

etoday_fc:modulstate.* {
                         my $hour = (localtime(time))[2];
                         if (ReadingsVal($name, "gridrelay_status", "") eq "geschlossen" || $hour > 12) {
                           ReadingsVal($name, "etoday", 0);
                         }
                         else {
   
                           0;
                         }
                       }

DS_Starter

Lösch dir mal diese alten Readungs


     2020-12-20 00:59:02   Hour_00_PVreal  3389 Wh
     2020-12-20 01:58:59   Hour_01_PVreal  4.54747350886464e-13 Wh
     2020-12-20 02:59:58   Hour_02_PVreal  -4.54747350886419 Wh
     2020-12-20 03:59:55   Hour_03_PVreal  0 Wh
     2020-12-20 04:59:55   Hour_04_PVreal  0 Wh
     2020-12-20 05:59:53   Hour_05_PVreal  0 Wh
     2020-12-20 06:59:51   Hour_06_PVreal  -3389 Wh
     2020-12-20 07:59:50   Hour_07_PVreal  -4.54747350886464e-13 Wh
     2020-12-20 08:59:48   Hour_08_PVreal  4.54747350886419 Wh
     2020-12-20 09:59:46   Hour_09_PVreal  45 Wh
     2020-12-20 10:59:43   Hour_10_PVreal  244 Wh
     2020-12-20 11:59:41   Hour_11_PVreal  474 Wh
     2020-12-20 12:59:39   Hour_12_PVreal  333 Wh
     2020-12-20 13:57:34   Hour_13_PVreal  275 Wh


Die gibts nicht mehr.
Und dann mit verbose 5 loggen. Vermutlich ist der etotal Zähler nicht größer als 6317491 (INITETOTAL) bzw. zählt nicht hoch. Dadurch kommt nichts rein.
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

dk3572

#558
ok, gemacht, hier mal ein Auszug:

2021.04.09 09:51:33.362 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:53:33
2021.04.09 09:51:33.372 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:53:33
2021.04.09 09:51:33.382 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:53:33
2021.04.09 09:51:33.465 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:53:33
2021.04.09 09:52:01.636 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:54:01
2021.04.09 09:52:01.647 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:54:01
2021.04.09 09:52:01.657 5: SolarForecast - next start of autoRefresh: 2021-04-09 09:54:01
2021.04.09 09:52:01.658 4: SolarForecast - ################################################################
2021.04.09 09:52:01.658 4: SolarForecast - ###                New data collection cycle                 ###
2021.04.09 09:52:01.658 4: SolarForecast - ################################################################
2021.04.09 09:52:01.658 4: SolarForecast - current hour of day: 10
2021.04.09 09:52:01.658 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_10_ww, val=2, txt=Bewölkung unverändert, cc=61, rp=1.00
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 10, hash: weatherid, val: 2
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 10, hash: weathercloudcover, val: 61
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 10, hash: weatherrainprob, val: 1.00
2021.04.09 09:52:01.658 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_11_ww, val=2, txt=Bewölkung unverändert, cc=64, rp=3.00
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 11, hash: weatherid, val: 2
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 11, hash: weathercloudcover, val: 64
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 11, hash: weatherrainprob, val: 3.00
2021.04.09 09:52:01.658 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_12_ww, val=2, txt=Bewölkung unverändert, cc=66, rp=4.00
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 12, hash: weatherid, val: 2
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 12, hash: weathercloudcover, val: 66
2021.04.09 09:52:01.658 5: SolarForecast - set PV History hour: 12, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_13_ww, val=2, txt=Bewölkung unverändert, cc=67, rp=4.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 13, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 13, hash: weathercloudcover, val: 67
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 13, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_14_ww, val=2, txt=Bewölkung unverändert, cc=69, rp=4.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 14, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 14, hash: weathercloudcover, val: 69
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 14, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_15_ww, val=2, txt=Bewölkung unverändert, cc=66, rp=4.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 15, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 15, hash: weathercloudcover, val: 66
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 15, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_16_ww, val=2, txt=Bewölkung unverändert, cc=68, rp=3.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 16, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 16, hash: weathercloudcover, val: 68
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 16, hash: weatherrainprob, val: 3.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_17_ww, val=2, txt=Bewölkung unverändert, cc=67, rp=4.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 17, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 17, hash: weathercloudcover, val: 67
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 17, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_18_ww, val=2, txt=Bewölkung unverändert, cc=67, rp=1.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 18, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 18, hash: weathercloudcover, val: 67
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 18, hash: weatherrainprob, val: 1.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_19_ww, val=2, txt=Bewölkung unverändert, cc=67, rp=4.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 19, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 19, hash: weathercloudcover, val: 67
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 19, hash: weatherrainprob, val: 4.00
2021.04.09 09:52:01.659 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_20_ww, val=2, txt=Bewölkung unverändert, cc=73, rp=7.00
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 20, hash: weatherid, val: 2
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 20, hash: weathercloudcover, val: 73
2021.04.09 09:52:01.659 5: SolarForecast - set PV History hour: 20, hash: weatherrainprob, val: 7.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_21_ww, val=2, txt=Bewölkung unverändert, cc=74, rp=13.00
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 21, hash: weatherid, val: 2
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 21, hash: weathercloudcover, val: 74
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 21, hash: weatherrainprob, val: 13.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_22_ww, val=102, txt=Bewölkung unverändert, cc=77, rp=13.00
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 22, hash: weatherid, val: 102
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 22, hash: weathercloudcover, val: 77
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 22, hash: weatherrainprob, val: 13.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_23_ww, val=103, txt=Bewölkung zunehmend, cc=82, rp=18.00
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 23, hash: weatherid, val: 103
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 23, hash: weathercloudcover, val: 82
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 23, hash: weatherrainprob, val: 18.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc0_24_ww, val=103, txt=Bewölkung zunehmend, cc=82, rp=18.00
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 24, hash: weatherid, val: 103
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 24, hash: weathercloudcover, val: 82
2021.04.09 09:52:01.660 5: SolarForecast - set PV History hour: 24, hash: weatherrainprob, val: 18.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_1_ww, val=161, txt=durchgehend leichter Regen, cc=86, rp=29.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_2_ww, val=161, txt=durchgehend leichter Regen, cc=90, rp=33.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_3_ww, val=161, txt=durchgehend leichter Regen, cc=92, rp=46.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_4_ww, val=161, txt=durchgehend leichter Regen, cc=93, rp=51.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_5_ww, val=161, txt=durchgehend leichter Regen, cc=95, rp=57.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_6_ww, val=161, txt=durchgehend leichter Regen, cc=97, rp=60.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_7_ww, val=61, txt=durchgehend leichter Regen, cc=97, rp=64.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_8_ww, val=61, txt=durchgehend leichter Regen, cc=98, rp=62.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_9_ww, val=61, txt=durchgehend leichter Regen, cc=98, rp=60.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_10_ww, val=61, txt=durchgehend leichter Regen, cc=96, rp=57.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_11_ww, val=61, txt=durchgehend leichter Regen, cc=95, rp=57.00
2021.04.09 09:52:01.660 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_12_ww, val=61, txt=durchgehend leichter Regen, cc=94, rp=55.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_13_ww, val=61, txt=durchgehend leichter Regen, cc=91, rp=52.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_14_ww, val=61, txt=durchgehend leichter Regen, cc=90, rp=36.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_15_ww, val=61, txt=durchgehend leichter Regen, cc=89, rp=32.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_16_ww, val=61, txt=durchgehend leichter Regen, cc=87, rp=35.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_17_ww, val=61, txt=durchgehend leichter Regen, cc=87, rp=36.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_18_ww, val=61, txt=durchgehend leichter Regen, cc=87, rp=29.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_19_ww, val=61, txt=durchgehend leichter Regen, cc=87, rp=30.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_20_ww, val=61, txt=durchgehend leichter Regen, cc=88, rp=31.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_21_ww, val=61, txt=durchgehend leichter Regen, cc=89, rp=31.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_22_ww, val=161, txt=durchgehend leichter Regen, cc=88, rp=34.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_23_ww, val=161, txt=durchgehend leichter Regen, cc=90, rp=41.00
2021.04.09 09:52:01.661 5: SolarForecast - collect Weather data: device=DWD_PV, wid=fc1_24_ww, val=161, txt=durchgehend leichter Regen, cc=90, rp=41.00
2021.04.09 09:52:01.661 5: SolarForecast - collect DWD forecast data: device=DWD_PV, rad=fc0_10_Rad1h, Rad1h=980.00
2021.04.09 09:52:01.661 4: SolarForecast - PV forecast calc for today Hour 10 string: Süddach ->
Area factor => 1.15
CloudFactorDamping => 45 %
Cloudcover => 61
Cloudfactor => 0.7255
Factor kJ to kWh => 0.00027778
PV generation => 853.8 Wh
Radiation => 980.00
RainFactorDamping => 20 %
Rainfactor => 0.998
Rainprob => 1.00
moduleDirection => S
modulePeakString => 6.175
moduleTiltAngle => 45
pvCorrectionFactor => 0.61

2021.04.09 09:52:01.661 4: SolarForecast - PV forecast calc for today Hour 10 summary: 853
2021.04.09 09:52:01.661 5: SolarForecast - set PV History hour: 10, hash: pvfc, val: 853
2021.04.09 09:52:01.661 5: SolarForecast - collect DWD forecast data: device=DWD_PV, rad=fc0_11_Rad1h, Rad1h=1380.00
2021.04.09 09:52:01.661 4: SolarForecast - PV forecast calc for today Hour 11 string: Süddach ->
Area factor => 1.15
CloudFactorDamping => 45 %
Cloudcover => 64
Cloudfactor => 0.712
Factor kJ to kWh => 0.00027778
PV generation => 2388.9 Wh
Radiation => 1380.00
RainFactorDamping => 20 %
Rainfactor => 0.994
Rainprob => 3.00
moduleDirection => S
modulePeakString => 6.175
moduleTiltAngle => 45
pvCorrectionFactor => 1.24



Edit:
Habe jetzt mal ein Reset pvHistory gemacht, und siehe da, Daten werden wieder geschrieben/angezeigt.

09 => 10 => pvreal: 2425, pvforecast: 853, gridcon: 9, gfeedin: 8, weatherid: 2, cloudcover: 61, rainprob: 1.00
      11 => pvreal: 0, pvforecast: 2388, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 64, rainprob: 3.00
      12 => pvreal: 0, pvforecast: 2968, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 66, rainprob: 4.00
      13 => pvreal: 0, pvforecast: 4205, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 67, rainprob: 4.00
      14 => pvreal: 0, pvforecast: 3143, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 69, rainprob: 4.00
      15 => pvreal: 0, pvforecast: 3299, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 66, rainprob: 4.00
      16 => pvreal: 0, pvforecast: 3897, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 68, rainprob: 3.00
      17 => pvreal: 0, pvforecast: 2047, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 67, rainprob: 4.00
      18 => pvreal: 0, pvforecast: 1927, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 67, rainprob: 1.00
      19 => pvreal: 0, pvforecast: 690, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 67, rainprob: 4.00
      20 => pvreal: 0, pvforecast: 129, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 73, rainprob: 7.00
      21 => pvreal: 0, pvforecast: 0, gridcon: 0, gfeedin: 0, weatherid: 2, cloudcover: 74, rainprob: 13.00
      22 => pvreal: 0, pvforecast: 0, gridcon: 0, gfeedin: 0, weatherid: 102, cloudcover: 77, rainprob: 13.00
      23 => pvreal: 0, pvforecast: 0, gridcon: 0, gfeedin: 0, weatherid: 103, cloudcover: 82, rainprob: 18.00
      24 => pvreal: 0, pvforecast: 0, gridcon: 0, gfeedin: 0, weatherid: 103, cloudcover: 82, rainprob: 18.00
      99 => pvreal: 2425, pvforecast: 25546, gridcon: 9, gfeedin: 8, weatherid: , cloudcover: , rainprob:


Ich beobachte weiter  ;)
Danke erst mal und jetzt schon ein schönes Wochenende.
VG Dieter

DS_Starter

Na sieht doch gut aus. PV History wird auch gesetzt.
get pvHistory muss nun auch etwas zeigen. Wie du siehst allerdings erst ab der aktuellen Stunde und baut sich dann auf.
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

ch.eick

Hallo zusammen,
ich hab schon einige zeit nicht mehr rein geschaut.
Wie ist denn der Stand mit der DbLog, werden die Werte schon zeitlich passend in die Zukunft eingetragen, damit man Diagramme zeichnen kann?

Viele Grüße
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Ja, z.b. siehe #468
Readings

LastHourGridconsumptionReal
LastHourPVforecast
LastHourPVreal
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

ch.eick

Zitat von: DS_Starter am 09 April 2021, 10:45:38
Ja, z.b. siehe #468
Readings

LastHourGridconsumptionReal
LastHourPVforecast
LastHourPVreal
Da reden wir aneinander vorbei.
Es geht z.B. darum den Prognosewert für morgen 10:00 Uhr schon heute mit dem TIMESTAMP von morgen einzutragen.
In Grafana kann man dann das Datum von morgen auswählen und sieht bereits heute das Diagramm von morgen.
Im Anhang ist mal wieder ein Beispiel von mir. Die rote Kurve für heute wurde bereits gestern gezeichnet und die für morgen ist bereits in der Datenbank.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

ZitatEs geht z.B. darum den Prognosewert für morgen 10:00 Uhr schon heute mit dem TIMESTAMP von morgen einzutragen.
Nein, das wird Stand jetzt auch nicht passieren. Grund: die Forecast-Werte ändern sich, z.B. wenn der DWD es anpasst oder die interne Autokorrektur. Hat man in der DB einen PK gesetzt, wird dort nur der allererste Wert eingetragen.Alle nachfolgenden Korrekturwerte kommen nicht mehr rein weil der PK es verhindert.
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

ch.eick

Zitat von: DS_Starter am 09 April 2021, 11:49:07
Nein, das wird Stand jetzt auch nicht passieren. Grund: die Forecast-Werte ändern sich, z.B. wenn der DWD es anpasst oder die interne Autokorrektur. Hat man in der DB einen PK gesetzt, wird dort nur der allererste Wert eingetragen.Alle nachfolgenden Korrekturwerte kommen nicht mehr rein weil der PK es verhindert.
Natürlich geht das.
Das findest Du in der Solar_forecast() Funktion.
Hier wird z.B. die Autokorrektur berechnet und bei einem duplicate key "ON DUPLICATE KEY UPDATE" ein update gemacht.
Für den Forecast lösche ich die bisherigen Werte und schreibe sie dann neu, da eh nur die aktuellsten Werte interessieren. Dort könnte man natürlich auch den selben Mechanismus anwenden.

INSERT INTO history
                 (TIMESTAMP,DEVICE,READING,VALUE)
                  SELECT
                    TIMESTAMP,DEVICE,READING,VALUE
                  FROM (
                    SELECT
                      DATE_ADD(CURDATE(),INTERVAL t2.HOUR HOUR) AS TIMESTAMP,
                      t2.DEVICE,
                      \@readingname                             AS READING,
                      cast(if(avg(t2.FACTOR) > 1.6, 1.6,
                              avg(t2.FACTOR) ) AS DECIMAL(2,1)) AS VALUE
                    FROM (
                      SELECT * FROM (
                        SELECT
                          t1.TIMESTAMP,
                          t1.HOUR,
                          t1.DEVICE,
                          t1.READING,
                          t1.VALUE,
                          if(\@diff = 0,NULL, \@temp:=cast((t1.VALUE-\@diff) AS DECIMAL(6,2))) AS DIFF,
                          cast((t1.VALUE/(t1.VALUE+(-1*\@temp))*\@corr) AS DECIMAL(2,1))       AS FACTOR,
                          \@diff:=t1.VALUE                                                     AS curr_V
                        FROM (
                          SELECT
                            TIMESTAMP,
                            date(TIMESTAMP) AS DATE,
                            hour(TIMESTAMP) AS HOUR,
                            DEVICE,
                            READING,
                            VALUE
                          FROM history
                          WHERE DEVICE    =  \@device
                            AND (READING  =  \@reading1 OR READING = \@reading2)
                            AND TIMESTAMP >= DATE_SUB(DATE(now()),INTERVAL \@days DAY)
                            AND TIMESTAMP <= CURDATE()
                            AND MINUTE(TIMESTAMP) = 0
                            AND VALUE >= 0
                          GROUP BY DATE,HOUR,READING
                         )t1
                       )tx
                        WHERE
                          READING != \@reading2
                     )t2
                      GROUP BY t2.HOUR
                   )t3
                    WHERE
                      t3.VALUE != 0
                    ON DUPLICATE KEY UPDATE
                      VALUE=t3.VALUE;


VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

#565
Christian, ich habe nicht gesagt das es nicht geht, sondern das ich es Stand heute nicht einbauen werde.
Du manipulierst die Datenbank in deinem Script bzw. baust SQL-Statements in das Script ein, was auch vollkommen in Ordnung ist in dem Kontext.
Das werde ich aber in einem Modul nicht machen. Hier wird mit Events bzgl. Logging gearbeitet so wie es der FHEM Standard als Schnittstelle vorsieht.
Alles andere ist nachgelagert. Es ist ja hier nicht gegeben dass der User mit einer Datenbank arbeiten muss.

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

ch.eick

Zitat von: DS_Starter am 09 April 2021, 12:05:02
Du manipulierst die Datenbank in deinem Script bzw. baust SQL-Statements in das Script ein, was auch vollkommen in Ordnung ist in dem Kontext.
Das werde ich aber in einem Modul nicht machen. Hier wird mit Events gearbeitet so wie es der FHEM Standard als Schnittstelle vorsieht.
Alles andere ist nachgelagert. Es ist ja hier nicht gegeben dass der User mit einer Datenbank arbeiten muss.
Schade ;-(
Ich wollte ja nur mal versuchen es für mich verwendbar zu beeinflussen :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Ich weiß.  :) Aber ich muß hier an alle User und alle möglichen Einsatzvarianten denken und nicht nur an DB User.
Vielleicht später in einer FHEM Standard Schnittstellenvariante, aber erstmal außen vor.
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

ch.eick

Zitat von: DS_Starter am 09 April 2021, 12:11:19
Ich weiß.  :) Aber ich muß hier an alle User und alle möglichen Einsatzvarianten denken und nicht nur an DB User.
Vielleicht später in einer FHEM Standard Schnittstellenvariante, aber erstmal außen vor.
Ich weiß es ja auch, deshalb habe ich kein Modul geschrieben ;-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

papa

Der Update-Syntax dürfte sich dann auch noch bei jeder Datenbank unterscheiden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire