Trigger im DOIF für den Wechsel von Arbeitstag nach Wochenend-/Feiertag

Begonnen von cwagner, 01 September 2023, 09:40:17

Vorheriges Thema - Nächstes Thema

cwagner

Klar, mit einem täglich z.B. um 12 Uhr ausgeführten DOIF kann man den Status der Systemvariablen $we (oder mit {IsWe("tomorrow")} allgemeingültig von Morgen) abfragen und dadurch dann Events oder Aktionen auslösen. Geht es aber nicht auch einfacher, weil doch DOIF offenbar interne Variablen wie z.B. $twe für den Tagesstatus von Morgen pflegt. Kann man den Wechsel des Wertes dieser DOIF-internen Variablen von 0 nach 1 und umgekehrt als Event in einem DOIF nutzen? Ich hoffe, ich habe meinen Vereinfachungsgedanken (also nicht mehr täglich ein Zeit-Event auslösen, um den Status dieser Variablen zu erfahren) rüberbringen können.

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Per


cwagner

würde mit ja durch den Blick auf "tomorrow" reichen, z.b. zur Anpassung von Rollo- oder Sicherheitszeiten an unterschiedliche Gewohnheiten am Wochenende bzw. vor einem Wochenende oder Wochenbeginn  (vor/nach Feiertagen).
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Bei den Wochentagangaben ist es immer so, dass man eine bestimmte Zeit als Triggerzeit angibt. Dann wird jeden Tag um die Zeit getriggert und geprüft, ob der Tag einem bestimmten Wochentag entspricht. Dieses tägliche Triggern kann man als unelegant ansehen, allerdings reden wir von einem Trigger pro Tag, der innerhalb von Millisekunden abgearbeitet wird - daher ist der zusätzliche Ressourcenverbrauch zu vernachlässigen.

Für morgen-Wochenende gibt es Kürzel: 9, MWE oder TWE


z. B. [12:00|MWE]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Danke Damian für die Erläuterung. Richtig,  ist nur einmal am Tag und damit systembelastungsseitig  vernachlässigbar. Den Hinweis auf den Filter "MWE" finde ich sehr hilfreich, weil sich damit Bedingungen verständlicher schreiben lassen. Danke
Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB