Servus zusammen,
mit meiner Anwendung komme ich gerade nicht klar: Wenn die gemeldete Leistung eines Sensors stabil, d.h. für ca 10 Sekunden, kleiner als 60W ist, dann soll das doif cmd_1 starten, sobald der Wert >100W ist cmd_2.
Ich dachte, ein waitsame 10 wäre, was ich brauche, aber der Sensor meldet beim Einschalten ziemlich schnell hintereinander z.B. 10W, gleich danach 20W und schon war Bedingung 1 zwei Mal wahr - nicht erst nach 10s...
Also wenn 10 Sekunden, nachdem Bedingung 1 zum ersten Mal erfüllt ist, die Bedingung immer noch erfüllt ist, dann soll cmd_1 starten... Wie mache ich das?
Moin The Grue,
verusch doch mal timerWithWait 1
und wait 10:0
.
Grüße
Jens
Du kannst die letzten Werte abfragen und vergleichen. Dazu muss man aber wissen, innwelchem Intervall die Werte kommen. Wenn die Werte ganz konstant bleiben, kann man mit Event-on-Change-reading und Alter des Readings arbeiten.
Wieso ist cmdpause nicht das passende Stichwort?
https://forum.fhem.de/index.php/topic,30847.0.html (https://forum.fhem.de/index.php/topic,30847.0.html)
Es reicht
DOIF ([Sensor:state] < 60) (...) DOELSEIF ([Sensor:state] > 100) (...) DOELSE ()
attr wait 10
Edit: Man muss noch den DOELSE-Fall angeben, damit das Device bei über 60 Watt die Möglichkeit hat den Zustand zu wechseln.
Danke für die vielen Antworten! Interessant wie unterschiedlich die sind :)
Ich probier' das am Wochenende aus.
Zitat von: Damian am 18 Februar 2025, 09:06:12Es reicht
DOIF ([Sensor:state] < 60) (...) DOELSEIF ([Sensor:state] > 100) (...) DOELSE ()
attr wait 10
Edit: Man muss noch den DOELSE-Fall angeben, damit das Device bei über 60 Watt die Möglichkeit hat den Zustand zu wechseln.
Vielen Dank! Endlich hatte ich die Gelegenheit das auszuprobieren, funktioniert :)