Fixes for summer vacation breaking K's morning scheduling

This commit is contained in:
2023-06-01 13:56:20 -04:00
parent 3f158d4d7b
commit ab9ed5ffd9
3 changed files with 45 additions and 44 deletions

View File

@ -27,7 +27,9 @@
{% endmacro %}
{% macro calendar_event_today(calendar) %}
{{ as_timestamp(strptime(state_attr(calendar,'start_time'), '%Y-%m-%d %H:%M:%S')) | timestamp_custom("%Y-%m-%d") == now().strftime("%Y-%m-%d") }}
{% if state_attr(calendar,'start_time') %}
{{ as_timestamp(strptime(state_attr(calendar,'start_time'), '%Y-%m-%d %H:%M:%S')) | timestamp_custom("%Y-%m-%d") == now().strftime("%Y-%m-%d") }}
{% endif %}
{% endmacro %}
{% macro set_time_from_calendar(calendar,start_or_end) %}

View File

@ -167,18 +167,23 @@ script:
entity_id:
- input_boolean.kallen_morning_meds_taken
- input_boolean.kallen_night_meds_taken
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_start
data:
time: >
{% from 'time.jinja' import set_time_from_calendar %}
{% if is_state('input_boolean.two_hour_delay','on') %}
11:00
{% else %}
{{ set_time_from_calendar('calendar.kallen_school_days','start_time') }}
{% endif %}
- delay:
seconds: 1
- if:
- condition: state
entity_id: input_boolean.school_in_session
state: 'on'
then:
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_start
data:
time: >
{% from 'time.jinja' import set_time_from_calendar %}
{% if is_state('input_boolean.two_hour_delay','on') %}
11:00
{% else %}
{{ set_time_from_calendar('calendar.kallen_school_days','start_time') }}
{% endif %}
- delay:
seconds: 1
- if:
- condition: state
entity_id: input_boolean.kallen_wakeup_override
@ -229,24 +234,29 @@ script:
{% else %}
10:00
{% endif %}
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_start_reminder
data:
time: >
{% if is_state('input_boolean.two_hour_delay','on') %}
10:00
{% else %}
{{ (state_attr('input_datetime.kallen_school_day_start','timestamp') - 3600) | timestamp_custom('%H:%M', false) }}
{% endif %}
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_end_reminder
data:
time: >
{% if is_state('input_boolean.kallen_school_early_release','on') %}
13:30
{% else %}
14:00
{% endif %}
- if:
- condition: state
entity_id: input_boolean.kallen_school_today
state: 'on'
then:
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_start_reminder
data:
time: >
{% if is_state('input_boolean.two_hour_delay','on') %}
10:00
{% else %}
{{ (state_attr('input_datetime.kallen_school_day_start','timestamp') - 3600) | timestamp_custom('%H:%M', false) }}
{% endif %}
- service: input_datetime.set_datetime
entity_id: input_datetime.kallen_school_day_end_reminder
data:
time: >
{% if is_state('input_boolean.kallen_school_early_release','on') %}
13:30
{% else %}
14:00
{% endif %}
- service: input_datetime.set_datetime
target:
entity_id: input_datetime.kallen_morning_meds_notify

View File

@ -441,8 +441,7 @@ script:
entity_id:
- input_boolean.kallen_school_today
- input_boolean.kallen_school_today_extended
- service: script.turn_on
entity_id: script.school_in_session
- input_boolean.school_in_session
- delay:
seconds: 1
- if:
@ -470,14 +469,4 @@ script:
entity_id:
- input_boolean.kallen_school_today_extended
- input_boolean.kallen_band_practice
- input_boolean.kallen_school_early_release
school_in_session:
alias: 'School In Session'
sequence:
- condition: state
entity_id: input_boolean.school_in_session
state: 'off'
- service: input_boolean.turn_on
entity_id: input_boolean.school_in_session
- input_boolean.kallen_school_early_release