Plugin ‚uzsu‘ Konfiguration

plugin logo

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