Knobelaufgabe | frequenter Strombezug

Begonnen von holle75, 28 Juni 2024, 17:29:24

Vorheriges Thema - Nächstes Thema

holle75

Ich habe diffpsec doch noch nicht verstanden und deswegen mal mitgeloggt.

mit:
defmod MAIL_WasserhahnOffenLogik_DOIF DOIF init {$_count=0}\
\
{\
if ([01:00-23:00] and [$SELF:leistung] > 500 and !defined($_on)) {$_count++;;$_on=1;; set_State("Start")} else {delete $_on};;\
if ($_count==1) {set_Exec("timer",7200,'if ($_count > 3) {set_State("Hahn offen")} else {set_State($_count)};;$_count=0')};;\
}
attr MAIL_WasserhahnOffenLogik_DOIF DOIF_Readings leistung:[Xtender_AC_out:Power__W:diffpsec]*3600
attr MAIL_WasserhahnOffenLogik_DOIF event_Readings leistung2:[Xtender_AC_out:Power__W:diffpsec]*3600

das event_Readings  um die Events auch außerhalb des DOIF´s zu sehen.... bekomme ich im Log

2024-07-18_09:41:19 MAIL_WasserhahnOffenLogik_DOIF leistung2: -864.666
2024-07-18_09:44:33 Xtender_AC_out Power__W: 261
2024-07-18_09:44:33 MAIL_WasserhahnOffenLogik_DOIF leistung2: 501.0264
2024-07-18_09:47:16 Xtender_AC_out Power__W: 702
2024-07-18_09:47:17 MAIL_WasserhahnOffenLogik_DOIF leistung2: 9735.2064
2024-07-18_09:47:35 Xtender_AC_out Power__W: 678
2024-07-18_09:47:35 MAIL_WasserhahnOffenLogik_DOIF leistung2: -4726.6056
2024-07-18_09:47:45 Xtender_AC_out Power__W: 254
2024-07-18_09:47:45 MAIL_WasserhahnOffenLogik_DOIF leistung2: -149840.8668
2024-07-18_09:57:27 Xtender_AC_out Power__W: 715
2024-07-18_09:57:27 MAIL_WasserhahnOffenLogik_DOIF leistung2: 2852.1252
2024-07-18_09:57:51 Xtender_AC_out Power__W: 637
2024-07-18_09:57:51 MAIL_WasserhahnOffenLogik_DOIF leistung2: -11506.734

Gedacht habe ich, dass diffpsec dir die abweichenden Spitzen von einem über Zeit nivellierten Wert ausgibt.

Im Log, verstehe ich den Zusammenhang dann nicht mehr.

Damian

Es sieht für mich so aus als wäre das Reading Power__W  dem Namen nach Leistung und keine Energie. Dann brauchst du die ganze Rechnerei nicht mit diffpsec und kannst das Reading gleich in der Abfrage angeben: ...[Xtender_AC_out:Power__W] > 500...
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

#32
Hallo Damian, Ja, ganz simpel, wieviel Strom in W GERADE verbraucht wird. Von meiner Anfangsproblematik kommend: Kann ich nicht diffpsec, diff, inc in irgendeiner Weise nutzen, dass ich die "Peaks" als Ergebnis bekomme? So hatte ich diffpsec verstanden ;)

Also Grundverbrauch, der über Nacht sehr gleichbleibend ist, plus X für eine bestimmte Zeit. Wobei mir hier X (ohne die Zeit) erstmal grob reichen würde. X würde ich dann gerne auswerten.

Sorry, euch hier mit meinem Missverständnis in die Irre geführt zu haben.


Damian

Warum willst du nicht direkt Power__W als aktuelle Leistungsaufnahme nehmen? Da sind doch alle "Peaks" drin?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

Weil ich den einen "Pumpen-Peak" abfangen muss. Der Grundverbrauch kann ja irgendwo liegen.

Ich kann also nicht auf irgendeinen aktuellen Verbrauch triggern. Schau mal hier -> https://forum.fhem.de/index.php?topic=138626.msg1316007#msg1316007 , da ist die Problematik beschrieben.

Und alle hier mitdenkenden haben insofern Recht, dass ich es mir unnötig schwer mache ;) ... Stromzähler an die Pumpe und es wäre wesentlich einfacher. Nur dass die Pumpe 100m entfernt vom Rest der Elektrik geschaltet wird und das stromliefernde Kabel weitergeht und noch andere Verbraucher versorgt. Und ich dort nicht einfach messen kann.

Deswegen fand ich den Ansatz die Differenz (als Peaks) als Trigger zu nehmen recht schlau. Nur braucht man dafür ein Device, was "Differenz kann"

Damian

OK. Das leistet die Definition nicht, sie zählt lediglich die Verbräuche über einem festen Wert, hier 500 Watt. Mit avg https://fhem.de/commandref_DE.html#DOIF_Reading_Funktionen  könntest du den Verbrauch über einen bestimmten Zeitraum mitteln und so zu einer Grundlast kommen und diese dann abziehen. Aber auch da stecken beliebig viele Tücken drin.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75