> {# Morning Wakeup Report #} {%- macro getReport() -%}

Good morning.

It is {{ now().strftime("%I:%M %p") }}

{# Moved the current conditions to a tempate sensor in packages/weather.yaml #} {# That will allow me to use it on other briefings with without having to rewrite it #} {{ states('sensor.current_conditions')}} {% if states.sensor.weatheralerts_active_alerts.state | int > 0 %} There are currently {{states.sensor.weatheralerts_active_alerts.state }} active weather alerts for our area. {% endif %} {# Moved the clothing forecast to a tempate sensor in packages/weather.yaml #} {# That will allow me to use it on other briefings with without having to rewrite it #} {{ states('sensor.clothing_forecast_detail') }}

{% if is_state('input_boolean.school_today', 'on') and state_attr('input_datetime.school_day_end', 'timestamp') < as_timestamp(now()) %} {% if is_state('sensor.school_start_days2go', '0') %} Today is the first day of school! {% else %} {{ [ 'Today is a school day.', 'It is a school day. ' ] | random }} {% endif %} Pickup today will be at {{(state_attr('input_datetime.school_day_end', 'timestamp') | int | timestamp_custom('%I:%M %p', False)) }} {% if 'Digital Learning' in states('sensor.school_event') %} But it is a digital learning day so the commute will be short. {% endif %} {% if 'Early Release' in states('sensor.school_event') %} And It is early release! {% endif %} {% if states.sensor.school_end_days2go.state | int == 0 -%} But today is the last day of School! {%- endif %} {% endif %} {% if is_state('input_boolean.school_today', 'on') and state_attr('input_datetime.school_day_end', 'timestamp') < as_timestamp(now()) and 'Digital Learning' not in states('sensor.school_event') %} {% if is_state('sensor.school_lunch', 'Nothing') %} I am not sure what the school menu is for today, so plan on Skylar taking his lunch {% else %} Today's school lunch is {{ states.sensor.school_lunch.state }}, so he might be interested in buying his lunch. {% endif %} {% endif %} {% if states.sensor.school_end_days2go.state | int == -1 -%} Today is the first day of Summer Break! {%- endif %} {% if 'School Holiday' in states('sensor.school_event') and is_state('input_boolean.school_today', 'off') %} There is no school today. {% endif %} {% if is_state('calendar.skylar_events', 'on') %} Skylar has {{ states.calendar.skylar_events.attributes.message }} today as well! {% endif %}

{% if is_state('input_boolean.skylar_awake', 'on') %} Skylar was up and moving at {{ states.input_datetime.skylar_awake_at.state }}. {% if is_state('media_player.theater_tv', 'on') %} and he appears to be in the Theater. {% if is_state('input_boolean.skylar_dressed_reminder', 'on') %} {{ [ 'I did attempt to remind him to get dressed.', 'I reminded him to get dress.' ]|random }} {% endif %} {% elif is_state('media_player.croft_tv', 'playing') %} and he appears to be in the Croft watching {{ states.media_player.croft_tv.attributes.app_name }} {% if is_state('input_boolean.skylar_dressed_reminder', 'on') %} {{ [ 'I did attempt to remind him to get dressed.', 'I reminded him to get dress.' ]|random }} {% endif %} {% elif is_state('input_boolean.skylar_school', 'on') %} and he appears to be at School. {% else %} but I currently cannot find him on any of my sensors. {% endif %} {% else %} It doesn't appear that Skylar is out of bed yet. {% endif %}

{%- endmacro -%} {# a macro that removes all newline characters, empty spaces, and returns formatted text #} {%- macro cleanup(data) -%} {%- for item in data.split("\n") if item | trim != "" -%} {{ item | trim }} {% endfor -%} {%- endmacro -%} {# a macro to call all macros :) #} {%- macro mother_of_all_macros() -%} {{ getReport() }} {%- endmacro -%} {# Call the macro #} {{- cleanup(mother_of_all_macros()) -}}