Sleep changes #91
This commit is contained in:
@ -289,7 +289,7 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr
|
|||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro kallen_morning_meds(type,method) %}
|
{% macro kallen_morning_meds(type,method) %}
|
||||||
{% set wakeup = state_attr('input_datetime.kallen_wakeup_time','timestamp') | int %}
|
{% set wakeup = state_attr('input_datetime.kallen_awake_at','timestamp') | int %}
|
||||||
{% if state_attr('input_datetime.kallen_bedtime','timestamp') | int <= 7200 %}
|
{% if state_attr('input_datetime.kallen_bedtime','timestamp') | int <= 7200 %}
|
||||||
{% set bedtime = 86340 %}
|
{% set bedtime = 86340 %}
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -311,8 +311,8 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr
|
|||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro kallen_night_meds(type,method) %}
|
{% macro kallen_night_meds(type,method) %}
|
||||||
{% set wakeup = state_attr('input_datetime.kallen_wakeup_time','timestamp') | int %}
|
{% set wakeup = state_attr('input_datetime.kallen_awake_at','timestamp') | int %}
|
||||||
{% if 0 <= state_attr('input_datetime.kallen_bedtime','timestamp') | int <= 7200 %}
|
{% if 0 <= state_attr('input_datetime.kallen_asleep_at','timestamp') | int <= 7200 %}
|
||||||
{% set bedtime = 85440 %}
|
{% set bedtime = 85440 %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% set bedtime = state_attr('input_datetime.kallen_bedtime','timestamp') | int - 900 %}
|
{% set bedtime = state_attr('input_datetime.kallen_bedtime','timestamp') | int - 900 %}
|
||||||
@ -325,12 +325,14 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr
|
|||||||
{% else %}
|
{% else %}
|
||||||
{% if diff <= 3600 %}
|
{% if diff <= 3600 %}
|
||||||
{% if type == 'meds' %}Kallen{% else %}He{% endif %} has not taken his night meds.
|
{% if type == 'meds' %}Kallen{% else %}He{% endif %} has not taken his night meds.
|
||||||
|
{% if method == 'tts' %}
|
||||||
{{ ['He will be reminded when he goes to bed.',
|
{{ ['He will be reminded when he goes to bed.',
|
||||||
'I will make sure he is reminded when it is time.',
|
'I will make sure he is reminded when it is time.',
|
||||||
'All in due time, of course.'
|
'All in due time, of course.'
|
||||||
] | random }}
|
] | random }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro medReportKallen(type,method) %}
|
{% macro medReportKallen(type,method) %}
|
||||||
@ -444,12 +446,12 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr
|
|||||||
{% macro kallenSleep(type,method) %}
|
{% macro kallenSleep(type,method) %}
|
||||||
{% set bedtimestamp = state_attr('input_datetime.kallen_bedtime','timestamp') | int %}
|
{% set bedtimestamp = state_attr('input_datetime.kallen_bedtime','timestamp') | int %}
|
||||||
{% if is_state('input_boolean.kallen_sleeping','on') %}
|
{% if is_state('input_boolean.kallen_sleeping','on') %}
|
||||||
Kallen went to bed at {{ input_datetime_read('input_datetime.kallen_bedtime') | trim }}.
|
Kallen went to bed at {{ input_datetime_read('input_datetime.kallen_asleep_at') | trim }}.
|
||||||
{% if 14400 < ct < bedtimestamp %}
|
{% if 14400 < ct < bedtimestamp %}
|
||||||
His scheduled wakeup time is {{ input_datetime_read('input_datetime.kallen_wakeup_time') | trim }}.
|
His scheduled wakeup time is {{ input_datetime_read('input_datetime.kallen_wakeup_time') | trim }}.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
Kallen woke up at {{ input_datetime_read('input_datetime.kallen_wakeup_time') | trim }}.
|
Kallen woke up at {{ input_datetime_read('input_datetime.kallen_awake_at') | trim }}.
|
||||||
{% if ct > 57600 %}
|
{% if ct > 57600 %}
|
||||||
His scheduled bedtime is {{ input_datetime_read('input_datetime.kallen_bedtime') | trim }}.
|
His scheduled bedtime is {{ input_datetime_read('input_datetime.kallen_bedtime') | trim }}.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -485,12 +487,12 @@ Tony is currently streaming. The current stream category is {{ game }}. The curr
|
|||||||
Emma is down for nap. She was put down at around {{ input_datetime_read('input_datetime.emma_down_for_nap','withdate') | trim }}. She has been asleep for {{ custom_time('input_datetime.emma_down_for_nap','hour,minute') }}.
|
Emma is down for nap. She was put down at around {{ input_datetime_read('input_datetime.emma_down_for_nap','withdate') | trim }}. She has been asleep for {{ custom_time('input_datetime.emma_down_for_nap','hour,minute') }}.
|
||||||
{% elif is_state('input_boolean.emma_sleeping','on') %}
|
{% elif is_state('input_boolean.emma_sleeping','on') %}
|
||||||
{% if is_state('binary_sensor.early_night_mode','on') %}
|
{% if is_state('binary_sensor.early_night_mode','on') %}
|
||||||
Emma is asleep for the night. She went to bed at {{ input_datetime_read('input_datetime.emma_bedtime') | trim }}.
|
Emma is asleep for the night. She went to bed at {{ input_datetime_read('input_datetime.emma_asleep_at') | trim }}.
|
||||||
{% else %}
|
{% else %}
|
||||||
Emma has not yet awoken for the day. She went to bed at {{ input_datetime_read('input_datetime.emma_bedtime') | trim }}.
|
Emma has not yet awoken for the day. She went to bed at {{ input_datetime_read('input_datetime.emma_asleep_at') | trim }}.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
Emma is awake, and does not appear to have napped yet. She woke up at {{ input_datetime_read('input_datetime.emma_wakeup') | trim }}.
|
Emma is awake, and does not appear to have napped yet. She woke up at {{ input_datetime_read('input_datetime.emma_awake_at') | trim }}.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
|
@ -4,12 +4,20 @@
|
|||||||
{{ (states(input_number)) | int * 60 }}
|
{{ (states(input_number)) | int * 60 }}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro current_time(hr) %}
|
{% macro current_time(hr,date) %}
|
||||||
{% if hr == 12 %}
|
{% if hr == 12 %}
|
||||||
{{ now().strftime('%-I:%M %p') }}
|
{{ now().strftime('%-I:%M %p') }}
|
||||||
{% elif hr == 24 %}
|
{% elif hr == 24 %}
|
||||||
|
{% if date is defined %}
|
||||||
|
{% if date == 'withdate' %}
|
||||||
|
{{ now().strftime('%Y-%m-%d %H:%M:%S') }}
|
||||||
|
{% elif date == 'nodate' %}
|
||||||
{{ now().strftime('%H:%M') }}
|
{{ now().strftime('%H:%M') }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{{ now().strftime('%H:%M') }}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro current_date_input() %}
|
{% macro current_date_input() %}
|
||||||
|
@ -31,6 +31,16 @@ input_datetime:
|
|||||||
has_date: false
|
has_date: false
|
||||||
has_time: true
|
has_time: true
|
||||||
icon: mdi:fan-off
|
icon: mdi:fan-off
|
||||||
|
emma_asleep_at:
|
||||||
|
name: Emma Asleep At
|
||||||
|
has_date: false
|
||||||
|
has_time: true
|
||||||
|
icon: mdi:weather-night
|
||||||
|
emma_awake_at:
|
||||||
|
name: Emma Awake At
|
||||||
|
has_date: false
|
||||||
|
has_time: true
|
||||||
|
icon: mdi:weather-sunset-up
|
||||||
emma_down_for_nap:
|
emma_down_for_nap:
|
||||||
name: Emma Down For Nap
|
name: Emma Down For Nap
|
||||||
has_date: true
|
has_date: true
|
||||||
@ -99,7 +109,17 @@ automation:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_down_for_nap
|
entity_id: input_datetime.emma_down_for_nap
|
||||||
data:
|
data:
|
||||||
datetime: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}"
|
datetime: >
|
||||||
|
{% from 'time.jinja' import current_time %}
|
||||||
|
{{ current_time(24,'withdate') }}
|
||||||
|
else:
|
||||||
|
- service: input_datetime.set_datetime
|
||||||
|
target:
|
||||||
|
entity_id: input_datetime.emma_asleep_at
|
||||||
|
data:
|
||||||
|
time: >
|
||||||
|
{% from 'time.jinja' import current_time %}
|
||||||
|
{{ current_time(24) }}
|
||||||
- delay:
|
- delay:
|
||||||
seconds: 1
|
seconds: 1
|
||||||
- service: script.text_notify
|
- service: script.text_notify
|
||||||
@ -129,7 +149,9 @@ automation:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_up_from_nap
|
entity_id: input_datetime.emma_up_from_nap
|
||||||
data:
|
data:
|
||||||
datetime: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}"
|
datetime: >
|
||||||
|
{% from 'time.jinja' import current_time %}
|
||||||
|
{{ current_time(24,'withdate') }}
|
||||||
- delay:
|
- delay:
|
||||||
milliseconds: 500
|
milliseconds: 500
|
||||||
- if:
|
- if:
|
||||||
@ -146,7 +168,7 @@ automation:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_bedtime
|
entity_id: input_datetime.emma_bedtime
|
||||||
data:
|
data:
|
||||||
time: "{{ (state_attr('input_datetime.emma_up_from_nap','timestamp') + 10800) | timestamp_custom('%H:%M') }}"
|
time: "{{ (state_attr('input_datetime.emma_up_from_nap','timestamp') + 14400) | timestamp_custom('%H:%M') }}"
|
||||||
- service: input_boolean.turn_on
|
- service: input_boolean.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.emma_has_napped
|
entity_id: input_boolean.emma_has_napped
|
||||||
@ -267,7 +289,7 @@ automation:
|
|||||||
state: 'off'
|
state: 'off'
|
||||||
- condition: time
|
- condition: time
|
||||||
before: "23:00:00"
|
before: "23:00:00"
|
||||||
after: "04:00:00"
|
after: "07:00:00"
|
||||||
sequence:
|
sequence:
|
||||||
- service: timer.start
|
- service: timer.start
|
||||||
target:
|
target:
|
||||||
@ -318,7 +340,9 @@ automation:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_down_for_nap
|
entity_id: input_datetime.emma_down_for_nap
|
||||||
data:
|
data:
|
||||||
datetime: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}"
|
datetime: >
|
||||||
|
{% from 'time.jinja' import current_time %}
|
||||||
|
{{ current_time(24,'withdate') }}
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: or
|
- condition: or
|
||||||
conditions:
|
conditions:
|
||||||
@ -331,7 +355,7 @@ automation:
|
|||||||
sequence:
|
sequence:
|
||||||
- service: input_datetime.set_datetime
|
- service: input_datetime.set_datetime
|
||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_bedtime
|
entity_id: input_datetime.emma_asleep_at
|
||||||
data:
|
data:
|
||||||
datetime: >
|
datetime: >
|
||||||
{% from 'time.jinja' import current_time %}
|
{% from 'time.jinja' import current_time %}
|
||||||
@ -357,7 +381,9 @@ automation:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_down_for_nap
|
entity_id: input_datetime.emma_down_for_nap
|
||||||
data:
|
data:
|
||||||
datetime: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}"
|
datetime: >
|
||||||
|
{% from 'time.jinja' import current_time %}
|
||||||
|
{{ current_time(24,'withdate') }}
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: trigger
|
- condition: trigger
|
||||||
id: bedtime-timer-finished
|
id: bedtime-timer-finished
|
||||||
@ -377,7 +403,7 @@ automation:
|
|||||||
else:
|
else:
|
||||||
- service: input_datetime.set_datetime
|
- service: input_datetime.set_datetime
|
||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_bedtime
|
entity_id: input_datetime.emma_asleep_at
|
||||||
data:
|
data:
|
||||||
datetime: >
|
datetime: >
|
||||||
{% from 'time.jinja' import current_time %}
|
{% from 'time.jinja' import current_time %}
|
||||||
@ -857,7 +883,7 @@ script:
|
|||||||
then:
|
then:
|
||||||
- service: input_datetime.set_datetime
|
- service: input_datetime.set_datetime
|
||||||
target:
|
target:
|
||||||
entity_id: input_datetime.emma_wakeup
|
entity_id: input_datetime.emma_awake_at
|
||||||
data:
|
data:
|
||||||
time: >
|
time: >
|
||||||
{% from 'time.jinja' import current_time %}
|
{% from 'time.jinja' import current_time %}
|
||||||
|
@ -37,6 +37,16 @@ input_datetime:
|
|||||||
has_date: false
|
has_date: false
|
||||||
has_time: true
|
has_time: true
|
||||||
icon: mdi:bell-alert
|
icon: mdi:bell-alert
|
||||||
|
kallen_asleep_at:
|
||||||
|
name: Kallen Asleep At
|
||||||
|
has_date: false
|
||||||
|
has_time: true
|
||||||
|
icon: mdi:weather-night
|
||||||
|
kallen_awake_at:
|
||||||
|
name: Kallen Awake At
|
||||||
|
has_date: false
|
||||||
|
has_time: true
|
||||||
|
icon: mdi:weather-sunset-up
|
||||||
kallen_fan:
|
kallen_fan:
|
||||||
name: Kallen Fan
|
name: Kallen Fan
|
||||||
has_date: false
|
has_date: false
|
||||||
|
Reference in New Issue
Block a user