Weather Underground (WUnderground)


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

Obtain a WUnderground API key here. A free account allows 500 requests per day and also a maximum of 10 per minute. See details here.

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).

Additional details about the API are available here.