############################################################################### # @author : Jeffrey Stone # @date : 02/19/2019 # @package : Holidays # @description : Holiday Specific. # # I'm not sure where I got this, but it leverages a python script: https://github.com/thejeffreystone/home-assistant-configuration/blob/master/python_scripts/special_events.py # # To create a sensor just create an automation to fire around midnight. # # automation: # - id: refresh_holioday_sensors # alias: Refresh Holiday sensors # initial_state: true # trigger: # - platform: time # at: '00:00:07' # - platform: homeassistant # event: start # action: # - service: python_script.special_events # data: # name: Christmas # type: holiday # date: 25/12/2001 # # Where Name equals the name of the event, type is the type of event, and date is the date in DD/MM/YYYY format # # Year only matters if your want to take advantage fo the years attribute which will tell you have many years since the event. Useful # with birthdays and anniversaries. # # I use the Following types: # birthday # anniversary # holiday # trip # # The type will be used in the name of the sensor it creates. For example: # sensor.trip_camping # sensor.birthday_jeff # sensor.holiday_christmas # # The state of the sensor will be the days until the event. For birthdays and anniversaries it will never be more than 365. # For example {{ states.sensor.birthday_jeff.state }} will be the number of days until my next birthday. # And {{ states.sensor.birthday_jeff.attributes.years }} will be my age, or the number of years since my birth (if you put the real year in) # For events with a year in the future, the state will be number of days to that exact moment in time. # ############################################################################### automation: # Holiday Wishes - id: wishes_five_min alias: Wishes Five Minute initial_state: true trigger: - platform: template value_template: "{{ states('sensor.time') == (state_attr('input_datetime.christmas_preshow', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}" condition: - condition: state entity_id: calendar.holidays_in_united_states state: "on" - condition: template value_template: > {%- set event=states.calendar.holidays_in_united_states.attributes.message %} {%- if event == 'Christmas Eve' %} true {%- endif -%} action: - service: script.holiday_wishes_preshow - id: wishes_show_start alias: Wishes Show Start initial_state: true trigger: - platform: template value_template: "{{ states('sensor.time') == (state_attr('input_datetime.christmas_show', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}" condition: - condition: state entity_id: calendar.holidays_in_united_states state: "on" - condition: template value_template: > {%- set event=states.calendar.holidays_in_united_states.attributes.message %} {%- if event == 'Christmas Eve' %} true {%- endif -%} action: - service: input_boolean.turn_on entity_id: input_boolean.holiday_wishes - id: e1cb2582-0423-11eb-adc1-0242ac120002 alias: Mainstreet USA Christmas Loop trigger: - platform: state entity_id: input_boolean.mainstreet_usa_christmas_loop to: 'on' from: 'off' id: start - platform: state entity_id: input_boolean.mainstreet_usa_christmas_loop id: stop from: 'on' to: 'off' action: - choose: - conditions: - condition: trigger id: start sequence: - service: script.local_audio data: media: "/media/disney/MainStreetUSAChristmas.mp3" volume: .35 speaker: 'media_player.ha_blue' - conditions: - condition: trigger id: stop sequence: - service: media_player.media_stop entity_id: media_player.ha_blue - service: script.turn_off entity_id: script.local_audio default: [] initial_state: true mode: single - id: e1cb24ba-0423-11eb-adc1-0242ac120002 alias: Disneyland Christmas Loop trigger: - platform: state entity_id: input_boolean.disneyland_christmas_loop to: 'on' from: 'off' id: start - platform: state entity_id: input_boolean.disneyland_christmas_loop id: stop from: 'on' to: 'off' action: - choose: - conditions: - condition: trigger id: start sequence: - service: script.local_audio data: media: "/media/disney/DisneylandChristmas.mp3" volume: .35 speaker: 'media_player.ha_blue' - conditions: - condition: trigger id: stop sequence: - service: media_player.media_stop entity_id: media_player.ha_blue - service: script.turn_off entity_id: script.local_audio default: [] initial_state: true mode: single - id: e1cb2348-0423-11eb-adc1-0242ac120002 alias: Disney Park Christmas Loop trigger: - platform: state entity_id: input_boolean.disney_park_christmas_loop to: 'on' from: 'off' id: start - platform: state entity_id: input_boolean.disney_park_christmas_loop id: stop from: 'on' to: 'off' action: - choose: - conditions: - condition: trigger id: start sequence: - service: script.local_audio data: media: "/media/disney/DisneyParkHoliday.mp3" volume: .35 speaker: 'media_player.ha_blue' - conditions: - condition: trigger id: stop sequence: - service: media_player.media_stop entity_id: media_player.ha_blue - service: script.turn_off entity_id: script.local_audio default: [] initial_state: true mode: single - id: e1cb228a-0423-11eb-adc1-0242ac120002 alias: Christmas Around Disneyland trigger: - platform: state entity_id: input_boolean.christmas_around_disneyland to: 'on' from: 'off' id: start - platform: state entity_id: input_boolean.christmas_around_disneyland id: stop from: 'on' to: 'off' action: - choose: - conditions: - condition: trigger id: start sequence: - service: script.local_audio data: media: "/media/disney/ChristmasAroundDisneyland.mp3" volume: .35 speaker: 'media_player.ha_blue' - conditions: - condition: trigger id: stop sequence: - service: media_player.media_stop entity_id: media_player.ha_blue - service: script.turn_off entity_id: script.local_audio default: [] initial_state: true mode: single - id: e1cb21cc-0423-11eb-adc1-0242ac120002 alias: Disney Springs Christmas trigger: - platform: state entity_id: input_boolean.disney_springs_xmas to: 'on' from: 'off' id: start - platform: state entity_id: input_boolean.disney_springs_xmas id: stop from: 'on' to: 'off' action: - choose: - conditions: - condition: trigger id: start sequence: - service: script.local_audio data: media: "/media/disney/Disney_Springs_Xmas_Loop.mp3" volume: .35 speaker: 'media_player.ha_blue' - conditions: - condition: trigger id: stop sequence: - service: media_player.media_stop entity_id: media_player.ha_blue - service: script.turn_off entity_id: script.local_audio default: [] initial_state: true mode: single sensor: - platform: rest name: Halloween Countdown resource: !secret WA_HALLOWEEN value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Christmas Countdown resource: !secret WA_XMAS value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 script: fireworks1d_xmas: sequence: - service: wled.effect target: entity_id: light.wled_tree data: effect: "Fireworks 1D" intensity: 51 - service: light.turn_on data: entity_id: light.wled_tree brightness: 127 blends_xmas: sequence: - service: wled.effect target: entity_id: light.wled_tree data: effect: "Blends" intensity: 43 - service: light.turn_on data: entity_id: light.wled_tree brightness: 43 aurora_xmas: sequence: - service: wled.effect target: entity_id: light.wled_tree data: effect: "Aurora" intensity: 128 - service: light.turn_on data: entity_id: light.wled_tree brightness: 255 twinklefox_xmas: sequence: - service: wled.effect target: entity_id: light.wled_tree data: effect: "Twinklefox" intensity: 128 - service: light.turn_on data: entity_id: light.wled_tree brightness: 127