Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo kaizo, @all,

ich habe das von dir beschriebene Problem mit disable=1 + restart behoben.
V 0.67.2 liegt im contrib.

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

MadMax

Hallo Heiko,

in dem Modul speicherst du dir doch für die Consumer die Energieverbräuche mit Zeiträumen richtig?
Außerdem errechnest du den durchschnittlichen Energiebedarf pro Stunde für den Tag als Vorhersage oder?

Mein Plan ist es die Ladung der Batterie anhand der Verbraucherprognose zu steuern.
Also Aktuell ist das nicht so Tragisch aber ab Oktober/November wird es dann interessant die Verfügbare Energie so zu Verteil das Sie optimal gebraucht wird.
Ich kann Einfluss auf die Batterie, die Heizung und das E-Auto nehmen.
Mein Plan ist es, wenn ich weiß das das Auto immer ab etwa 16Uhr Lädt und voraussichtlich immer 10kwh benötigt würde ich die Planung der Batterieladung von der Warmwasseraufbereitung vor diesem Zeitraum Starten um nicht alles gleichzeitig um 16uhr zu haben.
Wenn ich diese Werde irgendwie in einem Dummy als Readings eintragen könnte wäre gut, weil im Forecast wären das dann zu viele Reading.
Denkst du das wäre Realisierbar?

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

Hallo Max,

ich denke schon dass man etwas hinbekommt.

Die Werte werden in einem Hash gesammelt. Wenn du aufrufst:


get ... pvHistory


bekommst du für jede Stunde des Tages (01 - 31 = Tag des Monats) die statistischen Werte angezeigt:


      12 => etotal: 47332506, pvfc: 2732, pvrl: 3236
            confc: 669, con: 444, gcon: 0, gfeedin: 2792
            batintotal: -, batin: -, batouttotal: -, batout: -
            wid: 2, wcc: 70, wrp: 2.00, temp: 21.1, pvcorrf: 0.86/5
            csmt01: 819, csme01: 34, minutescsm01: 16
            minutescsm02: 60
            csmt03: 322, csme03: 0, minutescsm03: 0


In der Hilfe ist die Legende erläutert, z.B. csmt01, csme01, minutescsm01 ist z.B. für den Verbraucher 01 die Energy Total (csmt01), der Verbrauch des Consumer der Stunde des angezeigten Tages (csme01) und die jweiligen Aktivminuten des Consumers in der Stunde.

Außerdem findest du in der "Stunde" 99 des Tages eine Zusammenfassung für den/die Consumer:


      99 => etotal: , pvfc: 43180, pvrl: 34392
            confc: 10339, con: 13001, gcon: 5362, gfeedin: 26753
            batintotal: -, batin: -, batouttotal: -, batout: -
            wid: , wcc: , wrp: , pvcorrf: , dayname: Mi
            cyclescsm01: 1, csme01: 631, hourscsme01: 2
            cyclescsm02: 1, hourscsme02: 5
            cyclescsm03: 0, csme03: 0


Man kann den Hash programmtechnisch abfragen mit

FHEM::SolarForecast::HistoryVal ($defs{<Name>}, $day, $hod, $key, $def);

Also wenn du den Wert Energy (csme01) vom Tag 20, der Stunde 10 des Verbrauchers 01 wissen willst, schreibst du:

FHEM::SolarForecast::HistoryVal ($defs{"SolCast"}, 20, 10, "csme01", 0);

"SolCast" ist dabei der Name des SolarForecast-Devices, $def der Default Rückgabewert wenn nichts gefunden wird.
Das geht auch in der FHEMWEB Kommandozeile:

{ FHEM::SolarForecast::HistoryVal ($defs{"SolCast"}, 20, 10, "csme01", 0) }

Damit kannst du dir einen Dummy befüllen, was auch immer.

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

MadMax

Cool, Danke, genau das mit pvHistory  hatte ich gesehen.
Danke für die Beschreibung, dann kann ich das einmal täglich laufen lassen.

csmt01 ist der Energiezähler? Also muss ich immer die Differenz zu der vorherigen Stunde bilden?

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

#1534
Ja csmt01 ist Energy total des Consumers.  csm=consumer, t=total, 01=consumer nummer
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: MadMax am 12 August 2022, 16:58:21
Hallo Heiko,

in dem Modul speicherst du dir doch für die Consumer die Energieverbräuche mit Zeiträumen richtig?
Außerdem errechnest du den durchschnittlichen Energiebedarf pro Stunde für den Tag als Vorhersage oder?

Mein Plan ist es die Ladung der Batterie anhand der Verbraucherprognose zu steuern.
Also Aktuell ist das nicht so Tragisch aber ab Oktober/November wird es dann interessant die Verfügbare Energie so zu Verteil das Sie optimal gebraucht wird.
Ich kann Einfluss auf die Batterie, die Heizung und das E-Auto nehmen.
Mein Plan ist es, wenn ich weiß das das Auto immer ab etwa 16Uhr Lädt und voraussichtlich immer 10kwh benötigt würde ich die Planung der Batterieladung von der Warmwasseraufbereitung vor diesem Zeitraum Starten um nicht alles gleichzeitig um 16uhr zu haben.
Wenn ich diese Werde irgendwie in einem Dummy als Readings eintragen könnte wäre gut, weil im Forecast wären das dann zu viele Reading.
Denkst du das wäre Realisierbar?

Gruß
Max
Hallo Max,
lädt man den Hausspeicher in der Übergangszeit/Winter nicht immer sofort und so schnell wie möglich?
Bei mir sammelt der immer alle Reste auf und wird teilweise auch schon am Tag benötigt.
Die Wärmepumpe und das E-Auto sollte man natürlich versuchen zeitlich zu trennen,
aber auch das geht im Normfall beim E-Auto mit nur PV-Laden von alleine.
Wenn man das E-Auto jedoch nur ab 16:00 Uhr laden kann, wird das meiste eh aus dem Netz kommen,
da bleibt selbst bei 18 kWp um die Uhrzeit nichts mehr übrig.

- Im ersten Bild ist mal ein guter Tag, da wurde der Hausspeicher (gelbe linie) aber nicht voll.
  Um ganze zyklen zu bekommen sammel ich da auch mal mehrere Tage.

- Das zweite Bild zeigt auch einen guten Tag, mit WP und um 15:00 Uhr etwas Auto laden. Dann kommt der Wirlpool und der Speicher ist komplett leer.
  Passend dazu sind im dritten Bild die Starkverbraucher dargestellt.
    rot = WP
    lila = E-Auto
    gelb = Pool

Ich überlege schon die Wallbox auf 22 kW frei zu schalten, dann geht das Laden schnell und ich muss nicht so häufig bei usseligem Wetter den Stecker dran machen.
Tipps für eine bessere Optimierung sind natürlich willkommen.

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 Christian,
Das Auto steht im Schnitt von 10:00 - 14:00 und dann von 16:00-7:00 vor der Tür.
Ich habe jetzt über 37kWp auf dem Dach da kommt auch im Herbst und Winter mal richtig viel Energie vom Dach und da will ich nicht unbedingt mit 10kw in den Speicher gehen.
Darum möchte ich mit der Prognose schauen ob ich den Speicher in den Zeitraum wo das Auto nicht da ist eventuell nur mit 4kw oder so Lade.
Außerdem brauche ich boch was zum Spielen jetzt wo ich über Modbus alles steuern kann  ;)

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

ch.eick

Zitat von: MadMax am 14 August 2022, 11:13:32
Hallo Christian,
Das Auto steht im Schnitt von 10:00 - 14:00 und dann von 16:00-7:00 vor der Tür.
Ich habe jetzt über 37kWp auf dem Dach da kommt auch im Herbst und Winter mal richtig viel Energie vom Dach und da will ich nicht unbedingt mit 10kw in den Speicher gehen.
Darum möchte ich mit der Prognose schauen ob ich den Speicher in den Zeitraum wo das Auto nicht da ist eventuell nur mit 4kw oder so Lade.
Außerdem brauche ich boch was zum Spielen jetzt wo ich über Modbus alles steuern kann  ;)

Gruß
Max
Hallo Max,
wie gesagt, das Gerät mit Priorität wäre dann bei mir das E-Auto und der Speicher würde sich den Rest nehmen, oder erst geladen werden, wenn das Auto weg ist.
Welcher Speicher dran hängt ist doch egal.
Bei der openWB könnte ich sogar noch dem Hausspeicher Vorrang geben, aber deshalb braucht es da keinen komplexe Steuerung drum herum.
Je einfaches es zu handhaben ist, umso besser.

Momentan lade ich das Auto mit einer dynamiscchen 70% Grenze in der der openWB und gebe zusätzlich dem Hausspeicher noch Vorrang.
Da genug Überschuss da ist wird dann mittags der Hausspeicher geladen und das Auto mit gedrosselter Leistung. Der Rest geht dann ins Netz.
Durch das gedrosselte Laden des Autos habe ich dann über mehrere tage noch platz im Accu, damit ich im Mittagshoch keine 70% Abregelung habe.
Okay, das kommt eh nicht so oft vor, aber auch brauch was zum Spielen :-)

Gestern sah das dann wie im Bild aus, wobei es Mittags wohl ein paar Wolken gegeben hat :-)
Das schwaze unter der blauen Linie ist dann quasi die Einspeisung ins Netz. Wenn ich da die Wallbox nicht gedrosselt hätte, wär das Auto sehr schnell voll.

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

Meine SMA Wallbox mach von sich aus auch Überschuss Laden, trotzdem greife ich zwischendurch ein.
Ich brauche doch auch nur was zum Spielen und ein Grund warum ich was an FHEM mache  ;D

Mit den Daten aus dem Forecas kann ich halt noch etwas mehr Spelen, bin aber am Wochenende noch gar nicht dazu gekommen.

Ich bin mal gespannt wie Autark ich aufs Jahr gesehen werden kann. Letztes Jahr im Winter wo noch kein E-Auto da war und der Speicher nur mit 4,6kw beschickt werden konnte gab es teilweise noch Einspeisung und das möchte ich diesen Winter unbedingt vermeiden. Lieber noch etwas Warmwasser über den Heizstab erzeugen.
Speise im Sommer schon genug ein, im Winter muss alles im Haus bleiben.

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

Dracolein

Zitat von: DS_Starter am 15 Mai 2022, 21:09:21
In meinem contrib liegt nun die V 0.61.0.
Umgesetzt ist nun die optionale Angabe der max. WR-Leistung mit dem Schlüssel "capacity".

currentInverterDev <Inverter Device Name> pv=<Readingname>:<Einheit> etotal=<Readingname>:<Einheit> [capacity=<max. WR-Leistung>]

Legt ein beliebiges Device und dessen Readings zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt dieses Device mit den entsprechenden Readings an.
Die Angabe von capacity ist optional, wird aber zur Optimierung der Vorhersagegenauigkeit dringend empfohlen.

    pv    Reading welches die aktuelle PV-Erzeugung liefert
    etotal    Reading welches die gesamte erzeugten Energie liefert (ein stetig aufsteigender Zähler)
    Einheit    die jeweilige Einheit (W,kW,Wh,kWh)
    capacity    Bemessungsleistung des Wechselrichters gemäß Datenblatt (max. möglicher Output in Watt)


    Beispiel:
    set <name> currentInverterDev STP5000 pv=total_pac:kW etotal=etotal:kWh capacity=5000

    # Device STP5000 liefert PV-Werte. Die aktuell erzeugte Leistung im Reading "total_pac" (kW) und die tägliche Erzeugung im Reading "etotal" (kWh). Die max. Leistung des Wechselrichters beträgt 5000 Watt.

Grüße,
Heiko

Beim Einsatz von 2 Wechselrichtern, wie gebe ich deren Stringkonfigurationen bei inverterStrings bzw deren Ausrichtung bei moduleDirection an ?
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

Zitat
Beim Einsatz von 2 Wechselrichtern, wie gebe ich deren Stringkonfigurationen bei inverterStrings bzw deren Ausrichtung bei moduleDirection an ?
Die Anzahl der WR ist erstmal nebensächlich. Du fasst die WR in einem Dummy zusammen der dann in currentInterDev eingetragen wird.
Ansonsten hast du recht ... man gibt die Stringkonfigurationen bei inverterStrings bzw deren Ausrichtung bei moduleDirection an.
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

kaizo

Hallo Heiko,

wie kann ich die Consumer-Prognose Resetten?
Ich bekomme seit ein paar Tagen unglaubliche Leistungswerte angezeigt, ich hoffe, die treten nicht ein  :)
FHEM 6.x  auf i3
1x Maplecun FS20, HM, 1x CUL f. WMbus
1x Arduino Nano für Lacrosse, 1x für Empfang WH1080,
1x Arduino Uno+Ethernet-Shield & Firmata für 1Wire
1x Raspberry Pi für Einbindung Junkers-Heizgerät mit HT3-Schnittstelle, div. Sonoff+EspEasy+Tasmota über MQTT

DS_Starter

Oje, du Armer  :)
Da muss man mal schauen ob irgendwo in der PV-History exorbitante Werte drin sind.
Man könnte zwar die ganze PV History resetten, würde ich aber erstmal nicht tun.

Wenn du "get ... pvHistory" aufrufst, bekommst du im Schlüssel

confc erwarteter Energieverbrauch (Wh)

den erwarteten Verbrauch (historisch) für jede einzelne Stunde eines Tages, bzw. in der "Stunde" 99 den Tageswert für  confc.

Suche nach unlogisch hohen Werten. Wenn du etwas gefunden hast, kann man das selektiv löschen.
Siehe dann "set ... reset ..." bzw. meldest dich wieder.

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,

soweit komme ich an alle Daten die ich möchte.

Zitat von: DS_Starter am 12 August 2022, 17:37:02
bekommst du für jede Stunde des Tages (01 - 31 = Tag des Monats) die statistischen Werte angezeigt:

Was Passiert denn in einem Monat mit 30 Tagen? Oder sogar nur 28?


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

Zitat
Was Passiert denn in einem Monat mit 30 Tagen? Oder sogar nur 28?

Da passiert nichts, d.h. es werden die Daten des Tages 30 in den Hash geschrieben und am nächsten Tag geht es mit 01 weiter.

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