DOIF, Wochentagssteuerung für den morgigen Tag...

Begonnen von Morgennebel, 27 August 2018, 12:18:11

Vorheriges Thema - Nächstes Thema

Morgennebel

Hi Damian,


ich nutze DOIF intensiv für Beleuchtungssteuerung im Innen- und Außenbereich.

Dabei funktionieren die [<Zeit>|Wochentage]-Angaben eigentlich immer perfekt, speziell triggert |7 auf Wochenende und auf Ferientag.

Nun gibt es aber Anwendungsfälle, bei denen mich interessiert, ob morgen (nicht heute) ein Wochenende oder Feiertag wäre. Z.B. sind wir dann alle länger auf, die Beleuchtung soll länger anbleiben, das Haus geht später in den Schlafenszustand, das Telephon darf länger anbleiben, WiFi bleibt länger an usw.

Vieles liesse sich über die genaue Angabe von Wochentagen lösen, so könnte [<Zeit>|Fre Sam] auf das spätere Ausschalten am Wochenende triggern, jedoch fange ich so nicht Ferientage (die können ja jeden Tag sein) ein...

Darf ich daher anregen, die Wochentagssteuerung bei Gelegenheit/Motivation/Lust zu erweitern, so daß sich entweder ein Offset dazurechnen liesse:
[<Zeit>|Wochentage + AnzahlTage] oder die Sytax zu erweitern, z.B.
[<Zeit>||WochentagMorgen]

also z.B. [09:30|7+2] (wenn übermorgen ein Wochenende/Feiertag ist) oder mit erweiterter Syntax z.B. [09:30||7] (wenn morgen Wochende/Feiertag ist)....?

Es wäre für mich (und hoffentlich auch andere) ein sehr hilfreiches Feature.

Falls es eine mir unbekannte Lösung mit den vorhandenen DOIF-Regeln gibt, reicht mir auch ein RTFM.

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Frank_Huber

Zitat von: Morgennebel am 27 August 2018, 12:18:11
Hi Damian,


ich nutze DOIF intensiv für Beleuchtungssteuerung im Innen- und Außenbereich.

Dabei funktionieren die [<Zeit>|Wochentage]-Angaben eigentlich immer perfekt, speziell triggert |7 auf Wochenende und auf Ferientag.

Nun gibt es aber Anwendungsfälle, bei denen mich interessiert, ob morgen (nicht heute) ein Wochenende oder Feiertag wäre. Z.B. sind wir dann alle länger auf, die Beleuchtung soll länger anbleiben, das Haus geht später in den Schlafenszustand, das Telephon darf länger anbleiben, WiFi bleibt länger an usw.

Vieles liesse sich über die genaue Angabe von Wochentagen lösen, so könnte [<Zeit>|Fre Sam] auf das spätere Ausschalten am Wochenende triggern, jedoch fange ich so nicht Ferientage (die können ja jeden Tag sein) ein...

Darf ich daher anregen, die Wochentagssteuerung bei Gelegenheit/Motivation/Lust zu erweitern, so daß sich entweder ein Offset dazurechnen liesse:
[<Zeit>|Wochentage + AnzahlTage] oder die Sytax zu erweitern, z.B.
[<Zeit>||WochentagMorgen]

also z.B. [09:30|7+2] (wenn übermorgen ein Wochenende/Feiertag ist) oder mit erweiterter Syntax z.B. [09:30||7] (wenn morgen Wochende/Feiertag ist)....?

Es wäre für mich (und hoffentlich auch andere) ein sehr hilfreiches Feature.

Falls es eine mir unbekannte Lösung mit den vorhandenen DOIF-Regeln gibt, reicht mir auch ein RTFM.

Danke, -MN
Das könntest du über ein holiday device realisieren.
Müsstest da nur zusätzlich jedes Wochenende eintragen.

Somit hättest du readings auch für morgen.

Gesendet von meinem Doogee S60 mit Tapatalk


Morgennebel

Hi Frank,


ich habe ein Holiday-Device und das wird von DOIF via $we (bzw. |7 oder |8) auch verarbeitet, aber ich kann bei DOIF nur einen Zeitstempel für HEUTE angeben.

Beispiel:


  • Wochentags 21:45 Außenlicht aus
  • Ferientag oder Wochenende 22:30 aus

geht mit DOIF ([21:45|8] or [22:30|7]) (set light off)

Jetzt schau Dir den letzten Freitag vor den Schulferien an oder den ersten Montag nach den Schulferien. Ich möchte an diesen Tagen anders schalten. Meines Wissens kann ich aber nicht

DOIF [21:45|[Holiday:tomorrow ne "none"] (set light off)

verwenden. Die $we-Variable und Holiday:tomorrow haben die gewünschten Informationen.

Ich wünsche mir eine Lösung, auf Holiday:tomorrow auch auf die Zeitangaben in DOIF zugreifen zu können...

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Frank_Huber

Zitat von: Morgennebel am 27 August 2018, 13:53:31
Hi Frank,


ich habe ein Holiday-Device und das wird von DOIF via $we (bzw. |7 oder |8) auch verarbeitet, aber ich kann bei DOIF nur einen Zeitstempel für HEUTE angeben.

Beispiel:


  • Wochentags 21:45 Außenlicht aus
  • Ferientag oder Wochenende 22:30 aus

geht mit DOIF ([21:45|8] or [22:30|7]) (set light off)

Jetzt schau Dir den letzten Freitag vor den Schulferien an oder den ersten Montag nach den Schulferien. Ich möchte an diesen Tagen anders schalten. Meines Wissens kann ich aber nicht

DOIF [21:45|[Holiday:tomorrow ne "none"] (set light off)

verwenden. Die $we-Variable und Holiday:tomorrow haben die gewünschten Informationen.

Ich wünsche mir eine Lösung, auf Holiday:tomorrow auch auf die Zeitangaben in DOIF zugreifen zu können...

Danke, -MN

wir wäre es mit:
DOIF ([21:45] and [Holiday:tomorrow] ne "none") (set light off)

Morgennebel

Danke,


ja, das kann gehen. Wird halt bei mehreren Schaltpunkten recht unübersichtlich, weil die !Holiday-Bedingung immer dazu kommt. Die kann ich ein DOIFReadings verpacken...

Workaround, aber funktionsfähiger Workaround :)

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Frank_Huber

Ja, ich geb Dir Recht, ein [21:45|9] wäre einfacher. :-)

mag Damian ja vielleicht mal ins Auge fassen.

9 = Tag vor "7"

Damian

Zitat von: Frank_Huber am 27 August 2018, 15:45:39
Ja, ich geb Dir Recht, ein [21:45|9] wäre einfacher. :-)

mag Damian ja vielleicht mal ins Auge fassen.

9 = Tag vor "7"

z. T. wird lediglich $we intern abgefragt und keine weiteren Readings. Abgesehen davon wäre 9 auch keine richtige Lösung, denn dann fehlt schon die Ziffer für das Gegenteil von 9 ;)

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per


Morgennebel

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Damian

Zitat von: Per am 27 August 2018, 16:54:13
Zwei Tage vor 7: 7-2
Ein Tag nach 7: 7+1

Abgesehen von der neuen Syntax, die man zunächst ins Modul einbauen müsste, würde ich intern nicht mehr $we abfragen können und damit wären holiday-Angaben nicht mehr abgedeckt, denn die stecken in $we.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Frank_Huber

Also für mich reicht die oben genannte Variante mit "and holiday:tomorrow" völlig aus.

Denke ein weiteres Problem wäre die Frage ob denn ein solcher Tag bei "8" inbegriffen wäre wenn unter der Woche...

Gesendet von meinem Doogee S60 mit Tapatalk


Damian

Zitat von: Frank_Huber am 27 August 2018, 21:50:40
Also für mich reicht die oben genannte Variante mit "and holiday:tomorrow" völlig aus.

Das ist auch die gängige Lösung. Alles andere wäre intern nicht einfach zu realisieren.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Morgennebel

Schade,

aber Danke für die Diskussion und das Feedback,

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA