Gør din smarte ringeklokke rigtig smart

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?

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
comments powered by Disqus