Move sunrise/sunset status to a macro #196

This commit is contained in:
2024-03-29 22:22:13 -04:00
parent 6cb6e2ef07
commit bb10ca48b4
3 changed files with 39 additions and 31 deletions

View File

@ -168,4 +168,36 @@ It is {{ now().strftime("%I:%M %p") }}.
"Collin, your bedroom lights are now on."
] | random }} Goodnight!
{% endif %}
{% endmacro %}
{% macro sun_status() %}
{% if is_state('sun.sun','below_horizon') %}
You have
{% set seconds = as_timestamp(states.sun.sun.attributes.next_rising)-now().timestamp() %}
{% set hours = seconds / 60 %}
{% if seconds / ( 60 * 60 ) > 1 %}
{{ (seconds // ( 60 * 60 )) | int }} hours
{% else %}
{{ (seconds // 60) | int }} minutes
{% endif %}
{{ [
'until the sun rises.',
'until the sun is up',
'before the sun officially rises.'
] | random }}
{% else %}
You have
{% set seconds = as_timestamp(states.sun.sun.attributes.next_setting)-now().timestamp() %}
{% set hours = seconds / 60 %}
{% if seconds / ( 60 * 60 ) > 1 %}
{{ (seconds // ( 60 * 60 )) | int }} hours
{% else %}
{{ (seconds // 60) | int }} minutes
{% endif %}
{{ [
'until the sun sets for the day.',
'until the sun slips below the horizon.',
'before the sun officially sets. '
]|random }}
{% endif %}
{% endmacro %}

View File

@ -3,7 +3,7 @@
{% from 'formatting.jinja' import cleanup %}
{%- macro getReport() -%}
{% from 'speech.jinja' import greeting, today_is %}
{% from 'speech.jinja' import greeting, today_is, sun_status %}
{% from 'weather.jinja' import weatherReport %}
{% from 'sports.jinja' import sports_updates %}
<p>
@ -13,6 +13,10 @@
{{ today_is() }}
</p>
<p>
{{ sun_status() }}
</p>
<p>
{{ weatherReport('full','tts') }}
</p>

View File

@ -2,7 +2,7 @@
{# Daily Briefing #}
{% from 'formatting.jinja' import cleanup %}
{%- macro getReport() -%}
{% from 'speech.jinja' import greeting, dadjoke, inspirational_quote, today_is %}
{% from 'speech.jinja' import greeting, dadjoke, inspirational_quote, today_is, sun_status %}
{% from 'status.jinja' import houseStatusReport, tonyStatusReport, tinaStatusReport, kallenStatusReport, emmaStatusReport %}
{% from 'easy_time.jinja' import count_the_days %}
{% from 'weather.jinja' import weatherReport %}
@ -20,35 +20,7 @@
</p>
<p>
{% if is_state('sun.sun','below_horizon') %}
You have
{% set seconds = as_timestamp(states.sun.sun.attributes.next_rising)-now().timestamp() %}
{% set hours = seconds / 60 %}
{% if seconds / ( 60 * 60 ) > 1 %}
{{ (seconds // ( 60 * 60 )) | int }} hours
{% else %}
{{ (seconds // 60) | int }} minutes
{% endif %}
{{ [
'until the sun rises.',
'until the sun is up',
'before the sun officially rises.'
] | random }}
{% else %}
You have
{% set seconds = as_timestamp(states.sun.sun.attributes.next_setting)-now().timestamp() %}
{% set hours = seconds / 60 %}
{% if seconds / ( 60 * 60 ) > 1 %}
{{ (seconds // ( 60 * 60 )) | int }} hours
{% else %}
{{ (seconds // 60) | int }} minutes
{% endif %}
{{ [
'until the sun sets for the day.',
'until the sun slips below the horizon.',
'before the sun officially sets. '
]|random }}
{% endif %}
{{ sun_status() }}
</p>
{% set dow = as_timestamp(now()) | timestamp_custom('%A') %}