FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rallye am 03 Januar 2023, 12:59:18

Titel: zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: rallye am 03 Januar 2023, 12:59:18
Prosit Neujahr!
Ich habe einen AV-Receiver in FHEM eingebunden und möchte meine Stehlampen beim Abschalten des Receivers auf gedämmt stellen und nach 3 Minuten abschalten. Da ich manchmal vor Mitternacht und manchmal nach Mitternacht den Receiver abschalte habe ich das DOIF entsprechend mit [?22:00-03:00] definiert. Leider funktioniert die Automatik weder vor, noch nach Mitternacht. Derzeit habe ich eine funktionierende Automatik so definiert:
defmod StehlampenAus DOIF ([AVR_X2800H:"^power:.off$"] and [?22:00-23:50])(set Licht.Stehlampen scene Gedimmt [id=K6UQ6kRXds49MbO])(set Licht.Stehlampen off)
attr StehlampenAus group Licht-Steuerung
attr StehlampenAus room Server
attr StehlampenAus wait 5,180

setstate StehlampenAus cmd_2
setstate StehlampenAus 2023-01-03 12:01:35 Device AVR_X2800H
setstate StehlampenAus 2023-01-03 00:01:01 cmd 2
setstate StehlampenAus 2023-01-03 00:01:01 cmd_event AVR_X2800H
setstate StehlampenAus 2023-01-03 00:01:01 cmd_nr 2
setstate StehlampenAus 2023-01-03 12:01:35 e_AVR_X2800H_events dynamicEQRefLevelOffset: 0
setstate StehlampenAus 2023-01-02 22:36:21 mode enabled
setstate StehlampenAus 2023-01-03 00:01:01 state cmd_2
setstate StehlampenAus 2023-01-02 23:50:00 timer_01_c01 03.01.2023 22:00:00
setstate StehlampenAus 2023-01-02 23:50:00 timer_02_c01 03.01.2023 23:50:00

die mir den Zeitraum nach Mitternacht leider nicht abdeckt. Wie (ausser mit zwei Zeitfenstern - eines vor und eines nach Mitternacht) kann ich das elegant lösen?

Danke
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: Damian am 03 Januar 2023, 14:52:12
Dann musst du zuerst den Fehlerfall hier posten, um das Problem zu verifizieren.
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: Otto123 am 03 Januar 2023, 14:56:07
Ein gesundes neues Jahr,

laut commandref soll das aber genau so gehen:
https://fhem.de/commandref_modular_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen

https://forum.fhem.de/index.php?topic=106495.0

Gruß Otto
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: rallye am 03 Januar 2023, 15:29:11
Zitat von: Damian am 03 Januar 2023, 14:52:12
Dann musst du zuerst den Fehlerfall hier posten, um das Problem zu verifizieren.
ok, sieht so aus und funktioniert bei mir leider nicht:
defmod StehlampenAus DOIF ([AVR_X2800H:"^power:.off$"] and ([?22:00:00-03:00:00]))(set Licht.Stehlampen scene Gedimmt [id=K6UQ6kRXds49MbO])(set Licht.Stehlampen off)
attr StehlampenAus group Licht-Steuerung
attr StehlampenAus room Server
attr StehlampenAus wait 2,180

setstate StehlampenAus initialized
setstate StehlampenAus 2023-01-03 15:17:30 cmd 0
setstate StehlampenAus 2023-01-03 15:17:30 mode enabled
setstate StehlampenAus 2023-01-03 15:17:30 state initialized
setstate StehlampenAus 2023-01-03 15:17:31 timer_01_c01 03.01.2023 22:00:00
setstate StehlampenAus 2023-01-03 15:17:31 timer_02_c01 04.01.2023 03:00:00

Zitat von: Otto123 am 03 Januar 2023, 14:56:07
Ein gesundes neues Jahr,

laut commandref soll das aber genau so gehen:
https://fhem.de/commandref_modular_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen

https://forum.fhem.de/index.php?topic=106495.0

Gruß Otto
Genau das dachte ich auch mit folgendem Beispiel aus der Comandref:
Zeitintervalle über Mitternacht:

define di_light DOIF ([22:00-07:00]) (set light on) DOELSE (set light off)

wobei ich den DOELSE-Zweig nicht benötige, weil ich eben nur dumme und später abschalte. Und weiters ist bei mir der Trigger das Abschalten des Receivers. Die Zeitangaben (die im Beispiel der Comandref Trigger zu Beginn und Ende des Intervalls sind) dienen bei mir "lediglich" zur Abfrage.
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: Damian am 03 Januar 2023, 15:46:58
Dann warten wir noch auf ein Event in dieser Zeit, bisher ist ja noch nichts passiert, das DOIF ist ja erst von 15:17 Uhr
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: Otto123 am 03 Januar 2023, 16:05:14
Zitat([AVR_X2800H:"^power:.off$"] and ([?22:00:00-03:00:00]))
überflüssige Klammern sind unnütz - manchmal auch schädlich. ;)
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: rallye am 03 Januar 2023, 16:16:00
Ich habe das nun mit einem Zeitintervall von 16:00-03:00 ausprobiert und den Event-Monitor mitlaufen lassen - es hat wie gewünscht funktioniert. Weiss ich warum! 8) Nun habe ich es auf das Zeitintervall von 21:30-03:00 gesetzt und wir werden am Abend sehen. Vorläufig danke!
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: Sany am 03 Januar 2023, 16:28:36
Fehlt dann nicht noch do always oder ein DOELSE am Ende?
Wenn das DOIF wie jetzt auf initialized steht wird es wohl ziemlich sicher heute Abend/Nacht vom [AVR_X2800H:"^power:.off$"] ausgelöst und schaltet. Dann steht es in cmd_1.
Was passiert dann morgen Abend? vermutlich nix.

Ich würde do always setzen, dann löst es auch "wieder" aus, falls Du kurz nach Mitternacht nochmal Musik hören willst und alles angemacht hast....

Ich bin allerdings immer weiter weg vom DOIF-fhem-Modus und mache nutze die DOIF-perl-Variante, deshalb bitte testen und beobachten.



Gruß

Sany
Titel: Antw:zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht
Beitrag von: rallye am 13 Januar 2023, 23:03:08
Zitat von: Sany am 03 Januar 2023, 16:28:36
Fehlt dann nicht noch do always oder ein DOELSE am Ende?
Wenn das DOIF wie jetzt auf initialized steht wird es wohl ziemlich sicher heute Abend/Nacht vom [AVR_X2800H:"^power:.off$"] ausgelöst und schaltet. Dann steht es in cmd_1.
Was passiert dann morgen Abend? vermutlich nix.

Ich würde do always setzen, dann löst es auch "wieder" aus, falls Du kurz nach Mitternacht nochmal Musik hören willst und alles angemacht hast....

Ich bin allerdings immer weiter weg vom DOIF-fhem-Modus und mache nutze die DOIF-perl-Variante, deshalb bitte testen und beobachten.



Gruß

Sany

Danke! Genau das war es! Ein do always hat das Problem gelöst!