Weihnachtsbeleuchtung nicht aus so lange TV an ist

Begonnen von Fredi69, 28 Dezember 2017, 20:18:42

Vorheriges Thema - Nächstes Thema

Fredi69

Unsere Weihnachtsbeleuchtung wird aktuell zwischen Sonnenuntergang und einem Dummy eingeschaltet so lange jemand zu Hause ist.
Jetzt möchte ich, das die Beleuchtung aber nicht zum festgelegten Dummy ausgeschaltet wird wenn das TV noch eingeschaltet ist [EG.Wz.TV.UE46C8790] eq "opened"

Hier der Code der bisherigen DOIF
([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend")
(set Weihnachtsbeleuchtung on)
DOELSE
(set Weihnachtsbeleuchtung off)


Hat jemand eine Idee?
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Otto123

Hi Fredi69,

Du ergänzt einfach Deine Bedingung, falls dein TV irgendwie als Status in FHEM vorhanden ist.
or [TV] eq "on"

Beachte http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity

Gruß Otto
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

Fredi69

Zitat von: Otto123 am 28 Dezember 2017, 20:23:52
Du ergänzt einfach Deine Bedingung, falls dein TV irgendwie als Status in FHEM vorhanden ist.
or [TV] eq "on"
Gruß Otto

Danke, das ist mir schon klar.
Ich kann wie beschrieben den Status vom TV abfragen:
[EG.Wz.TV.UE46C8790] eq "disconnected" -> TV ist aus
[EG.Wz.TV.UE46C8790] eq "opened" -> TV ist an

Ich habe aber gerade keine Idee wie ich dem DOIF beibringe die Beleuchtung nicht nach "WeihnachtsbeleuchtungAusUm" auszuschalten wenn der TV noch an ist.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Ellert

Statt DOELSE müsstest Du DOELSEIF mit einer Ausschaltbedingung verwenden

DOELSEIF (([WeihnachtsbeleuchtungAusUm]] and [TV] eq "disconnected" or [TV:"DISCONNECTED"]) (set ... off)

Fredi69

Zitat von: Ellert am 28 Dezember 2017, 20:41:53
Statt DOELSE müsstest Du DOELSEIF mit einer Ausschaltbedingung verwenden

DOELSEIF (([WeihnachtsbeleuchtungAusUm]] and [TV] eq "disconnected" or [TV:"DISCONNECTED"]) (set ... off)

Es muss doch aber irgendwie abgefragt werden ob es schon nach "WeihnachtsbeleuchtungAusUm" ist, oder?
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Damian

([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend")
(set Weihnachtsbeleuchtung on)
DOELSE (!([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend") and [EG.Wz.TV.UE46C8790] eq "disconnected")
(set Weihnachtsbeleuchtung off)


Ottos Vorschlag wird nicht gut funktionieren, denn dann würde die Beleuchtung immer angehen, wenn der Fernseher angeht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Fredi69

Zitat von: Damian am 28 Dezember 2017, 20:50:19
([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend")
(set Weihnachtsbeleuchtung on)
DOELSE (!([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend") and [EG.Wz.TV.UE46C8790] eq "disconnected")
(set Weihnachtsbeleuchtung off)


Ottos Vorschlag wird nicht gut funktionieren, denn dann würde die Beleuchtung immer angehen, wenn der Fernseher angeht.

Muss das "DOELSE" nicht in "DOELSEIF" geändert werden?

Danke
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Damian

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

Fredi69

fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Otto123

Sorry, wenn ich auf sowas EG.Wz.TV.UE46C8790 blicke sehe ich eher ein regEx als einen Namen - Du hast in jedem Zimmer in jeder Etage mehrere Fernseher?  ;D :o :-\ ;D

Wenn Du meinen Vorschlag nur als Abfrage nimmst [?EG.Wz.TV.UE46C8790] eq "was auch immer" würde er zumindest nicht angehen wenn der Fernseher angeht. Kann sein, er geht dann nicht aus wenn der Fernseher ausgeht - aber war das gefordert?  ;)

Der Vorschlag mit dem Ausschaltkriterium wäre auch mein nächster Gedanke gewesen und der Vorschlag von Damian ist viel besser!

Gruß Otto
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

Fredi69

Zitat von: Damian am 28 Dezember 2017, 20:50:19
([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend")
(set Weihnachtsbeleuchtung on)
DOELSE (!([[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]]
and [Anwesenheitsstatus] eq "anwesend") and [EG.Wz.TV.UE46C8790] eq "disconnected")
(set Weihnachtsbeleuchtung off)


Ottos Vorschlag wird nicht gut funktionieren, denn dann würde die Beleuchtung immer angehen, wenn der Fernseher angeht.

Eine Frage zum Verständnis, wird damit nicht der Zeit inkl. des Anwesenheitsteil negiert und nicht nur der [[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]] ?
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Damian

Zitat von: Fredi69 am 30 Dezember 2017, 12:02:03
Eine Frage zum Verständnis, wird damit nicht der Zeit inkl. des Anwesenheitsteil negiert und nicht nur der [[Sonnenuntergang]-[WeihnachtsbeleuchtungAusUm]] ?
So ist es.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF