Hey Folks. I was wondering how to warn me before my whole water stuff outside freezes and bursts cause I forget to check the weather. The Solutions I found while searching the web did not click with me so here is what I came up with:
old solution:
alias: Freezing Warning
description: ''
triggers:
- trigger: time
at: '07:00:00'
conditions: []
actions:
- variables:
message: Your message to go out and close those Vales and empty the hoses
mtittle: Freezing Alarm!
minTemp: 2
- action: weather.get_forecasts
metadata: {}
target:
device_id: ChangeMe
data:
type: daily
response_variable: daily
- if:
- condition: template
value_template: |-
{% set ns = namespace(freezing=false) %}
{% for day in daily['weather.forecast_home'].forecast %}
{% if day.templow < minTemp %}
{% set ns.freezing = true %}
{% endif %}
{% endfor %}
{{ ns.freezing }}
then:
- action: notify.send_message
metadata: {}
target:
device_id: ChangeMe
data:
title: '{{ mtittle }}'
message: '{{ message }}'
mode: single
Just a simple Automation. No editing template.yaml files. Could add a condition with a helper var like “I closed the vales etc” and don’t remind me every day. Guess I’ll do that… Be sure to change the ID of you location and ID of you mobile device for the message.
have fun, bye
Edit: here I am posting the new refined solution (now you have to suffer with my german stuff inside the vars and stuff):
You will need a helper like: input_boolean.wasser_bereit_fur_den_winter
Automation to check the Weather and create a Mobile-App warning with action item:
alias: Freezing Warning
description: ''
triggers:
- trigger: time
at: '07:00:05'
conditions: []
actions:
- variables:
messageCold: Es wird in den nächsten 6 Tagen Frieren!
mtittleCold: Freezing Alarm!
minTemp: 2
maxTemp: 8
messageWarm: Es ist wieder warm genug für Wasser draußen
mtittleWarm: Wasser für draußen
- action: weather.get_forecasts
metadata: {}
target:
device_id: CHANGEME
data:
type: daily
response_variable: daily
- if:
- condition: template
value_template: |-
{{ (daily['weather.forecast_home'].forecast
| map(attribute='templow') | min) < minTemp }}
- condition: switch.is_off
target:
entity_id: input_boolean.wasser_bereit_fur_den_winter
options:
behavior: any
for: '00:00:00'
then:
- action: notify.mobile_app_handy_artur
metadata: {}
data:
message: '{{ messageCold }}'
title: '{{ mtittleCold }}'
data:
actions:
- action: closed_outdoor_valve
title: Dunezo!
alias: check for freezing
- if:
- condition: template
value_template: |-
{{ (daily['weather.forecast_home'].forecast
| map(attribute='templow') | min) > maxTemp }}
- condition: switch.is_on
target:
entity_id: input_boolean.wasser_bereit_fur_den_winter
options:
behavior: any
for: '00:00:00'
then:
- action: notify.mobile_app_CHANGEME
metadata: {}
data:
message: '{{ messageWarm }}'
title: '{{ mtittleWarm }}'
data:
actions:
- action: opend_outdoor_valve
title: Dunezo!
alias: check for warm
mode: single
Automation for the Mobile action:
alias: Mobile Actions
mode: parallel
max: 10
triggers:
- event_type: mobile_app_notification_action
id: mobile_action_closed_outdoor_valve
event_data:
action: closed_outdoor_valve
trigger: event
- event_type: mobile_app_notification_action
id: mobile_action_opend_outdoor_valve
event_data:
action: opend_outdoor_valve
trigger: event
conditions: []
actions:
- if:
- condition: trigger
id:
- mobile_action_closed_outdoor_valve
then:
- action: input_boolean.turn_on
metadata: {}
target:
entity_id: input_boolean.wasser_bereit_fur_den_winter
data: {}
- if:
- condition: trigger
id:
- mobile_action_opend_outdoor_valve
then:
- action: input_boolean.turn_off
metadata: {}
target:
entity_id: input_boolean.wasser_bereit_fur_den_winter
data: {}


