zeitgesteuertes DOIF über Mitternacht funktioniert bei mir nicht

Begonnen von rallye, 03 Januar 2023, 12:59:18

Vorheriges Thema - Nächstes Thema

rallye

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
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Damian

Dann musst du zuerst den Fehlerfall hier posten, um das Problem zu verifizieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

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.
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto123

Zitat([AVR_X2800H:"^power:.off$"] and ([?22:00:00-03:00:00]))
überflüssige Klammern sind unnütz - manchmal auch schädlich. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

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!
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Sany

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
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

rallye

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!
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor