Hallo zusammen,
([05:00|12345] and [FK_Bad] eq "closed" and [Bad:temperature] < 18 and [KW_DOIF] =~ "Gerade-Woche") (set HT_Bad desired-temp 22.0) DOELSEIF ([05:25|12345]) (set HT_Bad desired-temp 5.0)
hatte dieses DOIF bis jetzt am laufen und wurde auch immer ausgeführt, nur hat sich jetzt mein Schichtplan geändert, auf 4 Wochen Frühdienst und dann 2 Wochen Spätdienst und immer so weiter. Wie könnte ich nun mein DOIF ändern oder neu schreiben so das die Heizung morgens 4 Wochen lang angeht und dann wieder 2 Wochen Pause macht ::)
Du hast nur einen Teil deiner bisherigen Lösung gepostet.
Da kann ich nur sagen, erweitere dein KW_DOIF, wie immer es aussieht, so, dass es wieder passt.
defmod KW_DOIF DOIF ([00:01|Mo] and $week % 2)
attr KW_DOIF cmdState Ungerade-Woche <br>KW {(getWeekNumber())}|Gerade-Woche <br> KW {(getWeekNumber())}
so sieht das KW_DOIF aus, komme aber nicht auf den Trichter wie...
ich würde es mit and $week % 4)
versuchen. ;-)
sollte dann bei jeder durch 4 teilbaren Woche triggern.
Zitat von: Frank_Huber am 25 Januar 2022, 16:03:40
ich würde es mit and $week % 4)
versuchen. ;-)
sollte dann bei jeder durch 4 teilbaren Woche triggern.
Wann es mit dem vier Wochen Rhythmus anfängt, was aber auch keiner.
Für sowas könnte man ggf. einfacher einen Calendar als Eingangsdevice für die Info anzapfen - hat man ggf. eh und kann dann auch auf (zusätzliche) "Sonderfälle" wie Urlaub (weg oder anwesend) oder "krank" einfacher reagieren (unabhängig davon, wie man den Timer dann letztendlich anlegen will).