diff --git a/custom_templates/status.jinja b/custom_templates/status.jinja index 2347a2f..2e7b33f 100644 --- a/custom_templates/status.jinja +++ b/custom_templates/status.jinja @@ -164,4 +164,116 @@ Tony does not have a stream scheduled today. The next scheduled stream is in {{ {{ medReportTony() }} {{ twitchStreamInfo(method) }} {% endif %} +{% endmacro %} + +{% macro schoolReportKallen(method) %} +{% from 'time.jinja' import input_datetime_12hr, ct %} +{% from 'easy_time.jinja' import custom_time, count_the_days %} +{% set wakeup = state_attr('input_datetime.kallen_wakeup_time','timestamp') %} +{% set bedtime = state_attr('input_datetime.kallen_bedtime','timestamp') %} +{% set ct = ct() | int %} +{% if method == 'tts' %} + {% if is_state('input_boolean.kallen_school_today', 'on') %} + {% if is_state('sensor.school_start_days2go', '0') %} + Today is the first day of school! The last day is in {{ custom_time('input_datetime.school_last_day','month,week,day') }}. + {% else %} + {{ [ 'Today is a school day.', + 'Collin has school today.', + 'It is a school day. ' + ] | random }} + {% if is_state('input_boolean.two_hour_delay','on') %} + 'But there was a two hour delay. ' + {% endif %} + {% endif %} + {% if is_state('input_boolean.kallen_alternate_pickup','on') %} + {{ states('input_text.kallen_pickup') }} will be picking Collin up from school today. + {% else %} + Pickup today will be at {{ input_datetime_12hr('input_datetime.kallen_school_day_end') }}. + {% if is_state('input_boolean.kallen_school_early_release','on') %} + And It is early release! + {% endif %} + {% endif %} + {% if states('sensor.windows_open') | int > 0 %} + 'I detect that there are windows open. Make sure you close them before you leave, or else the security system will not arm. ' + {% endif %} + {% endif %} + {% if is_state('input_boolean.school_cancelled','on') %} + 'School has been cancelled for today. ' + {% endif %} + {% if (count_the_days('input_datetime.thanksgiving_break_start') | int <= 14) and (count_the_days('input_datetime.thanksgiving_break_start') | int > 0) %} + {{ [ 'Oh, and look at that.', + 'For those trying to keep count. ', + 'In case you were wondering.', + 'Also, did you know.' + ] | random }} + 'Thanksgiving break starts in {{ custom_time('input_datetime.thanksgiving_break_start','week,day') }}!' + {% endif %} + {% if (count_the_days('input_datetime.christmas_break_start') | int <= 14) and (count_the_days('input_datetime.christmas_break_start') | int > 0) %} + {{ [ 'Oh, and look at that.', + 'For those trying to keep count. ', + 'In case you were wondering.', + 'Also, did you know.' + ] | random }} + 'Christmas break starts in {{ custom_time('input_datetime.christmas_break_start','week,day') }}!' + {% endif %} + {% if (count_the_days('input_datetime.spring_break_start') | int <= 14) and (count_the_days('input_datetime.spring_break_start') | int > 0) %} + {{ [ 'Oh, and look at that.', + 'For those trying to keep count. ', + 'In case you were wondering.', + 'Also, did you know.' + ] | random }} + 'Spring break starts in {{ custom_time('input_datetime.spring_break_start','week,day') }}!' + {% endif %} + {% if (count_the_days('input_datetime.school_last_day') | int <= 35) and (count_the_days('input_datetime.school_last_day') | int > 0) %} + {{ [ 'Oh, and look at that.', + 'For those trying to keep count. ', + 'In case you were wondering.', + 'Also, did you know.' + ] | random }} + The school year ends in {{ custom_time('input_datetime.school_last_day','week,day') }}. + {% endif %} + {% if count_the_days('input_datetime.school_last_day') | int == 0 %} + Congratulations, today is the last day of school! Have an awesome day! + {% endif %} + {% if count_the_days('input_datetime.school_last_day') | int == -1 -%} + Today is the first day of Summer Break! + {%- endif %} +{% elif method == 'text' %} + {% if is_state('input_boolean.kallen_school_today','on') %} + {% if is_state('input_boolean.two_hour_delay','on') %} + School is currently under a two hour delay for Kallen. + {% elif is_state('input_boolean.kallen_at_school','on') %} + Kallen is at school right now. + {% if is_state('input_boolean.kallen_alternate_pickup','on') %} + {{ states('input_text.kallen_pickup') }} will be picking him up from school today. + {% elif is_state('input_boolean.kallen_school_early_release','on') %} + The school is on an early release schedule, pickup is at {{ input_datetime_12hr('input_datetime.kallen_school_day_end') }} today. + {% else %} + His pickup time is {{ input_datetime_12hr('input_datetime.kallen_school_day_end') }} today. + {% endif %} + {% else %} + Kallen has school at {{ input_datetime_12hr('input_datetime.kallen_school_day_start') }} today. + {% endif %} + {% elif is_state('input_boolean.school_cancelled','on') %} + School is cancelled today for Kallen. + {% elif is_state('input_boolean.kallen_school_today_extended','on') and is_state('input_boolean.kallen_school_today','off') %} + {% if (ct > wakeup) and (ct < bedtime) %} + Kallen has finished his school day. + {% endif %} + {% else %} + Kallen does not have school today. + {% endif %} +{% endif %} +{% endmacro %} + +{% macro kallenStatusReport(type,method) %} +{% from 'status.jinja' import medReportKallen %} +{% if type == 'meds' %} +{{ medReportKallen() }} +{% elif type == 'school' %} +{{ schoolReportKallen(method) }} +{% elif type == 'full' %} +{{ medReportKallen() }} +{{ schoolReportKallen(method) }} +{% endif %} {% endmacro %} \ No newline at end of file diff --git a/templates/speech/daily_briefing.yaml b/templates/speech/daily_briefing.yaml index 70b67be..e4ace2e 100644 --- a/templates/speech/daily_briefing.yaml +++ b/templates/speech/daily_briefing.yaml @@ -3,7 +3,7 @@ {%- macro getReport() -%} {% from 'speech.jinja' import greeting, dadjoke, inspirational_quote %} {% from 'time.jinja' import input_datetime_12hr %} - {% from 'status.jinja' import emma_sleep, tonyStatusReport %} + {% from 'status.jinja' import emma_sleep, tonyStatusReport, kallenStatusReport %} {% from 'easy_time.jinja' import count_the_days, custom_time %}

{{ greeting() }} @@ -284,71 +284,7 @@ {{ tonyStatusReport('stream','tts') }} - {% if is_state('input_boolean.kallen_school_today', 'on') %} - {% if is_state('sensor.school_start_days2go', '0') %} - Today is the first day of school! The last day is in {{ custom_time('input_datetime.school_last_day','month,week,day') }}. - {% else %} - {{ [ 'Today is a school day.', - 'Collin has school today.', - 'It is a school day. ' - ] | random }} - {% if is_state('input_boolean.two_hour_delay','on') %} - 'But there was a two hour delay. ' - {% endif %} - {% endif %} - {% if is_state('input_boolean.kallen_alternate_pickup','on') %} - {{ states('input_text.kallen_pickup') }} will be picking Collin up from school today. - {% else %} - Pickup today will be at {{ input_datetime_12hr('input_datetime.kallen_school_day_end') }} - {% if is_state('input_boolean.kallen_school_early_release','on') %} - And It is early release! - {% endif %} - {% endif %} - {% if states('sensor.windows_open') | int > 0 %} - 'I detect that there are windows open. Make sure you close them before you leave, or else the security system will not arm. ' - {% endif %} - {% endif %} - {% if is_state('input_boolean.school_cancelled','on') %} - 'School has been cancelled for today. ' - {% endif %} - {% if (count_the_days('input_datetime.thanksgiving_break_start') | int <= 14) and (count_the_days('input_datetime.thanksgiving_break_start') | int > 0) %} - {{ [ 'Oh, and look at that.', - 'For those trying to keep count. ', - 'In case you were wondering.', - 'Also, did you know.' - ] | random }} - 'Thanksgiving break starts in {{ custom_time('input_datetime.thanksgiving_break_start','week,day') }}!' - {% endif %} - {% if (count_the_days('input_datetime.christmas_break_start') | int <= 14) and (count_the_days('input_datetime.christmas_break_start') | int > 0) %} - {{ [ 'Oh, and look at that.', - 'For those trying to keep count. ', - 'In case you were wondering.', - 'Also, did you know.' - ] | random }} - 'Christmas break starts in {{ custom_time('input_datetime.christmas_break_start','week,day') }}!' - {% endif %} - {% if (count_the_days('input_datetime.spring_break_start') | int <= 14) and (count_the_days('input_datetime.spring_break_start') | int > 0) %} - {{ [ 'Oh, and look at that.', - 'For those trying to keep count. ', - 'In case you were wondering.', - 'Also, did you know.' - ] | random }} - 'Spring break starts in {{ custom_time('input_datetime.spring_break_start','week,day') }}!' - {% endif %} - {% if (count_the_days('input_datetime.school_last_day') | int <= 35) and (count_the_days('input_datetime.school_last_day') | int > 0) %} - {{ [ 'Oh, and look at that.', - 'For those trying to keep count. ', - 'In case you were wondering.', - 'Also, did you know.' - ] | random }} - The school year ends in {{ custom_time('input_datetime.school_last_day','week,day') }}. - {% endif %} - {% if count_the_days('input_datetime.school_last_day') | int == 0 %} - Congratulations, today is the last day of school! Have an awesome day! - {% endif %} - {% if count_the_days('input_datetime.school_last_day') | int == -1 -%} - Today is the first day of Summer Break! - {%- endif %} + {{ kallenStatusReport('school','tts') }} {% endif %}