Trigger: Unterschied zwischen den Versionen
Krikan (Diskussion | Beiträge) K (→Syntax: ->korrigiert) |
Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
|ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]]) | |ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]]) | ||
}} | }} | ||
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 [[FHEMWEB|Webfrontends]], zeitgesteuert in einem [[at]] oder [[DOIF]], ereignisgesteuert in einem [[DOIF]] oder [[notify]] oder in einem Skript verwendet werden, um Events anzustoßen. | |||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 14: | Zeile 14: | ||
== Syntax == | == Syntax == | ||
:<code><nowiki>trigger <devspec> <event></nowiki></code> | :<code><nowiki>trigger <devspec> <event></nowiki></code> | ||
Details sind in der | Details sind in der {{Link2CmdRef|Anker=trigger}} zu finden. | ||
== Beispiele == | == Beispiele == | ||
Zeile 25: | Zeile 25: | ||
Falsch wäre jedoch z.B.: | Falsch wäre jedoch z.B.: | ||
:<code>trigger KellerLicht on</code> | :<code>trigger KellerLicht on</code> | ||
=== 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 | |||
:<code>trigger <Device> <Reading>: <Value></code> | |||
Also z.B. | |||
:<code>trigger Stromzaehler power: 1000</code> | |||
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 === | === Eine komplexe Aktion auf verschieden Arten anstoßen === | ||
Zeile 31: | Zeile 40: | ||
== Links == | == Links == | ||
* Forendiskussion mit dem Thema {{Link2Forum|Topic=12928|LinkText=Verständnis für "trigger"}} | * Forendiskussion mit dem Thema {{Link2Forum|Topic=12928|LinkText=Verständnis für "trigger"}} | ||
* [[Eventhandler]] | |||
* [[Timehandler]] |
Aktuelle Version vom 6. November 2019, 08:04 Uhr
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
odertrigger 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
- Forendiskussion mit dem Thema Verständnis für "trigger"
- Eventhandler
- Timehandler