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

 

Kategorien: Tipps & Tricks

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 😉

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert