Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

dk3572

Zitat von: DS_Starter am 15 April 2022, 10:52:25
Hi,

@Dieter, ich habe die Implementierung von Max leicht verändert übernommen -> siehe #1361  (Attribute)

Die Restlaufzeit wird aus dem Schlüssel mintime im Consumer Attribut, der Startzeit und damit der erwarteten Endezeit ermittelt.
Den aktuellen Wert sieht man mit "get ... valConsumerMaster" -> Schlüssel remainTime.

Die Berechnung kann aber nur dann durchgeführt werden wenn dem Modul die Schaltung der Verbraucher erlaubt wird, d.h. wenn in dem Consumer Attribut die Schlüssel on und off gesetzt sind.

schöne Ostern !

LG,
Heiko

Hallo Heiko,

auch mit diesen Einstellungen bleibt die Restlaufzeit bei 0.

TP_Waschmaschine icon=scene_washing_machine@orange type=washingmachine mode=can power=2500 pcurr=power:W etotal=total:kWh mintime=120 on=on off=off auto=auto_SolarForecast notbefore=08 notafter=20

VG Dieter

DS_Starter

Bei mir nicht.  ;)

Was zeigt dir denn gerade die Ausgabe von "get ... valConsumerMaster" ?
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

Zitat von: DS_Starter am 18 April 2022, 10:40:05
Bei mir nicht.  ;)

Was zeigt dir denn gerade die Ausgabe von "get ... valConsumerMaster" ?

Leider ist die Maschine jetzt fertig  ???
Als sie noch lief war remainTime => 0

DS_Starter

Naja, das nutzt mir nichts. Ich brauche zu der Zeit den Auszug aus valConsumerMaster.
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

Zitat von: DS_Starter am 18 April 2022, 11:10:26
Naja, das nutzt mir nichts. Ich brauche zu der Zeit den Auszug aus valConsumerMaster.

Da Frauchen fleißig am waschen ist, bitte schön:

01 => alias => Waschmaschine
      auto => 0
      autoreading => auto_SolarForecast
      avgenergy => 1131
      currpowerpercent => 0.78952
      epiecAVG => 1=429.33
      epiecAVG_hours => 1
      epiecEstart => 110915
      epiecHist => 1
      epiecHist_0 => 1=0
      epiecHist_0_hours => 0
      epiecHist_1 => 1=571 2=0
      epiecHist_10 => 1=686 2=4
      epiecHist_10_hours => 2
      epiecHist_1_hours => 1
      epiecHist_2 => 1=1
      epiecHist_2_hours => 1
      epiecHist_3 => 1=0
      epiecHist_3_hours => 0
      epiecHist_4 => 1=0
      epiecHist_4_hours => 0
      epiecHist_5 => 1=0
      epiecHist_5_hours => 0
      epiecHist_6 => 1=1127 2=37
      epiecHist_6_hours => 2
      epiecHist_7 => 1=186
      epiecHist_7_hours => 1
      epiecHist_8 => 1=299 2=667 3=1 4=0
      epiecHist_8_hours => 3
      epiecHist_9 => 1=278
      epiecHist_9_hours => 1
      epiecHour => 2
      epiecStartTime => 1650272943
      epieces => 1=565.50 2=565.50
      icon => scene_washing_machine@orange
      isConsumptionRecommended => 0
      lastMinutesOn => 0
      lastOnTime => 1650276548
      mintime => 120
      minutesOn => 9.13333333333333
      mode => can
      name => TP_Waschmaschine
      notafter => 20
      notbefore => 08
      numberDayStarts => 2
      offcom => off
      oncom => on
      onoff => on
      planstate => planned: 2022-04-18 08:00:00 - 2022-04-18 10:00:00
      planswitchoff => 1650268800
      planswitchon => 1650261600
      power => 2500
      powerthreshold => 0
      remainTime => 0
      retotal => total
      rpcurr => power
      startTime => 1650276000
      state => on
      type => washingmachine
      uetotal => kWh
      upcurr => W

DS_Starter

#1400
Hallo Dieter,

die Waschmaschine läuft zur Zeit außerhalb der on / off Zeiten:

      planstate => planned: 2022-04-18 08:00:00 - 2022-04-18 10:00:00
      planswitchoff => 1650268800
      planswitchon => 1650261600

Demzufolge kann das Modul ja keine Restlaufzeit ermitteln da die Endezeit bereits überschritten ist.

Das Modul wertet auch aus ob der Status des Verbrauchers "started" ist. Deiner ist nur "planned".
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 zusammen,

ich habe das Modul um einen Setter consumerImmediatePlanning erweitert:

* consumerImmediatePlanning <Verbrauchernummer>

Es wird das sofortige Einschalten des Verbrauchers zur aktuellen Zeit eingeplant. Eventuell im consumerXX Attribut gesetzte Schlüssel notbefore, notafter bzw. mode werden nicht beachtet.

    Beispiel:
    set <name> consumerImmediatePlanning 01


Mit diesem Setter kann man einen Verbraucher einschalten ohne die diversen Abhängigkeiten innerhalb des Moduls zu umgehen.
Es wird also zum Beispiel die Restlaufzeit angezeigt, was bei einem direkten Einschalten des Verbrauchers (ohne das Modul) nicht möglich ist. Auch der Ausschaltzeitpunkt wird entsprechend berechnet.

Liegt in 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

dk3572

Zitat von: DS_Starter am 18 April 2022, 21:21:19
Hallo zusammen,

ich habe das Modul um einen Setter consumerImmediatePlanning erweitert:

* consumerImmediatePlanning <Verbrauchernummer>

Es wird das sofortige Einschalten des Verbrauchers zur aktuellen Zeit eingeplant. Eventuell im consumerXX Attribut gesetzte Schlüssel notbefore, notafter bzw. mode werden nicht beachtet.

    Beispiel:
    set <name> consumerImmediatePlanning 01


Mit diesem Setter kann man einen Verbraucher einschalten ohne die diversen Abhängigkeiten innerhalb des Moduls zu umgehen.
Es wird also zum Beispiel die Restlaufzeit angezeigt, was bei einem direkten Einschalten des Verbrauchers (ohne das Modul) nicht möglich ist. Auch der Ausschaltzeitpunkt wird entsprechend berechnet.

Liegt in meinem contrib.

Hallo Heiko,

nach einem set <name> consumerImmediatePlanning 01 steht bei Planungsstatus weiterhin planned.
Laut deiner Aussage wird die Zeit nur bei started angezeigt.
Müsste ich zur Anzeige der Restlaufzeit, beim händischen Einschalten einer Maschine, auch ein set <name> consumerImmediatePlanning 01 machen?

Warum ist die Anzeige der Restlaufzeit eigentlich so kompliziert?
Maschine wird eingeschaltet (Verbrauch >0), Restlaufzeit beginnt von eingestellter mintime herunter zu zählen.

VG Dieter

DS_Starter

Moin Dieter,

Zitat
nach einem set <name> consumerImmediatePlanning 01 steht bei Planungsstatus weiterhin planned.
Wie gesagt, es wird Einschalten / AUsschalten sofort eingeplant. Natürlich muß es dem Modul erlaubt sein die Planung umzusetzen, d.h. die Schlüssel auto, on, off müssen entsprechend sitzen damit der Verbraucher geschaltet werden kann.

Zitat
Müsste ich zur Anzeige der Restlaufzeit, beim händischen Einschalten einer Maschine, auch ein set <name> consumerImmediatePlanning 01 machen?
So ist es gedacht.

Zitat
Warum ist die Anzeige der Restlaufzeit eigentlich so kompliziert?
Maschine wird eingeschaltet (Verbrauch >0), Restlaufzeit beginnt von eingestellter mintime herunter zu zählen.
Ja, klingt einfach.  ;)
Zunächst einmal hat nicht jeder Verbraucher auch ein Reading welches Verbrauch >0 anzeigen kann.
Weiterhin ist Verbrauch >0 kein Zeitpunkt, sondern ein Zustand. 
Dem Modul muss ein definierter Zeitpunkt mitgeteilt werden wann ein Verbraucher eingeschaltet wurde. Das passiert nicht
wenn der Verbraucher "am Modul vorbei" eingeschaltet wird. Außerdem muß das Modul in der Lage sein den Verbraucher auszuschalten wenn die Zeit abgelaufen ist, sonst macht die Restlaufzeit keinen Sinn. D.h. der Schlüssel off muß gesetzt sein.
Weiterhin verwendet die interne Optimierungsroutine die Planungsdaten um mehrere Verbraucherplanungen aufeinander abzustimmen. Deswegen ist es sinnvoll wenn die tatsächlichen Schaltungszeiten mit den Planungsdaten übereinstimmen.
Es gibt noch eine Reihe Nebenbedingungen die das Leben nicht einfacher machen. So kann zum Beispiel eine Verbrauchsanzeige von 0,4 oder 0,3 auch "aus" bedeuten weil der Verbraucher gerade im Standby ist. Wo setzt man dann die Grenze an ?

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

dk3572

Zitat von: DS_Starter am 19 April 2022, 10:50:04
Moin Dieter,
Wie gesagt, es wird Einschalten / AUsschalten sofort eingeplant. Natürlich muß es dem Modul erlaubt sein die Planung umzusetzen, d.h. die Schlüssel auto, on, off müssen entsprechend sitzen damit der Verbraucher geschaltet werden kann.
So ist es gedacht.
Ja, klingt einfach.  ;)
Zunächst einmal hat nicht jeder Verbraucher auch ein Reading welches Verbrauch >0 anzeigen kann.
Weiterhin ist Verbrauch >0 kein Zeitpunkt, sondern ein Zustand. 
Dem Modul muss ein definierter Zeitpunkt mitgeteilt werden wann ein Verbraucher eingeschaltet wurde. Das passiert nicht
wenn der Verbraucher "am Modul vorbei" eingeschaltet wird. Außerdem muß das Modul in der Lage sein den Verbraucher auszuschalten wenn die Zeit abgelaufen ist, sonst macht die Restlaufzeit keinen Sinn. D.h. der Schlüssel off muß gesetzt sein.
Weiterhin verwendet die interne Optimierungsroutine die Planungsdaten um mehrere Verbraucherplanungen aufeinander abzustimmen. Deswegen ist es sinnvoll wenn die tatsächlichen Schaltungszeiten mit den Planungsdaten übereinstimmen.
Es gibt noch eine Reihe Nebenbedingungen die das Leben nicht einfacher machen. So kann zum Beispiel eine Verbrauchsanzeige von 0,4 oder 0,3 auch "aus" bedeuten weil der Verbraucher gerade im Standby ist. Wo setzt man dann die Grenze an ?

LG,
Heiko

Die Schwelle müsste für jeden Verbraucher frei definierbar sein.
Bei meiner Waschmaschine z.B. >3 Watt, dann wird ein userrreading auf on gesetzt, Hourcounter beginnt zu zählen und ich kann die Restlaufzeit (mintime - Hourcounter) errechnen.
Das dies nicht auf die Minute genau ist, ist mir natürlich klar, aber die Anzeige in der Grafik wäre schon nett.  ;)

VG Dieter

andi11

evl machts hier mehr Sinn auf https://wiki.fhem.de/wiki/HourCounter zu setzen? Das kann schon einiges als Betriebsstundenzähler

dk3572

Zitat von: andi11 am 19 April 2022, 11:23:51
evl machts hier mehr Sinn auf https://wiki.fhem.de/wiki/HourCounter zu setzen? Das kann schon einiges als Betriebsstundenzähler

das habe ich ja getan.
Allerdings bringt das nicht die Anzeige hier in die Grafik  ;)

DS_Starter

ZitatDie Schwelle müsste für jeden Verbraucher frei definierbar sein.
Das gibt es bereits im Schlüssel etotal des Verbrauchers. Hilft aber nur bei Verbraucher die Energiedaten liefern und
ist ein Zustand, kein Zeitpunkt.

Die Laufzeit und die verbrauchten Energiemengen (sofern geliefert) werden intern in einer Datenbank gehalten und für den Forecast verwendet. Will damit sagen dass es noch Dinge im Modul gibt die aufeinander aufbauen.

Zitat
Bei meiner Waschmaschine z.B. >3 Watt, dann wird ein userrreading auf on gesetzt, Hourcounter beginnt zu zählen und ich kann die Restlaufzeit (mintime - Hourcounter) errechnen.
Wann wurde es auf on gesetzt ? Der Zustand ist bei jedem Abfragezyklus "on" ...
Was ist denn so schwer einfach die Möglichkeiten die das Modul bietet auch zu nutzen ?
Oder nimmst wie andi11 geschrieben hat das HourCounter Modul dafür.  ;)
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

Zitat von: DS_Starter am 19 April 2022, 11:55:29
Was ist denn so schwer einfach die Möglichkeiten die das Modul bietet auch zu nutzen ?
Oder nimmst wie andi11 geschrieben hat das HourCounter Modul dafür.  ;)

Es ist nicht schwer die Möglichkeiten des tollen Moduls zu nutzen, außer man hat die Verbraucher an Schaltsteckdosen mit Verbrauchsmessung.
Demnach kann ich meine Verbraucher nicht direkt schalten.
Wenn ich nun die Automatik des Moduls auf on stelle und ein set consumerImmediatePlanning mache, ist der Planungsstatus started und die Restlaufzeit ist 120 Min. Auch wenn der Verbraucher gar nicht läuft. Und es zeigt bei allen 120 Min, auch bei denen die eine mintime von nur 60 Minuten haben.

DS_Starter

Nabend Dieter,

Zitat
Es ist nicht schwer die Möglichkeiten des tollen Moduls zu nutzen, außer man hat die Verbraucher an Schaltsteckdosen mit Verbrauchsmessung.
Demnach kann ich meine Verbraucher nicht direkt schalten.
Das verstehe ich nicht. Kannst du erläutern wieso du die Verbraucher nicht direkt schalten kannst wenn man Schaltsteckdosen mit Verbrauchsmessung hat ?

Zitat
Wenn ich nun die Automatik des Moduls auf on stelle und ein set consumerImmediatePlanning mache, ist der Planungsstatus started und die Restlaufzeit ist 120 Min. Auch wenn der Verbraucher gar nicht läuft. Und es zeigt bei allen 120 Min, auch bei denen die eine mintime von nur 60 Minuten haben.
Der Planungsstatus ist "started" wenn das Modul das angegebene on-Kommando an das angegebene Device gesendet hat.
Wieso läuft der Verbraucher bei dir dann nicht ? Schaltet er nicht zuverlässig ?

Und die mintime-Zeit wird bei verschieden gesetzten Verbrauchern bei mir auch entsprechend angezeigt. siehe Anhang.
Allerdings ermittelt das Modul im Laufe der Zeit die durchschnittliche tatsächliche Laufzeit eines Verbrauchers (aus der History) und passt mintime dann entsprechend an. Man sieht es an dem Laufzeit-Schlüssel mintime aus "get ... valConsumerMaster".
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