2024-01-03 11:01:45 +01:00

5.9 KiB

title, description, ha_category, ha_release, ha_quality_scale, ha_codeowners, ha_domain, ha_integration_type
title description ha_category ha_release ha_quality_scale ha_codeowners ha_domain ha_integration_type
Weather Instructions on how to setup your Weather platforms with Home Assistant.
Weather
0.32 internal
@home-assistant/core
weather entity

The weather platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location.

{% include integrations/building_block_integration.md %}

For a list of weather integrations, on the integrations page, select the weather category.

Read the {% term integration %} documentation for your particular weather provider to learn how to set it up.

Home Assistant currently supports free web services some of which require registration.

State and state attributes

A weather {% term entity %}'s state is used to indicate the current overall conditions, e.g. 'cloudy' or 'sunny'.

Condition mapping

The weather {% term entity %} can provide the conditions listed below as its state:

  • 'clear-night'
  • 'cloudy'
  • 'fog'
  • 'hail'
  • 'lightning'
  • 'lightning-rainy'
  • 'partlycloudy'
  • 'pouring'
  • 'rainy'
  • 'snowy'
  • 'snowy-rainy'
  • 'sunny'
  • 'windy'
  • 'windy-variant'
  • 'exceptional'

State attributes

Detailed weather conditions as well as the unit of measurements used for the conditions are indicated by state attributes. A weather {% term entity %} may not support all the state attributes.

apparent_temperature: 12.0
cloud_coverage: 0
dew_point: 5.0
humidity: 76
precipitation_unit: mm
pressure: 1019
pressure_unit: hPa
temperature: 14.2
temperature_unit: °C
uv_index: 2
visibility: 10
visibility_unit: km
wind_bearing: 260
wind_gust_speed: 51.56
wind_speed: 35.17
wind_speed_unit: km/h

Service weather.get_forecasts

This service populates response data with a mapping of weather services and their associated forecasts.

Service data attribute Optional Description Example
type no The type of forecast, must be one of daily, twice_daily, or hourly. The default is daily. daily
service: weather.get_forecasts
target:
  entity_id:
    - weather.tomorrow_io_home_nowcast
    - weather.toronto_forecast
data:
  type: hourly
response_variable: weather_forecast

The response data field is a mapping of called target entities, each containing the forecast field. forecast is a list of forecasted conditions at a given point in time:

Response data Description Example
datetime The time of the forecasted conditions. 2023-02-17T14:00:00+00:00
is_daytime Only set for twice_daily forecasts. False
apparent_temperature The apparent (feels-like) temperature in the unit indicated by the temperature_unit state attribute. 10.2
cloud_coverage The cloud coverage in %. 15
condition The weather condition. Sunny
dew_point The dew point temperature in the unit indicated by the temperature_unit state attribute. 6.0
humidity The relative humidity in %. 82
precipitation_probability The probability of precipitation in %. 0
precipitation The precipitation amount in the unit indicated by the precipitation_unit state attribute. 0
pressure The air pressure in the unit indicated by the pressure_unit state attribute. 1019
temperature The temperature in the unit indicated by the temperature_unit state attribute. If templow is also provided, this is the higher temperature. 14.2
templow The lower temperature in the unit indicated by the temperature_unit state attribute. 5.0
uv_index The UV index. 3
wind_bearing The wind bearing in azimuth angle (degrees) or 1-3 letter cardinal direction. 268
wind_gust_speed The wind gust speed in the unit indicated by the wind_speed_unit state attribute. 34.41
wind_speed The wind speed in the unit indicated by the wind_speed_unit state attribute. 24.41

Examples

{% details "Example template sensor using get_forecasts" %}

Example template sensor that contains the hourly forecast

{% raw %}

template:
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        data:
          type: hourly
        target:
          entity_id: weather.home
        response_variable: hourly
    sensor:
      - name: Temperature forecast next hour
        unique_id: temperature_forecast_next_hour
        state: "{{ hourly['weather.home'].forecast[0].temperature }}"
        unit_of_measurement: °C

{% endraw %}

{% enddetails %}

{% details "Example service response" %}

weather.tomorrow_io_home_nowcast:
  forecast:
    - datetime: "2023-12-07T13:00:00+00:00"
      condition: cloudy
      precipitation_probability: 0
      wind_bearing: 241.19
      temperature: 0.1
      dew_point: -1.9
      wind_speed: 16.88
      precipitation: 0
      humidity: 86
    - datetime: "2023-12-07T14:00:00+00:00"
      condition: cloudy
      precipitation_probability: 0
      wind_bearing: 232.41
      temperature: 0.8
      dew_point: -2.8
      wind_speed: 17.82
      precipitation: 0
      humidity: 77
    - datetime: "2023-12-07T15:00:00+00:00"
      condition: cloudy
      precipitation_probability: 0
      wind_bearing: 236.09
      temperature: 1.1
      dew_point: -2.6
      wind_speed: 17.89
      precipitation: 0
      humidity: 77
weather.toronto_forecast:
  forecast:
    - datetime: "2023-12-07T14:00:00+00:00"
      condition: snowy
      precipitation_probability: 40
      temperature: 0
    - datetime: "2023-12-07T15:00:00+00:00"
      condition: snowy
      precipitation_probability: 40
      temperature: 0
    - datetime: "2023-12-07T16:00:00+00:00"
      condition: snowy
      precipitation_probability: 40
      temperature: 0

{% enddetails %}