Update holiday.yaml to change resource URLs to local paths and refactor flag days logic for improved readability and efficiency.

This commit is contained in:
Carlo Costanzo
2025-12-10 10:53:19 -05:00
parent 5892711916
commit 1e490e53f6
3 changed files with 209 additions and 18 deletions

View File

@@ -29,7 +29,7 @@ homeassistant:
###############################################################################
sensor:
- platform: rest
resource: https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/json_data/holidays.json
resource: http://localhost:8123/local/json_data/holidays.json
name: Holiday
scan_interval: 14400
value_template: >
@@ -45,28 +45,21 @@ sensor:
# Sensor Uses Flag data generated by AI
################################################################################
- platform: rest
resource: https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/json_data/flag_days.json
resource: http://localhost:8123/local/json_data/flag_days.json
name: Flag
scan_interval: 14400
value_template: >-
{% set now_string = now().strftime('%m/%d') %}
{% set now_string = now().month ~ '/' ~ now().day %}
{% 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 %}
{% set flag_data = value_json.Flag_Days_US if value_json is defined and value_json.Flag_Days_US is defined else {} %}
{% set static_days = flag_data.static if flag_data.static is defined else {} %}
{% set dynamic_days = flag_data.dynamic if flag_data.dynamic is defined else {} %}
{% if now_string in static_days %}
True
{% elif now_full_string in dynamic_days %}
True
{% else %}
False
{% endif %}
################################################################################