DOIF mit Sonnenuntergang und TV schaltet nicht

Begonnen von Fridolin, 23 August 2025, 13:34:27

Vorheriges Thema - Nächstes Thema

Fridolin

Moin, folgendes DOIF schaltet nicht.
([TV40:"^on$"] and [{sunset(-3600)}]) (set L1 on) (set L2 on) (set L3 on) DOELSE (set L1 off) (set L2 off)  (set L3 off)
Ich habe den Trigger für den TV aus dem Event monitor als DOIF generieren lassen und den Rest selbst hinzugefügt. Danach über das + neben der Eingabezeile eingefügt und nach Execute wurde es ohne Fehler akzeptiert.
sunset und sunrise sind incl.timer für 0:05 Uhr gesetzt und wird auch passend angezeigt.
Im DOIF ist der STATE cmd_2, und der timer_01_c01 zeigt 23.08.2025 20:20:08 an. So war es gestern auch aber es hat nicht geschaltet.
Im Logfile sind keine Einträge dazu.
Als ich es zuvor ohne sunset hatte funktionierte es. ([TV40:"^on$"]) (set L1 on).......)

Gruß, Fridolin
FHEM zuerst auf FB dann Raspi, HM, FS20

juemuc

Hallo Fridolin

[{sunset(-3600)}]
ist keine Bedingung. Dumusst z.B. abfragen, ob die aktuelle Uhrzeit größer als dieser Wert ist.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Damian

#2
Du kombinierst einen Zeittrigger mit einem Ereignistrigger mit einer "and"-Bedingung. Das funktioniert nicht, denn beider Angaben sind niemals zum gleichen Zeitpunkt wahr und damit kann deine ganze Bedingung niemals wahr werden.

Du kannst deinen Ereignistrigger mit einem Zeitintervall kombinieren, denn das Zeitintervall ist über einen längeren Zeitraum wahr.

([TV40:"^on$"] and [?{sunset(-3600)}-06:00])
Triggern muss es übrigens auch nicht, daher das Fragezeichen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Fridolin

Ah, ok. Danke. Das habe ich jetzt so abgeändert. Dadurch bekomme ich jetzt 2 timer angezeigt

timer_01_c01   23.08.2025 20:20:08   Das ist der Einschaltzeitpunkt 1h vor sunset
timer_02_c01   24.08.2025 06:00:00   Zeitintervall bis morgen 6:00 Uhr ?

Bedeutet [?{sunset(-3600)}-06:00])   1h vor sunset bis 6 Uhr am Folgetag?

FHEM zuerst auf FB dann Raspi, HM, FS20

passibe

#4
Was willst du eigentlich mit dem DOIF machen? Also was soll der Trigger sein? Das Einschalten des Fernsehers oder der Sonnenuntergang?

Je nach dem musst du natürlich die Bedingung anders gestalten bzw. hier das Fragezeichen anders setzen (und -06:00 weglassen, wenn nur der Zeitpunkt des Sonnenuntergangs trigger sein soll).

Wobei, funktioniert das überhaupt mit einem DOIF? Dann wäre ja sofort danach wieder DOELSE am Zug und das DOIF im Prinzip nur ein (schlechteres) at.

Damian

Er möchte vermutlich beim ein Schalten des Fernsehers, falls es dunkel ist, ambiente Beleuchtung mit einschalten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF