Konfiguration
Wichtig
Detaillierte Informationen zur Konfiguration des Plugins sind unter Plugin ‚stateengine‘ Konfiguration zu finden.
Pluginkonfiguration
#etc/plugin.yaml
stateengine:
plugin_name: stateengine
plugin_enabled: True
#startup_delay_default: 10
#suspend_time_default: 3600
#log_level: 0
#log_directory: var/log/StateEngine/
#log_maxage: 0
Aktivieren
Um für ein Item das Stateengine Plugin zu aktivieren, ist das Attribut se_plugin
auf active
zu setzen. Dies ist in der generellen struct Vorlage bereits
hinterlegt, muss aber manuell gesetzt werden, falls das struct: stateengine.general
nicht eingesetzt wird.
#items/item.yaml
raffstore1:
automatik:
rules:
se_plugin: active
se_log_level: 2
Logging
Es gibt zwei Möglichkeiten, den Output des Plugins zu loggen:
intern
Hierbei werden, sofern das Loglevel 1 oder mehr beträgt, sämtliche Logeinträge in
eigene Dateien in einem selbst definierten Verzeichnis geschrieben. Das Loglevel
kann sowohl global in der etc/plugin.yaml Datei deklariert, als auch individuell
pro Item mittels se_log_level
(dort wo auch se_plugin: active steht) überschrieben werden.
Wird im Item nichts angegeben oder das Attribut mit dem Wert -1 angegeben, wird der Standardwert herangezogen.
logging.yaml Sowohl der Output des Plugins generell, als auch der Einträge für bestimmte Items können in der logging.yaml Datei wie folgt deklariert werden:
#etc/logging.yaml
filters:
notfound:
(): lib.logutils.Filter
msg: "(.*)Item (.*) not found!"
handlers:
stateengine_licht_file:
class: logging.handlers.TimedRotatingFileHandler
formatter: shng_simple
level: DEBUG
utc: false
when: midnight
backupCount: 2
filename: ./var/log/stateengine_licht.log
encoding: utf8
filters: [notfound]
stateengine_all_file:
class: logging.handlers.TimedRotatingFileHandler
formatter: shng_simple
level: DEBUG
utc: false
when: midnight
backupCount: 2
filename: ./var/log/stateengine.log
encoding: utf8
loggers:
plugins.stateengine:
# Default logger for SmartHomeNG plugins
handlers: [shng_details_file]
level: INFO
stateengine.licht:
# Default logger for SmartHomeNG plugins
handlers: [stateengine_licht_file]
level: DEBUG
stateengine:
# Default logger for SmartHomeNG plugins
handlers: [stateengine_all_file]
level: WARNING
Das obige Beispiel würde in die Datei var/log/stateengine_licht.log sämtliche Debug Information schreiben, die für das Item „licht“ und dessen Unteritems relevant sind. Aufgrund des aktiven Filters „notfound“ werden sämtliche Einträge zu nicht gefundenen Items ignoriert.
Zusätzlich werden alle Fehler von StateEngine Items in die Datei stateengine.log geschrieben. Da der Filter hier nicht aktiv ist, werden auch Informationen zu nicht gefundenen Items geloggt.
Generelle Informationen und Warnungen unabhänging von den StateEngine Items (z.B. zum Standardloglevel, maximalen Alter, etc.) werden in das smarthome-details.log geschrieben.