Die Objekte logic und logics
Das logic
Objekt
Dieses Objekt bietet Zugriff auf das aktuelle Logikobjekt. Es ist möglich, während der Laufzeit die meisten
logischen Attribute (wie crontab, cycle, …) abzufragen und ändern. Diese Änderungen gehen nach dem Neustart
von SmartHomeNG verloren, da sie nicht in die Konfigurationsdatei etc/logic.yaml
geschrieben werden.
Ein Zugriff auf das Objekt logic
ist nur aus der Logik selbst zur Laufzeit möglich.
Definierte Methoden des Logikobjekts:
Methode |
Erläuterung |
---|---|
|
Diese Methode liefert dem Namen der Logik wie in ../etc/logic.yaml angegeben. |
|
Diese Methode liefert den letzten Lauf dieser Logik (vor aktuellen Lauf). |
|
Konfigurierte Logiken sind standardmäßig aktiv und werden entsprechend der Konfiguration ausgeführt. Diese Methode deaktiviert die Logik, sodass deren Ausführung unterbunden wird. (Ab SmartHomeNG v1.3) |
|
Eine bereits deaktivierte Logik kann mit dieser Methode wieder aktiviert werden. (Ab SmartHomeNG v1.3) |
Vordefinierte Attribute des Logikobjekts:
Attribut |
Erläuterung |
---|---|
|
Das Attribut logic.name liefert das selbe Ergebnis wie die Methode logic.id() |
|
Das Attribut liefert das aktuelle crontab Setting dieser Logik. |
|
Das Attribut liefert das aktuelle cycle Setting dieser Logik. |
|
Das Attribut liefert das aktuelle prio Setting dieser Logik. |
|
Das Attribut liefert den Dateinamen des Python Skripts dieser Logik. |
|
Liefert den konfigurierten Parameter <parameter> oder den Wert einer in einem vorherigen Lauf dieser Logik persistieren Variabl |
Zusätzlich gibt es noch das Dictionary trigger
, welches Infromationen dazu enthält, wodurch der aktuelle Lauf
der Logik getriggert wurde.
Das trigger
Dictionary
Das trigger
dict ist ein Python-Dictionary, welches als Laufzeitumgebung einige Informationen über das
Ereignis liefert, das die Logik ausgelöst hat.
Das Dictionary enthält folgende Informationen:
Attribut/Funktion |
Erläuterung |
---|---|
|
Auslöser ( |
|
enthält beim Auslöser |
|
Falls eine Logik aus einem Item heraus getriggert wurde (also trigger[‚by‘] == Item ist), enthält
|
|
|
|
enthält den Wert des Items, dass die Logik getriggert hat. |
Das logics
Objekt
Zugriff auf das Logics-API über das logics Objekt:
Methode |
Erläuterung |
---|---|
logics.<method> |
ermöglicht den Zugriff auf das Logics API, welches unter APIs von SmartHomeNG im Abschnitt Entwicklung beschrieben ist. Im folgenden sind einige Beispiele aufgeführt. |
logics.scheduler_add() |
Hinzufügen eines Scheduler Eintrages für den logics-Namensraum. Der Syntax entspricht der scheduler.add() Methode. |
logics.scheduler_change() |
Ändern eines Scheduler Eintrages im logics-Namensraum. Der Syntax entspricht der scheduler.change() Methode. |
logics.scheduler_remove() |
Löschen eines Scheduler Eintrages im logics-Namensraum. Der Syntax entspricht der scheduler_remove() |
logics.trigger() |
Triggern einer im Logik |
logics.set_config_section_key() |
Setzt den Wert eines Schlüssels für eine angegebene Logik (Abschnitt) permanent in ../etc/logic.yaml |
Der vollständige Syntax der Methoden kann im Abschnitt Entwicklung/APIs von SmartHomeNG dem Logics-API entnommen werden.