Ich möchte eine Automatisierung schreiben, die mich erinnert wenn unsere Fenster zu lange offen sind. Die Dauer bis die Fenster geschlossen werden sollen, soll Abhängig von der Außentemperatur sein. Hierfür hab ich mit eurer Hilfe folgendes Zustandstemplate “dauer_fensteroffnung” zusammengebaut:
{% set t = states('sensor.openweathermap_temperature') | float(0) %}
{% if t <= 0 %}
5
{% elif t > 0 and t <= 10 %}
10
{% else %}
15
{% endif %}
Die Benachrichtigung soll also kommen, wenn die Fenster entsprechend seit 5, 10 oder 15 Min offen sind.
Ich habe es einmal mit einer Automatisierung versucht:
alias: AZJ_Fenster_offen
description: Fenster im Arbeitszimmer ist offen
trigger:
- type: opened
platform: device
device_id: xxx
entity_id: xxxx
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- delay: 00:{{ states('sensor.dauer_fensteroffnung') }}
- action: notify.pushover
metadata: {}
data:
message: Fenster schließen!
title: Fenster Arbeitszimmer Jan
mode: single
Das funktioniert soweit, jedoch kommt die Nachricht auch wenn das Fenster bereits wieder geschlossen wurde.
Die Lösung scheint die Bestätigungsfunktion mit einer Zustandsabfrage zu sein:
condition: state
entity_id: binary_sensor.FenstersensorXY
attribute: value_state
state: Offen
for:
hours: 0
minutes: 10
seconds: 0
Ich bekomme jedoch meine Variable {{ states(‘sensor.dauer_fensteroffnung’) }} die beim Delay oben funktioniert nicht in die Zustandsabfrage.
Wenn ich sie einfüge:
alias: AZJ_Fenster_offen
description: Fenster im Arbeitszimmer ist offen
trigger:
- type: opened
platform: device
device_id: xxx
entity_id: xxxx
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition:
- condition: state
entity_id: binary_sensor.hm_sec_sco_oeq0222795
attribute: value_state
state: Offen
for:
hours: 0
minutes: {{ states('sensor.dauer_fensteroffnung') }}
seconds: 0
action:
- action: notify.pushover
metadata: {}
data:
message: Fenster schließen!
title: Fenster Arbeitszimmer
mode: single
Bekomme ich den Fehler:
Message malformed: expected float for dictionary value @ data['condition'][0]['for']['minutes']
Nach der Fehlermeldung wird im YAML meine Variable in:
condition: state
entity_id: binary_sensor.hm_sec_sco_oeq0222795
attribute: value_state
state: Offen
for:
hours: 0
minutes:
"[object Object]": null
seconds: 0
geändert.
Wisst ihr was ich ändern muss? Oder habt ihr ggf. einen ganz anderen Weg parat?