Hauptmenü

Wie auf stabilen Wert warten?

Begonnen von The Grue, 16 Februar 2025, 15:13:42

Vorheriges Thema - Nächstes Thema

The Grue

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?

dyna

Moin The Grue,

verusch doch mal timerWithWait 1 und wait 10:0.

Grüße
Jens

Per

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.

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Damian

#4
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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

The Grue

Danke für die vielen Antworten! Interessant wie unterschiedlich die sind :)
Ich probier' das am Wochenende aus.

The Grue

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 :)