Plugin ‚uzsu‘ Konfiguration
Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin uzsu konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]
Es handelt sich bei diesem Plugin um ein system Plugin.
Beschreibung
Dieses Plugin ermöglicht gezielte Schaltvorgänge von Items zu bestimmten Uhrzeiten oder abhängig vom Sonnenstand. Die automatischen Schaltungen können dabei pro Wochentag separat definiert werden. Außerdem ermöglicht eine Interpolationsfunktion das Errechnen von Werten zwischen zwei manuell angelegten Schaltzeiten, wodurch z.B. Lichtkurven über den Tagesverlauf umgesetzt werden können.
Anforderungen
Minimum SmartHomeNG Version: 1.6
Konfiguration
Im folgenden ist beschrieben, wie das Plugin uzsu konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.
Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml
konfiguriert werden:
backintime
Standardmaximalalter eines UZSU Eintrags in Minuten, um beim Plugin-Start versäumte Einträge nachzuholen. Kann pro UZSU individuell konfiguriert werden.
Datentyp: int
Standardwert: 0
Minimalwert: 0
interpolation_interval
Standardintervall in Minuten, in dem ein interpolierter Wert erneut errechnet werden soll. Kann pro UZSU individuell konfiguriert werden.
Datentyp: int
Standardwert: 5
Minimalwert: 0
interpolation_precision
Anzahl an Dezimalstellen bei der Berechnung der Interpolation
Datentyp: int
Standardwert: 2
Minimalwert: 0
Maximalwert: 4
interpolation_type
Standardintervall in Minuten, in dem ein interpolierter Wert erneut errechnet werden soll. Kann pro UZSU individuell konfiguriert werden.
Datentyp: str
Standardwert: none
Mögliche Werte:
none
cubic
linear
remove_duplicates
Falls True, werden Einträge mit exakt den selben Einstellungen, aber unterschiedlichem Wert durch einen neu getätigten Eintrag ersetzt
Datentyp: bool
Standardwert: True
suncalculation_cron
Cron-Angabe, wann für die UZSU Einträge mit Sonnenstandbezug die errechnete Uhrzeit ins dict Item geschrieben werden soll. Diese „calculated“ Einträge sind relevant für diverse UZSU Widgets der SmartVisu.
Datentyp: str
Standardwert: 0 0 * *
Item Attribute
Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items
verwendet werden:
uzsu_item
Das Item, das durch die UZSU geschaltet werden soll:
Im items Ordner ist pro Item, das geschaltet werden soll, ein UZSU Item-Eintrag mit type: dict
zu erstellen. Die Hierarchie spielt dabei keine Rolle, es wird allerdings empfohlen, das UZSU Item als Kind des zu schaltenden Items zu deklarieren und die relative Item-Referenzierung ".."
für den Parameter uzsu_item
zu nutzen. Es wird dringend empfohlen, cache: True
zu setzen, damit die Einstellungen bei einem Neustart nicht verloren gehen.
Datentyp: str
Logik Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml
konfiguriert werden:
Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)
Plugin Functions
Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.
activate(activevalue, item)
Abfrage oder Setzen, ob die UZSU aktiv ist oder nicht.
Ergebnistyp der Funktion: bool
activevalue
Abfragen oder Setzen des UZSU Status
Datentyp: foo
Mögliche Werte:
None - Abfrage
True - Aktivieren
False - Deaktivieren
item
Das Item-Objekt
Datentyp: foo
clear(clear, item)
- Löschen der UZSU Einträge eines Items.
Leer/False: nichts ausführen
True: löschen
Ergebnistyp der Funktion: bool
clear
True, um die UZSU Einträge zu löschen.
Datentyp: bool
item
Das Item-Objekt
Datentyp: foo
interpolation(intpl_type=None, interval=5, backintime=0)
Abfrage oder Setzen der Interpolationseinstellungen
Ergebnistyp der Funktion: dict
intpl_type
Interpolationstyp
Datentyp: foo
Standardwert: None
Mögliche Werte:
None - Abfrage
linear - konstant gleiche Zwischenberechnung
cubic - Spline-Interpolation mit verzögertem Start und sanftem Verlangsamen
none - keine Interpolation
interval
Intervall in Minuten, in dem der interpolierte Wert aktualisiert werden soll
Datentyp: int
Standardwert: 5
Minimalwert: 1
backintime
Maximales Alter eines UZSU Eintrags in Minuten, um beim Plugin-Start versäumte Einträge nachzuholen.
Datentyp: int
Standardwert: 0
Minimalwert: 0
itpl(clear=False, item)
- Löschen oder Abrufen der internen Interpolationswerte.
Leer/False: Internes Dictionary mit Interpolationswerten
True: löschen
Ergebnistyp der Funktion: dict
clear
Löschen oder nicht
Datentyp: bool
Standardwert: False
item
Das Item-Objekt
Datentyp: foo
lastvalue(by= ‚None‘, item)
Abfrage des zuletzt gesetzten Werts. Kann z.B. beim Aktivieren der UZSU genutzt werden, um sofort auf den gewünschten Wert zu schalten.
Ergebnistyp der Funktion: foo
by
Für eine entsprechende Info im Logfile kann hier z.B. der Itemname, der den Wert abruft eingetragen werden
Datentyp: str
Standardwert: None
item
Das Item-Objekt
Datentyp: foo
planned(item)
Abfrage des nächsten Aktualisierungszeitpunkts. Ist keine Aktualisierung geplant, z.B. weil das UZSU Item nicht aktiviert ist, wird None zurückgegeben, ansonsten ein Dictionary mit den Einträgen Zeit und Wert.
Ergebnistyp der Funktion: dict
item
Das Item-Objekt
Datentyp: foo
resume(activevalue, item)
Fortsetzen der UZSU Evaluierung: Aktivieren des Items und Setzen des zuletzt festgelegten Wertes.
Ergebnistyp der Funktion: foo
activevalue
True, um die UZSU fortzusetzen; False, um sie zu pausieren
Datentyp: bool
item
Das Item-Objekt
Datentyp: foo