Naposledy aktivní 1763916432

Revize abaaaaba45325424115b1fb8e5accf13698c9587

WaterLeak.yaml Raw
1blueprint:
2 name: Wasserleck-Alarm (IKEA BADRING) – mit Sperrzeit
3 description: Benachrichtigt sofort beim Auslösen und blockiert danach für eine definierte Sperrzeit.
4 domain: automation
5
6 input:
7 leak_sensor:
8 name: Wassersensor
9 description: BADRING Sensor auswählen.
10 selector:
11 entity:
12 domain: binary_sensor
13 device_class: moisture
14
15 message_text:
16 name: Nachrichtentext
17 default: "Es wurde ein Wasserleck erkannt! Bitte prüfen."
18 selector:
19 text:
20
21 notify_service:
22 name: Benachrichtigungsdienst
23 description: z.B. notify.all_mobile_devices
24 selector:
25 text:
26
27 lockout_duration:
28 name: Sperrzeit
29 description: Zeitraum, in dem nach einer Meldung keine weiteren Nachrichten gesendet werden.
30 default: "00:30:00"
31 selector:
32 duration:
33
34 last_alert:
35 name: Interner Zeitstempel
36 description: Wird automatisch für die Sperrzeitverwaltung genutzt.
37 selector:
38 entity:
39 domain: input_datetime
40
41trigger:
42 - platform: state
43 entity_id: !input leak_sensor
44 to: "on"
45
46condition:
47 - condition: template
48 value_template: >
49 {% set last = states((!input last_alert)) %}
50 {% if last in ["unknown", "unavailable", "none", ""] %}
51 true
52 {% else %}
53 {% set last_dt = strptime(last, "%Y-%m-%d %H:%M:%S") %}
54 {% set now_dt = now() %}
55 {% set delta = (now_dt - last_dt).total_seconds() %}
56 {{ delta > (as_timedelta(!input lockout_duration).total_seconds()) }}
57 {% endif %}
58
59action:
60 - service: !input notify_service
61 data:
62 title: "Wasserleck"
63 message: !input message_text
64
65 - service: input_datetime.set_datetime
66 target:
67 entity_id: !input last_alert
68 data:
69 datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
70
71mode: single
72