Hallo zusammen,
ich kämpfe etwas mit einer eigentlich simplen Anforderung, die ich gerne mit DOIF umsetzen würde.
Meine Wetterstation liefert eine Aussentemperatur. Solange es unter 1°C Aussentemperatur hat, würde ich gerne einmal pro Stunde einen ZWave Aktor für 15 Minuten einschalten.
Mein DOIF sieht so aus:
([Wetterstation:temperature] < 1 ) (set pushmsg msg 'Frostwächter: Heize für 15 min', set draussen.Elektrokasten.Sw05.01 on-for-timer 900)
Ich hab dann noch ein
attr do resetwait
sowie ein
attr wait 3600
hinzugenommen.
Es will so aber nicht. Was mach ich falsch?
Beste Grüsse, SnakeZZ
Hi,
hast Du sowas versucht -> https://commandref.fhem.de/commandref_DE.html#DOIF_Zeitangaben_nach_Zeitraster_ausgerichtet
trifft das nicht Deinen Anwendungsfall? Kombiniert mit Deiner Bedingung ...
Gruß Otto
Vielen Dank für die Hinweise!
Ich habs jetzt wie folgt gelöst:
([+01:00] and [Wetterstation:temperature] < 1 ) (set pushmsg msg 'Frostwächter: Heize für 15 min', set draussen.Elektrokasten.Sw05.01 on-for-timer 900)
in Kombination
mit einem
attr do always
Damit mach ich jede Stunde die Heizung für 15 Minuten an, sobald die Aussentemperatur unter 1°C liegt.
Gruss,
SnakeZZ
Hallo,
ZitatEs will so aber nicht. Was mach ich falsch?
bin auch nur DOIF Novice....
aber könnte es daran gelegen haben aus der commandref
Zitat
Sollen Verzögerungen innerhalb von Befehlsfolgen stattfinden, so müssen diese Kommandos in eigene Klammern gesetzt werden, das Modul arbeitet dann mit Zwischenzuständen.
Beispiel: Bei einer Befehlssequenz, hier: (set lamp1 on, set lamp2 on), soll vor dem Schalten von lamp2 eine Verzögerung von einer Sekunde stattfinden. Die Befehlsfolge muss zunächst mit Hilfe von Klammerblöcke in eine Befehlssequenz aufgespalten werden: (set lamp1 on)(set lamp2 on). Nun kann mit dem wait-Attribut nicht nur für den Beginn der Sequenz, sondern für jeden Klammerblock eine Verzögerung, getrennt mit Komma, definieren werden, hier also: wait 0,1. Damit wird lamp1 sofort, lamp2 eine Sekunde danach geschaltet. Die Verzögerungszeit bezieht sich immer auf den vorherigen Befehl.
Gruß
Hans-Jürgen
Zitat von: Deckoffizier am 20 Dezember 2018, 20:47:40aber könnte es daran gelegen haben
Nein.
@SnakeZZ
ABER: wenn es aus irgend einem Grund zur vollen Stunde nicht kalt genug ist oder der Frost zu stark ist, kommt dein DOIF an seine Grenzen.
Und:
Zitat von: SnakeZZIch bin zu blöd....
ist zumindest kein sinnvoller Betreff. "Stündliche Ausführung" oder so wäre treffender.
DOIF ([Wetterstation:temperature] < 1 ) (set pushmsg msg 'Frostwächter: Heize für 15 min', set draussen.Elektrokasten.Sw05.01 on-for-timer 900)
attr repeatcmd 3600
ohne do always