############################################################################### #------------------------------------------- # Holiday Package # @CCOSTAN # Repo : https://github.com/CCOSTAN/Home-AssistantConfig # Video Breakdown - https://www.vcloudinfo.com/2019/02/breaking-down-the-flag-sensor-in-home-assistant.html #------------------------------------------- ## Modified for my own fun stuff! homeassistant: customize: sensor.holiday: icon: mdi:beach friendly_name: US Holiday sensor.flag: icon: mdi:flag friendly_name: Flag Day ############################################################################### # Sensor updates once every 4 hours (14400 seconds) & runs 6 times in 24 hours # # First it checks for holiday in static section, if that doesn't exist, # it checks in the dynamic section. If neither exists, the value will be empty ############################################################################### sensor: - platform: rest resource: https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/json_data/holidays.json name: Holiday scan_interval: 14400 value_template: > {% set today = now().month ~ '/' ~ now().day %} {% set holiday = value_json.MAJOR_US.static[ today ] %} {% if holiday | trim == "" %} {% set today = now().month ~ '/' ~ now().day ~ '/' ~ now().year %} {% set holiday = value_json.MAJOR_US.dynamic[ today ] %} {% endif %} {{ holiday }} ################################################################################ # Sensor Uses Flag data from this calendar - http://www.webcal.fi/en-US/flag_days.php ################################################################################ - platform: rest resource: https://www.webcal.fi/cal.php?id=335&format=json&start_year=current_year&end_year=current_year&tz=America%2FNew_York name: Flag scan_interval: 14400 value_template: >- {%- set now_string = now().strftime('%Y-%m-%d') %} {% for day_val in value_json if day_val.date == now_string %} True {% else %} False {% endfor -%} ################################################################################ # Countdown Sensor using WolfRam Alpha Natural language queries ################################################################################ - platform: rest name: Halloween Countdown resource: !secret wolframalpha_halloween_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Christmas Countdown resource: !secret wolframalpha_xmas_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Easter Countdown resource: !secret wolframalpha_easter_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Mothers Countdown resource: !secret wolframalpha_mothersday_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Fathers Countdown resource: !secret wolframalpha_fathersday_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Chanukkah Countdown resource: !secret wolframalpha_chanukkah_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Labor Day Countdown resource: !secret wolframalpha_labor_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Memorial Day Countdown resource: !secret wolframalpha_memorial_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200 - platform: rest name: Thanksgiving Day Countdown resource: !secret wolframalpha_thanksgiving_api value_template: "{{ (value|replace(' days', '')) | int }}" unit_of_measurement: Days scan_interval: 43200