posted in Selfhosted

Home Assistant Automation for freezing warnings

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:

yaml 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:

yaml 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:

yaml 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: {}

Replying to @⁨curbstickle_lw@lemmy.world⁩

Yes, my usw case just considers one Valve leading outwards that I need to shut and bleed. Don’t need multiple freezing points for hight presure/isolated pipes. One fits all for me. The loop could be modified for those things. Now it is set to “2”. Not even considering °C or °F (°C in my case). Home Assistenten takes care of that

en