From e686283884c9215f5b22907853b66dbc6d17bd00 Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Fri, 2 Jun 2023 14:14:04 -0400 Subject: [PATCH] Consolidate set/read from calendars into one macro --- custom_templates/status.jinja | 4 ++-- custom_templates/time.jinja | 8 ++++---- packages/scheduling.yaml | 4 ++-- packages/school.yaml | 8 ++++---- packages/tina.yaml | 8 ++++---- packages/tony.yaml | 4 ++-- templates/speech/nightly_briefing.yaml | 4 ++-- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/custom_templates/status.jinja b/custom_templates/status.jinja index e155789..c980fa5 100644 --- a/custom_templates/status.jinja +++ b/custom_templates/status.jinja @@ -1,4 +1,4 @@ -{% from 'time.jinja' import input_datetime_read, ct, next_twitch_stream, calendar_event_today, read_time_from_calendar %} +{% from 'time.jinja' import input_datetime_read, ct, next_twitch_stream, calendar_event_today, time_from_calendar %} {% from 'easy_time.jinja' import count_the_days, custom_time, custom_time_between, clock %} {% set ct = ct() | int %} @@ -69,7 +69,7 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr {% endif %} {% elif state_attr('calendar.tony_s_twitch_schedule','start_time') != none %} {% if count_the_days('calendar.tony_s_twitch_schedule','start_time') | int == 1 %} - Tony will be streaming at {{ read_time_from_calendar('calendar.tony_s_twitch_schedule','start_time') }} tomorrow. + Tony will be streaming at {{ time_from_calendar('calendar.tony_s_twitch_schedule','start_time','read') }} tomorrow. {% else %} Tony does not have a stream scheduled today. The next scheduled stream is in {{ next_twitch_stream() }} approximately. {% endif %} diff --git a/custom_templates/time.jinja b/custom_templates/time.jinja index ccd2d22..a634038 100644 --- a/custom_templates/time.jinja +++ b/custom_templates/time.jinja @@ -38,12 +38,12 @@ {% endif %} {% endmacro %} -{% macro set_time_from_calendar(calendar,start_or_end) %} +{% macro time_from_calendar(calendar,start_or_end,action) %} +{% if action == 'set' %} {{ as_timestamp(strptime(state_attr(calendar,start_or_end), '%Y-%m-%d %H:%M:%S')) | timestamp_custom("%H:%M") }} -{% endmacro %} - -{% macro read_time_from_calendar(calendar,start_or_end) %} +{% elif action == 'read' %} {{ as_timestamp(strptime(state_attr(calendar,start_or_end), '%Y-%m-%d %H:%M:%S')) | timestamp_custom("%-I:%M %p") }} +{% endif %} {% endmacro %} {% macro set_datetime(hours,minutes,seconds) %} diff --git a/packages/scheduling.yaml b/packages/scheduling.yaml index 912ec22..da7e2dc 100644 --- a/packages/scheduling.yaml +++ b/packages/scheduling.yaml @@ -176,11 +176,11 @@ script: entity_id: input_datetime.kallen_school_day_start data: time: > - {% from 'time.jinja' import set_time_from_calendar %} + {% from 'time.jinja' import time_from_calendar %} {% if is_state('input_boolean.two_hour_delay','on') %} 10:00 {% else %} - {{ set_time_from_calendar('calendar.kallen_school_days','start_time') }} + {{ time_from_calendar('calendar.kallen_school_days','start_time','set') }} {% endif %} - delay: seconds: 1 diff --git a/packages/school.yaml b/packages/school.yaml index 01b55b6..5212014 100644 --- a/packages/school.yaml +++ b/packages/school.yaml @@ -408,15 +408,15 @@ script: entity_id: input_datetime.kallen_school_day_end data: time: > - {% from 'time.jinja' import set_time_from_calendar %} - {{ set_time_from_calendar('calendar.kallen_school_days','end_time') }} + {% from 'time.jinja' import time_from_calendar %} + {{ time_from_calendar('calendar.kallen_school_days','end_time','set') }} - service: input_datetime.set_datetime target: entity_id: input_datetime.kallen_school_day_start data: time: > - {% from 'time.jinja' import set_time_from_calendar %} - {{ set_time_from_calendar('calendar.kallen_school_days','start_time') }} + {% from 'time.jinja' import time_from_calendar %} + {{ time_from_calendar('calendar.kallen_school_days','start_time','set') }} - service: input_boolean.turn_on entity_id: - input_boolean.kallen_school_today diff --git a/packages/tina.yaml b/packages/tina.yaml index 7aae768..94162c1 100644 --- a/packages/tina.yaml +++ b/packages/tina.yaml @@ -141,15 +141,15 @@ script: entity_id: input_datetime.tina_workday_start data: time: > - {% from 'time.jinja' import set_time_from_calendar %} - {{ set_time_from_calendar('calendar.family_tinawork','start_time') }} + {% from 'time.jinja' import time_from_calendar %} + {{ time_from_calendar('calendar.family_tinawork','start_time','set') }} - service: input_datetime.set_datetime target: entity_id: input_datetime.tina_workday_end data: time: > - {% from 'time.jinja' import set_time_from_calendar %} - {{ set_time_from_calendar('calendar.family_tinawork','end_time') }} + {% from 'time.jinja' import time_from_calendar %} + {{ time_from_calendar('calendar.family_tinawork','end_time','set') }} - service: input_boolean.turn_on target: entity_id: diff --git a/packages/tony.yaml b/packages/tony.yaml index e42f82c..c11ac86 100644 --- a/packages/tony.yaml +++ b/packages/tony.yaml @@ -392,8 +392,8 @@ script: entity_id: input_datetime.tony_streaming_start_time data: time: > - {% from 'time.jinja' import set_time_from_calendar %} - {{ set_time_from_calendar('calendar.tony_s_twitch_schedule','start_time') }} + {% from 'time.jinja' import time_from_calendar %} + {{ time_from_calendar('calendar.tony_s_twitch_schedule','start_time','set') }} - service: input_boolean.turn_on entity_id: input_boolean.tony_streaming_today diff --git a/templates/speech/nightly_briefing.yaml b/templates/speech/nightly_briefing.yaml index a174e49..2f90c9a 100644 --- a/templates/speech/nightly_briefing.yaml +++ b/templates/speech/nightly_briefing.yaml @@ -2,7 +2,7 @@ {# Nightly Briefing #} {%- macro getReport() -%} {% from 'speech.jinja' import greeting, dadjoke, inspirational_quote %} - {% from 'time.jinja' import input_datetime_read, read_time_from_calendar, next_twitch_stream %} + {% from 'time.jinja' import input_datetime_read, time_from_calendar, next_twitch_stream %} {% from 'status.jinja' import tonyStatusReport, tinaStatusReport, kallenStatusReport, emmaStatusReport %} {% from 'easy_time.jinja' import count_the_days %} {% from 'weather.jinja' import weatherReport %} @@ -25,7 +25,7 @@

{{ tonyStatusReport('stream','tts') }} {% if is_state('binary_sensor.kallen_school_tomorrow','on') %} - "Collin has school tomorrow at {{ read_time_from_calendar('calendar.kallen_school_days','start_time') }}. " + "Collin has school tomorrow at {{ time_from_calendar('calendar.kallen_school_days','start_time','read') }}. " {% else %} "Collin does not have school tomorrow. " {% endif %}