138 lines
6.0 KiB
YAML
Executable File
138 lines
6.0 KiB
YAML
Executable File
>
|
|
{# Skylar Morning Report #}
|
|
{%- macro getReport() -%}
|
|
<p>
|
|
Good morning, Skylar.
|
|
|
|
<s>It is {{ now().strftime("%I:%M %p") }}</s>
|
|
|
|
{% if is_state('sensor.birthday_skylar', '0') %}
|
|
Even birthday boys have to get dressed. So get to it.
|
|
{% else %}
|
|
{{ [ 'It is time to get dressed. ',
|
|
'It is time to put some real clothes on. ',
|
|
'it is now time to change your underwear.',
|
|
'You need to get dressed for the day.',
|
|
'If you have not gotten dressed it is that time.'
|
|
] | random }}
|
|
{% endif %}
|
|
</p>
|
|
|
|
<p>
|
|
{% if is_state('sensor.clothing_forecast', 'Freezing') %}
|
|
It is going to be freezing today. so I suggest wearing long pants and a heavy coat.
|
|
{% elif is_state('sensor.clothing_forecast','Cold') %}
|
|
It is going to be cold today. so I suggest wearing long pants and a light jacket.
|
|
{% elif is_state('sensor.clothing_forecast', 'Chilly') %}
|
|
It is going to be chilly today. so I suggest wearing at least long pants.
|
|
{% elif is_state('sensor.clothing_forecast', 'Nice') %}
|
|
It is going to be
|
|
{{ [ 'nice outside.',
|
|
'pretty nice outside. ',
|
|
'a good day to be outside. ',
|
|
'rather enjoyable outside. ',
|
|
] | random }}
|
|
So I suggest wearing shorts.
|
|
{% elif is_state('sensor.clothing_forecast', 'Toasty') %}
|
|
It is going to be
|
|
{{ [ 'bit warm today. ',
|
|
' rather warm outside. ',
|
|
' almost too hot outside. ',
|
|
' a little warm today. ',
|
|
] | random }}
|
|
So I suggest wearing shorts.
|
|
{% elif is_state('sensor.clothing_forecast', 'Hot') %}
|
|
It is going to be
|
|
{{ [ 'hot',
|
|
'hotter than the sun today. ',
|
|
'hotter than hot. but in a lot of bad ways today. ',
|
|
'hotter than the sun outside. ',
|
|
'super hot today. ',
|
|
'hotter than the inside of a volcano today. Well not exactly, but you get the point. '
|
|
] | random }}
|
|
So I suggest wearing shorts.
|
|
{% else %}
|
|
It is going to be {{ states.sensor.clothing_forecast.state }} today so I suggest wearing shorts.
|
|
{% endif %}
|
|
</p>
|
|
|
|
<p>
|
|
{% if states.calendar.skylar_school.attributes.offset_reached == True and is_state('calendar.school_holiday', 'off') %}
|
|
Because you have school today!
|
|
{% if states.calendar.skylar_school.attributes.description == 'digital-learning' %}
|
|
But today is a digital learning day.
|
|
{% endif %}
|
|
{% if states.calendar.skylar_school.attributes.description == 'early-release' %}
|
|
And guess what? It is early release!
|
|
{% endif %}
|
|
{% if states.calendar.skylar_school.attributes.description == 'start_thanksgiving_break' %}
|
|
Oh, One More Thing. Tomorrow is the first day of Thanksgiving Break.
|
|
{% endif %}
|
|
{% if states.calendar.skylar_school.attributes.description == 'start_winter_break' %}
|
|
Oh, One More Thing. Tomorrow is the first day of Winter Break.
|
|
{% endif %}
|
|
{% if states.calendar.skylar_school.attributes.description == 'start_spring_break' %}
|
|
Oh, One More Thing. Tomorrow is the first day of Spring Break.
|
|
{% endif %}
|
|
{% if states.calendar.skylar_school.attributes.description == 'start_fall_break' %}
|
|
Oh, One More Thing. Tomorrow is the first day of Fall Break.
|
|
{% endif %}
|
|
{% if states.sensor.school_end_days2go.state | int == 0 -%}
|
|
Oh, One More Thing. Tomorrow is the first day of Summer Break! Emjoy the Last day of school this year!
|
|
{%- endif %}
|
|
{% else %}
|
|
{% if is_state('calendar.school_holiday', 'on') %}
|
|
And look at that. You do not have school today. Because it is {{ states.calendar.school_holiday.attributes.message }}.
|
|
{{ [ 'Guess today would be a good day to clean your room.',
|
|
'You could always do some chores.',
|
|
'Lets try to keep the TV off today, ok?',
|
|
'Want to play a nice game of chess? Sorry. I meant, want to play Thermal Nuclear War.',
|
|
'I hope you enjoy your day off. You deserve it.',
|
|
'Today would be a good day to spend some time with mom and dad.'
|
|
] | random }}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
</p>
|
|
|
|
<p>
|
|
{% if states.calendar.skylar_school.attributes.offset_reached == True and is_state('calendar.school_holiday', 'off') %}
|
|
{% if states.sensor.school_lunch.state == 'Nothing' %}
|
|
You are going to want to take your own lunch today.
|
|
{% else %}
|
|
Today's school lunch is {{ states.sensor.school_lunch.state }}
|
|
{% endif %}
|
|
{% endif %}
|
|
</p>
|
|
<p>
|
|
{% if is_state('calendar.school_holiday', 'on') %}
|
|
And look at that. You do not have school today. Because it is {{ states.calendar.school_holiday.attributes.message }}.
|
|
{{ [ 'Guess today would be a good day to clean your room.',
|
|
'You could always do some chores.',
|
|
'Lets try to keep the TV off today. okay?',
|
|
'Want to play a nice game of chess? Sorry. I meant. want to play Thermal Nuclear War.',
|
|
'I hope you enjoy your day off. You deserve it.',
|
|
'Today would be a good day to spend some time with mom and dad.'
|
|
] | random }}
|
|
{% endif %}
|
|
</p>
|
|
{% if is_state('calendar.skylar_events', 'on') %}
|
|
You have {{ states.calendar.skylar_events.attributes.message }} today as well!
|
|
{% 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()) -}} |