76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

ChrisH

Zitat von: kask am 08 März 2024, 19:33:34
Zitat#    2024-03-08 18:19:37  Current_Consumption 1174 W  <<-- das ist 2*587W und falsch da doppelt so hoch
#    2024-03-08 18:19:37  Current_GridConsumption 0 W <<-- korrekt
#    2024-03-08 18:19:37  Current_GridFeedIn 0 W      <<-- korrekt
#    2024-03-08 18:19:37  Current_PV      587 W      <<-- nicht wirklich korrekt, das ist der Wert der aus der Batterie kommt
#    2024-03-08 18:19:37  Current_PowerBatIn 0 W      <<-- korrekt
#    2024-03-08 18:19:37  Current_PowerBatOut 587 W  <<-- korrekt
#    2024-03-08 18:19:37  Current_SelfConsumption 587 W <<-- korrekt

Sicher das du die Variabelen richtig ausliest? da ist ziemlich oft 587 vertreten und auch 2*587 (wie du schon gemerkt hast)

dein
currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Export_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Import_Energy:kWh
sicher das das so Korrekt ist?
13036    Total Import Energy    Gekaufte Energie gesamt
13045    Total export energy    Energie Netzeinspeisung gesamt

ich denke da ist eher:

currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Import_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Export_Energy:kWh


Ich bin mir alles andere als sicher gewesen, aber das koennte der oder mindestens einer der Fehler sein.

Ich habe das kontrolliert und dein Vorschlag passt besser. Die Werte die ich auslese passen mit denen aus der isolar Cloud zusammen.

Muss ich jetzt noch Werte loeschen oder pendelt sich das von alleine ein?

Christian

DS_Starter

#136
Hallo Christian,

wenn du noch relativ am Anfang stehst kannst du

  set ... reset pvHistory

ausführen. Das setzt die gespeicherten Energiewerte zurück.
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

ChrisH

Ich habe das jetzt knapp 1 Monat aktiv mit vermutlich komplett falschen Werten.

Nach der Kontrolle habe ich den hier auch noch korrigiert:
currentInverterDev SH08rt01 pv=Total_DC_Power:W capacity=8000 etotal=Daily_PV_Generation:kWh
damit sieht auf einmal das  Bild auch viel besser aus.

Ich werde mal reseten, das kann nur besser werden.


DS_Starter

Dann am besten auch noch ein

 set <name> reset pvCorrection cached
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

300P

Hier mal ein Logauszug mit Verbose 5 bei MOSMIX-S wegen der Laufzeit bei Verwendung des "aktuell von Heiko optimierten DWD-Modules" (contrib)


Genutzte Hardware

Raspberry Pi 4 Model B Rev 1.1
ohne SD-Karte - aber mit SSD-Festplatte (1 TB - 3 Jahre alt)

              gesamt      benutzt    frei      gemns.  Puffer/Cache verfügbar
Speicher:      3,7Gi      687Mi      1,8Gi        68Mi      1,3Gi      2,9Gi
Swap:          99Mi          0B        99Mi

(MariaDB extern auf einer QNAP)

Internet : Anbindung per DSL mit 100 MBit

LOG-Auszug

2024.03.09 17:59:24 5: DWD: GetForecast START (PID 630357)
2024.03.09 17:59:24 5: DWD: GetForecast END
2024.03.09 17:59:24 5: DWD: IsDocumentUpdated BEFORE
2024.03.09 17:59:24 5: DWD: GetHeaders content_length: 38616989
2024.03.09 17:59:24 5: DWD: GetHeaders last_modified raw: Sat, 09 Mar 2024 16:23:25 GMT
2024.03.09 17:59:24 5: DWD: GetHeaders last_modified formatted: 2024-03-09 16:23:25
2024.03.09 17:59:25 5: DWD: IsDocumentUpdated docSize:38616989/0 docTime:2024-03-09 16:23:25Z/2024-03-09 16:23:25Z URL:https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz/https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.03.09 17:59:25 5: DWD: IsDocumentUpdated AFTER return update: 1, docSize: 38616989, docTime: 2024-03-09 16:23:25Z
2024.03.09 17:59:25 5: DWD: GetForecastStart dwdDocTime: 2024-03-09 16:23:25Z, dwdDocTimestamp: 1710001405,  dwdDocSize: 38616989, lastDocTimestamp: 1710001405, maxDocAge: 0, lastDocSize: 0 : update: 1
2024.03.09 17:59:25 5: DWD: GetForecastStart START (PID 669494): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.03.09 17:59:29 5: DWD: GetForecastDataUsingFile: data received, unzipping ...
2024.03.09 18:00:10 5: DWD: GetForecastDataUsingFile: unzipped 666223134 bytes, filtering ...
2024.03.09 18:00:11 5: DWD: GetForecastDataUsingFile: filtered 130167 bytes
2024.03.09 18:00:11 5: DWD: ProcessForecast START
2024.03.09 18:00:11 5: DWD: ProcessForecast: data unpacked, decoding ...
2024.03.09 18:00:11 5: DWD: ProcessForecast: parsing XML document
2024.03.09 18:00:11 5: DWD: ProcessForecast: extracting data
2024.03.09 18:00:12 5: DWD: ProcessForecast temp file /tmp/HKMzG8q62P forecast 3 size 18758
2024.03.09 18:00:12 5: DWD: ProcessForecast END
2024.03.09 18:00:12 5: DWD: GetForecastStart END
2024.03.09 18:00:12 5: DWD: GetForecastFinish START (PID 630357)
2024.03.09 18:00:12 5: DWD: GetForecastFinish temp file /tmp/HKMzG8q62P forecast 3 size 18758
2024.03.09 18:00:12 5: DWD: UpdateForecast: START
2024.03.09 18:00:12 5: DWD: RotateForecast: START 8 day(s) exist
2024.03.09 18:00:12 5: DWD: RotateForecast: END 8 day(s) remain
2024.03.09 18:00:14 5: DWD: UpdateForecast: END
2024.03.09 18:00:14 5: DWD: GetForecastFinish END

Laufzeit ; 17:59:24 - 18:00:14 Uhr 
(Also würde schon ein Timout von 60 Sekunden reichen)


Achtung:
=>> bei MOSMIX-S (ansonsten gibt es z.Z. ab und an mal Timoutmeldungen)
    unbedingt
    attr DWD downloadTimeout 120 (oder 60 wenns gut läuft s.o.)
    setzen

Und hier eine zugehörige DWD-Beispielkonfiguration:

defmod DWD DWD_OpenData
attr DWD DbLogExclude .*
attr DWD alertArea XYXYXYXYXYX
attr DWD downloadTimeout 120
attr DWD forecastDays 7
attr DWD forecastProperties SunUp, SunRise, SunSet, Rad1h, R101, RR1c, TTT, Tx, Tn, Tg, DD, FX1, RR6c, R600, RRhc, Rh00, ww, wwd, Neff
attr DWD forecastRefresh 1
attr DWD forecastResolution 1
attr DWD forecastStation dfghjkl12345
attr DWD forecastWW2Text 1
attr DWD group Umwelt
attr DWD icon rc_WEB
attr DWD room 021_DWD
attr DWD stateFormat Tomorrow Tmax fc1_Tx °C on fc1_date
attr DWD verbose 5


Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

DS_Starter

Danke 300P.
Vllt. wäre es gut eine Info im DWD Thread zu hinterlassen. Möglicherweise wäre es gut wenn Jens den Timeout noch höher ermöglichen würde.

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

TechnoTron

@DS_Starter

Wozu benötigt das Modul eigentlich die total Zähler beim Meter/Inverter bei der Batterie ist das aber nicht der Fall.

Hintergrund:
Ich habe Fronius Inverter inkl. den passenden Meter. Dieses liefert auch alle geforderten Werte.
Nun ist aber ein Victron dazu gekommen aus dem ich auch die Batteriewerte mit Modbus auslese. Nun ist es aber so, dass ich gerne alle Werte aus dem Victron beziehen würde, zwecks gleichzeitiger abtastrate. Victron liefert aber keine totalzähler.

Da ich jetzt auf Victron setzte bin ich jetzt auf deren API umgestiegen. Seit dem habe ich aber keine Abweichungswerte mehr, kann das sein?


Genutzte Hardware (Falls die Frage kommt):
Victron:
1 Stück MultiPlus-II (+Erweiterung 3 Phasig)
Fronius:
2 STück Fronius Symo 20.0-3-M
1 Stück Energy Meter ET340


Lg
Tobias
Das Käseparadoxon.

Käse hat Löcher.
Je mehr Käse desto mehr Löcher.
Je mehr Löcher desto weniger Käse.

kask

Bau dir einen Totalzähler selber. Habe auch Fronius + Victron. Nutze aber eine andere Art. Geht wie folgt aber auch.


folgenden Wert:
venus:N/xyzxyzxyz/battery/512/Dc/0/Power:.* { json2nameValue($EVENT, 'BAT512_Power_', $JSONMAP) }

Userreading:
BAT512_Power_total_in:BAT512_Power_value.* integral {ReadingsVal($name,"BAT512_Power_value","")>0?ReadingsVal($name,"BAT512_Power_value","")/3600000:0},
BAT512_Power_total_out:BAT512_Power_value.* integral {ReadingsVal($name,"BAT512_Power_value","")<0?ReadingsVal($name,"BAT512_Power_value","")/-3600000:0}

kask

Axo,

wieso hst du keinen Totalzähler für die Batterie?

Ich habe einen:
current     BatteryDevBatteryDummy pin=-pout:kW pout=total_pac:kW intotal=bat_loadtotal:kWh outtotal=bat_unloadtotal:kWh charge=chargestatus cap=kWh_total:kWh

Und ich habe abweichungen mit der VictronKiAPI.

ChrisH

Zitat von: DS_Starter am 09 März 2024, 19:18:39Dann am besten auch noch ein

 set <name> reset pvCorrection cached

Ich habe da noch mehrfach umgebaut und seit dem ich dem Wechselrichter noch 2 User Readings verpasst habe sieht die Grafik korrekt aus:

Added:
GridFeed {
  if ((ReadingsVal("SH08rt01","Export_Power",0) > 0))
  {
    return (ReadingsVal("SH08rt01","Export_Power",0))
  }
  else
  {
    return 0
  }
},

GridConsumption {
  if ((ReadingsVal("SH08rt01","Export_Power",0) < 0))
  {
    return (  ( ReadingsVal("SH08rt01","Export_Power",0)) * (-1) )
  }
  else
  {
    return 0
  }
},


dann ist das jetzt so definiert:
currentMeterDev SH08rt01 gcon=GridConsumption:W gfeedin=GridFeed:W contotal=Total_Import_Energy:kWh feedtotal=Total_Export_Energy:kWh



Generell: zu dem Bild:
Du darfst diesen Dateianhang nicht ansehen.

was ist die Idee hinter dem Haus -> Lampe Konstrukt?  Koennen da mehrere Konsumenten angegeben werden? Bei mir wird da "nur" zweimal der gleiche Wert angegeben.
Ich habe dazu (noch) nichts im Forum gefunden.

Christian

300P

Wenn Du Verbraucher definiert hast wird deren Verbrauch von der Lampe abgezogen und dein Gesamt-Verbrauch wird dann immer noch am Haus angezeigt
Die Verbraucher werden dann mit den jeweiligen Verbräuchen unterhalb angezeigt.
Ist aber auch über diverse Attribute steuerbar.Du darfst diesen Dateianhang nicht ansehen.
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

DS_Starter

@schwatter,

ich habe deinen Hinweis aufgenommen und den configCheck dahingehend geändert dass die Parameter wie im Attribut vorgesehen mit Komma getrennt ausgeschrieben werden:

forecastProperties -> TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet

Ist morgen früh im Update enthalten.

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

Dracolein

Guten Morgen Heiko,
der Winter ist rum, mancher (ich) krabbelt wieder aus seinem Loch  ;D 
Shice, ich hab ja einiges verpasst seit 10/2023...

Bei mir läuft noch
ZitatFVERSION: 76_SolarForecast.pm:v1.5.1-s28265/2023-12-07

Muss ich Änderungen nach einem Update vornehmen oder gibt es etwas Wichtiges zu beachten?
(currentRadiationAPI = solCast)
(currentWeatherDev = DWD, ich hatte irgendwo über DWD Änderungen gelesen, finds nicht mehr)

Ist Dein Modul weiterhin "manuell" zu updaten?
("wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm")
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

Guten Morgen,

oh je, da bist aber wirklich weit hinterher. Inzwischen ist das Modul ofiziell eingescheckt und wir sind Stand heute bei der Version v1.16.6 angekommen.
Manuelles Update ist nicht mehr nötig.

Es ist natürlich sehr viel passiert in der Zwischenzeit.
EIn Update sollte funktionieren. Dabei werden vermutlich viele Meldungen kommen, die zunächst mal ignorieren. Wenn das Device noch lebt einen "set ... plantConfiguration check" ausführen und schauen was da kommt.

Zum DWD gibt es eine optionale Entwicklungsversion in meinem contrib. Damit kann mit forecastRefresh=1 eine höhere Updategenauigkeit (MOSMIX_S) erreicht werden. Näheres dazu im DWD Thread.
Grüße,
Heiko
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

erwin

Hallo Heiko,
auf der Suche nach freezes bin ich über folgendes gestolpert:
NOTIFYDEV myEBUS,myEBUSDie Ursache ist klar: das ist meine Heizung und 2 consumer (HK, WW) haben den gleichen dev-name - aber unterschiedliche readings...
Bin mir unsicher ob das eine Auswirkung hat, falls nicht: Kosmetik... ;D
Patch-Vorschlag im Attachment.
l.g. erwin

Edit: oder noch besser mit notifyRegexpChanged aus fhem.pl, die kann das auch, wie ich gerade entdeckt habe!
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...