Hauptmenü

Alle Lampen aus Problem

Begonnen von inesa394, 18 Mai 2017, 12:56:51

Vorheriges Thema - Nächstes Thema

inesa394

Ein notify wäre natürlich auch eine alternative :)
Das Doif von Damian hier

([wohnzimmer_hub:activity] eq "PowerOff") (set [@"^Milight":state:$_ =~ "on" and $TYPE eq "MilightDevice" ,"defaultdummy"] off)

funktioniert.
Dieses leider nach Raum gefiltert  aber nicht
(set [@"":state:$_ eq "on" and $TYPE eq "MilightDevice" and $room =~ /(^|,)wohnzimmer(,|$)/,"defaultdummy"]off)
Ines

Damian

Zitat von: inesa394 am 19 Mai 2017, 19:13:26
Ein notify wäre natürlich auch eine alternative :)
Das Doif von Damian hier

([wohnzimmer_hub:activity] eq "PowerOff") (set [@"^Milight":state:$_ =~ "on" and $TYPE eq "MilightDevice" ,"defaultdummy"] off)

funktioniert.
Dieses leider nach Raum gefiltert  aber nicht
(set [@"":state:$_ eq "on" and $TYPE eq "MilightDevice" and $room =~ /(^|,)wohnzimmer(,|$)/,"defaultdummy"]off)
Ines

Vor off muss ein Leerzeichen und mit $_ eq "on" hat es bei dir vorhin auch nicht funktioniert, daher


(set [@"":state:$_ =~ "on" and $TYPE eq "MilightDevice" and $room =~ /(^|,)wohnzimmer(,|$)/,"defaultdummy"] off)

und wenn es nicht funktioniert, dann poste ein list von einem MilightDevice-Device, welches ausgeschaltet werden soll.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CoolTux

Zitat von: amenomade am 19 Mai 2017, 18:49:37
Muss wirklich alles zusammen hängen?set .*:FILTER=TYPE=Milight_DeviceFILTER=room=wohnzimmer:FILTER=state=on

Meines Wissens, JA
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

ich hätte erwartet:

set .*:FILTER=TYPE=Milight_Device:FILTER=room=wohnzimmer:FILTER=state=on
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CoolTux

Zitat von: CoolTux am 19 Mai 2017, 17:58:43

define notifyMilightWohnzimmerOff notify wohnzimmer_hub:activity:.PowerOff set .*:FILTER=TYPE=Milight_DeviceFILTER=room=wohnzimmer:FILTER=state=on off


Hier mal wie man es mit einen Notify lösen könnte.

Sorry übersehen. Ja da hast Du dann richtig erwartet.


define notifyMilightWohnzimmerOff notify wohnzimmer_hub:activity:.PowerOff set .*:FILTER=TYPE=Milight_Device:FILTER=room=wohnzimmer:FILTER=state=on off
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

inesa394

Es hat geklappt
(set [@"":state:$_ =~ "on" and $TYPE eq "MilightDevice" and $room =~ /(^|,)wohnzimmer(,|$)/,"defaultdummy"] off)
danke Damian lag am fehlenden Leerzeichen das  state:$_ =~ "on" hatte ich schon mit drin :)
Wobei mir jetzt das notify einfacher vorkommt. Vor allen dieses regexp $room =~ /(^|,)wohnzimmer(,|$)/
erschließt sich mir nicht.Naja hauptsache es funktioniert erst mal.

Ines

Damian

Zitat von: inesa394 am 19 Mai 2017, 20:30:37
Es hat geklappt
(set [@"":state:$_ =~ "on" and $TYPE eq "MilightDevice" and $room =~ /(^|,)wohnzimmer(,|$)/,"defaultdummy"] off)
danke Damian lag am fehlenden Leerzeichen das  state:$_ =~ "on" hatte ich schon mit drin :)
Wobei mir jetzt das notify einfacher vorkommt. Vor allen dieses regexp $room =~ /(^|,)wohnzimmer(,|$)/
erschließt sich mir nicht.Naja hauptsache es funktioniert erst mal.

Ines


mit /(^|,)wohnzimmer(,|$)/

wird nur sichergestellt, dass der Raum auch dann gefunden wird, wenn mehrere Räume einem Device zugeordnet sind. Diese werden ja mit Komma getrennt angegeben und das wird hier erkannt.

Für deine Anforderung dürfte die set-Filter-Syntax ausreichen.

Bei komplexeren Abfragen dürfte set-Filter irgendwann an seine Grenzen stoßen. Bei DOIF kannst du beliebigen Perl-Code in die Filter-Abfrage packen insb. ReadingsVal und co.

Die DOIF-Aggregationsfunktionen sind in erster Linie für Anzeigen/Abfragen gedacht. Die Nutzung dieser als set-"Filter" ist nur ein Abfall-Produkt ;)


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

Per

Zitat von: inesa394 am 19 Mai 2017, 20:30:37Wobei mir jetzt das notify einfacher vorkommt.
FILTER ist nicht vom notify abhängig, das geht in jeder set-Kombination, also auch bei DOIF oder direkter Eingabe in die Komandozeile.

inesa394

ok und weil mein Milight Licht zwei räumen zugeordnet ist war dies die richtige Syntax damit es funktioniert.
Dann hätte  das notify so auch nicht funktioniert  oder sehe ich das falsch

Ines

CoolTux

Probiere es einfach aus. Gebe den set Befehl vom Notify einfach oben in die Eingabezeile von FHEMWEB ein.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net