You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
7.6 KiB
162 lines
7.6 KiB
announce_weather_details:
|
|
alias: Announce Weather Details
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: "\n{% set current_temp = state_attr ('weather.home','temperature')
|
|
| float %} {% set wind_bearing = state_attr('weather.home', 'wind_bearing')
|
|
| float %} {% set wind_speed = state_attr('weather.home','wind_speed') | float
|
|
%} {% set current_condition = states('weather.home') %}\n\n{% if current_condition
|
|
== 'partlycloudy' %} \n {% set current_condition = 'Partly Cloudy' %}\n{%
|
|
endif %}\n{% set directions = { (0.0, 11.25): 'North', (11.25, 33.75): 'North
|
|
North East', (33.75, 56.25): 'North East', (56.25, 78.75): 'East North East',
|
|
(78.75, 101.25): 'East', (101.25, 123.75): 'East South East', (123.75, 146.25):
|
|
'South Eeast', (146.25, 168.75): 'South South East', (168.75, 191.25): 'South',
|
|
(191.25, 213.75): 'South South West', (213.75, 236.25): 'South West', (236.25,
|
|
258.75): 'West South West', (258.75, 281.25): 'West', (281.25, 303.75): 'West
|
|
North West', (303.75, 326.25): 'North West', (326.25, 348.75): 'North Nort
|
|
West', (348.75, 360.0): 'North' } %}\nOutside, It's {{ current_condition }}
|
|
and {{ current_temp }} °C.\n{% set weather = state_attr('weather.home', 'forecast')
|
|
%} {% set high_temp = weather[0].temperature %} {% set low_temp = weather[0].templow
|
|
%}\n{% for entry in weather %}\n {% if entry.temperature > high_temp %}\n
|
|
\ {% set high_temp = entry.temperature %}\n {% endif %}\n {% if entry.templow
|
|
< low_temp %}\n {% set low_temp = entry.templow %}\n {% endif %}\n {%
|
|
if entry.condition == 'rainy'%} \n It looks like there's rain expected
|
|
at around {{ entry.datetime.split('T')[1][:2] }} o'clock. \n You might
|
|
want to take an umbrella if you're planning on leaving the house.\n {% endif
|
|
%}\n{% endfor %}\n{% if high_temp > 30 %} \n It's going to be a hot one \n{%
|
|
elif 20 < high_temp < 30 %} \n It should be a warm day \n{% elif 15 < high_temp
|
|
< 20 %} \n It's going to be a pretty mild temperature today \n{% elif 10
|
|
< high_temp < 15 %} \n It seems like it'll be a bit chilly today\n{% elif
|
|
0 < high_temp < 10 %} \n It's going to be a cold day \n{% else %} \n It's
|
|
going to be freezing today \n{% endif %}\nThe forecast high is {{ high_temp
|
|
}} °C.\nWith a Low of {{ low_temp }} °C . {% if low_temp > 30 %} \n Wow.
|
|
That's hot! \n{% elif 20 < low_temp < 30 %}\n it's not going to go below
|
|
20 degrees today. \n{% elif 10 < low_temp < 20 %} \n it might get a little
|
|
bit chilly. \n{% elif 0 < low_temp < 10 %} \n That's cold. \n{% else %} \n
|
|
\ Absolutely freezing! \n{% endif %}\n{% if wind_speed > 50 %}\n Its very
|
|
windy outside.\n{% elif 40 < wind_speed < 50 %}\n It's pretty windy at the
|
|
moment\n{% elif 30 < wind_speed < 40 %}\n Theres a strong breeze right now\n{%
|
|
elif 20 < wind_speed < 30 %}\n It's a bit breezy outside\n{% elif 10 < wind_speed
|
|
< 20 %}\n There's a light breeze\n{% else %}\n it's quite still\n{% endif
|
|
%} {% for rng, direction in directions.items() %} \n {% if wind_bearing >=
|
|
rng[0] and wind_bearing < rng[1] %} \n The wind is currently blowing from
|
|
the {{ direction }} direction, at {{ wind_speed }} kilometres per hour \n
|
|
\ {% endif %}\n{% endfor %} "
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
announce_time:
|
|
alias: Announce Time
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: '" {% set current_time = states(''sensor.time'') %} {% set hour = current_time.split('':'')[0]
|
|
| int %} {% set minute = current_time.split('':'')[1] %}
|
|
|
|
{% if hour >= 6 and hour < 12 %} Good morning! {% elif hour >= 12 and hour
|
|
< 18 %} Good afternoon! {% elif hour >= 18 or hour < 6 %} Good evening! {%
|
|
endif %}
|
|
|
|
{% set suffix = ''AM'' if hour < 12 else ''PM'' %} {% set hour_12 = hour if
|
|
hour <= 12 else hour - 12 %}
|
|
|
|
It''s currently {{ hour_12 }}:{{ minute }} {{ suffix }}."
|
|
|
|
'
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
announce_internal_temperatures:
|
|
alias: Announce Quote of the Day
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: ' The {{ state_attr( ''sensor.quote_sensor'', ''category'' ) }} Quote
|
|
of the day is by {{ state_attr( ''sensor.quote_sensor'', ''author'' ) }}. They
|
|
said. {{ states(''sensor.quote_sensor'') }} '
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
icon: mdi:comment-quote
|
|
announce_dad_joke_of_the_day:
|
|
alias: Announce Pending Updates
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: '{% if states(''update.home_assistant_operating_system_update'') ==
|
|
''on'' %} There''s a Home Assistant O S Update pending. The Installed version
|
|
is {{ state_attr(''update.home_assistant_operating_system_update'', ''installed_version'')
|
|
}}. The Available version is {{ state_attr(''update.home_assistant_operating_system_update'',
|
|
''latest_version'') }}. {% endif %} {% if states(''update.home_assistant_core_update'')
|
|
== ''on'' %} There''s a Home Assistant Core Update pending. The Installed
|
|
version is {{ state_attr(''update.home_assistant_core_update'', ''installed_version'')
|
|
}}. The Available version is {{ state_attr(''update.home_assistant_core_update'',
|
|
''latest_version'') }}. {% endif %}
|
|
|
|
{% if states(''update.esphome_update'') == ''on'' %} There''s an E S P Home
|
|
Update pending. The Installed version is {{ state_attr(''update.esphome_update'',
|
|
''installed_version'') }}. The Available version is {{ state_attr(''update.esphome_update'',
|
|
''latest_version'') }}. {% endif %} '
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
icon: mdi:update
|
|
announce_dad_joke:
|
|
alias: Announce Dad Joke
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: Here is a Dad Joke.. {{ states('sensor.dad_joke_of_the_hour') }}
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
icon: mdi:party-popper
|
|
announce_random_fact:
|
|
alias: Announce Random Fact
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: And a random fact.. {{ states('sensor.random_fact') }}
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
announce_end_of_briefing:
|
|
alias: Announce end of briefing
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
message: That's All I've got right now
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|
|
test_everywhere_announcement:
|
|
alias: Test Everywhere Announcement
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
data:
|
|
type: tts
|
|
message: '" This is a Test "'
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
- media_player.bedroom_echo_dot
|
|
- media_player.office_echo_dot
|
|
- media_player.spare_room_echo_dot
|
|
mode: single
|
|
announce_inside_temperatures:
|
|
alias: Announce Inside Temperatures
|
|
sequence:
|
|
- service: notify.alexa_media
|
|
data:
|
|
data:
|
|
type: tts
|
|
message: ' Inside it''s currently {{ states(''sensor.temperature_dining'') }}
|
|
°C in the Dining Room, {{ states(''sensor.lounge_ac_inside_temperature'')
|
|
}} °C in the Lounge, {{ states(''sensor.temperature_office'')}} °C in the
|
|
office, and {{ states(''sensor.master_bedroom_purifier_temperature'') }} °C
|
|
in the Master Bedroom. '
|
|
target:
|
|
- media_player.dining_room_echo_plus
|
|
mode: single
|