diff --git a/custom_templates/time.jinja b/custom_templates/time.jinja index a1f61af..a350729 100644 --- a/custom_templates/time.jinja +++ b/custom_templates/time.jinja @@ -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) %} diff --git a/packages/scheduling.yaml b/packages/scheduling.yaml index 08fbd77..2349357 100644 --- a/packages/scheduling.yaml +++ b/packages/scheduling.yaml @@ -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 diff --git a/packages/school.yaml b/packages/school.yaml index 369e47c..81ce683 100644 --- a/packages/school.yaml +++ b/packages/school.yaml @@ -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 \ No newline at end of file