Device letzte Schaltzeit speichern, aber wie?

Begonnen von lewej, 26 September 2017, 21:32:42

Vorheriges Thema - Nächstes Thema

lewej

Hallo Zusammen,

ich habe in der Küche einen Bewegungsmelder der unsere Zirkulationspumpe schaltet, wenn die Temperatur unter einen bestimmten Wert absinkt.

Jetzt möchte ich aber, das die Zirkulationspumpe erst wieder geschaltet wird, wenn der letzte Schaltzustand älter als 20min ist.

Wie könnte ich das lösen?

So sieht momentan mein doif aus:


(([05:30-22:00] and [Kueche_Bewegungsmelder:basicSet] eq "255") and ( ([SonoffTh10Kueche:DS18B20_Temperature] < [WARMWASSER_MINIMALTEMP]) or ([SonoffTh10Kueche:temperature_diff] > [WARMWASSER_DIFF])) ) (set HM_SW_2_03_ZirkulationsPumpe on-for-timer 2;set pushmsg message ZIRK_ON)


Gruss
lewej

betateilchen

Zitat von: lewej am 26 September 2017, 21:32:42
Wie könnte ich das lösen?

So sieht momentan mein doif aus:

Ohne DOIf und mit ReadingsAge()
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Damian

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

lewej

Zitat von: Damian am 26 September 2017, 21:49:01
https://fhem.de/commandref_DE.html#DOIF_cmdpause

Super genau, das habe ich gesucht, kann ich den Wert selber über einen Dummy einstellen, sprich im Dummy Wert 900 einstellen, und das cmdpause greift da drauf zu?

Damian

Zitat von: lewej am 26 September 2017, 22:06:48
Super genau, das habe ich gesucht, kann ich den Wert selber über einen Dummy einstellen, sprich im Dummy Wert 900 einstellen, und das cmdpause greift da drauf zu?

ja, gilt das Gleiche, wie beim wait-Attribut

Beispiel aus der Commandref zu wait:

Zitatattr my_doif wait 1:[mydummy:state]*3:rand(600)+100,Attr("mydevice","myattr","")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF