From 901594500fd9ac781a46cbea82e67afdf9246ed0 Mon Sep 17 00:00:00 2001
From: Tony Stork
Date: Mon, 1 May 2023 17:07:18 -0400
Subject: [PATCH] Info on whether or not E has napped today
---
packages/emmalynn.yaml | 24 ++++++++++++++++++++++++
templates/speech/daily_briefing.yaml | 4 ++++
templates/speech/nightly_briefing.yaml | 4 ++++
templates/speech/welcome_home.yaml | 4 ++++
4 files changed, 36 insertions(+)
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() }}