Hallo zusammen,
ich habe derzeit eine einfache Anwesendheitssimulation, die zu bestimmten Zeiten mehr als rudimentär einige Lichter mit Timer schaltet.
Dies wollte ich nun optimieren, indem ich die Ereignisse vergangener Tage "abspule"
Meine derzeitige Regel lautet (Als Ausschnitt)
Dies funktioniert, finde ich aber umständlich.
Frage: Wie bekomme ich denn in einer Rule hin, dass zu bestimmten Zeiten die unterschiedlichen Aktionen gefahren werden.
z.B.
Aber, dass geht so natürlich nicht :-(
VG
Jörg
ich habe derzeit eine einfache Anwesendheitssimulation, die zu bestimmten Zeiten mehr als rudimentär einige Lichter mit Timer schaltet.
Dies wollte ich nun optimieren, indem ich die Ereignisse vergangener Tage "abspule"
Meine derzeitige Regel lautet (Als Ausschnitt)
Code:
rule PresenceSimulator when Time cron "0 31 22 ? * MON" or Time cron "0 34 22 ? * TUE" or Time cron "0 02 23 ? * WED" or Time cron "0 17 22 ? * THU" or Time cron "0 58 22 ? * FRI" or Time cron "0 27 23 ? * SAT" or Time cron "0 09 22 ? * SUN" then if (Absence.state == ON){ var int Wochentag = now.getDayOfWeek pushNotification("Info", "Anwesenheitssimulation Tag: " + Wochentag) switch (Wochentag) { case (1): { pushNotification("Info", "Monday Anwesenheitssimulation !!") Lampe_OG.sendCommand(ON) timer1 = createTimer(now.plusSeconds(24)) [| Steckd_EG_Flur.sendCommand(OFF) Lampe_EG_Deko.sendCommand(OFF) timer2 = createTimer(now.plusSeconds(17)) [| Lampe_OG.sendCommand(OFF) ] Lampe_Haustuere.sendCommand(OFF) ] } case (2): { pushNotification("Info", "Tuesday Anwesenheitssimulation !!") ........
Frage: Wie bekomme ich denn in einer Rule hin, dass zu bestimmten Zeiten die unterschiedlichen Aktionen gefahren werden.
z.B.
Code:
rule PresenceSimulator when Absence.state == ON then var int Wochentag = now.getDayOfWeek pushNotification("Info", "Anwesenheitssimulation Tag: " + Wochentag) switch (Wochentag) { case (1): { pushNotification("Info", "Monday Anwesenheitssimulation !!") IF timeCron (xyz) then Lampe_OG.sendCommand(ON) If timeCron(dfv) then Steckd_EG_Flur.sendCommand(OFF) If timeCron(dfv) then Lampe_OG.sendCommand(OFF) usw case (2): { pushNotification("Info", "Tuesday Anwesenheitssimulation !!") ........
VG
Jörg
Kommentar