OH3 Timer
Verfasst: 7. Nov 2021 14:17
Hallo zusammen,
nächstes Problem beim Umstellen auf OH 3.
Wieso funktioniert der Timer nicht mehr?
Muß man auch da beim Umstellen auf OH3 etwas ändern?
Gruß Dirk
nächstes Problem beim Umstellen auf OH 3.
Wieso funktioniert der Timer nicht mehr?
Muß man auch da beim Umstellen auf OH3 etwas ändern?
Code: Alles auswählen
rule "Timer Beduftung starten"
when
Time cron "0 0 14 ? * MON-FRI" or // Montag bis Freitag 14 Uhr
Time cron "0 0 12 ? * SAT,SUN" or // Samstag und Sonntag 12 Uhr
Item Beduftunghauptschalter received command ON // Hauptschalter wurde geschaltet
then
var Integer iStart = 14 // Startzeitvariable
if(now.getDayOfWeek > 5) iStart = 12 // Falls Wochenende
if((receivedCommand === null && Beduftunghauptschalter.state != ON)
|| (receivedCommand == ON && now.plusHours(3).getHourOfDay <= iStart + 2)) // Siehe Text
return;
tAuto?.cancel // eventuell vorhandenen Timer entfernen
tAuto = createTimer(now.plusMillis(10), [| // Timer initialisieren
if(Beduftung_An_Aus.state != ON) { // Falls Beduftung aus
var Integer iOnTime = 10 // Default ON-Zeit
if(Beduftung_Timer_Anzeit.state instanceof Number) // falls gültiger Wert
iOnTime = (Beduftung_Timer_Anzeit.state as Number).intValue // übernimm ON-Zeit aus Item
Beduftung_An_Aus.sendCommand(ON) //Beduftung an
tAuto.reschedule(now.plusSeconds(iOnTime)) // Timer bis zum erneuten Ausschalten
} else { // ansonsten
var Integer iOffTime = 290 // Default OFF-Zeit
if(Beduftung_Timer_Auszeit.state instanceof Number) // falls gültiger Wert
iOffTime = (Beduftung_Timer_Auszeit.state as Number).intValue // übernimm OFF-Zeit aus Item
Beduftung_An_Aus.sendCommand(OFF) // Beduftung aus
tAuto.reschedule(now.plusSeconds(iOffTime)) // Timer bis zum erneuten Einschalten
}
])
end
rule "Timer Beduftung stoppen"
when
Time cron "0 0 21 * * ?" or // täglich um 21 Uhr
Item Beduftunghauptschalter received command OFF // Hauptschalter wurde geschaltet
then
Beduftung_An_Aus.sendCommand(OFF) // Beduftung abschalten
tAuto?.cancel // und Timer stopppen
end
Gruß Dirk