AT / DOIF - zu bestimmten Tagen / Zeiten

Begonnen von masterpete23, 12 April 2023, 07:55:10

Vorheriges Thema - Nächstes Thema

masterpete23

Hi,

es geht um die Internetkontrolle der Kids und der Hilfe durch WLAN deaktivierung.

durch dummys und verknüpfte ATs schalte ich derzeit.
Definition
AT_KindsHandyInternet_an at *06:40:00 { fhem("set KindHandyInternet on") }bzw
AT_TimsHandyInternet_aus at *20:00:00 set TimHandyInternet off
Nun möchte ich je nach Gerät und Tag an anderen Zeiten schalten - am liebsten noch die Wochenenden / Ferien berücksichtigen - dazu habe ich schon code im Einsatz:
Rollo_auf_WE at *09:15 { if ( ($we) || (Value("NI_Ferientag")) ) { fhem "set Kueche_Rollo 100" } }
Gewünscht ist sowas in der der Art

Wenn WE / Ferien dann schalte um 8 uhr das Gerät an.
Wenn "normaler Tag" schalte es um 7 an.

Wenn der folgende Tag Samstag, Sonntag oder Ferien ist, dann schalte das Gerät um 23:55 Uhr aus
wenn der folgende Tag ein normaler Tag ist, schalte um 20:15 Uhr aus.

Könnt ihr mir auf die Sprünge helfen?



Leider verzweifel ich an

RalfRog

Kennst du das Modul holiday?
Im File ./FHEM/Ferien.holiday können Ferien und Feiertage definiert werden und als Status abgefragt werden.

FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

masterpete23

Zitat von: RalfRog am 12 April 2023, 08:55:44Kennst du das Modul holiday?
Im File ./FHEM/Ferien.holiday können Ferien und Feiertage definiert werden und als Status abgefragt werden.



Danke dir. Ja das ist mir bekannt.
Mir geht es hier darum wie ich auf "morgen" prüfen kann und wie ich schlank in "eine" Zeile die Abfragen bekommen kann mit & | || && - da stehe ich gerade aufm Schlauch

betateilchen

#3
Zitat von: masterpete23 am 12 April 2023, 09:49:31Danke dir. Ja das ist mir bekannt.
Mir geht es hier darum wie ich auf "morgen" prüfen kann

holiday devices liefern auch ein reading für tomorrow

Und arbeiten mit Value() ist grundsätzlich gruslig.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

masterpete23

Zitat von: betateilchen am 12 April 2023, 10:20:15
Zitat von: masterpete23 am 12 April 2023, 09:49:31Danke dir. Ja das ist mir bekannt.
Mir geht es hier darum wie ich auf "morgen" prüfen kann

holiday devices liefern auch ein reading für tomorrow

Und arbeiten mit Value() ist grundsätzlich gruslig.

Ah. und wie hier beschrieben, kann ich mir die Daten aus meinem NI_Ferien Calendar ical url http://i.cal.to/ical/68/niedersachsen/ferien/eefc5612.14c743ca-e2de20a0.ics 86400 rausholen und dann auch mit dummy und dadurch mit tommorrow und we etc arbeiten.
Dann muss ich nur noch schauen, wie ich das mit den Zeiten abgrenze.

Und arbeiten mit Value() ist grundsätzlich gruslig.Das kommt davon, wenn man mit codeschnipseln arbeitet ohne sie zu verstehen - sorry. Wo kann ich nachlesen, wie ich es besser machen kann?

betateilchen

Zitat von: masterpete23 am 12 April 2023, 11:22:48rausholen und dann auch mit dummy und dadurch mit tommorrow und we etc arbeiten.
Dann muss ich nur noch schauen, wie ich das mit den Zeiten abgrenze.

Geht bestimmt auch ohne dummy, wenn man das Prinzip der Calendar-devices verstanden hat. Mach es Dir nicht selbst zu kompliziert.

Zitat von: masterpete23 am 12 April 2023, 11:22:48Wo kann ich nachlesen, wie ich es besser machen kann?

7348 Mal im Forum erklärt.
Der bessere Weg ist immer, mit Abfragen auf readings zu arbeiten anstatt mit internals.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!