define at +00:00:15 usw. Verzweiflung

Begonnen von AK-868, 18 Februar 2016, 20:59:44

Vorheriges Thema - Nächstes Thema

AK-868

Hallo zusammen,

ich bastel jetzt schon eine weile herum, kann mir jemand einen Denkanstoß verpassen?

Ich habe eine Steckdose mit Leistungsmessung.

Jetzt möchte ich ausschalten wenn der verbrauch über 0,25 und unter 2 Watt liegt und nach 15 sec nochmal geprüft wird ob es passt. Soweit so gut nur.... Die zweite verzögerte Prüfung.

Folgendes klappt leider nicht. Hab auch schon mit watchdog rumprobiert...  >:(



define ntfyasTrockner notify senPwr_as_Trockner power:.* {\
if ("$EVENT" < "2" && "$EVENT" > "0.25") {\
define verzoegert_Trockneraus at +00:00:15 if (ReadingsVal("senPwr_as_Trockner power", "state", "2") < "2") {set as_Trockner on-for-timer 60;;;;setstate Trockner Fertig;;;;set DroidAndre ttsSay Der  Trockner ist Fertig}")};;\
}\
}
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Bennemannc

Hallo,

irgendwie verstehe ich die zweite Prüfung nicht, wenn Du abgeschaltet hast kann da nur 0 kommen, und das wäre unter 0,25W ... und dann ?
Ich würde für so etwas THRESHOLD nehmen. Da kann man die Schaltgrenze und die Hysterese einstellen. Ich nutze das um festzustellen ob die Waschmaschine noch läuft. Ich habe das auch schon mal genutzt, um abzuschalten wenn das IPad geladen war (unter 1W).
Das ReadingsVal kann so nicht richtig sein - ("sensPwr_as_Trockner","power","3") sollte passen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

AK-868

Hi, danke für die Antwort,

dann soll er ja eben gar nichts machen, wenn der Wert unter den 0,25 ist.
HMlan traffic sparen.

Threshold schau ich mir mal an. Danke für den Hinweis.

Ich hab den Trockner da ja nun dran hängen. Wenn ich den Aktor einschalte, werden auch gleich die Events generiert. Eben mit unter zwei Watt. Dann macht er wieder aus, deshalb die verzögerte Abfrage.

Gruß
Andre
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Sinus

Hallo,

veruche es doch mal mit einem DOIF  (ungetestet)

define DI_Trockner DOIF ([senPwr_as_Trockner:power] > 0.25 and [senPwr_as_Trockner:power] < 2) (set was auch immer Befehl1) (set was auch immer Befehl2) (set was auch immer Befehl3)
Wichtig ist das attr DI_Trockner wait 60 Dadurch wird erst ausgelöst wenn der Zustand eine Minute anhält.

Gruß
Sinus

ph1959de

Das seit Monaten funktionierende DOIF für eine PCA301 Zwischensteckdose:
([pca02:power]<8.5) (set pca02 off)

Dazu das wait Attribut auf die gewünschte Verzögerungszeit setzen ... führt dazu, dass:

    pca02 ausgeschaltet wird, wenn der Verbrauch für mehr als x Sekunden unter 8.5 Watt liegt

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

chris1284

#5
wie sieht den das aus dem notify erstellt at aus in fhem?
was sagt das log?
editiere lieber nicht in der cfg sondern über das webif. ich meine es sind syntax-fehler ( einige falsche / fehlende  ;  { und fehlende escapes )
Zitat
define ntf_Trockner notify senPwr_as_Trockner power:.* {
   if("$EVENT" < "2" && "$EVENT" > "0.25") {
      fhem("define at_Trockneraus at +00:00:15 { if(ReadingsVal(\"senPwr_as_Trockner power\", \"state\", \"2\") < \"2\") {
         set as_Trockner on-for-timer 60; setstate Trockner Fertig; set DroidAndre ttsSay Der Trockner ist Fertig}")};
   }
}

doif wäre sicher einfacher

CoolTux

Ich mache ja wirklich wenig mit DOIF, aber ich gebe meinen Vorrednern Recht. DOIF ist hier the best Practice


Internals:
   DEF        ([GeschirrspuelerVerbrauchsanzeige:power]>30) (set GeschirrspuelerBetriebDummy on) DOELSEIF ([GeschirrspuelerVerbrauchsanzeige:power]<1.5) (set GeschirrspuelerBetriebDummy off) DOELSEIF ([GeschirrspuelerVerbrauchsanzeige:power]<2.5) (set GeschirrspuelerBetriebDummy dry)

Attributes:
   wait       60:300:300
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

AK-868

Hi,

Kannst du mir erklären wofür die ganzen \ sind?
Mir noch nicht schlüssig.

Vielen DANK!

Grüße Andre

Zitat von: chris1284 am 22 Februar 2016, 07:40:07
wie sieht den das aus dem notify erstellt at aus in fhem?
was sagt das log?
editiere lieber nicht in der cfg sondern über das webif. ich meine es sind syntax-fehler ( einige falsche / fehlende  ;  { und fehlende escapes )
doif wäre sicher einfacher
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net