Home-AssistantConfig/config/packages/holiday.yaml

128 lines
4.5 KiB
YAML
Raw Normal View History

2018-01-02 00:00:45 +00:00
###############################################################################
# @author : Mahasri Kalavala
# @date : 10/28/2017
# @package : Holidays
# @description : Retrieves the holiday
###############################################################################
#-------------------------------------------
# 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 %}
{% 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 -%}
2018-01-02 00:00:45 +00:00
################################################################################
# Countdown Sesor 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
2020-04-07 18:12:13 +00:00
name: Mothers Countdown
resource: !secret wolframalpha_mothersday_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: Fathers Countdown
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 }}"
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