76_SMAPortal - Integration SMA Sunny Portal - Ideen & Modulweiterentwicklung

Begonnen von DS_Starter, 08 Juli 2019, 18:45:46

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo zusammen,

in meinem Contrib liegt eine neue Version SolarForecast.
Die automatische Korrektur habe ich soweit verbessert dass pro Tag nur eine maximale Korrekturvarianz angewendet wird. Dadurch erfolgt eine automatische Anpassung langsam (wenn sie eingeschaltet ist) und Außreißer werden vermieden wenn die Prognose mal total danebenliegt. Bis jetzt stimmt das Ergebnis optimistisch.
Die maximale Varianz lässt sich per Attribut einstellen:

maxVariancePerDay <Zahl>
Maximale Änderungsgröße des PV Vorhersagefaktors (Reading pvCorrectionFactor_XX) pro Tag.
(default: 0.5)

Weiterhin sind die weitere Wettericon-Zuordnung von Wzut sowie einige andere inhaltliche und kosmetische Verbessungen eingeflossen.

VG 
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

Wzut

Das fehlerhafte Icon habe ich im Icon Fred gepostet, denke Wuppi wird es die Tage ins svn übernehmen.
BTW : Kennst du https://forum.fhem.de/index.php/topic,117075.0.html ?
In dem Zusammenhang : ist es wirklich nötig im 5 Minuten Raster 60 NextHour.* Readings komplett zu killen und i.d.R. mit dem gleichen Wert wie zuvor neu zu beschreiben ?
ich habe bei mir mal die Zeile deleteReadingspec ($hash, "NextHour.*") auskommentiert.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DS_Starter

ZitatIn dem Zusammenhang : ist es wirklich nötig im 5 Minuten Raster 60 NextHour.* Readings komplett zu killen und i.d.R. mit dem gleichen Wert wie zuvor neu zu beschreiben ?
Aus irgendwelchen Gründen habe ich es im Laufe der Entwicklung eingebaut. Möglicherweise sind diese Gründe nicht mehr vorhanden. -> contrib Entwicklungsversion you know  ;)
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

Wzut

ja ja das kenne ich mit dem sich selbst überholen ... Aber ich vermute du hast jetzt ersteinmal versucht so viel wie möglich alten Code in das neue Modul 1:1 mit rüber zu nehmen. Ich fürchte aber da stehen doch noch andere Umbauten an, Stichwort Wetter icons :
Ich vermute die paar Wetter Ids stammen noch aus der SMA Portal Zeit, aber schau dir mal das Monster @wwdText in 55_DWD_OpenData an :(
Da gibts zu einigen Zehner wirklich zehn Texte und wenn ich dann noch die Nacht Auswertung mit der 1 davor dazunehme das Doppelte !

Vllt sollte man das mit den Tag/Nacht Icons über Bord werfen und nur noch stur nach der Id ein Icon verwenden.
Sicher das mit der Nacht als Icon hatte Charme auch mit Blick auf Forcast. Aber da jetzt die Sonnenauf und Untergangszeiten bekannt sind könnte man
a. die Nacht Icons mit einer dunkleren Farbe einfärben ( ja .. wieder ein Farb Attribut mehr )
b. und /oder die Sonnenstunden durch eine vertikale Markierung (|) in der HTML Ausgabe kenntlich machen ?

Wenn du möchstest mach ich mal ein paar Versuche und poste Screenshots, ich bin heilfroh das du damals alle meine Kommentare an dich doch im Quelltext gelassen hast. Ich habe mir das gestern Abend durchgelesen und ständig gedacht ohne Kommentar würde ich nur noch Bahnhof verstehen :)   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DS_Starter

ZitatAber ich vermute du hast jetzt ersteinmal versucht so viel wie möglich alten Code in das neue Modul 1:1 mit rüber zu nehmen.
Naja ich habe schon viel angepasst. Aber insbesondere die wirklich viele Arbeit die vor allem du damals in die Grafik investiert hast, wollte ich unbedingt erhalten. Wär echt schade darum wenn die verloren ginge.

Was die Icons betrifft ... die Ids müssten doch standardisiert sein. Es ist nämlich so, dass ich das Device welches Weathericons liefert separat setzbar machen.
Warum ? Wenn man SolCast als Vohersagequelle einbindet (Zukunftsmusik) braucht man entweder ein Weather oder DWD Device welches die ID's liefert.

Die Idee mit dem einfärben ist gut. Ein Attribut mehr für diese Darstellung ist nicht so dramatisch, es gibt ja die logische Trennung Inhalt vs. Darstellung.  ;)

ZitatIch habe mir das gestern Abend durchgelesen und ständig gedacht ohne Kommentar würde ich nur noch Bahnhof verstehen :)   
Geht mir regelmäßig so mit alten code von mir  :o
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

Wzut

Total bescheurte Farben , aber sie zeigen was man machen könnte.
Als Bonbon den wwd Text als Maus Hoover und wenn du genau hinschaust siehst du das die heutige Zuordnung ID - Text - Icon teilweise nicht stimmt,
so ist leichter regen angesagt das Icon ist aber das von starkem.

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DS_Starter

Meine Lieblingsfarben  ;D

ZitatAls Bonbon den wwd Text als Maus Hoover
Das ist doch auch nett.  :) Hast du die wwd-Daten mit in den Helper übernommen ?
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

Wzut

genau , an der Stelle wo du die ids abholst :

$hash->{HELPER}{"${time_str}_WeatherId"} = $wid;
$hash->{HELPER}{"${time_str}_WeatherTxt"} = ReadingsVal($fcname, "fc${fd}_${fh}_wwd", '');


und nachher muss es parallel zu %we in einen eigenen hash (oder man müsste %we umbauen )
da es wohl nur deutsche Texte in 55_DWD gibt habe ich das befüllen von %we_txt in den Abschnitt gelegt wo du eh die deutsch/englisch Unterscheidung hast, also einmal bei der aktuellen Stunde und weiter unten bei der Schleife  über maxhours.
Damit man dann auch etwas sieht muss das TD vor der Icon Ausgabe ($val) um einen Titel erweitert werden <td title='mein Mausover Text' class='smaportal' style=
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

ach und noch ein Punkt :
dein Stringvergleich zum feststellen ob es Nacht ist hat IMHO einen Schönheitsfehler :
Bsp : ich habe für die Stunde 17:00 noch etwas Ertragsprognose aber das Icon ist schon im Nachtmodus.
Vllt sollte man an der Stelle keinen exakten Vergleich machen sondern zuvor Sunset/Sunrise auf die nächste volle Stunde aufrunden,
dann wäre es morgens etwas länger Nacht und Abends etwas länger Tag.
 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

noch zwei Vorschläge :
a. ich hatte eben einen Umbruch im Header , ändere doch bitte Rest heute in Rest&nbsp;heute
b. macht es wirklich Sinn den Forcast auf 1/10 Wh zu berechnen ? Ich habe in der sub calcPVforcast mal das Attribut Wh/kWh mit aufgenommen
und sprint äffe nur bei kWh , bei Wh geht $pv als int() zurück.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DS_Starter

Moin Wzut,

habe deine Hinweise aus #593 und #594 übernommen und die neue Version ins contrib gestellt.

Wenn du eine Anpassung für die Grafik fertig hast, übernehme ich die auch.

Guten Rutsch !

Grüße,
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

Wzut

Ja mein Lieber dann rutsche auch mal gut :) (und jeder andere auch der sich angesprochen fühlt)
BTW : ich fürchte beim rumfuschen in calcPVforcast war ich etwas voreilig, da du an anderen Stellen noch hardcoded von W bzw. Wh ausgehst,
aber das weisst du eh alles besser als ich wenn du komplett das Attribut Wh/kWh wieder unterstützt willst.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Dode

Hallo,

ich habe das Modul auch mal installiert weil ich genau nach so etwas gesucht habe.
Heute habe ich in der Vorhersage ein paar Fragezeichen anstelle Logos.


Internals:
   FUUID      5fe616a8-f33f-a94b-36fd-39ac1fa333158d13
   FVERSION   76_SolarForecast.pm:v0.1.0-s21735/2020-04-20 TESTING
   MODE       Automatic - next polltime: 17:26:43
   NAME       PV_forecast
   NOTIFYDEV  DWD_Forecast,SMA,MyObis
   NR         229
   NTFY_ORDER 50-PV_forecast
   STATE      updated
   TYPE       SolarForecast
   HELPER:
     FW         WEB
     NextHour01_WeatherId 161
     NextHour02_WeatherId 161
     NextHour03_WeatherId 161
     NextHour04_WeatherId 161
     NextHour05_WeatherId 161
     NextHour06_WeatherId 161
     NextHour07_WeatherId 161
     NextHour08_WeatherId 161
     NextHour09_WeatherId 161
     NextHour10_WeatherId 161
     NextHour11_WeatherId 168
     NextHour12_WeatherId 168
     NextHour13_WeatherId 168
     NextHour14_WeatherId 168
     NextHour15_WeatherId 168
     NextHour16_WeatherId 68
     NextHour17_WeatherId 71
     NextHour18_WeatherId 68
     NextHour19_WeatherId 68
     NextHour20_WeatherId 03
     NextHour21_WeatherId 03
     NextHour22_WeatherId 03
     NextHour23_WeatherId 03
     NextHour24_WeatherId 103
     NextHour25_WeatherId 103
     NextHour26_WeatherId 103
     NextHour27_WeatherId 103
     NextHour28_WeatherId 103
     NextHour29_WeatherId 103
     NextHour30_WeatherId 103
     PACKAGE    FHEM::SolarForecast
     SPGDETAIL  PV_forecast
     SPGDEV     PV_forecast
     SPGROOM    PV
     ThisHour_WeatherId 161
     VERSION    0.1.0
     fc0_17_PVforecast 10.00 Wh
     fc0_18_PVforecast 0.00 Wh
     fc0_19_PVforecast 0.00 Wh
     fc0_20_PVforecast 0.00 Wh
     fc0_21_PVforecast 0.00 Wh
     fc0_22_PVforecast 0.00 Wh
     fc0_23_PVforecast 0.00 Wh
     fc1_00_PVforecast 0.00 Wh
     fc1_01_PVforecast 0.00 Wh
     fc1_02_PVforecast 0.00 Wh
     fc1_03_PVforecast 0.00 Wh
     fc1_04_PVforecast 0.00 Wh
     fc1_05_PVforecast 0.00 Wh
     fc1_06_PVforecast 0.00 Wh
     fc1_07_PVforecast 0.00 Wh
     fc1_08_PVforecast 0.00 Wh
     fc1_09_PVforecast 0.00 Wh
     fc1_10_PVforecast 40.00 Wh
     fc1_11_PVforecast 140.00 Wh
     fc1_12_PVforecast 250.00 Wh
     fc1_13_PVforecast 320.00 Wh
     fc1_14_PVforecast 300.00 Wh
     fc1_15_PVforecast 230.00 Wh
     fc1_16_PVforecast 110.00 Wh
     fc1_17_PVforecast 20.00 Wh
     fc1_18_PVforecast 0.00 Wh
     fc1_19_PVforecast 0.00 Wh
     fc1_20_PVforecast 0.00 Wh
     fc1_21_PVforecast 0.00 Wh
     fc1_22_PVforecast 0.00 Wh
     fc1_23_PVforecast 0.00 Wh
   OLDREADINGS:
   READINGS:
     2020-12-31 17:25:33   Current_GridConsumption 1336 W
     2020-12-31 17:25:33   Current_PV      0 W
     2020-12-31 17:25:33   Next04Hours_PV  33 Wh
     2020-12-31 17:25:33   NextHour01_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour01_Time 31.12.2020 18:00:00
     2020-12-31 17:25:33   NextHour02_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour02_Time 31.12.2020 19:00:00
     2020-12-31 17:25:33   NextHour03_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour03_Time 31.12.2020 20:00:00
     2020-12-31 17:25:33   NextHour04_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour04_Time 31.12.2020 21:00:00
     2020-12-31 17:25:33   NextHour05_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour05_Time 31.12.2020 22:00:00
     2020-12-31 17:25:33   NextHour06_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour06_Time 31.12.2020 23:00:00
     2020-12-31 17:25:33   NextHour07_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour07_Time 01.01.2021 00:00:00
     2020-12-31 17:25:33   NextHour08_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour08_Time 01.01.2021 01:00:00
     2020-12-31 17:25:33   NextHour09_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour09_Time 01.01.2021 02:00:00
     2020-12-31 17:25:33   NextHour10_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour10_Time 01.01.2021 03:00:00
     2020-12-31 17:25:33   NextHour11_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour11_Time 01.01.2021 04:00:00
     2020-12-31 17:25:33   NextHour12_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour12_Time 01.01.2021 05:00:00
     2020-12-31 17:25:33   NextHour13_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour13_Time 01.01.2021 06:00:00
     2020-12-31 17:25:33   NextHour14_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour14_Time 01.01.2021 07:00:00
     2020-12-31 17:25:33   NextHour15_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour15_Time 01.01.2021 08:00:00
     2020-12-31 17:25:33   NextHour16_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour16_Time 01.01.2021 09:00:00
     2020-12-31 17:25:33   NextHour17_PVforecast 67.6 Wh
     2020-12-31 17:25:33   NextHour17_Time 01.01.2021 10:00:00
     2020-12-31 17:25:33   NextHour18_PVforecast 472.9 Wh
     2020-12-31 17:25:33   NextHour18_Time 01.01.2021 11:00:00
     2020-12-31 17:25:33   NextHour19_PVforecast 954.2 Wh
     2020-12-31 17:25:33   NextHour19_Time 01.01.2021 12:00:00
     2020-12-31 17:25:33   NextHour20_PVforecast 1621.3 Wh
     2020-12-31 17:25:33   NextHour20_Time 01.01.2021 13:00:00
     2020-12-31 17:25:33   NextHour21_PVforecast 1013.3 Wh
     2020-12-31 17:25:33   NextHour21_Time 01.01.2021 14:00:00
     2020-12-31 17:25:33   NextHour22_PVforecast 388.4 Wh
     2020-12-31 17:25:33   NextHour22_Time 01.01.2021 15:00:00
     2020-12-31 17:25:33   NextHour23_PVforecast 185.8 Wh
     2020-12-31 17:25:33   NextHour23_Time 01.01.2021 16:00:00
     2020-12-31 17:25:33   NextHour24_PVforecast 67.6 Wh
     2020-12-31 17:25:33   NextHour24_Time 01.01.2021 17:00:00
     2020-12-31 17:25:33   NextHour25_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour25_Time 01.01.2021 18:00:00
     2020-12-31 17:25:33   NextHour26_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour26_Time 01.01.2021 19:00:00
     2020-12-31 17:25:33   NextHour27_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour27_Time 01.01.2021 20:00:00
     2020-12-31 17:25:33   NextHour28_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour28_Time 01.01.2021 21:00:00
     2020-12-31 17:25:33   NextHour29_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour29_Time 01.01.2021 22:00:00
     2020-12-31 17:25:33   NextHour30_PVforecast 0.0 Wh
     2020-12-31 17:25:33   NextHour30_Time 01.01.2021 23:00:00
     2020-12-31 17:25:33   RestOfDay_PV    33 Wh
     2020-12-31 17:25:33   ThisHour_PVforecast 33.8 Wh
     2020-12-31 17:25:33   ThisHour_Time   31.12.2020 17:00:00
     2020-12-31 01:59:11   Today_Hour01_PVreal 4360 Wh
     2020-12-31 02:59:51   Today_Hour02_PVreal 0 Wh
     2020-12-31 03:59:21   Today_Hour03_PVreal 0 Wh
     2020-12-31 04:58:51   Today_Hour04_PVreal 0 Wh
     2020-12-31 05:59:31   Today_Hour05_PVreal 0 Wh
     2020-12-31 06:59:01   Today_Hour06_PVreal 0 Wh
     2020-12-31 07:59:41   Today_Hour07_PVreal 0 Wh
     2020-12-31 08:59:12   Today_Hour08_PVreal 0 Wh
     2020-12-31 09:59:52   Today_Hour09_PVreal 0 Wh
     2020-12-31 10:59:22   Today_Hour10_PVforecast 33.8 Wh
     2020-12-31 10:59:22   Today_Hour10_PVreal 0 Wh
     2020-12-31 11:58:52   Today_Hour11_PVforecast 168.9 Wh
     2020-12-31 11:58:52   Today_Hour11_PVreal 0 Wh
     2020-12-31 12:59:32   Today_Hour12_PVforecast 496.2 Wh
     2020-12-31 12:59:32   Today_Hour12_PVreal 0 Wh
     2020-12-31 13:59:02   Today_Hour13_PVforecast 810.7 Wh
     2020-12-31 13:59:02   Today_Hour13_PVreal 0 Wh
     2020-12-31 14:59:42   Today_Hour14_PVforecast 540.4 Wh
     2020-12-31 14:59:42   Today_Hour14_PVreal 0 Wh
     2020-12-31 15:59:34   Today_Hour15_PVforecast 185.8 Wh
     2020-12-31 15:59:34   Today_Hour15_PVreal 0 Wh
     2020-12-31 16:59:04   Today_Hour16_PVforecast 84.4 Wh
     2020-12-31 16:59:04   Today_Hour16_PVreal 0 Wh
     2020-12-31 17:25:33   Today_Hour17_PVforecast 33.8 Wh
     2020-12-31 17:25:33   Today_Hour17_PVreal 0 Wh
     2020-12-31 17:25:33   Today_SunRise   08:27
     2020-12-31 17:25:33   Today_SunSet    16:41
     2020-12-31 17:25:33   Tomorrow_PV     4771 Wh
     2020-12-31 17:25:33   Tomorrow_SunRise 08:27
     2020-12-31 17:25:33   Tomorrow_SunSet 16:42
     2020-12-25 17:43:31   currentForecastDev DWD_Forecast
     2020-12-26 09:50:40   currentInverterDev SMA pv=total_pac:kW etoday=etoday:kWh
     2020-12-25 18:29:51   currentMeterDev MyObis gcon=power:W
     2020-12-25 17:46:15   moduleArea      52
     2020-12-29 12:32:09   pvCorrectionFactor_10 0.50 (automatic)
     2020-12-29 13:00:09   pvCorrectionFactor_12 1.13 (automatic)
     2020-12-29 14:00:49   pvCorrectionFactor_13 1.50 (automatic)
     2020-12-29 15:00:19   pvCorrectionFactor_14 1.00 (automatic)
     2020-12-29 16:00:59   pvCorrectionFactor_15 0.50 (automatic)
     2020-12-29 17:00:29   pvCorrectionFactor_16 0.50 (automatic)
     2020-12-31 17:25:33   pvCorrectionFactor_Auto on
     2020-12-31 17:25:33   state           updated
Attributes:
   alias      PV_forecast
   room       PV
   verbose    4


Ich wünsche allen einen guten Rutsch in neue Jahr!

Gruß Markus

Wzut

Zitat von: Dode am 31 Dezember 2020, 17:27:30
Heute habe ich in der Vorhersage ein paar Fragezeichen anstelle Logos.
und im Log steht welche ID dem Modul fehlt, wäre schön wenn du die verraten würdest.
Ich habe gerade den nächsten unbekannten  :
49 => Nebel mit Reifansatz, Himmel nicht erkennbar
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Dode

Zitat von: Wzut am 01 Januar 2021, 08:02:58
und im Log steht welche ID dem Modul fehlt, wäre schön wenn du die verraten würdest.
Ich habe gerade den nächsten unbekannten  :
49 => Nebel mit Reifansatz, Himmel nicht erkennbar

Im LogFile steht nichts dazu obwohl verbose auf 4 steht. Ich habe es jetzt mal auf 5 gesetzt und werde mich melden wenn es nochmal vorkommt.