Læsetid: ca 4 min - Skrevet af Sean Nielsen | 20 February, 2019
Vil du gerne have ringeklokken til automatisk at slå fra hvis børnene sover, eller måske bare 'dinge' lidt lavere?
I denne korte guide, bygger jeg videre på min tidligere guide til at bruge eksempelvis Sonos eller Google Home som din ringeklokke. Se evt. guiden her
Ding Dong… Dindindinding Dong…
Har vi ikke alle prøvet at vores gæster eller børn synes det er sjovt at trykke riiigtig mange gange på dørklokken?
Dette kombineret med en smart dørklokke som også sender en notifikation til telefonen er mildest talt irriterende.
Heldigvis er det relativt simpelt at løse med Home Assistant.
Under dine automation: tilføjer du følgende: (Husk at fjerne din gamle automation og erstat entity ID’s med dem du bruger)
#automation:
- alias: global, doorbell
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: single
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: long_click_press
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: double
action:
- service: automation.turn_off
entity_id: automation.global_doorbell
- service: media_player.play_media
data:
entity_id: media_player.kitchen_home
media_content_id: "http://192.168.0.59:8123/local/ding.mp3"
media_content_type: 'audio/mp3'
- service: notify.discord
data_template:
target: "..."
message: "@everyone - Ring Ring, nogen ringer på!"
- delay:
minutes: 1
- service: automation.turn_on
entity_id: automation.global_doorbell
Det der sker at at denne automation deaktivere sig selv, hvilket betyder du ikke kan aktivere den igen'
action:
- service: automation.turn_off
entity_id: automation.global_doorbell
her beder vi efterfølgende min Google home afspiller ringeklokke lyden, og sender en notification til min telefon via discord.
- service: media_player.play_media
data:
entity_id: media_player.kitchen_home
media_content_id: "http://192.168.0.59:8123/local/ding.mp3"
media_content_type: 'audio/mp3'
- service: notify.discord
data_template:
target: "..."
message: "@everyone - Ring Ring, nogen ringer på!"
Til slut venter vi 1 minut (Justér denne timer efter eget ønske)
hvor vi så aktivere vores automation igen.
dvs. man kan altså kun aktivere ringeklokken 1 gang i minuttet.
23:59:57… 23:59:58… 23:59:59… sluk.
Dette beskriver meget godt vores nytårsaften i selskab hos en kammerat.
Han har også et smart hjem, og han har sat en rutine op til at slukke for standby strøm for det meste af hjemmet (inkl. fjernsynet) kl 00.00
Hvis han skal ændre den rutine skal han bruge en PC, og ind i et program for at ændre på indstillingerne som rutiner osv. det er altså her hvor at det hele bliver lidt for besværligt.
Jeg kan godt lide at have et forholdsvis dynamisk hjem, hvor det er let at ændre på mine indstillinger (Både for mig og min kæreste), eller automatisere dem.
Derfor har jeg også en side i home assistant med indstillinger hvor jeg kan justere blandt andet ringeklokkens volume,
dette kan vise sig at være yderst gavnligt når børnene sover,
og når vi alle er gået i seng, bliver ringeklokken slået helt fra.
Der er forskellige måder at gøre dette på, Home Assistant har blandt andet en tids komponent,
jeg har dog valgt at bruge Google Calendar (Flere detaljer om dette kommer i et andet blogindlæg)
Jeg har tilføjet 3 input numbers i min configuration.
current, som er lydniveauet jeg bruger i min automation for dørklokken,
og en quiet som er det niveau som current justeres til tidlig aften, og til slut en normal (standard).
input_number:
soundlvl_doorbell_current:
name: Snd lvl, Doorbell current
min: 1
max: 100
step: 1
soundlvl_doorbell_quiet:
name: Snd lvl, Doorbell when quiet
min: 1
max: 100
step: 1
soundlvl_doorbell_normal:
name: Snd lvl, Doorbell when normal
min: 1
max: 100
step: 1
Min automatik for min kalender ses her, her tidlig aften, som sætter min ringeklokke volume til værdien i min “quiet” slider.
- alias: Calender, Change to early night and delays
trigger:
platform: state
entity_id: calendar.night
to: 'on'
action:
- service: input_number.set_value
data_template:
entity_id: input_number.soundlvl_doorbell_current
value: '{{ states.input_number.soundlvl_doorbell_quiet.state }}'
Sen aften slår jeg dørklokken helt fra
- alias: Calender, Change to Late night and delays
trigger:
platform: state
entity_id: calendar.late_night
to: 'on'
action:
- service: automation.turn_off
data:
entity_id: automation.global_doorbell
Om morgenen tændes dørklokken og lydniveauet sættes retur til “normal”
- alias: Calender, Change to daylight and delays
trigger:
platform: state
entity_id: calendar.morning
to: 'on'
action:
- service: input_number.set_value
data_template:
entity_id: input_number.soundlvl_doorbell_current
value: '{{ states.input_number.soundlvl_doorbell_normal.state }}'
- service: automation.turn_on
data:
entity_id: automation.global_doorbell
Til sidst skal vi tilbage til vores automation for ringeklokken og tilføje muligheden for at justere lydniveauet.
#automation:
- alias: global, doorbell
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: single
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: long_click_press
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xiaomiknap
click_type: double
action:
- service: automation.turn_off
entity_id: automation.global_doorbell
- service: media_player.volume_set
data_template:
entity_id: "media_player.kitchen_home"
volume_level: "{{ states('input_number.soundlvl_doorbell_current') | float / 100 }}"
- service: media_player.play_media
data:
entity_id: media_player.kitchen_home
media_content_id: "http://192.168.0.59:8123/local/ding.mp3"
media_content_type: 'audio/mp3'
- service: notify.discord
data_template:
target: "..."
message: "@everyone - Ring Ring, nogen ringer på!"
- delay:
minutes: 1
- service: automation.turn_on
entity_id: automation.global_doorbell