FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: ms_steini am 18 November 2018, 02:05:18

Titel: DOIF erweitern
Beitrag von: ms_steini am 18 November 2018, 02:05:18
Hallo zusammen,

ich würde gerne ein DOIF erweitern, weiß aber nicht wie. Das DOIF schaltet einfach nur eine Flur-Beleuchtung ein.
Im Normalfall ist die Beleuchtung bis 23:59:59 Uhr eingeschaltet.
Ich möchte gerne das die Beleuchtung aber an bleibt wenn der Fernseher noch eingeschaltet ist, und wenn der Fernseher ausgeschaltet wird
soll die Beleuchtung danach noch 15 Minuten an bleiben.
(Samsung Fernseher "harmony_17192583")

Das ist mein DOIF für die Flur-Beleuchtung
defmod DOIF_EG_DekoLicht_Diele DOIF ([Brightness_Sensor:brightness] <= 10 and [17:00:00-23:59:59]
or [Schichtplan:Schicht_Heute_Fruehdienst] == 1 and [04:20:00-05:10:00]
or [Schichtplan:Schicht_Gestern_Nachtdienst] == 1 and [05:25:00-08:15:00]
or [Brightness_Sensor:brightness] <= 100 and [06:15:00-08:15:00]) (set Sonoff_BASIC_1 on)
DOELSE (set Sonoff_BASIC_1 off)


Kann mir bitte jemand helfen das DOIF zu erweitern.
Vielen Dank
Titel: Antw:DOIF erweitern
Beitrag von: Ellert am 18 November 2018, 11:25:13
Du könntest den ersten Zweig mit or [$SELF] eq "cmd_1" and [TV] eq "on" ergänzen und im zweiten Zweig generell eine Ausschaltverzögerung über wait einbauen.
Titel: Antw:DOIF erweitern
Beitrag von: ms_steini am 18 November 2018, 18:37:20
ok vielen Dank, ich versuche das mal.
wenn ich das richtig verstanden habe sollte das Attribut WAIT so aussehen:
attr DOIF_EG_DekoLicht_Diele wait 0,900 also für den DOELSE Zweig ?
Titel: Antw:DOIF erweitern
Beitrag von: Ellert am 19 November 2018, 07:47:31
Schau Dir noch einmal die Trennzeichen für Befehlssequenzen und Bedingungszweige (DO-Blöcke) im Attribut wait an.
Titel: Antw:DOIF erweitern
Beitrag von: ms_steini am 19 November 2018, 11:31:44
Ah OK, müsste Doppelpunkt sein wenn ich das richtig verstanden habe.
attr DOIF_EG_DekoLicht_Diele wait 0:900

Was mir aber komisch vor kommt ist,

([Brightness_Sensor:brightness] <= 10 and [17:00:00-23:59:59]
or [Schichtplan:Schicht_Heute_Fruehdienst] == 1 and [04:20:00-05:10:00]
or [Schichtplan:Schicht_Gestern_Nachtdienst] == 1 and [05:25:00-08:15:00]
or [Brightness_Sensor:brightness] <= 100 and [06:15:00-08:15:00]
or [$SELF] eq "cmd_1" and [harmony_17192583] eq "on") (set Sonoff_BASIC_1 on)
DOELSE (set Sonoff_BASIC_1 off)


[$SELF] eq "cmd_1" and [harmony_17192583] eq "on" greift ja nur in der Zeit von 17:00 bis 23:59:59 Uhr.

cmd_1 wäre ja nur bis 23:59:59, danach cmd_2

Irgendwie verstehe ich das nicht.
Titel: Antw:DOIF erweitern
Beitrag von: Ellert am 19 November 2018, 16:58:00
Die Struktur sieht so aus
(<Deine Bedingungen> or [$SELF] eq "cmd_1" and [harmony_17192583] eq "on")
das beduetet, wenn Deine Bedingungen eingeschaltet haben dann ist $SELF = cmd_1 und wenn der Fernseher= on ist, dann bleibt es so bis der Fernseher != on ist.
Wo steck das Verständnisproblem?
Titel: Antw:DOIF erweitern
Beitrag von: ms_steini am 21 November 2018, 19:22:44
Zitat von: Ellert am 19 November 2018, 16:58:00
Die Struktur sieht so aus
(<Deine Bedingungen> or [$SELF] eq "cmd_1" and [harmony_17192583] eq "on")
das beduetet, wenn Deine Bedingungen eingeschaltet haben dann ist $SELF = cmd_1 und wenn der Fernseher= on ist, dann bleibt es so bis der Fernseher != on ist.
Wo steck das Verständnisproblem?

War ein Gedankenfehler, ich dachte wenn der Brightness_Sensor nach 0 Uhr gößer 10 Triggert wäre ja nicht mehr cmd_1... ich weiß auch nicht was ich mir dabei gedacht habe.
Es funktioniert jetzt bestens, vielen vielen DANK!