Plugin ‚db_addon‘ Konfiguration
Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin db_addon 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
Add-On für das database Plugin zur Datenauswertung
Anforderungen
Minimum SmartHomeNG Version: 1.9.3.5
Minimum Python Version: 3.8
Konfiguration
Im folgenden ist beschrieben, wie das Plugin db_addon 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:
database_plugin_config
Konfiguration des Plugin ‚Database‘, für die das Plugin ‚DatabaseAddOn‘ verwendet wird
Datentyp: str
Standardwert: database
ignore_0
Bei Items, bei denen ein String aus der Liste im Pfadnamen vorkommt, werden 0-Werte (val_num = 0) bei Datenbankauswertungen ignoriert. Beispieleintrag: temp | hum
Datentyp: list(str)
Standardwert: []
lock_db_for_query
Sperren der Datenbank während der Abfrage
Datentyp: bool
Standardwert: False
optimize_value_filter
Optimierung der gesetzen als Plugin-Parameter oder/und Item-Attribute gesetzten Wertefilter.
Datentyp: bool
Standardwert: True
startup_run_delay
Zeitlicher Abstand in Sekunden, mit der die Berechnungen bei Startup ausgeführt werden sollen
Datentyp: int
Standardwert: 60
use_oldest_entry
True: Verwendung des ältesten Eintrags des Items in der Datenbank, falls der Start des Abfragezeitraums zeitlich vor diesem Eintrag liegt False: Abbruch der Datenbankabfrage
Datentyp: bool
Standardwert: False
value_filter
Definition von Wertefiltern als Wörterbuch {‚Teil des Itempfades: [Liste von Vergleichsoperatoren als String]} Bsp: {‚temp‘: [‘> -10‘, ‚< 85‘], ‚hum‘: [‚>= 0‘, ‚<= 100‘]}
Datentyp: dict
Item Attribute
Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items
verwendet werden:
db_addon_admin
Admin-Funktion des DB-Addon Plugins
Datentyp: str
Mögliche Werte:
suspend
recalc_all
clean_cache_values
db_addon_database_item
Optional: Pfad des zu verwendenden Items mit Database Attribut
Datentyp: str
db_addon_fct
Auswertefunktion des DB-Addon Plugins
Datentyp: str
Mögliche Werte:
verbrauch_heute
verbrauch_tag
verbrauch_woche
verbrauch_monat
verbrauch_jahr
verbrauch_last_24h
verbrauch_last_7d
verbrauch_heute_minus1
verbrauch_heute_minus2
verbrauch_heute_minus3
verbrauch_heute_minus4
verbrauch_heute_minus5
verbrauch_heute_minus6
verbrauch_heute_minus7
verbrauch_heute_minus8
verbrauch_tag_minus1
verbrauch_tag_minus2
verbrauch_tag_minus3
verbrauch_tag_minus4
verbrauch_tag_minus5
verbrauch_tag_minus6
verbrauch_tag_minus7
verbrauch_tag_minus8
verbrauch_woche_minus1
verbrauch_woche_minus2
verbrauch_woche_minus3
verbrauch_woche_minus4
verbrauch_monat_minus1
verbrauch_monat_minus2
verbrauch_monat_minus3
verbrauch_monat_minus4
verbrauch_monat_minus12
verbrauch_jahr_minus1
verbrauch_jahr_minus2
verbrauch_jahr_minus3
verbrauch_rolling_12m_heute_minus1
verbrauch_rolling_12m_tag_minus1
verbrauch_rolling_12m_woche_minus1
verbrauch_rolling_12m_monat_minus1
verbrauch_rolling_12m_jahr_minus1
verbrauch_jahreszeitraum_minus1
verbrauch_jahreszeitraum_minus2
verbrauch_jahreszeitraum_minus3
zaehlerstand_heute_minus1
zaehlerstand_heute_minus2
zaehlerstand_heute_minus3
zaehlerstand_tag_minus1
zaehlerstand_tag_minus2
zaehlerstand_tag_minus3
zaehlerstand_woche_minus1
zaehlerstand_woche_minus2
zaehlerstand_woche_minus3
zaehlerstand_monat_minus1
zaehlerstand_monat_minus2
zaehlerstand_monat_minus3
zaehlerstand_jahr_minus1
zaehlerstand_jahr_minus2
zaehlerstand_jahr_minus3
minmax_last_24h_min
minmax_last_24h_max
minmax_last_24h_avg
minmax_last_7d_min
minmax_last_7d_max
minmax_last_7d_avg
minmax_heute_min
minmax_heute_max
minmax_heute_avg
minmax_heute_minus1_min
minmax_heute_minus1_max
minmax_heute_minus1_avg
minmax_heute_minus2_min
minmax_heute_minus2_max
minmax_heute_minus2_avg
minmax_heute_minus3_min
minmax_heute_minus3_max
minmax_heute_minus3_avg
minmax_tag_min
minmax_tag_max
minmax_tag_avg
minmax_tag_minus1_min
minmax_tag_minus1_max
minmax_tag_minus1_avg
minmax_tag_minus2_min
minmax_tag_minus2_max
minmax_tag_minus2_avg
minmax_tag_minus3_min
minmax_tag_minus3_max
minmax_tag_minus3_avg
minmax_woche_min
minmax_woche_max
minmax_woche_minus1_min
minmax_woche_minus1_max
minmax_woche_minus1_avg
minmax_woche_minus2_min
minmax_woche_minus2_max
minmax_woche_minus2_avg
minmax_monat_min
minmax_monat_max
minmax_monat_minus1_min
minmax_monat_minus1_max
minmax_monat_minus1_avg
minmax_monat_minus2_min
minmax_monat_minus2_max
minmax_monat_minus2_avg
minmax_jahr_min
minmax_jahr_max
minmax_jahr_minus1_min
minmax_jahr_minus1_max
minmax_jahr_minus1_avg
tagesmitteltemperatur_heute
tagesmitteltemperatur_heute_minus1
tagesmitteltemperatur_heute_minus2
tagesmitteltemperatur_heute_minus3
tagesmitteltemperatur_tag
tagesmitteltemperatur_tag_minus1
tagesmitteltemperatur_tag_minus2
tagesmitteltemperatur_tag_minus3
serie_minmax_monat_min_15m
serie_minmax_monat_max_15m
serie_minmax_monat_avg_15m
serie_minmax_woche_min_30w
serie_minmax_woche_max_30w
serie_minmax_woche_avg_30w
serie_minmax_tag_min_30d
serie_minmax_tag_max_30d
serie_minmax_tag_avg_30d
serie_verbrauch_tag_30d
serie_verbrauch_woche_30w
serie_verbrauch_monat_18m
serie_zaehlerstand_tag_30d
serie_zaehlerstand_woche_30w
serie_zaehlerstand_monat_18m
serie_waermesumme_monat_24m
serie_kaeltesumme_monat_24m
serie_tagesmittelwert_0d
serie_tagesmittelwert_stunde_0d
serie_tagesmittelwert_stunde_30_0d
serie_tagesmittelwert_tag_stunde_30d
general_oldest_value
general_oldest_log
kaeltesumme
waermesumme
gruenlandtempsumme
wachstumsgradtage
wuestentage
heisse_tage
tropennaechte
sommertage
heiztage
vegetationstage
frosttage
eistage
tagesmitteltemperatur
db_request
minmax
minmax_last
verbrauch
zaehlerstand
db_addon_ignore_value
Wert der bei Abfrage bzw. Auswertung der Datenbank für diese Item ignoriert werden soll
Datentyp: num
db_addon_ignore_value_list
Liste von Vergleichsoperatoren, die bei Abfrage bzw. Auswertung der Datenbank für dieses Item berücksichtigt werden sollen. Bsp: [‘> 0‘, ‚< 35‘]
Datentyp: list(str)
db_addon_info
Info-Funktion des DB-Addon Plugins
Datentyp: str
Mögliche Werte:
db_version
db_addon_params
Parameter für eine Auswertefunktion des DB-Addon Plugins im Format ‚kwargs‘ enclosed in quotes like ‚keyword=argument, keyword=argument‘
Datentyp: str
db_addon_params_dict
Parameter für eine Auswertefunktion des DB-Addon Plugins im Format eines Dictionary
Datentyp: dict
db_addon_startup
Ausführen der Berechnung bei Plugin Start (mit zeitlichem Abstand, wie in den Plugin Parametern definiert)
Datentyp: bool
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.
db_version()
Liefer die verwendete Version der Datenbank
Ergebnistyp der Funktion: str
fetch_log(func, item, timeframe, start, end, count, group, group2)
Liefert für das angegebene Item und die Parameter das Abfrageergebnis zurück
Ergebnistyp der Funktion: list
func
zu verwendende Abfragefunktion
Datentyp: str
Mögliche Werte:
min
max
sum
on
integrate
sum_max
sum_avg
sum_min_neg
diff_max
item
Das Item-Objekt oder die Item_ID der DB
Datentyp: foo
timeframe
Zeitinkrement für die DB-Abfrage
Datentyp: str
Mögliche Werte:
day
week
month
year
start
Zeitlicher Beginn der DB-Abfrage: x Zeitinkrementen von jetzt in die Vergangenheit
Datentyp: int
end
Zeitliches Ende der DB-Abfrage: x Zeitinkrementen von jetzt in die Vergangenheit
Datentyp: int
count
Anzahl der Zeitinkremente, vom Start in die Vergangenheit abzufragen sind. Alternative zu ‚end‘
Datentyp: int
group
erste Gruppierung der DB-Abfrage
Datentyp: str
Mögliche Werte:
day
week
month
year
group2
zweite Gruppierung der DB-Abfrage
Datentyp: str
Mögliche Werte:
day
week
month
year
suspend()
Pausiert die Berechnungen des Plugins
Ergebnistyp der Funktion: bool