Möchte man die Min und Max-Werte zu einem Item bestimmen, ist dies mit smarthome.py einfach möglich. Vorraussetzung ist, dass die Werte zu dem Item aufgezeichnet werden. Dazu wird ein Eintrag in der Datei /etc/plugin.yaml benötigt:
sql:
plugin_name: database
Anschliessend wird im Item die Aufzeichnung aktiviert mit ‚database: yes‘ bzw. ‚database: init‘. Nun können weitere Items angelegt werden, die mit Hilfe einer Funktion, die das database-Plugin bereitstellt, die benötigten Werte erhalten.
Das ganze sieht dann in etwa wie folgt aus:
sensor:
carport:
temp:
type: num
knx_dpt: 9
knx_send: 3/4/11
knx_reply: 3/4/11
ow_addr: '28.52F1AA030000'
ow_sensor: T
database: init # Aufzeichnung der Daten aktivieren
min:
type: num
knx_dpt: 9
knx_send: 3/4/14
knx_reply: 3/4/14
eval: "sh.sensor.carport.temp.db('min', '28h')" # Mimium über die letzten 28h berechnen
eval_trigger: sensor.carport.temp # Änderungen der Temperatur triggern die Neuberechnung
max:
type: num
knx_dpt: 9
knx_send: 3/4/15
knx_reply: 3/4/15
eval: "sh.sensor.carport.temp.db('max', '28h')" # Maximum über die letzten 28h berechnen
eval_trigger: sensor.carport.temp # Änderungen der Temperatur triggern die Neuberechnung
2 Kommentare
Martin Sinn · 24. Mai 2020 um 21:10
Ich habe das Beispiel mal vom alten sqlite Plugin auf das database Plugin aktualisiert.
Marc René Frieß · 20. April 2018 um 16:14
Das Beispiel müsste mal via Database Plugin geupdated werden 😉