Advertisement
touliloup

Home-Assistant Alarm

Dec 17th, 2016
854
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.18 KB | None | 0 0
  1. homeassistant:
  2.   customize:
  3.     sensor.relative_alarm_time:
  4.       hidden: true
  5.     automation.alarm_executor:
  6.       hidden: true
  7.     automation.enable_alarm_on_time_change:
  8.       hidden: true
  9.     automation.alarm_is_activated:
  10.       friendly_name: Activated
  11.       icon: mdi:alarm-multiple
  12.     sensor.alarm_time:
  13.       friendly_name: Set time
  14.       icon: mdi:alarm
  15.  
  16. # Track the sun
  17. sun:
  18. sensor:
  19.   - platform: template
  20.     sensors:
  21.       alarm_time:
  22.         friendly_name: 'Alarm'
  23.         value_template: '{% if states.input_slider.alarmhour.state|round(0)|string|length == 1 %}0{% endif %}{{ states.input_slider.alarmhour.state|round(0)|string }}:{% if states.input_slider.alarmminutes.state|round(0)|string|length == 1 %}0{% endif %}{{ states.input_slider.alarmminutes.state|round(0)|string }}'
  24.         entity_id:
  25.          - input_slider.alarmminutes
  26.           - input_slider.alarmhour
  27.       relative_alarm_time:
  28.         value_template: '{{ states.input_slider.alarmhour.state|float|multiply(60) + states.input_slider.alarmminutes.state|float - (now().hour|float|multiply(60) + now().minute)}}'
  29.         unit_of_measurement: "min"
  30.         entity_id:
  31.          - sensor.time
  32.   - platform: time_date
  33.     display_options:
  34.      - 'time'
  35.  
  36. group:
  37.   alarmclock:
  38.     name: Wake Me Up
  39.     entities:
  40.      - sensor.alarm_time
  41.       - input_slider.alarmhour
  42.       - input_slider.alarmminutes
  43.       - automation.alarm_is_activated
  44.  
  45. input_slider:
  46.   alarmhour:
  47.     name: Hour
  48.     icon: mdi:timer
  49.     initial: 7
  50.     min: 5
  51.     max: 22
  52.     step: 1
  53.   alarmminutes:
  54.     name: Minutes
  55.     icon: mdi:timer
  56.     initial: 0
  57.     min: 0
  58.     max: 55
  59.     step: 5
  60.  
  61. automation:
  62.   - alias: alarm_executor
  63.     trigger:
  64.       - platform: time
  65.         minutes: '/5'
  66.     condition:
  67.       condition: and
  68.       conditions:
  69.         - condition: state
  70.           entity_id: device_tracker.one_device
  71.           state: 'home'
  72.         - condition: state
  73.           entity_id: device_tracker.another_device
  74.           state: 'home'
  75.         - condition: state
  76.           entity_id: automation.alarm_is_activated
  77.           state: 'on'
  78.         - condition: numeric_state
  79.           entity_id: sensor.relative_alarm_time
  80.           below: 5
  81.           above: -5
  82.         - condition: numeric_state
  83.           entity_id: sun.sun
  84.           value_template: '{{ state.attributes.elevation }}'
  85.           below: 8
  86.     action:
  87.       service: light.turn_on
  88.       entity_id: light.ikea_boy
  89.   - alias: 'alarm_is_activated'
  90.     initial_state: False
  91.     trigger:
  92.       - platform: time
  93.         minutes: '/1'
  94.     condition:
  95.       - condition: template
  96.         value_template: '{{ now().hour == (states.input_slider.alarmhour.state  | round(0))  and  now().minute == (states.input_slider.alarmminutes.state  | round(0) )  }}'
  97.     action:
  98.       - service: homeassistant.turn_off
  99.         data:
  100.           entity_id: automation.alarm_is_activated
  101.   - alias: "enable_alarm_on_time_change"
  102.     trigger:
  103.       platform: state
  104.       entity_id: input_slider.alarmhour, input_slider.alarmminutes
  105.     action:
  106.       - service: homeassistant.turn_on
  107.         data:
  108.           entity_id:
  109.            - automation.alarm_is_activated
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement