2018-01-02 00:00:45 +00:00
|
|
|
###############################################################################
|
2019-02-22 19:55:09 +00:00
|
|
|
#-------------------------------------------
|
|
|
|
# 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
|
|
|
|
#-------------------------------------------
|
2018-01-02 00:00:45 +00:00
|
|
|
## Modified for my own fun stuff!
|
|
|
|
|
|
|
|
homeassistant:
|
|
|
|
customize:
|
|
|
|
|
|
|
|
sensor.holiday:
|
2021-07-26 20:16:49 +00:00
|
|
|
|
2018-01-02 00:00:45 +00:00
|
|
|
icon: mdi:beach
|
|
|
|
friendly_name: US Holiday
|
|
|
|
sensor.flag:
|
2021-07-26 20:16:49 +00:00
|
|
|
|
2018-01-02 00:00:45 +00:00
|
|
|
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
|
2018-03-01 01:00:44 +00:00
|
|
|
resource: https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/json_data/holidays.json
|
2018-01-02 00:00:45 +00:00
|
|
|
name: Holiday
|
|
|
|
scan_interval: 14400
|
|
|
|
value_template: >
|
|
|
|
{% set today = now().month ~ '/' ~ now().day %}
|
2024-09-18 17:43:14 +00:00
|
|
|
{% set holiday = value_json.MAJOR_US.static[today] if today in value_json.MAJOR_US.static else "" %}
|
2018-01-02 00:00:45 +00:00
|
|
|
{% if holiday | trim == "" %}
|
|
|
|
{% set today = now().month ~ '/' ~ now().day ~ '/' ~ now().year %}
|
2024-09-18 17:43:14 +00:00
|
|
|
{% set holiday = value_json.MAJOR_US.dynamic[today] if today in value_json.MAJOR_US.dynamic else "" %}
|
2018-01-02 00:00:45 +00:00
|
|
|
{% endif %}
|
|
|
|
{{ holiday }}
|
|
|
|
|
2019-02-22 19:55:09 +00:00
|
|
|
################################################################################
|
2024-09-18 18:05:53 +00:00
|
|
|
# Sensor Uses Flag data generated by AI
|
2019-02-22 19:55:09 +00:00
|
|
|
################################################################################
|
2019-01-10 20:32:07 +00:00
|
|
|
- platform: rest
|
2024-09-18 17:43:14 +00:00
|
|
|
resource: https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/json_data/flag_days.json
|
2019-01-10 20:32:07 +00:00
|
|
|
name: Flag
|
|
|
|
scan_interval: 14400
|
|
|
|
value_template: >-
|
2024-09-18 18:05:53 +00:00
|
|
|
{% set now_string = now().strftime('%m/%d') %}
|
|
|
|
{% set now_full_string = now().strftime('%m/%d/%Y') %}
|
|
|
|
{% if value_json is defined and value_json.Flag_Days_US is defined %}
|
|
|
|
{% set static_days = value_json.Flag_Days_US.static %}
|
|
|
|
{% set dynamic_days = value_json.Flag_Days_US.dynamic %}
|
|
|
|
{% if static_days is defined and now_string in static_days %}
|
|
|
|
True
|
|
|
|
{% elif dynamic_days is defined %}
|
|
|
|
{% for day_val in dynamic_days %}
|
|
|
|
{% if day_val.date == now_full_string %}
|
|
|
|
True
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
False
|
|
|
|
{% endif %}
|
2024-09-18 17:43:14 +00:00
|
|
|
{% else %}
|
2024-09-18 18:05:53 +00:00
|
|
|
|
2024-09-18 17:43:14 +00:00
|
|
|
{% endif %}
|
2018-01-02 00:00:45 +00:00
|
|
|
|
2019-10-06 18:00:44 +00:00
|
|
|
################################################################################
|
2023-11-18 18:29:27 +00:00
|
|
|
# Countdown Sensor using WolfRam Alpha Natural language queries
|
2019-10-06 18:00:44 +00:00
|
|
|
################################################################################
|
|
|
|
|
2019-10-21 22:17:21 +00:00
|
|
|
- platform: rest
|
2019-10-06 18:00:44 +00:00
|
|
|
name: Halloween Countdown
|
2019-10-21 22:17:21 +00:00
|
|
|
resource: !secret wolframalpha_halloween_api
|
|
|
|
value_template: "{{ (value|replace(' days', '')) | int }}"
|
2019-10-06 18:00:44 +00:00
|
|
|
unit_of_measurement: Days
|
|
|
|
scan_interval: 43200
|
|
|
|
|
2019-10-21 22:17:21 +00:00
|
|
|
- platform: rest
|
2019-11-16 00:16:23 +00:00
|
|
|
name: Christmas Countdown
|
2019-10-21 22:17:21 +00:00
|
|
|
resource: !secret wolframalpha_xmas_api
|
|
|
|
value_template: "{{ (value|replace(' days', '')) | int }}"
|
|
|
|
unit_of_measurement: Days
|
2019-10-06 18:00:44 +00:00
|
|
|
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
|
2020-04-07 18:12:13 +00:00
|
|
|
name: Mothers Countdown
|
2019-10-06 18:00:44 +00:00
|
|
|
resource: !secret wolframalpha_mothersday_api
|
|
|
|
value_template: "{{ (value|replace(' days', '')) | int }}"
|
2019-10-06 18:18:00 +00:00
|
|
|
unit_of_measurement: Days
|
|
|
|
scan_interval: 43200
|
|
|
|
|
|
|
|
- platform: rest
|
2020-04-07 18:12:13 +00:00
|
|
|
name: Fathers Countdown
|
2019-10-06 18:18:00 +00:00
|
|
|
resource: !secret wolframalpha_fathersday_api
|
|
|
|
value_template: "{{ (value|replace(' days', '')) | int }}"
|
2019-10-21 21:33:31 +00:00
|
|
|
unit_of_measurement: Days
|
|
|
|
scan_interval: 43200
|
|
|
|
|
|
|
|
- platform: rest
|
|
|
|
name: Chanukkah Countdown
|
|
|
|
resource: !secret wolframalpha_chanukkah_api
|
|
|
|
value_template: "{{ (value|replace(' days', '')) | int }}"
|
2019-10-06 18:00:44 +00:00
|
|
|
unit_of_measurement: Days
|
|
|
|
scan_interval: 43200
|
2020-02-15 23:52:58 +00:00
|
|
|
|
|
|
|
- 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
|