Hallo zusammen,
ich möchte mittels
set Rollo_EG.* on
den Befehl nur dann ausführen, wenn das Rollo nicht on ist bzw. einen anderen Status aufweist. Andernfalls klackern unnötigerweise jedes Mal alle Rollo Aktoren. Muss ich mir dazu eine eigene Perl Funktion bauen (damit auf das gewohnte schlanke FHEM Set Kommando verzichten)? Oder gibt es hier etwas out-of-the-box?
Schau dir devspec und die Doku zu set in der commandref an. Stichwort FILTER
Hallo,
Suchworte im Wiki und der Commandref sind devspec und FILTER
Erst vor einer Woche habe ich hier im Forum genau sowas beantwortet. Eventuell findest Du es über die Suche mit den Wörtern oben.
Grüße
Na toll, 2 doofe ein Gedanke. Lach.
Guten Morgen Marvin
Innerhalb eines DOIFs beispielsweise kannst Du doch auch noch den Status des Rollos abfragen und als Bedingung festlegen.
also z.b.
DOIF ((irgendeine Bedingung) and [?Rollo1] ne "on") (set Rollo1 on)
Oh danke Euch, ich hatte nur innerhalb von SET gecommandreft.
Der Vollständigkeit halber: die Anforderung kann also elegant gelöst werden mittels
set Rollo_EG.*:FILTER=STATE!=on on
Und
set Rollo_EG1,Rollo_EG2:FILTER=STATE!=on on
bezieht sich dann (leider) nur auf Rollo_EG2, wenn ich das richtig verstehe?
Die Deviceliste ist die devspec und der Filter bezieht sich auf die gesamte devspec (wie in der commandref ausgeführt).
Zitat von: marvin78 am 29 März 2016, 13:13:51
Die Deviceliste ist die devspec und der Filter bezieht sich auf die gesamte devspec (wie in der commandref ausgeführt).
Stimme Dir nach erneutem Lesen zu - den Ausdruck "Liste gefunden" hatte ich anders interpretiert.