Weather Underground (WUnderground)


The wunderground platform uses Weather Underground as a source for current weather information.

Obtain a WUnderground API key here. They no longer offer free API keys, and all keys must be paid for, at this time existing free keys will continue to work, but may be disabled in the future.

To add Wunderground to your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: wunderground
    api_key: your_api_key
    monitored_conditions:
      - alerts
      - dewpoint_c

Configuration variables:

  • api_key (Required): The API key for Weather Underground. See above for details.
  • pws_id (Optional): You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available here. If you do not enter a PWS ID, the current location information (latitude and longitude) from your configuration.yaml will be used to display weather conditions.
  • lang (Optional): Specify the language that the API returns. The current list of all Wunderground language codes is available here. If not specified, it defaults to English (EN).
  • latitude (Optional): Latitude coordinate to monitor weather of (required if longitude is specified). Defaults to coordinates defined in your configuration.yaml.
  • longitude (Optional): Longitude coordinate to monitor weather of (required if latitude is specified). Defaults to coordinates defined in your configuration.yaml.
  • monitored_conditions array (Required): Conditions to display in the frontend. The following conditions can be monitored.
    • alerts: Current severe weather advisories
    • dewpoint_c: Temperature in Celsius below which water droplets begin to condense and dew can form
    • dewpoint_f: Temperature in Fahrenheit below which water droplets begin to condense and dew can form
    • dewpoint_string: Text summary of dew point
    • feelslike_c: Feels like (or apparent) temperature in Celsius
    • feelslike_f: Feels like (or apparent) temperature in Fahrenheit
    • feelslike_string: Text summary of how the current temperature feels like
    • heat_index_c: Heat index (combined effects of the temperature and humidity of the air) in Celsius
    • heat_index_f: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit
    • heat_index_string: Text summary of current heat index
    • elevation: Elevation in feet
    • location: City and State
    • observation_time: Text summary of observation time
    • precip_today_in: Total precipitation in inches
    • precip_today_metric: Total precipitation in metric units
    • precip_today_string: Text summary of precipitation today
    • precip_1d_mm [1d]: Forecasted precipitation intensity in millimeters
    • precip_1d_in [1d]: Forecasted precipitation intensity in inches
    • precip_1d [1d]: Forecasted precipitation probability in %
    • pressure_in: Atmospheric air pressure in inches
    • pressure_mb: Atmospheric air pressure in millibars
    • pressure_trend: Atmospheric air pressure trend signal (+/-)
    • relative_humidity: Relative humidity
    • station_id: Your personal weather station (PWS) ID
    • solarradiation: Current levels of solar radiation
    • temperature_string: Temperature text combining Fahrenheit and Celsius
    • temp_c: Current temperature in Celsius
    • temp_f: Current temperature in Fahrenheit
    • temp_high_record_c: Maximum temperature measured in Celsius
    • temp_high_record_f: Maximum temperature measured in Fahrenheit
    • temp_low_record_c: Minimal temperature measured in Celsius
    • temp_low_record_f: Minimal temperature measured in Fahrenheit
    • temp_high_avg_c: Average high for today in Celsius
    • temp_high_avg_f: Average high for today in Fahrenheit
    • temp_low_avg_c: Average low for today in Celsius
    • temp_low_avg_f: Average low for today in Fahrenheit
    • temp_high_1d_c [1d]: Forecasted high temperature in Celsius
    • temp_high_1d_f [1d]: Forecasted high temperature in Fahrenheit
    • temp_low_1d_c [1d]: Forecasted low temperature in Celsius
    • temp_low_1d_f [1d]: Forecasted low temperature in Fahrenheit
    • UV: Current levels of UV radiation. See here for explanation.
    • visibility_km: Average visibility in km
    • visibility_mi: Average visibility in miles
    • weather: A human-readable text summary with picture from Wunderground.
    • weather_1d [12h]: A human-readable weather forecast using imperial units.
    • weather_1d_metric [12h]: A human-readable weather forecast using metric units.
    • weather_1h [1h]: Weather conditions in 1 hour. (e.g., “Thunderstorm” etc.)
    • wind_degrees: Wind degrees
    • wind_dir: Wind direction
    • wind_gust_kph: Wind gusts speed in kph
    • wind_gust_mph: Wind gusts speed in mph
    • wind_gust_1d_kph [1d]: Max. forecasted Wind in kph
    • wind_gust_1d_mph [1d]: Max. forecasted Wind in mph
    • wind_kph: Current wind speed in kph
    • wind_mph: Current wind speed in mph
    • wind_1d_kph [1d]: Forecasted wind speed in kph
    • wind_1d_mph [1d]: Forecasted wind speed in mph
    • wind_string: Text summary of current wind conditions

All the conditions listed above will be updated every 5 minutes.

Forecasts

12 hour forecasts

Monitored conditions marked above with [12h] are 12 hour forecasts. To get a forecast for different period/daytime replace the _1d_ part of the sensor name. e.g., weather_2n will give you forecast for tomorrow night. Valid values for day are 1 to 4 and valid values for daytime are d or n.

Daily forecasts

Conditions above marked with [1d] are daily forecasts. To get forecast for different day, replace the number in _1d_ part of the sensor name. Valid values are from 1 to 4.

Hourly forecasts

Conditions marked with [1h] are hourly forecasts. To get forecast for different hour, replace the number in the _1h_ part of the sensor name with 1 to 36. e.g., weather_24h will give you weather in 24 hours.

Additional examples

Daily forecast

sensor:
  - platform: wunderground
    api_key: your_api_key
    monitored_conditions:
      - weather_1d_metric
      - weather_1n_metric
      - weather_2d_metric
      - weather_2n_metric
      - weather_3d_metric
      - weather_3n_metric
      - weather_4d_metric
      - weather_4n_metric

group:
  daily_forecast:
    name: Daily Forecast
    entities:
      - sensor.pws_weather_1d_metric
      - sensor.pws_weather_1n_metric
      - sensor.pws_weather_2d_metric
      - sensor.pws_weather_2n_metric
      - sensor.pws_weather_3d_metric
      - sensor.pws_weather_3n_metric
      - sensor.pws_weather_4d_metric
      - sensor.pws_weather_4n_metric

Daily Forecast

Weather overview

sensor:
  - platform: wunderground
    api_key: your_api_key
    monitored_conditions:
      - temp_high_record_c
      - temp_high_1d_c
      - temp_c
      - temp_low_1d_c
      - temp_low_record_c
      - precip_1d
      - precip_1d_mm
      - wind_kph
      - wind_1d_kph
      - alerts

group:
  weather_overview:
    name: Weather overview
    entities:
      - sensor.pws_weather_1d_metric
      - sensor.pws_temp_high_record_c
      - sensor.pws_temp_high_1d_c
      - sensor.pws_temp_c
      - sensor.pws_temp_low_1d_c
      - sensor.pws_temp_low_record_c
      - sensor.pws_precip_1d
      - sensor.pws_precip_1d_mm
      - sensor.pws_wind_kph
      - sensor.pws_wind_1d_kph
      - sensor.pws_alerts

Weather overview

Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather).

Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g.

  • sensor.pws_weather_1d_metric_2

Additional details about the API are available here.