🌞🌦️ Daily weather forecast notification

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

GitHub Link

:cloud_with_lightning: This is a customisable daily weather notification sent to your phone that can also include tomorrow’s forecast. The notification icon will update depending on today’s forecast (android only).

:sunny:The Automation

  • Trigger
    The trigger is set to everyday at a time you specify. This will trigger the automation and send the notification at that time.

  • Today’s Forecast
    Today’s forecast can include the following items:

    • :cloud:Condition - weather condition (e.g. Sunny)
    • :thermometer:Temperature - high and low temperatures.
    • :umbrella:Precipitation - predicted amount of precipitation.
    • :dash:Wind - the wind speed and wind bearing.
  • Tomorrow’s Forecast
    Tomorrow’s forecast can optionally be appended to the bottom of the notification.

  • Pre-Requisites:

    • Weather integration configured in Home Assistant.
    • Home Assistant companion application installed on a device.
  • Notes:
    I have based this blueprint on the most popular weather integration (Met.no) and the attributes available. These attributes should be common to other weather integrations as well.

  • Updates
    3/5/24 - Enabled multiple devices to be notified at once.

9 Likes

could you have it notify every device with the app?

I’ve just updated it so you can select multiple devices now :slight_smile:

2 Likes
  1. Can you add a mute function?
  2. My Integration hast No bearings but he write something wrong in it (maybe you can let it activate manually?)

What do you mean by a mute function? If you want to stop the notifications you can disable the notification.

Do you mean your integration has no wind bearing entity? I would suggest not selecting the wind option for the notification if so.

i dont want a sound on the notification

i wanna have wind but no bearings

Notification sounds are controlled through your device or the companion app and not configured by the blueprint.

I don’t want to make it too granular for people so just want one option for wind but you can import the blueprint then edit it to remove the wind bearing part.

Any plans to add other languages?

No, sorry. It would be fairly straightforward to edit the blueprint yourself to change the notification language though.

Does this support OpenWeatherMap? I get the error
Error: Weather entity ‘weather.openweathermap’ does not support ‘daily’ forecast

1 Like

Hi, it looks like the free version of that integration only supports ‘hourly’ forecasts every three hours. This only provides the forecasted weather at that point in time.

I can look at adding this in however it’s a bit more complicated. Either I could set a notification to provide the forecast at a specific point in time (e.g. midday) or somehow aggregate the data from the hourly forecast to create my own daily one. I’ll have a think about it.

2 Likes

I am looking for a text to speech version of this

1 Like

@MacAttack20 Nice idea… interested as well!

This blueprint works fine but I get my notifications in English while I have a Dutch version of the weather called KNMI.
Any chance to get the weather info in Dutch?

Thanks.

Hi, I’m not able to support Dutch directly in the blueprint however I’ve had a look at that custom integration and I think the easiest way for you to get the message in Dutch would be to ‘take control’ of the blueprint (see here).

You can then edit the message to show the message in Dutch:

The bits you’d want to change are ‘Condition:’, ‘Temp’ etc. If your forecast entities are also in Dutch it will be a bit more complicated and you will need to edit the set variables part too.

1 Like

@MacAttack20 & @BobMac57 thanks for the TTS suggestion, I’m working on that now :slight_smile:

Thanks, I will have a look at it.

@mp583 thank you for the blueprint! Is there an option to only get notified when the temperature is forecasted to fall below a certain value? I would like to get a notification every time tonight’s or tomorrow’s temperature is forecasted to fall below the freezing point.

I think this will be tricky to implement in the blueprint as far as my knowledge goes as you’d need to set it as a condition but you’re only calling the service later on in the blueprint.

Your best way is likely to create a forecast template sensor and use that as a condition by ‘taking control’ of the blueprint.

This is an example template sensor for forecast you can add to your configuration.yaml:

template:
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id: weather.home
        data:
          type: daily
        response_variable: daily
    sensor:
      - name: Daily Weather
        unique_id: weather_forecast_daily
        state: "{{ now().isoformat() }}"
        attributes:
          forecast: "{{ daily['weather.home'].forecast }}"

You’d then need to add a template condition to the blueprint that you’ve taken control of:

{{ (state_attr('sensor.daily_weather','forecast')[0].temperature )  < 2 }}

This condition is if today’s temperature is forecasted below 2 degrees (assuming you’re using celcius), if you wanted tomorrow’s you’d need to use [1].temperature.

1 Like

Thank you! I will test this soon. For now, I chose a different weather forecast intergration that provides separate entities for each parameter, for example temperature tomorrow, the day after tomorrow etc. Then it became a simple automation.