From c5851c3cb301324bec5ce8b498ca61d7945e3155 Mon Sep 17 00:00:00 2001 From: pezinek Date: Sun, 7 May 2017 03:08:22 +0200 Subject: [PATCH] Forecasts for weather underground (#2414) * Forecasts for weather underground * Forecasts for weather underground * Forecasts for weather underground --- .../_components/sensor.wunderground.markdown | 123 +++++++++++++++++- .../wunderground_daily_forecast.png | Bin 0 -> 23647 bytes .../wunderground_weather_overview.png | Bin 0 -> 13297 bytes 3 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 source/images/screenshots/wunderground_daily_forecast.png create mode 100644 source/images/screenshots/wunderground_weather_overview.png diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown index 143120840cd..82a5b352782 100644 --- a/source/_components/sensor.wunderground.markdown +++ b/source/_components/sensor.wunderground.markdown @@ -91,6 +91,9 @@ Configuration variables: - **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]](#1d): Forecasted precipitation intensity in milimeters + - **precip_1d_in** [[1d]](#1d): Forecasted precipitation intensity in inches + - **precip_1d** [[1d]](#1d): Forecasted precipitation probability in % - **pressure_in**: Atmospheric air pressure in inches - **pressure_mb**: Atmospheric air pressure in millibars - **pressure_trend**: Atmospheric air presure trend signal (+/-) @@ -100,19 +103,137 @@ Configuration variables: - **temperature_string**: Temperature text combinding Fahrenheit and Celsius - **temp_c**: Current temperature in Celsius - **temp_f**: Current temperature in Fahrenheit + - **temp_high_record_c**: Maximum temperature meassured in Celsius + - **temp_high_record_f**: Maximum temperature meassured in Fahrenheit + - **temp_low_record_c**: Minimal temperature meassured in Celsius + - **temp_low_record_f**: Minimal temperature meassured 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]](#1d): Forecasted high temperature in Celsius + - **temp_high_1d_f** [[1d]](#1d): Forecasted high temperature in Fahrenheit + - **temp_low_1d_c** [[1d]](#1d): Forecasted low temperature in Celsius + - **temp_low_1d_f** [[1d]](#1d): Forecasted low temperature in Fahrenheit - **UV**: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) 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]](#12h): A human-readable weather forecast using imperial units. + - **weather_1d_metric** [[12h]](#12h): A human-readable weather forecast using metric units. + - **weather_1h** [[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]](#1d): Max. forecasted Wind in kph + - **wind_gust_1d_mph** [[1d]](#1d): Max. forecasted Wind in mph - **wind_kph**: Current wind speed in kph - **wind_mph**: Current wind speed in mph + - **wind_1d_kph** [[1d]](#1d): Forecasted wind speed in kph + - **wind_1d_mph** [[1d]](#1d): Forecasted wind speed in mph - **wind_string**: Text summary of current wind conditions -All the conditions listed above will be updated each 5 minutes with exception of `alerts` that will be updated each 15 minutes by default. +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 +-------------- + +```yaml +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: + dialy_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](/images/screenshots/wunderground_daily_forecast.png) + +Weather overview +---------------- + +```yaml +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](/images/screenshots/wunderground_weather_overview.png) +

Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather). diff --git a/source/images/screenshots/wunderground_daily_forecast.png b/source/images/screenshots/wunderground_daily_forecast.png new file mode 100644 index 0000000000000000000000000000000000000000..52651410cfe8dafc8f5fc17d13301a48d491902d GIT binary patch literal 23647 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¨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