diff --git a/packages/emmalynn.yaml b/packages/emmalynn.yaml index 1fd58c2..859d3df 100644 --- a/packages/emmalynn.yaml +++ b/packages/emmalynn.yaml @@ -30,6 +30,30 @@ input_datetime: has_time: true icon: mdi:eye +sensor: + - platform: template + sensors: + emma_nap_info: + friendly_name: Emma Nap Info + unique_id: 60664690-0eb6-400a-83d5-21e56f029910 + value_template: > + {% set asleep = state_attr('input_datetime.emma_down_for_nap','timestamp') | int %} + {% set wakeup = state_attr('input_datetime.emma_up_from_nap','timestamp') | int %} + {% set diff = (wakeup - asleep) | int %} + {% set hour = diff | timestamp_custom('%H', false) | int %} + {% set minute = diff | timestamp_custom('%M', false) | int %} + {% set day = now().strftime("%-d") %} + {% set asleep_day = asleep | timestamp_custom("%-d") %} + {% set wakeup_day = wakeup | timestamp_custom("%-d") %} + {% if is_state('input_boolean.emma_has_napped','on') or ((asleep_day == day) and (wakeup_day == day)) %} + Emma napped today for {{ hour }} hours and {{ minute }} minutes. + {% elif is_state('input_boolean.emma_has_napped','off') and ((asleep_day == day) and (wakeup_day != day)) %} + Emma appears to be napping currently. + {% else %} + Emma does not appear to have napped yet today. + {% endif %} + icon_template: mdi:sleep + automation: - id: 4f01dff7-be22-4850-a05e-1906e3151441 alias: 'Emma Sleeping' diff --git a/templates/speech/daily_briefing.yaml b/templates/speech/daily_briefing.yaml index fa7b998..62c1aa8 100644 --- a/templates/speech/daily_briefing.yaml +++ b/templates/speech/daily_briefing.yaml @@ -358,6 +358,10 @@ {% endif %}

+

+ {{ states('sensor.emma_nap_info') }} +

+

'Around the house, there are currently {{ states('sensor.current_lights_on') }} lights on. ' {% set windows = states('sensor.windows_open') %} diff --git a/templates/speech/nightly_briefing.yaml b/templates/speech/nightly_briefing.yaml index a8baa28..d99cd30 100644 --- a/templates/speech/nightly_briefing.yaml +++ b/templates/speech/nightly_briefing.yaml @@ -221,6 +221,10 @@ {% endif %}

+

+ {{ states('sensor.emma_nap_info') }} +

+

{% if (states('sensor.overnight_lowest_temperature') | int) <= (states('input_number.overnight_low_threshold') | int ) %} "It will be very cold tonight, make sure to use extra blankets, wear more clothes, or whatever else will help you stay warm! Additionally, make sure Emma's heater is set high enough!" diff --git a/templates/speech/welcome_home.yaml b/templates/speech/welcome_home.yaml index 6f3a91a..7024c09 100644 --- a/templates/speech/welcome_home.yaml +++ b/templates/speech/welcome_home.yaml @@ -148,6 +148,10 @@ {% endif %}

+

+ {{ states('sensor.emma_nap_info') }} +

+

{{ dadjoke() }}