Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

MadMax

Hallo Heiko,

ich dachte ich hätte mich an deine Datenstruktur gehalten, aber scheinbar habe ich das mit dem "valConsumerMaster" falsch verstanden.

Also hast du das mit dem Automatischen "lernen" der Vierbräuche für die Consumer nicht umgesetzt? Schade das hatte ich schon ein wenig Zeit eingesteckt und es funktioniert ja auch soweit.
Was wäre wenn man diese Daten separat ablegt?

- Erfassung Leistung ohne rpcurr-Reading
Ja das ist mir auch aufgefallen, ich denke hier müsste man nach Zeit X einfach die "Leistung" auf 0 setzen.

Das mit der Grafik hat mir so auch nicht richtig gefallen, hast du beide Zeile raus genommen oder nur die Abzüglich der Consumer?

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

#1246
Hallo Max,

Zitat
Also hast du das mit dem Automatischen "lernen" der Vierbräuche für die Consumer nicht umgesetzt? Schade das hatte ich schon ein wenig Zeit eingesteckt und es funktioniert ja auch soweit.
Doch, das war bereits umgesetzt. Schau mal mit get ... pvHistory die Daten an. Du findest für jede einzelne Stunde des Tages und für jeden einzelnen Verbraucher einen Schlüssel csmeXX.
Das ist der Energieverbrauch des Consumers in der Stunde. Zumindest wenn der Consumer seinen Energieverbrauch misst und mitteilt.
Deine Arbeit ist ja auch nicht umsonst  :), viele Anregungen werden bzw. sind schon übernommen, nur dieser Teil passt so und an dieser Stelle eben nicht.
Was bisher fehlte war die Registrierung der Tageszyklen und die Aktivminuten (umgerechnet in volle Stunden wegen Kompatibilität). Das ist gerade im Testlauf mit der aktuellen V. Darauf kann man dann aufbauen.

Zitat
- Erfassung Leistung ohne rpcurr-Reading
Ja das ist mir auch aufgefallen, ich denke hier müsste man nach Zeit X einfach die "Leistung" auf 0 setzen.
Naja das passiert ja de facto bereits wenn kein $delta gemessen wird. Dadurch pendelt der Consumer uU. ständig zwischen Verauch und Nichtverbraquch (bzw. On/Off). Das ist unschön und auch nicht richtig. Feste Zeit geht nicht weil das Abfrageinterval des Modul per Attr flexibel durch den User einstellbar ist.

ZitatDas mit der Grafik hat mir so auch nicht richtig gefallen, hast du beide Zeile raus genommen oder nur die Abzüglich der Consumer?
Die Beschriftung des Hauses ist erstmal komplett raus. Aber die Summe ohne  Abzüge der Consumer wäre an dieser Stelle doch nicht so schlecht. Dann braucht man die Speisung durch PV + Netz + Bat nicht im Kopf zusammenrechnen.  Nehme ich wieder rein ;)
Bei der Verteilung auf die Consumer könnte man wie geschrieben einen Consumer "sonstige" einführen, der den nicht zuordenbaren Betrag enthält. 

LG,
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

MadMax

Hallo Heiko,


Naja das passiert ja de facto bereits wenn kein $delta gemessen wird. Dadurch pendelt der Consumer uU. ständig zwischen Verauch und Nichtverbraquch (bzw. On/Off). Das ist unschön und auch nicht richtig. Feste Zeit geht nicht weil das Abfrageinterval des Modul per Attr flexibel durch den User einstellbar ist.


Da war doch aber vorher ein If mit dem die Berechnungnur ausgeführtwurde wenn der neue etotal sich von dem dem bei der letzten Berechnungun unterscheidet?

Ich habe das aktuell mit meiner Wärmepumpen und da pendelt das nicht.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax


Doch, das war bereits umgesetzt. Schau mal mit get ... pvHistory die Daten an. Du findest für jede einzelne Stunde des Tages und für jeden einzelnen Verbraucher einen Schlüssel csmeXX.
Das ist der Energieverbrauch des Consumers in der Stunde. Zumindest wenn der Consumer seinen Energieverbrauch misst und mitteilt.
Deine Arbeit ist ja auch nicht umsonst  :), viele Anregungen werden bzw. sind schon übernommen, nur dieser Teil passt so und an dieser Stelle eben nicht.
Was bisher fehlte war die Registrierung der Tageszyklen und die Aktivminuten (umgerechnet in volle Stunden wegen Kompatibilität). Das ist gerade im Testlauf mit der aktuellen V. Darauf kann man dann aufbauen.




Du meinst das mit erste Stunde und letzte Stende?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hallo Heiko,

im Anhang mal der Energieverbrauch von meinem (Wärmepumpen)Trockner, ich weiß nicht wie das bei einem anderen aussieht.
Dazu die epiec

epiecHist_2 => 1=425 2=678


Bei dem ist kein hoher Anfangsverbrauch und zum ende nochmal ein anstieg, wie gesagt ich weiß nicht wie sich das mit nicht Wärmepumpentrockner verhält.

Im Vergleich nochmal die Waschmaschine, am Anfang Vollgas und zum Ende fast nix mehr.
Da funktioniert bei mir die Aufzeichnung noch nicht, müsste man nochmal prüfen.

Die Spülmaschine sieht nochmal ganz anders aus.
Auch hier funktioniert die Aufzeichnung nicht.
Ich denke das liegt daran das die Mindestleistung unterschritten wird und damit das Gerät als ausgeschaltet gilt.

Zum Thema Energieverbrauch Berechnen.

if($data{$type}{$name}{consumers}{$c}{old_etotal} != $etot)
{

}

Ich habe mir das angeschaut, da hast du das Vergessen mit zu übernehmen.

Das soll kein nörgeln sein, ich denke nur das die Variante etwas genauer wäre und für unterschiedliche Geräte irgendwann einen halbwegs verlässlichen Mittelwert bilden wird.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

xerion

Hallo zusammen,

ich habe seit ein paar Tagen ein komisches Verhalten in Verbindung mit SolarForecast. Sobald abends die Dämmerung eintritt (19:00-20:00) fängt mein Fhem ständig an neu starten. Ich konnte es soweit einkreisen, wenn ich SolarForecast disable, dass das Problem vorbei ist. Hat jemand eine Idee was die Ursache sein könnte?

list:
Internals:
   FUUID      60a1089a-f33f-26f5-ba24-cf24b52c8610b279
   FVERSION   76_SolarForecast.pm:v0.56.1-s21735/2020-04-20 TESTING
   MODE       Automatic - next polltime: 19:50:49
   NAME       SolarForecast
   NOTIFYDEV  DWD_Forecast,SENEC,SENEC,SENEC
   NR         601
   NTFY_ORDER 50-SolarForecast
   STATE      updated
   TYPE       SolarForecast
   HELPER:
     INITCONTOTAL 6930771
     INITFEEDTOTAL 14572295
     PACKAGE    FHEM::SolarForecast
     VERSION    0.56.1
     VERSION_API unused
     VERSION_ErrCodes unused
     VERSION_SMUtils 1.23.1
   READINGS:
     2021-09-15 23:59:59   AllPVforecastsToEvent 0 Wh
     2021-09-14 19:49:39   Current_AutarkyRate 100 %
     2021-09-14 19:49:39   Current_BatCharge 100.00 %
     2021-09-14 19:49:39   Current_Consumption 2447 W
     2021-09-14 19:49:39   Current_GridConsumption 0 W
     2021-09-14 19:49:39   Current_GridFeedIn 2422 W
     2021-09-14 19:49:39   Current_PV      4877 W
     2021-09-14 19:49:39   Current_PowerBatIn 0 W
     2021-09-14 19:49:39   Current_PowerBatOut -8 W
     2021-09-14 19:49:39   Current_SelfConsumption 2447 W
     2021-09-14 19:49:39   Current_SelfConsumptionRate 50 %
     2021-09-14 19:00:00   LastHourGridconsumptionReal 0 Wh
     2021-09-14 19:00:00   LastHourPVforecast 1370 Wh
     2021-09-14 19:00:00   LastHourPVreal  0 Wh
     2021-09-14 19:49:39   NextHours_Sum01_PVforecast 43 Wh
     2021-09-14 19:49:39   NextHours_Sum02_PVforecast 43 Wh
     2021-09-14 19:49:39   NextHours_Sum03_PVforecast 43 Wh
     2021-09-14 19:49:39   NextHours_Sum04_ConsumptionForecast 14944 Wh
     2021-09-14 19:49:39   NextHours_Sum04_PVforecast 43 Wh
     2021-09-14 19:49:39   RestOfDayConsumptionForecast 15325 Wh
     2021-09-14 19:49:39   RestOfDayPVforecast 43 Wh
     2021-09-06 00:59:50   Today_Hour01_BatIn 72 Wh
     2021-09-06 00:59:50   Today_Hour01_BatOut 621 Wh
     2021-09-06 00:59:50   Today_Hour01_GridConsumption 1 Wh
     2021-09-06 00:59:50   Today_Hour01_GridFeedIn 13 Wh
     2021-09-06 00:59:50   Today_Hour01_PVreal 0 Wh
     2021-09-06 01:59:57   Today_Hour02_BatIn 1047 Wh
     2021-09-06 01:59:57   Today_Hour02_BatOut 620 Wh
     2021-09-06 01:59:57   Today_Hour02_GridConsumption 151 Wh
     2021-09-06 01:59:57   Today_Hour02_GridFeedIn 1 Wh
     2021-09-06 01:59:57   Today_Hour02_PVreal 0 Wh
     2021-09-06 02:59:55   Today_Hour03_BatIn 231 Wh
     2021-09-06 02:59:55   Today_Hour03_BatOut 345 Wh
     2021-09-06 02:59:55   Today_Hour03_GridConsumption 40 Wh
     2021-09-06 02:59:55   Today_Hour03_GridFeedIn 9 Wh
     2021-09-06 02:59:55   Today_Hour03_PVreal 0 Wh
     2021-09-06 03:59:55   Today_Hour04_BatIn 0 Wh
     2021-09-06 03:59:55   Today_Hour04_BatOut 356 Wh
     2021-09-06 03:59:55   Today_Hour04_GridConsumption 0 Wh
     2021-09-06 03:59:55   Today_Hour04_GridFeedIn 16 Wh
     2021-09-06 03:59:55   Today_Hour04_PVreal 0 Wh
     2021-09-06 04:59:58   Today_Hour05_BatIn 185 Wh
     2021-09-06 04:59:58   Today_Hour05_BatOut 594 Wh
     2021-09-06 04:59:58   Today_Hour05_GridConsumption 35 Wh
     2021-09-06 04:59:58   Today_Hour05_GridFeedIn 14 Wh
     2021-09-06 04:59:58   Today_Hour05_PVreal 0 Wh
     2021-09-06 05:59:56   Today_Hour06_BatIn 54 Wh
     2021-09-06 05:59:56   Today_Hour06_BatOut 777 Wh
     2021-09-06 05:59:56   Today_Hour06_GridConsumption 5 Wh
     2021-09-06 05:59:56   Today_Hour06_GridFeedIn 15 Wh
     2021-09-06 05:59:56   Today_Hour06_PVreal 0 Wh
     2021-09-06 06:59:56   Today_Hour07_BatIn 174 Wh
     2021-09-06 06:59:56   Today_Hour07_BatOut 4021 Wh
     2021-09-06 06:59:56   Today_Hour07_GridConsumption 26 Wh
     2021-09-06 06:59:56   Today_Hour07_GridFeedIn 20 Wh
     2021-09-06 00:00:20   Today_Hour07_PVforecast 26 Wh
     2021-09-06 06:59:56   Today_Hour07_PVreal 0 Wh
     2021-09-06 07:59:52   Today_Hour08_BatIn 3240 Wh
     2021-09-06 07:59:52   Today_Hour08_BatOut 2589 Wh
     2021-09-06 07:59:52   Today_Hour08_GridConsumption 23 Wh
     2021-09-06 07:59:52   Today_Hour08_GridFeedIn 55 Wh
     2021-09-06 07:59:52   Today_Hour08_PVforecast 569 Wh
     2021-09-06 07:59:52   Today_Hour08_PVreal 710 Wh
     2021-09-07 08:59:57   Today_Hour09_BatIn 1126031 Wh
     2021-09-07 08:59:57   Today_Hour09_BatOut 1979037 Wh
     2021-09-07 08:59:57   Today_Hour09_GridConsumption 588 Wh
     2021-09-07 08:59:57   Today_Hour09_GridFeedIn 1000 Wh
     2021-09-07 08:59:57   Today_Hour09_PVforecast 962 Wh
     2021-09-07 08:59:57   Today_Hour09_PVreal 410 Wh
     2021-09-07 09:59:57   Today_Hour10_BatIn 1123311 Wh
     2021-09-07 09:59:57   Today_Hour10_BatOut 1978791 Wh
     2021-09-07 09:59:57   Today_Hour10_GridConsumption 3004 Wh
     2021-09-07 09:59:57   Today_Hour10_GridFeedIn 0 Wh
     2021-09-07 09:59:57   Today_Hour10_PVforecast 2499 Wh
     2021-09-07 09:59:57   Today_Hour10_PVreal 0 Wh
     2021-09-07 10:59:55   Today_Hour11_BatIn 1120039 Wh
     2021-09-07 10:59:55   Today_Hour11_BatOut 1978787 Wh
     2021-09-07 10:59:55   Today_Hour11_GridConsumption 2924 Wh
     2021-09-07 10:59:55   Today_Hour11_GridFeedIn 0 Wh
     2021-09-07 10:59:55   Today_Hour11_PVforecast 3529 Wh
     2021-09-07 10:59:55   Today_Hour11_PVreal 0 Wh
     2021-09-14 11:59:54   Today_Hour12_BatIn 974850 Wh
     2021-09-14 11:59:54   Today_Hour12_BatOut 1792657 Wh
     2021-09-14 11:59:54   Today_Hour12_GridConsumption 1907 Wh
     2021-09-14 11:59:54   Today_Hour12_GridFeedIn 4276 Wh
     2021-09-14 11:59:54   Today_Hour12_PVforecast 5806 Wh
     2021-09-14 11:59:54   Today_Hour12_PVreal 7880 Wh
     2021-09-14 12:59:52   Today_Hour13_BatIn 974878 Wh
     2021-09-14 12:59:52   Today_Hour13_BatOut 1791974 Wh
     2021-09-14 12:59:52   Today_Hour13_GridConsumption 0 Wh
     2021-09-14 12:59:52   Today_Hour13_GridFeedIn 5596 Wh
     2021-09-14 12:59:52   Today_Hour13_PVforecast 6101 Wh
     2021-09-14 12:59:52   Today_Hour13_PVreal 7800 Wh
     2021-09-14 13:59:53   Today_Hour14_BatIn 974878 Wh
     2021-09-14 13:59:53   Today_Hour14_BatOut 1792864 Wh
     2021-09-14 13:59:53   Today_Hour14_GridConsumption 154 Wh
     2021-09-14 13:59:53   Today_Hour14_GridFeedIn 629 Wh
     2021-09-14 13:59:53   Today_Hour14_PVforecast 6247 Wh
     2021-09-14 13:59:53   Today_Hour14_PVreal 6740 Wh
     2021-09-14 14:58:52   Today_Hour15_BatIn 974878 Wh
     2021-09-14 14:58:52   Today_Hour15_BatOut 1791520 Wh
     2021-09-14 14:58:52   Today_Hour15_GridConsumption 5 Wh
     2021-09-14 14:58:52   Today_Hour15_GridFeedIn 2480 Wh
     2021-09-14 14:58:52   Today_Hour15_PVforecast 5849 Wh
     2021-09-14 14:58:52   Today_Hour15_PVreal 9060 Wh
     2021-09-14 15:59:33   Today_Hour16_BatIn 974878 Wh
     2021-09-14 15:59:33   Today_Hour16_BatOut 1794290 Wh
     2021-09-14 15:59:33   Today_Hour16_GridConsumption 190 Wh
     2021-09-14 15:59:33   Today_Hour16_GridFeedIn 522 Wh
     2021-09-14 15:59:33   Today_Hour16_PVforecast 5058 Wh
     2021-09-14 15:59:33   Today_Hour16_PVreal 9200 Wh
     2021-09-14 16:05:23   Today_Hour17_BatIn 974878 Wh
     2021-09-14 16:05:23   Today_Hour17_BatOut 1794278 Wh
     2021-09-14 16:05:23   Today_Hour17_GridConsumption 3 Wh
     2021-09-14 16:05:23   Today_Hour17_GridFeedIn 8 Wh
     2021-09-14 16:05:23   Today_Hour17_PVforecast 3838 Wh
     2021-09-14 16:05:23   Today_Hour17_PVreal 3940 Wh
     2021-09-14 16:05:23   Today_Hour18_PVforecast 2549 Wh
     2021-09-14 16:05:23   Today_Hour19_PVforecast 1370 Wh
     2021-09-14 19:49:39   Today_Hour20_BatIn 974878 Wh
     2021-09-14 19:49:39   Today_Hour20_BatOut 1791514 Wh
     2021-09-06 19:56:05   Today_Hour20_GridConsumption 0 Wh
     2021-09-06 19:56:05   Today_Hour20_GridFeedIn 0 Wh
     2021-09-14 19:49:39   Today_Hour20_PVforecast 258 Wh
     2021-09-14 19:49:39   Today_Hour20_PVreal 0 Wh
     2021-09-06 19:56:05   Today_Hour21_PVforecast 32 Wh
     2021-09-14 19:49:39   Today_PVforecast 44693 Wh
     2021-09-14 19:49:39   Today_SunRise   06:58
     2021-09-14 19:49:39   Today_SunSet    19:48
     2021-09-14 19:49:39   Tomorrow_ConsumptionForecast 288181 Wh
     2021-09-14 19:49:39   Tomorrow_PVforecast 24000 Wh
     2021-09-14 19:49:39   Tomorrow_SunRise 07:00
     2021-09-14 19:49:39   Tomorrow_SunSet 19:46
     2021-05-28 08:16:26   currentBatteryDev SENEC pin=AKKU-Charge:W pout=AKKU-Discharge intotal=AKKU-Charge_Total:Wh outtotal=AKKU-Discharge_Total:Wh charge=AKKU-Fuellstand
     2021-05-16 13:57:28   currentForecastDev DWD_Forecast
     2021-05-16 14:01:57   currentInverterDev SENEC pv=PV-Erzeugung:W etotal=Tagesertrag_Gesamt:kWh
     2021-05-17 13:23:09   currentMeterDev SENEC gcon=Bezug:W contotal=Strom_Bezug_Zaehler:kWh gfeedin=Einspeisung:W feedtotal=Strom_Einspeisung_Zaehler:kWh
     2021-05-16 14:02:03   currentRadiationDev DWD_Forecast
     2021-05-16 14:03:04   inverterStrings OstdachOben,WestdachMitte,OstdachUnten,WestdachOben,WestdachUnten
     2021-05-16 14:03:59   moduleDirection OstdachOben=E WestdachMitte=W moduleDirection OstdachUnten=E WestdachOben=W WestdachUnten=W
     2021-05-16 14:04:21   modulePeakString OstdachOben=2.50 WestdachMitte=3.0 OstdachUnten=3.9 WestdachOben=2.13 WestdachUnten=3.55
     2021-05-17 09:30:58   moduleTiltAngle OstdachOben=45 WestdachMitte=20 OstdachUnten=45 WestdachOben=45 WestdachUnten=20
     2021-09-14 19:49:39   nextPolltime    19:50:49
     2021-09-06 08:00:03   pvCorrectionFactor_08 1.38 (automatic - old factor: 1.30, cloudiness range: 3, days in range: 2)
     2021-09-06 08:00:03   pvCorrectionFactor_08_autocalc done
     2021-09-06 09:00:09   pvCorrectionFactor_09 1.39 (automatic - old factor: 1.08, cloudiness range: 4, days in range: 3)
     2021-09-06 09:00:09   pvCorrectionFactor_09_autocalc done
     2021-09-06 10:00:04   pvCorrectionFactor_10 1.20 (automatic - old factor: 1.14, cloudiness range: 4, days in range: 4)
     2021-09-06 10:00:04   pvCorrectionFactor_10_autocalc done
     2021-09-06 11:00:04   pvCorrectionFactor_11 1.16 (automatic - old factor: 1.16, cloudiness range: 4, days in range: 5)
     2021-09-06 11:00:04   pvCorrectionFactor_11_autocalc done
     2021-09-06 12:00:10   pvCorrectionFactor_12 1.23 (automatic - old factor: 1.25, cloudiness range: 5, days in range: 2)
     2021-09-06 12:00:10   pvCorrectionFactor_12_autocalc done
     2021-09-06 13:00:01   pvCorrectionFactor_13 1.06 (automatic - old factor: 1.08, cloudiness range: 5, days in range: 4)
     2021-09-06 13:00:01   pvCorrectionFactor_13_autocalc done
     2021-09-06 19:49:21   pvCorrectionFactor_14 0.84 (automatic - old factor: 1.20, cloudiness range: 6, days in range: 4)
     2021-09-06 19:49:21   pvCorrectionFactor_14_autocalc done
     2021-09-14 15:00:02   pvCorrectionFactor_15 1.13 (automatic - old factor: 1.05, cloudiness range: 4, days in range: 6)
     2021-09-14 15:00:02   pvCorrectionFactor_15_autocalc done
     2021-09-14 16:00:43   pvCorrectionFactor_16 1.13 (automatic - old factor: 1.02, cloudiness range: 4, days in range: 6)
     2021-09-14 16:00:43   pvCorrectionFactor_16_autocalc done
     2021-09-14 19:22:33   pvCorrectionFactor_17 0.82 (automatic - old factor: 0.99, cloudiness range: 5, days in range: 5)
     2021-09-14 19:22:33   pvCorrectionFactor_17_autocalc done
     2021-09-14 19:49:39   pvCorrectionFactor_Auto on
     2021-09-14 19:49:39   state           updated
Attributes:
   Wh/kWh     kWh
   disable    0
   event-on-change-reading .*
   graphicSelect forecast
   room       PV-Anlage
   weatherColor 255659
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

MadMax

Kannst du bitte ein Logauszug senden.
Danke
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

xerion

Diesen Eintrag finde ich mehrmals zu den Neustartzeiten:

Illegal division by zero at ./FHEM/76_SolarForecast.pm line 3648.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

DS_Starter

#1253
Hi Max,

ZitatDu meinst das mit erste Stunde und letzte Stende?
Für jede einzelne Stunde. Also wenn in Stunde 10 300Wh verbraucht wurden, wird das registriert. Für Stunde 11 zB. 200Wh. Gesamt gibt das 500Wh am Tag. Jetzt kommt noch die Anzahl der On-Zyklen dazu, z.B. 3. D.h. dann pro Zyklus wurden ca. 166Wh verbraucht und dieser Wert wird dann für die Planung des (einen!) Zyklus für den nächsten Tag veranschlagt.

ZitatIch habe mir das angeschaut, da hast du das Vergessen mit zu übernehmen.
Nein, nicht vergessen. Mit dem If wird das Reading nicht geändert wenn old_etotal identisch $etot ist, d.h. wie ich schon weiter vorn schrieb funktioniert das nur wenn die Änderung von  $etot hinreichend schnell gegenüber dem Abfrageinterval ist.
Bei meinem Test / Beispiel mit kleinen Verbrauchern war dann natürlich 0 angezeigt, obwohl der Verbraucher schon 15 MInuten an war. Und wenn man If weg lässt kommt eben das andere Problem...

zu den epiece
Zitat
epiecHist_2 => 1=425 2=678
Ich nehme an das sollen 425 bzw. 678 Wh sein. Das ist eben ein falscher Kontext. Richtig wäre wenn man die Summe von 1103Wh prozentual aufteilst ...

f=0.38 m=0 l=0.62
Die Summe muss immer 1 ergeben. Vllt. wird es klarer wenn du dir  %hef und die Erläuterung dazu ansiehst.
Zitat

Das soll kein nörgeln sein, ich denke nur das die Variante etwas genauer wäre und für unterschiedliche Geräte irgendwann einen halbwegs verlässlichen Mittelwert bilden wird.
Ich habe ja auch nicht gesagt, dass ich deine Bemühungen nicht schätze und nicht aufnehme. Nur so wie sie momentan im Code enthalten sind konnte ich sie nicht übernehmen weil sie im Kontext nicht passen. Aber ich mache mir natürlich Gedanken wie ich den Kern einarbeiten kann sobald ich die Voraussetzungen dafür geschaffen habe und die Tests erfolgreich sind. 

@xerion
ich konnte deinen Fehler zwar nicht direkt nachvollziehen, aber wenn dein WR z.B. 0.0 als Erzeugungswert bringt. Ich denke ich konnte das mit der neuen V im contrib nun verhindern.

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

DS_Starter

@Max, mit der neuen V im contrib wird im pvHistory der Key minutescsmXX erzeugt, der für jeden Consumer für jede Stunde die Betriebsminuten speichert. Die Berechnung des Keys hourscsmeXX in Stunde 99 erfolgt nun auf der Grundlage von minutescsmXX  und cyclescsmXX. Damit enthält dieser Key die durchschnittliche Aktivzeit (in Stunden) des Verbrauchers an einem Tag.
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 Max,

ich habe jetzt deine epieces Funktionalistät in die sub __calcEnergyPieces übernommen (wo sie hingehört) und die Abfrage des Consumerhash entsprechend umgebaut (ConsumerVal !).
Du findest es ab Zeile 2812 in der V im contrib.

Es sollte soweit erstmal das machen was deine Vorlage auch bringt. Teste das mal bitte im Vergleich.
Um weiter voranzukommen braucht es noch ein paar Überlegungen. Kannst du mir ein paar Erläuterungen geben was diese Schlüssel im Einzelnen bedeuten:


      epiecAVG => 1=0
      epiecAVG_hours => 1
      epiecHist => 2
      epiecHist_1 => 1=0
      epiecHist_10 =>
      epiecHist_1_hours => 1
      epiecHist_2 => 1=1.00000000000023
      epiecHist_2_hours => 1
      epiecHist_3 =>
      epiecHist_4 =>
      epiecHist_5 =>
      epiecHist_6 =>
      epiecHist_7 =>
      epiecHist_8 =>
      epiecHist_9 =>
      epiecHour => 1


Was ist in diesem Zusammenhang $epiecHistCounts = 10 der letztlich  epiecHist_X drinsteckt ?

Am Ende will ich das was du gebaut hast so implementieren, dass das Ergebnis der Realanalyse auf die Struktur von %hef matcht, aber die Initialwerte in %hef abhängig vom Verbrauchertyp überschreibt sofern es bessere Analysewerte gibt.
Einiges was jetzt noch diesbezüglich im Consumerhash liegt wird dann nach pvHistory wandern wenn ich durchblicke und einen Plan habe.

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

ch.eick

#1256
Zitat von: MadMax am 14 September 2021, 18:36:49
im Anhang mal der Energieverbrauch von meinem (Wärmepumpen)Trockner, ich weiß nicht wie das bei einem anderen aussieht.

Bei dem ist kein hoher Anfangsverbrauch und zum Ende nochmal ein Anstieg, wie gesagt ich weiß nicht wie sich das mit nicht Wärmepumpentrockner verhält.

Im Vergleich nochmal die Waschmaschine, am Anfang Vollgas und zum Ende fast nix mehr.
Da funktioniert bei mir die Aufzeichnung noch nicht, müsste man nochmal prüfen.

Die Spülmaschine sieht nochmal ganz anders aus.
Auch hier funktioniert die Aufzeichnung nicht.
Ich denke das liegt daran das die Mindestleistung unterschritten wird und damit das Gerät als ausgeschaltet gilt.
Hallo Max,
das geht mehr in die Richtung von "onintrusive Load Monitoring (NILM) da gab es auch mal einen Thread dazu. Das Thema interessiert mich aus, ist aber wohl ziemlich komplex.

Meine Überlegung gehen da in die Richtung eines HASH vergleichs auf Ähnlichkeit, was es wohl schon mal bei mp3s gegeben hat, um die mp3 Tags zu finden.
Nur fehlen mir da leider die tieferen grundlagen soetwas umzusetzen.

Mir schwebt da eine Funktion vor, die quasie entlang der Messwerte gleitet und dann mit den HASHs der vorher eingelernten Geräte vergleicht.

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

MadMax

Hallo Heiko,

das soll quasi wie ein rollierender Speicher funktionieren.

$epiecHistCounts = 10 gibt an wie viele Durchläufe im Speicher bleiben sollen, also in dem Fall epiecHist_1 bis epiecHist_10.
Würdest du den Wert auf 20 Stellen epiecHist_1 bis epiecHist_20.

epiecHist => xx ist im Prinzip der Index des Speicherbereichs der aktuell benutzt wird.

epiecHist_xx => 1=224 2=244.5 3=175 4=35.5 ist quasi vom Aufbau genau das gleiche wie epieces =>
epiecHist_xx_hours => 4 gibt an wie viele stunden dieser durchlauf gedauert hat oder halt wie viele einträge epiecHist_xx hat.

epiecAVG => 1=203.3 2=154.3
und
epiecAVG_hours => 2
enthalten die Durchschnittlichen Werte der unter $epiecHistCounts vorgegebenen Durchläufe.

Ich habe deine Version jetzt im einsatz, wo sehe ich dann die aufgezeichneten Werte?

Hallo Christian,

ja jetzt wo ich das google, so in der Art stelle ich mir das vor.
Die Funktion die ich gebastelt habe kann auch über einen Parameter mit einer höheren Auflösung betrieben werden, also nicht Stunde, sondern eventuell auch 1/4 Stunde.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

xerion

Zitat von: DS_Starter am 14 September 2021, 20:56:47
Hi Max,
Für jede einzelne Stunde. Also wenn in Stunde 10 300Wh verbraucht wurden, wird das registriert. Für Stunde 11 zB. 200Wh. Gesamt gibt das 500Wh am Tag. Jetzt kommt noch die Anzahl der On-Zyklen dazu, z.B. 3. D.h. dann pro Zyklus wurden ca. 166Wh verbraucht und dieser Wert wird dann für die Planung des (einen!) Zyklus für den nächsten Tag veranschlagt.
Nein, nicht vergessen. Mit dem If wird das Reading nicht geändert wenn old_etotal identisch $etot ist, d.h. wie ich schon weiter vorn schrieb funktioniert das nur wenn die Änderung von  $etot hinreichend schnell gegenüber dem Abfrageinterval ist.
Bei meinem Test / Beispiel mit kleinen Verbrauchern war dann natürlich 0 angezeigt, obwohl der Verbraucher schon 15 MInuten an war. Und wenn man If weg lässt kommt eben das andere Problem...

zu den epieceIch nehme an das sollen 425 bzw. 678 Wh sein. Das ist eben ein falscher Kontext. Richtig wäre wenn man die Summe von 1103Wh prozentual aufteilst ...

f=0.38 m=0 l=0.62
Die Summe muss immer 1 ergeben. Vllt. wird es klarer wenn du dir  %hef und die Erläuterung dazu ansiehst.Ich habe ja auch nicht gesagt, dass ich deine Bemühungen nicht schätze und nicht aufnehme. Nur so wie sie momentan im Code enthalten sind konnte ich sie nicht übernehmen weil sie im Kontext nicht passen. Aber ich mache mir natürlich Gedanken wie ich den Kern einarbeiten kann sobald ich die Voraussetzungen dafür geschaffen habe und die Tests erfolgreich sind. 

@xerion
ich konnte deinen Fehler zwar nicht direkt nachvollziehen, aber wenn dein WR z.B. 0.0 als Erzeugungswert bringt. Ich denke ich konnte das mit der neuen V im contrib nun verhindern.

Grüße,
Heiko

Problem ist behoben. Vielen Dank für die schnelle Hilfe.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

DS_Starter

Hallo Max,

heißt also $epiecHistCounts ist quasi eine Konstante für die Anzahl von zu berücksichtigenden Ontime-Zyklen die für eine Durchschnittsermittlung Laufzeit & Energieanteile verwendet wird wenn ich es richtig verstanden habe.
Dann verlege ich die zu den Konstanten gleich am Anfang des Moduls.

Zitat
Ich habe deine Version jetzt im einsatz, wo sehe ich dann die aufgezeichneten Werte?
Die Werte sind wie du es eingebaut hattest noch im Consumer Hash -> also get ... valConsumerMaster

Da es auch Verbraucher ohne Energiemessung gibt, darf die Ermittlung nur laufen wenn es ein gespeichertes $etot gibt, bzw.
wenn nicht (zB. auch wenn das Consumer Attr geändert wird) müssen die Keys im Consumer Hash gelöscht werden und die Standardverteilung muß wieder ziehen.
Ich baue das mal entsprechend ein.
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