Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Max,

ZitatLiegt das daran das der Verbraucher eine "Heizung" ist?
Nicht in deinem Fall. Zwar hat jeder Verbrauchertyp zunächst eine Standard mindest Laufzeiteinstellung. Aber sofern man den Schlüssel "etotal" angegeben hat, wird die individuelle On-Zeit und der Verbrauch während dieser Zeit erfasst und daraus eine Mindestlaufzeit ermittelt.

Die ermittelte mintime sieht man mit "get ... valConsumerMaster"  und dem Schlüssel "mintime =>" des Consumers.

ZitatAußerdem, wie setze ich ein alias bei den consumern?
In dem Consumerdevice (also zb. der Steckdose) setzt du das Attr alias.

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

Hallo Heiko,

Ich dachte jetzt ich kann ein alias im Forecast setzen, da hatte ich nicht dran gedacht.

Zu meiner Heizung, die hat mintime 900.
Kann das daran liegen weil die im Standby 4w hat und sich der Zähler leicht ändert?

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

ZitatKann das daran liegen weil die im Standby 4w hat und sich der Zähler leicht ändert?
Jepp, so ist es.
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

Ich habe das Modul noch ergänzt um Color.pm zu laden.
Sonst funktioniert das Modul evtl. nur noch wenn man auch HUEDevice nutzt.  ;)
Liegt im 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

MadMax

Hallo Heiko,

Zitat von: DS_Starter am 08 September 2021, 09:30:43
Jepp, so ist es.

Was hältst du von einer mindestleistung?
Also da du die scheinbar über die energy gelöst hast müsste man eine mindeständerung in Zeit X vorsehen oder?

Eventuell kann ich da auch mal nachschauen.

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

ZitatWas hältst du von einer mindestleistung?
Ich wußte dass du das jetzt fragen würdest.  ;)

Es würde sich anbieten den Schlüssel "etotal" zu erweitern. Es würde dann zB. so aussehen:

           etotal=total:kWh:4

Die "4" ist in dem Beispiel ein Mindestverbrauch von 4Wh pro Stunde ab dem der Verbraucher als in dieser Stunde aktiv gewertet wird.
Man sieht übrigens mit "get ... pvHistory"  im Tagesschlüssel 99=>hourscsmeXX die Anzahl der Aktivstunden des Verrauchers XX an dem entsprechenden 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

MadMax

#1221
Klar war das klar,

Du liest die Werte ja "zyklisch" ein, das heißt du müsstest die Zeit zwischen der Änderung und das delta erfassen und dann hochrenen. Das könntest du auch gleich als aktuelle Leistung ausgeben wenn die nicht definiert ist.

Könnte so in der Art gehen, habe was ähnliches für meine WP, der syntax stimmt sicher nicht ganz.

If(ReadingsVal("", "old_etotal", "") <> ReadingsVal("", "etotal", ""))
{
my $time = gettimeofday();
my $timespan = $time - ReadingsVal("", "time", "");
my $delta = ReadingsVal("", "old_etotal", "") - ReadingsVal("", "etotal", "");
my $leistung = (3600 / $timespan) * $delta;

Fhem("setreading old_etotal  ReadingsVal("", "etotal", ""));
Fhem("setreading  time ".$time);
}


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

#1222
Habe jetzt den etotal Schlüssel entsprechend ergänzt. Den Schwellenwert kann man optional angeben, dadurch ist die Version rückwärts kompatibel.

Im getter valConsumerMaster wird der Schwellenwert im Key powerthreshold  abgebildet. Der Schlüssel mintime wird sich dadurch langsam nach ein paar Tagen reduzieren wenn sich durch den Schwellenwert die registrierten Betriebsstunden minimieren.

Wenn es dich interessiert wie es implementiert ist, kannst du ab Zeile 2640 lesen.

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

Hallo Heiko,

Du erfasst das stundenweise?

Ein Beispiel bei meiner WP jetzt 11.45 anfängt für 45 Minuten Warmwasser zu produzieren.
Wir das dann als zwei Stunden erkannt?

Ist keine Kritik nur so Überlegungen.

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

ZitatDu erfasst das stundenweise?
Richtig. Das sieht man ja schon an der Granularität in der pvHistory. Die kleinste Zeiteinheit innerhalb eines Tages ist die Stunde. Das heißt aber nur dass ein Planungszeitraum in diesem Kontext abgeleitet wird (viele andere Dinge abseits der Consumerplanung natürlich ebenfalls). So soll zum Beispiel die Waschmaschine/der Trockner nicht vom Strom getrennt werden bevor die mintime abgelaufen ist. Das das Gerät sein Programm schon eine halbe Stunde früher beendet hat steht dabei außer Frage, stört aber nicht.

Wenn man weiter runter gehen wollte, müsste man die Granularität erhöhen, was bedeuten würde pro Tag 1440 (statt 24) Einträge in der pvHistory zu führen und auch auszuwerten, bzw. bei 31 Tagen Vorhaltung 44640 Einträge mitzuführen.
Die Komplexität würde sich enorm! erhöhen und dann käme tatsächlich schnell der Break Even Punkt wo man auf eine Datenbank umsteigen müßte was aber ausdrücklich nicht im Fokus dieses Moduls steht.
Dafür gibt es ja die sehr detaillierte Vorgehensweise in dem Projekt von Christian (ch.eick), wobei dann natürlich jeder selbst viel Energie reinstecken muß um es bei sich einzuführen.
Aber das kann ja jeder für sich entscheiden wieviel Aufwand und Genauigkeit er reinstecken will und muß.
Wie immer und überall ist es eine Überlegung der Verhältnisses von Aufwand und Nutzen den man ziehen möchte.

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,

Alles klar, das macht natürlich Sinn und ist auch verständlich das das den Rahmen sprengt.

Mein Plan war quasi zu gucken wann ich die WP nochmal starten kann um den direkten PV Strom für Warmwasser zu nutzen.
Dann muss ich mir die forecast Werte direkt anschauen um da eine Entscheidung zu treffen.
Ist auch ok so, wollte das nur hinterfragen und verstehen.
Danke für die ausführliche Erklärung.

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

dk3572

Hallo,

trotz das die Verbraucher aus sind, läuft die "Kette".

Wie kann man das beeinflussen?

Und ist es möglich die Schriftgröße einzustellen?

Danke und VG Dieter

DS_Starter

Hallo Dieter,

wenn meine Verbraucher aus sind, ist auch meine Kette still.
Poste mal bitte deine consumerXX Attribute und die consumerXX Readings.

Die Frage mit der Schriftgröße gebe ich mal an Max 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

MadMax

Hallo Dieter,

Hast du für die Verbraucher den Wert Power gesetzt?
Die Kette läuft wenn 0,5% dieser angegebenen Leistung verbraucht wird.

Für die Schriftgröße ist aktuell nichts eingebaut.
Ich kann ja mal schauen wie ich sowas umsetzen könnte.

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

#1229
Hallo Heiko,

ich habe mal ein wenig gebastelt ;)

Ab Zeile 2646 findest du eine Berechnung der Leistung anhand der Änderung von etotal wenn keine pcurr angegeben ist.

Ab Zeile 2679 findest du eine Auswertung ob der Verbraucher in Betrieb ist, in Abhängigkeit der der Mindestleistung die bei etotal angegeben wird oder 0,5% der angegebenen Nennleistung power.
Außerdem habe ich hier eine Minutengenaue Erfassung der Betriebsdauer für den Verbraucher eingebaut welche ich noch nicht komplett getestet habe da ich nicht weiß wie ich mir die Werte aus "acref" anzeigen lassen kann  :-\

Auch bei der flowGraphic habe ich was geändert, wir müssen die Werte ja nicht doppelt berechnen.

@Dieter, die Schriftgröße wird anhand des Attributs flowGraphicSize beeinflusst.
Wäre hier ein eigenes Attribut sinnvoll?

@Heiko, ich hoffe es ist ok das ich so in deinem Modul rumbastele?

Gruß
Max


Zeile 2701 war noch ein Fehler
$acref->{$c}{onTime} = sprintf("%.0f",(($acref->{$c}{startTime} - gettimeofday()) / 60));
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