Template Weather Provider

The template integrations creates weather provider that combines integrations and an existing weather provider into a fused weather provider.

There are several powerful ways to use this integration, including localizing your weather provider information with local information from temperature, humidity, pressure sensors that you own.

Another use case could be using temperature and humidity from one weather platform, with forecasts from a different one.

Output will be converted according to the user’s unit system or entity override, see documentation.


To enable a Template Weather provider in your installation, add the following to your configuration.yaml file:

(Note, be sure to update my_region in the condition and forecast templates to an appropriate value for your setup).

# Example configuration.yaml entry
  - platform: template
    name: "My Weather Station"
    condition_template: "{{ states('weather.my_region') }}"
    temperature_template: "{{ states('sensor.temperature') | float }}"
    temperature_unit: "°C"
    humidity_template: "{{ states('sensor.humidity') | float }}"
    forecast_daily_template: "{{ state_attr('weather.my_region', 'forecast') }}"

Configuration Variables

name template Required

Name to use in the frontend.

unique_id string (Optional)

An ID that uniquely identifies this weather entity. Set this to a unique value to allow customization through the UI.

condition_template template Required

The current weather condition.

temperature_template template Required

The current temperature.

dew_point_template template (Optional)

The current dew point.

apparent_temperature_template template (Optional)

The current apparent (feels-like) temperature.

temperature_unit string (Optional)

Unit for temperature_template output. Valid options are °C, °F, and K.

humidity_template template Required

The current humidity.

attribution_template string (Optional)

The attribution to be shown in the frontend.

pressure_template template (Optional)

The current air pressure.

pressure_unit string (Optional)

Unit for pressure_template output. Valid options are Pa, hPa, kPa, bar, cbar, mbar, mmHg, inHg, psi.

wind_speed_template template (Optional)

The current wind speed.

wind_gust_speed_template template (Optional)

The current wind gust speed.

wind_speed_unit string (Optional)

Unit for wind_speed_template output. Valid options are m/s, km/h, mph, mm/d, in/d, and in/h.

wind_bearing_template template (Optional)

The current wind bearing.

ozone_template template (Optional)

The current ozone level.

cloud_coverage_template template (Optional)

The current cloud coverage.

visibility_template template (Optional)

The current visibility.

visibility_unit string (Optional)

Unit for visibility_template output. Valid options are km, mi, ft, m, cm, mm, in, yd.

forecast_daily_template template (Optional)

Daily forecast data.

forecast_hourly_template template (Optional)

Hourly forecast data.

forecast_twice_daily_template template (Optional)

Twice daily forecast data.

precipitation_unit string (Optional)

Unit for precipitation output. Valid options are km, mi, ft, m, cm, mm, in, yd.

Template variables

State-based template entities have the special template variable this available in their templates. The this variable aids self-referencing of an entity’s state and attribute in templates.