Screenshot of weather card in Home Assistant

In Home Assistant 2024.4, this note was in the “Backward-incompatible changes” section of the release announcement

The previously deprecated forecast attribute of weather entities, has now been removed. Use the weather.get_forecasts service to get the forecast data instead.

(@gjohansson-ST - #110761) (documentation)

I had a heck of a time finding docs on this, so I have compiled what I did here.

Base weather integration

I am using the integration to get forecasts, but what I have done should work with any weather provider.

Current Conditions from Weather Station

I have made a custom weather entity that pulls current conditions from the weather station in my back yard and forecast data from the integration. The integration is known on my system as weather.tomorrow_io_leaky_cauldron_daily.

Custom Sensors

To make this work, I first needed to make sure my configuration.yaml contains this line:

template: !include templates.yaml

I then edited templates.yaml and added this:

- trigger:
    - platform: time_pattern
      minutes: /15
    - service: weather.get_forecasts
        type: hourly
        entity_id: weather.tomorrow_io_leaky_cauldron_daily
      response_variable: hourly
    - service: weather.get_forecasts
        type: daily
        entity_id: weather.tomorrow_io_leaky_cauldron_daily
      response_variable: daily
    - name: Weather Forecast Hourly
      unique_id: weather_forecast_hourly
      state: ""
        forecast: ""
    - name: Weather Forecast Daily
      unique_id: weather_forecast_daily
      state: ""
        forecast: ""

This creates two sensors: one with the hourly forecast data and one with the daily forecast data.

Custom weather entity

Next, I needed to return to configuration.yaml and add this:

  - platform: template
    name: "Home +"
    unique_id: home_plus_forecast
    condition_template: ""
    temperature_template: ""
    temperature_unit: "°F"
    humidity_template: ""
    attribution_template: "Home weather station +"
    pressure_template: ""
    pressure_unit: "inHg"
    wind_speed_template: ""
    wind_speed_unit: "mph"
    wind_bearing_template: ""
    forecast_hourly_template: ""
    forecast_daily_template: ""

The parts of this that have weather.tomorrow_io_leaky_cauldron_daily in them are pulled from the integration while the parts that start with sensor.outdoor_weather_station are pulled from the Ecowitt integration that equates to my weather station.

The result of this is shown below:

Screenshot of custom weather and daily forecast

Screenshot of custom weather and hourly forecast