trigger

Aus FHEMWiki


trigger
Zweck / Funktion
Anstoßen einer notify Aktion
Allgemein
Typ Befehl
Details
Dokumentation EN / DE
Support (Forum) Sonstiges
Modulname fhem.pl ("Built-in")
Ersteller rudolfkoenig (Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Der Befehl trigger stößt ein ein Event an, stellvertretend für ein Gerät. Damit ist es möglich Aktionen in Geräten auszulösen, z,B. DbLog, DOIF, FileLog und notify. Der Befehl kann direkt in dem Befehls-Eingabefeld des Webfrontends, zeitgesteuert in einem at oder DOIF, ereignisgesteuert in einem DOIF oder notify oder in einem Skript verwendet werden, um Events anzustoßen.

Voraussetzungen

Syntax

trigger <devspec> <event>

Details sind in der commandref/trigger zu finden.

Beispiele

Einfaches Beispiel

Das folgende Beispiel ist diesem Forenthread entnommen:

define KellerLicht notify BueroOben1 set Keller1 $EVENT

kann angestoßen werden mit

trigger BueroOben1 on oder
trigger BueroOben1 off

Falsch wäre jedoch z.B.:

trigger KellerLicht on

nur ein bestimmtes Reading triggern

Manchmal möchte man nicht auf state prüfen (wie z.B. bei einem Dummy) sondern auf ein bestimmtes Reading. Hierfür lautet die Syntax

trigger <Device> <Reading>: <Value>

Also z.B.

trigger Stromzaehler power: 1000

Hinweis: zwischen Reading: und Wert ist ein Leerzeichen eingefügt um einen identischen Aufbau gegenüber den gewöhnlich vom System erzeugten Events zu erhalten (siehe Eventmonitor).

Eine komplexe Aktion auf verschieden Arten anstoßen

Annahme: es gibt eine notify-Definition, die (z.B. über Systembefehle) Bilder von einer Netzwerkkamera speichert. Soll das vom Benutzer über einen Button auf der Benutzeroberfläche angestoßen werden können, wird dafür sinnvollerweise ein dummy definiert, der ein entsprechendes Ereignis erzeugt. Zusätzlich kann aber auch eine at-Definition über den trigger-Befehl in regelmäßigen Abständen die gleiche Dummy-Definition ansprechen, was vom notify erkannt wird und ebenfalls dazu führt, das aktuelle Kamerabild zu sichern.

Links