FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tarum am 24 Januar 2022, 20:40:09

Titel: DOIF alle 4 Wochen
Beitrag von: tarum am 24 Januar 2022, 20:40:09
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  ::)
Titel: Antw:DOIF alle 4 Wochen
Beitrag von: Damian am 25 Januar 2022, 07:38:31
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.
Titel: Antw:DOIF alle 4 Wochen
Beitrag von: tarum am 25 Januar 2022, 15:25:31
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...
Titel: Antw:DOIF alle 4 Wochen
Beitrag 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.
Titel: Antw:DOIF alle 4 Wochen
Beitrag von: Damian am 25 Januar 2022, 16:23:32
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.
Titel: Antw:DOIF alle 4 Wochen
Beitrag von: Beta-User am 25 Januar 2022, 16:27:11
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).