Files
N22/include/automations/doerklokke_bag2.yaml
T

178 lines
6.2 KiB
YAML

# logik
# hvis om dagen, så høj lydstyrke. Gem sonos-config. udkoble alle. Ding-dong i lille bad og hund der gør i alrum. Blink med lamperne.
# send push besked til telefoner
- id: '1672487404010'
alias: Ringklokke bagdør
description: Når det ringer på bagdør, send besked, lav lyd og blink
trigger:
- platform: mqtt
topic: '{{''shellies/shellybutton1-'' ~ button_id ~ ''/input_event/0''}}'
condition: []
action:
# Gem gammel og ny event_cnt
- variables:
new_cnt: "{{ trigger.payload_json.event_cnt | int(0) }}"
old_cnt: "{{ states('input_number.shelly_bagdor_event_cnt') | int(-1) }}"
# Opdater counter ALTID (ogsaa ved wake-up)
- service: input_number.set_value
target:
entity_id: input_number.shelly_bagdor_event_cnt
data:
value: "{{ new_cnt }}"
# Log ALLE MQTT events (ogsaa filtrerede) til logbog for debugging
- service: logbook.log
data:
name: "Shelly bagdoer"
message: >-
MQTT event={{ trigger.payload_json.event }}
event_cnt={{ new_cnt }} (old={{ old_cnt }})
battery={{ trigger.payload_json.battery | default('?') }}%
entity_id: input_number.shelly_bagdor_event_cnt
# Stop hvis: foerste sync efter restart (old=-1) eller samme cnt (periodisk wake-up)
- condition: template
value_template: "{{ old_cnt >= 0 and new_cnt != old_cnt }}"
# Bloker ringeklokke om natten (22-06)
- condition: time
after: '06:00:00'
before: '22:00:00'
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.event == "S" }}'
sequence:
- service: script.doorbell
data:
tekst: "Det ringer på bagdøren"
volumennat: 0.5
volumendag: 0.8
lydfil: doorbell-shortened-100308.mp3
lampe: light.pendle1
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.event == "SS" }}'
sequence:
- parallel:
- sequence:
- variables:
lille_bad_volumen: "{{ 0.5 if (now().hour >= 20 or now().hour < 6) else 0.8 }}"
- service: script.spil_paa_lille_bad
data:
lydfil: german-shephard.mp3
volumen: "{{ lille_bad_volumen }}"
- sequence:
- service: media_player.volume_set
data:
volume_level: 0.8
target:
entity_id: media_player.andreas
- service: media_player.play_media
target:
entity_id: media_player.andreas
data:
media_content_id: media-source://media_source/local/doorbell.mp3
media_content_type: audio/mpeg
metadata:
title: doorbell.mp3
thumbnail:
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- sequence:
- service: media_player.volume_set
data:
volume_level: 0.8
target:
entity_id: media_player.daniel
- service: media_player.play_media
target:
entity_id: media_player.daniel
data:
media_content_id: media-source://media_source/local/doorbell.mp3
media_content_type: audio/mpeg
metadata:
title: doorbell.mp3
thumbnail:
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- sequence:
- service: tts.speak
target:
entity_id: tts.google_ai_tts
data:
media_player_entity_id: media_player.alrum
message: "Der er nogen der ringer på bagdøren"
- sequence:
- service: notify.mobile_app_claus_iphone_15pro
data:
message: Det ringer på bagdøren - doublepress
- service: notify.mobile_app_annes_iphone_14_pro
data:
message: Det ringer på bagdøren - doublepress
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.event == "SSS" }}'
sequence:
- parallel:
- sequence:
- variables:
lille_bad_volumen: "{{ 0.5 if (now().hour >= 20 or now().hour < 6) else 0.8 }}"
- service: script.spil_paa_lille_bad
data:
lydfil: dog-barking-2-bullmastiff.mp3
volumen: "{{ lille_bad_volumen }}"
- sequence:
- service: tts.speak
target:
entity_id: tts.google_ai_tts
data:
media_player_entity_id: media_player.alrum
message: "Der er nogen der ringer på bagdøren"
- sequence:
- service: notify.mobile_app_claus_iphone_15pro
data:
message: Det ringer på bagdøren - triple-press
- service: notify.mobile_app_annes_iphone_14_pro
data:
message: Det ringer på bagdøren - triple-press
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.event == "L" }}'
sequence:
- parallel:
- sequence:
- variables:
lille_bad_volumen: "{{ 0.5 if (now().hour >= 20 or now().hour < 6) else 0.8 }}"
- service: script.spil_paa_lille_bad
data:
lydfil: two-tone-chime.mp3
volumen: "{{ lille_bad_volumen }}"
- sequence:
- service: tts.speak
target:
entity_id: tts.google_ai_tts
data:
media_player_entity_id: media_player.alrum
message: "Der er nogen der ringer på bagdøren"
- sequence:
- service: notify.mobile_app_claus_iphone_15pro
data:
message: Det ringer på bagdøren - long-press
- service: notify.mobile_app_annes_iphone_14_pro
data:
message: Det ringer på bagdøren - long-press
mode: single
trigger_variables:
button_id: 98CDAC1E5F42