Mahlzeit,
habe nur eine kleine Verständnisfrage.
In einem DOIF hole ich mir den Wert, ob Adventszeit ist oder nicht, aus der 99_myUtils (Dank an Icinger für den code-Schnippel).
DOIF ... and Advent==1 ...
Wie müsste ich hier das ? einbauen, damit dies nur als Abfrage dient und nicht das Modul triggert?
Besten Dank!
Gruß
Andreas
Mit dem ? können alle in fhem definierten Devices (oder Zeiten) nicht triggernd eingebunden werden.
... DOIF ([Trigger_Device] eq "bla" and [?NoTriger_Device] eq "bla") ...
Hallo Ralli,
bei devices ist mir das schon klar, aber wie sieht es denn im konkreten Fall bei Aufrufen aus der 99_myUtils aus?
So?
[?Advent]==1
Advent ist kein device.
Gruß
Andreas
Lese commandref!
Zitat
Logische Abfragen werden in Bedingungen mit Hilfe von Perl-Operatoren erstellt. Diese werden mit Angaben von Stati, Readings, Internals, Events von Devices oder Zeiten in eckigen Klammern kombiniert. Ebenso können beliebige Perl-Funktionen angegeben werden, die in FHEM definiert sind. Getriggert wird das Modul durch Zeitangaben bzw. durch Ereignisse ausgelöst durch die in der Bedingung angegebenen Devices. Wenn eine Bedingung wahr wird, so werden die dazugehörigen FHEM- bzw. Perl-Kommandos ausgeführt.
Eine in 99_myUtils.pm definierte Funktion kann mit {} eingebunden werden, aber niemals triggern - also ist auch ? in diesem Zusammenhang
nicht zu nehmen obsolet.
Danke!
Zitat von: Ralli am 01 Dezember 2015, 12:56:20
Lese commandref!
Eine in 99_myUtils.pm definierte Funktion kann mit {} eingebunden werden, aber niemals triggern - also ist auch ? in diesem Zusammenhang nicht zu nehmen obsolet.
In der Bedingung wird eine definierte Funktion ohne geschweifte Klammern angegeben, weil die Bedingung bis auf die eckigen Klammern Perl-Welt ist.
also
DOIF (Advent==1 and [irgend_etwas_was triggert]) (set ....)
Gruß
Damian
Dann war ich verkehrt. Asche auf mein Haupt.