Add basement briefing #193
This commit is contained in:
@ -4776,3 +4776,25 @@
|
|||||||
alias: Set time night meds were taken
|
alias: Set time night meds were taken
|
||||||
mode: parallel
|
mode: parallel
|
||||||
max: 4
|
max: 4
|
||||||
|
- id: '1711657679853'
|
||||||
|
alias: Basement Briefing
|
||||||
|
description: ''
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- binary_sensor.basement_studio_motion
|
||||||
|
from: 'off'
|
||||||
|
to: 'on'
|
||||||
|
id: motion-on
|
||||||
|
alias: Motion is detected in the basement
|
||||||
|
condition:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.basement_briefing
|
||||||
|
state: 'off'
|
||||||
|
alias: Basement briefing has not already run for the day
|
||||||
|
action:
|
||||||
|
- service: script.basement_briefing
|
||||||
|
metadata: {}
|
||||||
|
data: {}
|
||||||
|
alias: Run basement briefing script
|
||||||
|
mode: single
|
||||||
|
@ -303,6 +303,7 @@ influxdb:
|
|||||||
- sensor.climate_devices_running
|
- sensor.climate_devices_running
|
||||||
- sensor.bypassed_sensors
|
- sensor.bypassed_sensors
|
||||||
- input_boolean.shower_mode
|
- input_boolean.shower_mode
|
||||||
|
- sensor.services_down
|
||||||
|
|
||||||
logbook:
|
logbook:
|
||||||
include:
|
include:
|
||||||
@ -461,3 +462,4 @@ prometheus:
|
|||||||
- sensor.climate_devices_running
|
- sensor.climate_devices_running
|
||||||
- sensor.bypassed_sensors
|
- sensor.bypassed_sensors
|
||||||
- input_boolean.shower_mode
|
- input_boolean.shower_mode
|
||||||
|
- sensor.services_down
|
||||||
|
@ -82,6 +82,9 @@ input_boolean:
|
|||||||
kallen_nightly_briefing:
|
kallen_nightly_briefing:
|
||||||
name: Kallen Nightly Briefing Ran
|
name: Kallen Nightly Briefing Ran
|
||||||
icon: mdi:home-analytics
|
icon: mdi:home-analytics
|
||||||
|
basement_briefing:
|
||||||
|
name: Basement Briefing Ran
|
||||||
|
icon: mdi:home-analytics
|
||||||
weather_reports:
|
weather_reports:
|
||||||
name: Weather Info
|
name: Weather Info
|
||||||
icon: mdi:weather-cloudy-alert
|
icon: mdi:weather-cloudy-alert
|
||||||
@ -198,6 +201,17 @@ script:
|
|||||||
target:
|
target:
|
||||||
entity_id: input_boolean.good_morning
|
entity_id: input_boolean.good_morning
|
||||||
|
|
||||||
|
basement_briefing:
|
||||||
|
alias: 'Basement Briefing'
|
||||||
|
sequence:
|
||||||
|
- service: script.speech_engine
|
||||||
|
data:
|
||||||
|
who: "{{ who|default('basement') }}"
|
||||||
|
message: !include ../templates/speech/basement_briefing.yaml
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.basement_briefing
|
||||||
|
|
||||||
dinner_is_ready:
|
dinner_is_ready:
|
||||||
alias: 'Dinner Is Ready'
|
alias: 'Dinner Is Ready'
|
||||||
sequence:
|
sequence:
|
||||||
|
@ -453,3 +453,22 @@
|
|||||||
{'friendly_name': state_attr('sensor.master_bedroom_illuminance','friendly_name'), 'state': states('sensor.master_bedroom_illuminance') | default(0) | int }] %}
|
{'friendly_name': state_attr('sensor.master_bedroom_illuminance','friendly_name'), 'state': states('sensor.master_bedroom_illuminance') | default(0) | int }] %}
|
||||||
{% set names_list = entity_list | sort(attribute='state',reverse=true) | map(attribute='friendly_name') | list %}
|
{% set names_list = entity_list | sort(attribute='state',reverse=true) | map(attribute='friendly_name') | list %}
|
||||||
{{ names_list[0] | regex_replace(find='Illuminance', replace='', ignorecase=False) }}
|
{{ names_list[0] | regex_replace(find='Illuminance', replace='', ignorecase=False) }}
|
||||||
|
- name: Services Down
|
||||||
|
unique_id: 1617ede2-c2ee-4159-a0a0-f0ae869325f1
|
||||||
|
unit_of_measurement: ''
|
||||||
|
icon: mdi:close-network-outline
|
||||||
|
state: >
|
||||||
|
{% set uptimekuma = states.binary_sensor |
|
||||||
|
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
|
||||||
|
selectattr('state','eq','off') |
|
||||||
|
map(attribute='attributes.friendly_name') |
|
||||||
|
list %}
|
||||||
|
{{ uptimekuma | count | int }}
|
||||||
|
attributes:
|
||||||
|
services: >
|
||||||
|
{% set uptimekuma = states.binary_sensor |
|
||||||
|
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
|
||||||
|
selectattr('state','eq','off') |
|
||||||
|
map(attribute='attributes.friendly_name') |
|
||||||
|
list %}
|
||||||
|
{{ uptimekuma | join(', ') }}
|
||||||
|
48
templates/speech/basement_briefing.yaml
Normal file
48
templates/speech/basement_briefing.yaml
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
>
|
||||||
|
{# Basement Briefing #}
|
||||||
|
|
||||||
|
{% from 'formatting.jinja' import cleanup %}
|
||||||
|
{%- macro getReport() -%}
|
||||||
|
{% from 'speech.jinja' import greeting, today_is %}
|
||||||
|
{% from 'weather.jinja' import weatherReport %}
|
||||||
|
{% from 'sports.jinja' import sports_updates %}
|
||||||
|
<p>
|
||||||
|
{{ greeting('date') }}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{{ today_is() }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{{ weatherReport('full','tts') }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
There are {{ states('sensor.services_down') }} services currently offline.
|
||||||
|
{% if states('sensor.services_down') | int > 0 %}
|
||||||
|
They are {{ state_attr('sensor.services_down','services') }}.
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{% if is_state('input_boolean.sports_updates','on') %}
|
||||||
|
{{ sports_updates('pregame') }}
|
||||||
|
{{ sports_updates('main') }}
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
{%- 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()) -}}
|
Reference in New Issue
Block a user