Difference between revisions of "WXonline"
(23 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
This driver provides weather information and forecasts retrieved from the [http://weather.yahoo.com/ Yahoo! Weather service]. | This driver provides weather information and forecasts retrieved from the [http://weather.yahoo.com/ Yahoo! Weather service]. | ||
− | + | {{note | The information provided by this driver must be used in compliance with [http://developer.yahoo.com/weather/#terms Yahoo!'s Terms of Use].}} | |
[[Category:I/O Server]] | [[Category:I/O Server]] | ||
== HSYCO Configuration == | == HSYCO Configuration == | ||
+ | Add an WXONLINE I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters. | ||
+ | |||
+ | {{note|Note that the WXONLINE I/O Server doesn't count in the I/O servers license total, so you don't need an extra I/O Server license to use WXONLINE with HSYCO.}} | ||
+ | |||
+ | === High Availability === | ||
+ | *'''Shutdown when inactive''': defaults to true. | ||
=== Options === | === Options === | ||
Line 41: | Line 47: | ||
|} | |} | ||
− | The 'location' option is required. To obtain the WOEID of the desired location, go to the [http://weather.yahoo.com Yahoo! Weather home page] and enter the location name in the search field. The WOEID will be at the end of the URL for the forecast page for that location. For example, if you search for Los Angeles, the forecast page for that city is "http://weather.yahoo.com/united-states/california/los-angeles-2442047". The WOEID is 2442047. | + | The 'location' option is required. To obtain the WOEID of the desired location, go to the [http://weather.yahoo.com Yahoo! Weather home page] and enter the location name in the search field. The WOEID will be at the end of the URL for the forecast page for that location. For example, if you search for Los Angeles, the forecast page for that city is <nowiki>"http://weather.yahoo.com/united-states/california/los-angeles-2442047"</nowiki>. The WOEID is 2442047. |
+ | |||
+ | == Datapoints == | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !ID | ||
+ | !Value | ||
+ | !R/W | ||
+ | !Description | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |connection | ||
+ | |online | ||
+ | |R | ||
+ | |connection established | ||
+ | |- | ||
+ | |offline | ||
+ | |R | ||
+ | |HSYCO can't connect to the panel | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="3" |location | ||
+ | |<location> | ||
+ | |R | ||
+ | |the target location is set to <location> (e.g. “New York, NY, United States”) | ||
+ | |- | ||
+ | |<woeid> | ||
+ | |W | ||
+ | |set the location to the specified WOEID | ||
+ | |- | ||
+ | |refresh | ||
+ | |W | ||
+ | |refresh the weather data for the current location | ||
+ | |||
+ | |- | ||
+ | |||
+ | |condition | ||
+ | |<condition> | ||
+ | |R | ||
+ | |the current weather condition (refer to the [[#Conditions and categories|conditions table]] for a complete list of possible values) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |condition.clear | ||
+ | |1 | ||
+ | |R | ||
+ | |the current condition is categorized as “clear” | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the current condition is not categorized as “clear” | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |condition.precipitation | ||
+ | |1 | ||
+ | |R | ||
+ | |the current condition is categorized as “precipitation” | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the current condition is not categorized as “precipitation” | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |condition.storm | ||
+ | |1 | ||
+ | |R | ||
+ | |the current condition is categorized as “storm” | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the current condition is not categorized as “storm” | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |condition.partly_cloudy | ||
+ | |1 | ||
+ | |R | ||
+ | |the current condition is categorized as “partly cloudy” | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the current condition is not categorized as "partly cloudy” | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |condition.low_visibility | ||
+ | |1 | ||
+ | |R | ||
+ | |the current condition is categorized as “low visibility” | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the current condition is not categorized as “low visibility” | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.c | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current temperature corresponds to <val> (expressed in °C) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.f | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current temperature corresponds to <val> (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |humidity | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current humidity percentage corresponds to <val> | ||
+ | |||
+ | |- | ||
+ | |||
+ | |pressure | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current pressure in inches of mercury (inHg) corresponds to <val>. Multiply by 33.86389 to obtain the equivalent hPa value | ||
+ | |||
+ | |- | ||
+ | |||
+ | |wind.speed | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current wind speed corresponds to <val> | ||
+ | |||
+ | |- | ||
+ | |||
+ | |wind.dir | ||
+ | |<val> | ||
+ | |R | ||
+ | |the reported current wind direction corresponds to <val> (expressed in degrees) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.day.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<day> | ||
+ | |R | ||
+ | |the week day identified by <n> corresponds to <day> (i.e. “mon”, "tue", "wed", ...) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.c.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<val> | ||
+ | |R | ||
+ | |the forecasted lowest temperature for day <n> is <val> (expressed in °C) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.f.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<val> | ||
+ | |R | ||
+ | |the forecasted lowest temperature for day <n> is <val> (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.c.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<val> | ||
+ | |R | ||
+ | |the forecasted highest temperature for day <n> is <val> (expressed in °C) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.f.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<val> | ||
+ | |R | ||
+ | |the forecasted highest temperature for day <n> is <val> (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.condition.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |<condition> | ||
+ | |R | ||
+ | |the forecasted weather condition for day <n> corresponds to <condition> (refer to the [[#Conditions and categories|conditions table]] for a complete list of possible values) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |forecast.condition.clear.<n> | ||
+ | |1 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is categorized as "clear" | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is not categorized as "clear" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |forecast.condition.precipitation.<n> | ||
+ | |1 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is categorized as "precipitation" | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is not categorized as "precipitation" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |forecast.condition.storm.<n> | ||
+ | |1 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is categorized as "storm" | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is not categorized as "storm" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |forecast.condition.partly_cloudy.<n> | ||
+ | |1 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is categorized as "partly cloudy" | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is not categorized as "partly cloudy" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |rowspan="2" |forecast.condition.low_visibility.<n> | ||
+ | |1 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is categorized as "low visibility" | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |the forecasted condition for day <n> is not categorized as "low visibility" | ||
+ | |||
+ | |} | ||
+ | |||
+ | === Conditions and categories === | ||
+ | |||
+ | The following table shows the possible weather condition values and their categorization. | ||
+ | |||
+ | Categories are used to summarize relevant aspects of a specific condition so to simplify programming logic. The available categories are: clear (c), precipitation (p), storm (s), partly cloudy (pc), and low visibility (lv). For some conditions (e.g. “windy”) the categorization is not feasible; in such cases (denoted by "xx") the category datapoints will not be updated so to maintain the previous condition. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Condition | ||
+ | !Categories | ||
+ | |- | ||
+ | |blowing_snow | ||
+ | |p, lv | ||
+ | |- | ||
+ | |blustery | ||
+ | |xx | ||
+ | |- | ||
+ | |clear_night | ||
+ | |c | ||
+ | |- | ||
+ | |cloudy | ||
+ | | | ||
+ | |- | ||
+ | |cold | ||
+ | |xx | ||
+ | |- | ||
+ | |drizzle | ||
+ | |p | ||
+ | |- | ||
+ | |dust | ||
+ | |lv | ||
+ | |- | ||
+ | |fair_day | ||
+ | |pc | ||
+ | |- | ||
+ | |fair_night | ||
+ | |pc | ||
+ | |- | ||
+ | |foggy | ||
+ | |lv | ||
+ | |- | ||
+ | |freezing_drizzle | ||
+ | |p | ||
+ | |- | ||
+ | |freezing_rain | ||
+ | |p | ||
+ | |- | ||
+ | |hail | ||
+ | |p | ||
+ | |- | ||
+ | |haze | ||
+ | |lv | ||
+ | |- | ||
+ | |heavy_snow | ||
+ | |p,lv | ||
+ | |- | ||
+ | |hot | ||
+ | |c | ||
+ | |- | ||
+ | |hurricane | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |isolated_thundershowers | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |isolated_thunderstorms | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |light_snow_showers | ||
+ | |p, lv | ||
+ | |- | ||
+ | |mixed_rain_hail | ||
+ | |p | ||
+ | |- | ||
+ | |mixed_rain_sleet | ||
+ | |p | ||
+ | |- | ||
+ | |mixed_rain_snow | ||
+ | |p | ||
+ | |- | ||
+ | |mixed_snow_sleet | ||
+ | |p | ||
+ | |- | ||
+ | |mostly_cloudy_day | ||
+ | | | ||
+ | |- | ||
+ | |mostly_cloudy_night | ||
+ | | | ||
+ | |- | ||
+ | |partly_cloudy | ||
+ | |pc | ||
+ | |- | ||
+ | |partly_cloudy_day | ||
+ | |pc | ||
+ | |- | ||
+ | |partly_cloudy_night | ||
+ | |pc | ||
+ | |- | ||
+ | |scattered_showers | ||
+ | |p, lv | ||
+ | |- | ||
+ | |scattered_snow_showers | ||
+ | |p, lv | ||
+ | |- | ||
+ | |scattered_thunderstorms | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |severe_thunderstorms | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |showers | ||
+ | |p, lv | ||
+ | |- | ||
+ | |sleet | ||
+ | |p | ||
+ | |- | ||
+ | |smoky | ||
+ | |lv | ||
+ | |- | ||
+ | |snow | ||
+ | |p | ||
+ | |- | ||
+ | |snow_flurries | ||
+ | |p | ||
+ | |- | ||
+ | |snow_showers | ||
+ | |p, lv | ||
+ | |- | ||
+ | |sunny | ||
+ | |c | ||
+ | |- | ||
+ | |thundershowers | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |thunderstorms | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |tornado | ||
+ | |s | ||
+ | |- | ||
+ | |tropical_storm | ||
+ | |p, s, lv | ||
+ | |- | ||
+ | |windy | ||
+ | |xx | ||
+ | |- | ||
+ | |unknown | ||
+ | |xx | ||
+ | |} | ||
+ | |||
+ | == User Interface == | ||
+ | |||
+ | === Weather Object === | ||
+ | |||
+ | {{:Weather}} | ||
+ | |||
+ | === UISET Actions === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !ID | ||
+ | !Attribute | ||
+ | !colspan="2"|Set to | ||
+ | |||
+ | |- | ||
+ | |rowspan="2"|connection.label | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when datapoint connection = offline | ||
+ | |- | ||
+ | |false | ||
+ | |when datapoint connection = online | ||
+ | |||
+ | |- | ||
+ | |||
+ | |location | ||
+ | |value | ||
+ | |colspan="2"|the target location (e.g. “New York, NY, United States”) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.c | ||
+ | |value | ||
+ | |colspan="2"|the reported current temperature followed by "°C" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.c.nounit | ||
+ | |value | ||
+ | |colspan="2"|the reported current temperature without unit (expressed in °C) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.f | ||
+ | |value | ||
+ | |colspan="2"|the reported current temperature followed by "°F" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |temp.f.nounit | ||
+ | |value | ||
+ | |colspan="2"|the reported current temperature without unit (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |humidity | ||
+ | |value | ||
+ | |colspan="2"|the reported current humidity percentage | ||
+ | |||
+ | |- | ||
+ | |||
+ | |wind.speed | ||
+ | |value | ||
+ | |colspan="2"|the reported current wind speed in Km/h | ||
+ | |||
+ | |- | ||
+ | |||
+ | |wind.speed | ||
+ | |value | ||
+ | |colspan="2"|the reported current wind direction in degrees | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.day.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the week day identified by <n> (i.e. “Mon”, “Tue”, “Wed”, ...) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.c.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted lowest temperature for day <n> followed by "°C" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.c.<n>.nounit | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted lowest temperature for day <n> without unit (expressed in °C) | ||
+ | |||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.f.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted lowest temperature for day <n> followed by "°F" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.low.f.<n>.nounit | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted lowest temperature for day <n> without unit (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.c.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted highest temperature for day <n> followed by "°C" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.c.<n>.nounit | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted highest temperature for day <n> without unit (expressed in °C) | ||
+ | |||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.f.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted highest temperature for day <n> followed by "°F" | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.temp.high.f.<n>.nounit | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted highest temperature for day <n> without unit (expressed in °F) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.condition.<n> | ||
+ | (<n> = 1 or 2) | ||
+ | |value | ||
+ | |colspan="2"|the forecasted weather condition for day <n> (e.g. “SUNNY”) | ||
+ | |||
+ | |- | ||
+ | |||
+ | |condition.label | ||
+ | |img | ||
+ | |colspan="2"|weather/<current_condition_image> | ||
+ | |||
+ | |- | ||
+ | |||
+ | |forecast.condition.<n>.label | ||
+ | (<n> = 1 or 2) | ||
+ | |img | ||
+ | |colspan="2"|weather/<forecasted_condition_image> | ||
+ | |||
+ | |} | ||
+ | |||
+ | ==== Weather conditions images ==== | ||
+ | |||
+ | The following table shows the mapping between each condition and the corresponding image. | ||
+ | |||
+ | To customize the images add a folder named "weather" inside the "img" folder of your project and add your images named accordingly to the table. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Condition | ||
+ | !Image name | ||
+ | !Default image | ||
+ | |- | ||
+ | |blowing_snow | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |blustery | ||
+ | |windy.png | ||
+ | |align="center"|[[File:wx_online_windy.png]] | ||
+ | |- | ||
+ | |clear_night | ||
+ | |sunny.png | ||
+ | |align="center"|[[File:wx_online_sunny.png]] | ||
+ | |- | ||
+ | |cloudy | ||
+ | |cloudy.png | ||
+ | |align="center"|[[File:wx_online_cloudy.png]] | ||
+ | |- | ||
+ | |cold | ||
+ | |icy.png | ||
+ | |align="center"|[[File:wx_online_icy.png]] | ||
+ | |- | ||
+ | |drizzle | ||
+ | |drizzle.png | ||
+ | |align="center"|[[File:wx_online_drizzle.png]] | ||
+ | |- | ||
+ | |dust | ||
+ | |dust.png | ||
+ | |align="center"|[[File:wx_online_dust.png]] | ||
+ | |- | ||
+ | |fair_day | ||
+ | |partly_cloudy.png | ||
+ | |align="center"|[[File:wx_online_partly_cloudy.png]] | ||
+ | |- | ||
+ | |fair_night | ||
+ | |partly_cloudy.png | ||
+ | |align="center"|[[File:wx_online_partly_cloudy.png]] | ||
+ | |- | ||
+ | |foggy | ||
+ | |fog.png | ||
+ | |align="center"|[[File:wx_online_fog.png]] | ||
+ | |- | ||
+ | |freezing_drizzle | ||
+ | |drizzle.png | ||
+ | |align="center"|[[File:wx_online_drizzle.png]] | ||
+ | |- | ||
+ | |freezing_rain | ||
+ | |rain.png | ||
+ | |align="center"|[[File:wx_online_rain.png]] | ||
+ | |- | ||
+ | |hail | ||
+ | |hail.png | ||
+ | |align="center"|[[File:wx_online_hail.png]] | ||
+ | |- | ||
+ | |haze | ||
+ | |haze.png | ||
+ | |align="center"|[[File:wx_online_haze.png]] | ||
+ | |- | ||
+ | |heavy_snow | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |hot | ||
+ | |sunny.png | ||
+ | |align="center"|[[File:wx_online_sunny.png]] | ||
+ | |- | ||
+ | |hurricane | ||
+ | |storm.png | ||
+ | |align="center"|[[File:wx_online_storm.png]] | ||
+ | |- | ||
+ | |isolated_thundershowers | ||
+ | |chance_of_storm.png | ||
+ | |align="center"|[[File:wx_online_chance_of_storm.png]] | ||
+ | |- | ||
+ | |isolated_thunderstorms | ||
+ | |chance_of_storm.png | ||
+ | |align="center"|[[File:wx_online_chance_of_storm.png]] | ||
+ | |- | ||
+ | |light_snow_showers | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |mixed_rain_hail | ||
+ | |hail.png | ||
+ | |align="center"|[[File:wx_online_hail.png]] | ||
+ | |- | ||
+ | |mixed_rain_sleet | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |mixed_rain_snow | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |mixed_snow_sleet | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |mostly_cloudy_day | ||
+ | |cloudy.png | ||
+ | |align="center"|[[File:wx_online_cloudy.png]] | ||
+ | |- | ||
+ | |mostly_cloudy_night | ||
+ | |cloudy.png | ||
+ | |align="center"|[[File:wx_online_cloudy.png]] | ||
+ | |- | ||
+ | |partly_cloudy | ||
+ | |partly_cloudy.png | ||
+ | |align="center"|[[File:wx_online_partly_cloudy.png]] | ||
+ | |- | ||
+ | |partly_cloudy_day | ||
+ | |partly_cloudy.png | ||
+ | |align="center"|[[File:wx_online_partly_cloudy.png]] | ||
+ | |- | ||
+ | |partly_cloudy_night | ||
+ | |partly_cloudy.png | ||
+ | |align="center"|[[File:wx_online_partly_cloudy.png]] | ||
+ | |- | ||
+ | |scattered_showers | ||
+ | |chance_of_rain.png | ||
+ | |align="center"|[[File:wx_online_chance_of_rain.png]] | ||
+ | |- | ||
+ | |scattered_snow_showers | ||
+ | |chance_of_snow.png | ||
+ | |align="center"|[[File:wx_online_chance_of_snow.png]] | ||
+ | |- | ||
+ | |scattered_thunderstorms | ||
+ | |chance_of_storm.png | ||
+ | |align="center"|[[File:wx_online_chance_of_storm.png]] | ||
+ | |- | ||
+ | |severe_thunderstorms | ||
+ | |storm.png | ||
+ | |align="center"|[[File:wx_online_storm.png]] | ||
+ | |- | ||
+ | |showers | ||
+ | |rain.png | ||
+ | |align="center"|[[File:wx_online_rain.png]] | ||
+ | |- | ||
+ | |sleet | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |smoky | ||
+ | |dust.png | ||
+ | |align="center"|[[File:wx_online_dust.png]] | ||
+ | |- | ||
+ | |snow | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |snow_flurries | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |snow_showers | ||
+ | |snow.png | ||
+ | |align="center"|[[File:wx_online_snow.png]] | ||
+ | |- | ||
+ | |sunny | ||
+ | |sunny.png | ||
+ | |align="center"|[[File:wx_online_sunny.png]] | ||
+ | |- | ||
+ | |thundershowers | ||
+ | |storm.png | ||
+ | |align="center"|[[File:wx_online_storm.png]] | ||
+ | |- | ||
+ | |thunderstorms | ||
+ | |storm.png | ||
+ | |align="center"|[[File:wx_online_storm.png]] | ||
+ | |- | ||
+ | |tornado | ||
+ | |tornado.png | ||
+ | |align="center"|[[File:wx_online_tornado.png]] | ||
+ | |- | ||
+ | |tropical_storm | ||
+ | |storm.png | ||
+ | |align="center"|[[File:wx_online_storm.png]] | ||
+ | |- | ||
+ | |windy | ||
+ | |windy.png | ||
+ | |align="center"|[[File:wx_online_windy.png]] | ||
+ | |- | ||
+ | |unknown | ||
+ | |unknown_weather_condition.png | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | == Release Notes == | ||
+ | === 3.5.1 === | ||
+ | *updated Yahoo API calls (new format required after March 15th, 2016) | ||
+ | |||
+ | === 3.4.0 === | ||
+ | *fixed Fahrenheit to Celsius conversion | ||
+ | |||
+ | === 3.1.1 === | ||
+ | *pressure datapoint added | ||
+ | |||
+ | === 3.1.0 === | ||
+ | *changed weather provider | ||
+ | *modified I/O Datapoints | ||
+ | *modified I/O Server options | ||
+ | |||
+ | === 3.0.1 === | ||
+ | *added weather object | ||
+ | === 3.0.0 === | ||
+ | *initial release | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ''Yahoo! and Yahoo! Weather are registered trademarks of Yahoo! Inc.'' |
Latest revision as of 13:24, 3 September 2016
This driver provides weather information and forecasts retrieved from the Yahoo! Weather service.
Contents
HSYCO Configuration
Add an WXONLINE I/O Server in the I/O Servers section of the Settings and set its parameters.
High Availability
- Shutdown when inactive: defaults to true.
Options
ID | Default | Values | Description |
---|---|---|---|
gui | true | true | enable support for the UI object and UISET actions |
false | disable UI support | ||
pollinterval | 10 | n > 0 | the data acquisition interval, in minutes |
location | <woeid> | WOEID of the target location |
The 'location' option is required. To obtain the WOEID of the desired location, go to the Yahoo! Weather home page and enter the location name in the search field. The WOEID will be at the end of the URL for the forecast page for that location. For example, if you search for Los Angeles, the forecast page for that city is "http://weather.yahoo.com/united-states/california/los-angeles-2442047". The WOEID is 2442047.
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can't connect to the panel | |
location | <location> | R | the target location is set to <location> (e.g. “New York, NY, United States”) |
<woeid> | W | set the location to the specified WOEID | |
refresh | W | refresh the weather data for the current location | |
condition | <condition> | R | the current weather condition (refer to the conditions table for a complete list of possible values) |
condition.clear | 1 | R | the current condition is categorized as “clear” |
0 | R | the current condition is not categorized as “clear” | |
condition.precipitation | 1 | R | the current condition is categorized as “precipitation” |
0 | R | the current condition is not categorized as “precipitation” | |
condition.storm | 1 | R | the current condition is categorized as “storm” |
0 | R | the current condition is not categorized as “storm” | |
condition.partly_cloudy | 1 | R | the current condition is categorized as “partly cloudy” |
0 | R | the current condition is not categorized as "partly cloudy” | |
condition.low_visibility | 1 | R | the current condition is categorized as “low visibility” |
0 | R | the current condition is not categorized as “low visibility” | |
temp.c | <val> | R | the reported current temperature corresponds to <val> (expressed in °C) |
temp.f | <val> | R | the reported current temperature corresponds to <val> (expressed in °F) |
humidity | <val> | R | the reported current humidity percentage corresponds to <val> |
pressure | <val> | R | the reported current pressure in inches of mercury (inHg) corresponds to <val>. Multiply by 33.86389 to obtain the equivalent hPa value |
wind.speed | <val> | R | the reported current wind speed corresponds to <val> |
wind.dir | <val> | R | the reported current wind direction corresponds to <val> (expressed in degrees) |
forecast.day.<n>
(<n> = 1 or 2) |
<day> | R | the week day identified by <n> corresponds to <day> (i.e. “mon”, "tue", "wed", ...) |
forecast.temp.low.c.<n>
(<n> = 1 or 2) |
<val> | R | the forecasted lowest temperature for day <n> is <val> (expressed in °C) |
forecast.temp.low.f.<n>
(<n> = 1 or 2) |
<val> | R | the forecasted lowest temperature for day <n> is <val> (expressed in °F) |
forecast.temp.high.c.<n>
(<n> = 1 or 2) |
<val> | R | the forecasted highest temperature for day <n> is <val> (expressed in °C) |
forecast.temp.high.f.<n>
(<n> = 1 or 2) |
<val> | R | the forecasted highest temperature for day <n> is <val> (expressed in °F) |
forecast.condition.<n>
(<n> = 1 or 2) |
<condition> | R | the forecasted weather condition for day <n> corresponds to <condition> (refer to the conditions table for a complete list of possible values) |
forecast.condition.clear.<n> | 1 | R | the forecasted condition for day <n> is categorized as "clear" |
0 | R | the forecasted condition for day <n> is not categorized as "clear" | |
forecast.condition.precipitation.<n> | 1 | R | the forecasted condition for day <n> is categorized as "precipitation" |
0 | R | the forecasted condition for day <n> is not categorized as "precipitation" | |
forecast.condition.storm.<n> | 1 | R | the forecasted condition for day <n> is categorized as "storm" |
0 | R | the forecasted condition for day <n> is not categorized as "storm" | |
forecast.condition.partly_cloudy.<n> | 1 | R | the forecasted condition for day <n> is categorized as "partly cloudy" |
0 | R | the forecasted condition for day <n> is not categorized as "partly cloudy" | |
forecast.condition.low_visibility.<n> | 1 | R | the forecasted condition for day <n> is categorized as "low visibility" |
0 | R | the forecasted condition for day <n> is not categorized as "low visibility" |
Conditions and categories
The following table shows the possible weather condition values and their categorization.
Categories are used to summarize relevant aspects of a specific condition so to simplify programming logic. The available categories are: clear (c), precipitation (p), storm (s), partly cloudy (pc), and low visibility (lv). For some conditions (e.g. “windy”) the categorization is not feasible; in such cases (denoted by "xx") the category datapoints will not be updated so to maintain the previous condition.
Condition | Categories |
---|---|
blowing_snow | p, lv |
blustery | xx |
clear_night | c |
cloudy | |
cold | xx |
drizzle | p |
dust | lv |
fair_day | pc |
fair_night | pc |
foggy | lv |
freezing_drizzle | p |
freezing_rain | p |
hail | p |
haze | lv |
heavy_snow | p,lv |
hot | c |
hurricane | p, s, lv |
isolated_thundershowers | p, s, lv |
isolated_thunderstorms | p, s, lv |
light_snow_showers | p, lv |
mixed_rain_hail | p |
mixed_rain_sleet | p |
mixed_rain_snow | p |
mixed_snow_sleet | p |
mostly_cloudy_day | |
mostly_cloudy_night | |
partly_cloudy | pc |
partly_cloudy_day | pc |
partly_cloudy_night | pc |
scattered_showers | p, lv |
scattered_snow_showers | p, lv |
scattered_thunderstorms | p, s, lv |
severe_thunderstorms | p, s, lv |
showers | p, lv |
sleet | p |
smoky | lv |
snow | p |
snow_flurries | p |
snow_showers | p, lv |
sunny | c |
thundershowers | p, s, lv |
thunderstorms | p, s, lv |
tornado | s |
tropical_storm | p, s, lv |
windy | xx |
unknown | xx |
User Interface
Weather Object
Shows a weather panel with current conditions and forecast.
Parameters
- id: the object's ID, used by UISets. Required
- position: the object's position. Use the pixels or rows and columns coordinates format
Syntax
(weather!<id> <position>)
E.g.
(weather!wx x10y20)
UISET Actions
ID | Attribute | Set to | |
---|---|---|---|
connection.label | visible | true | when datapoint connection = offline |
false | when datapoint connection = online | ||
location | value | the target location (e.g. “New York, NY, United States”) | |
temp.c | value | the reported current temperature followed by "°C" | |
temp.c.nounit | value | the reported current temperature without unit (expressed in °C) | |
temp.f | value | the reported current temperature followed by "°F" | |
temp.f.nounit | value | the reported current temperature without unit (expressed in °F) | |
humidity | value | the reported current humidity percentage | |
wind.speed | value | the reported current wind speed in Km/h | |
wind.speed | value | the reported current wind direction in degrees | |
forecast.day.<n>
(<n> = 1 or 2) |
value | the week day identified by <n> (i.e. “Mon”, “Tue”, “Wed”, ...) | |
forecast.temp.low.c.<n>
(<n> = 1 or 2) |
value | the forecasted lowest temperature for day <n> followed by "°C" | |
forecast.temp.low.c.<n>.nounit
(<n> = 1 or 2) |
value | the forecasted lowest temperature for day <n> without unit (expressed in °C)
| |
forecast.temp.low.f.<n>
(<n> = 1 or 2) |
value | the forecasted lowest temperature for day <n> followed by "°F" | |
forecast.temp.low.f.<n>.nounit
(<n> = 1 or 2) |
value | the forecasted lowest temperature for day <n> without unit (expressed in °F) | |
forecast.temp.high.c.<n>
(<n> = 1 or 2) |
value | the forecasted highest temperature for day <n> followed by "°C" | |
forecast.temp.high.c.<n>.nounit
(<n> = 1 or 2) |
value | the forecasted highest temperature for day <n> without unit (expressed in °C)
| |
forecast.temp.high.f.<n>
(<n> = 1 or 2) |
value | the forecasted highest temperature for day <n> followed by "°F" | |
forecast.temp.high.f.<n>.nounit
(<n> = 1 or 2) |
value | the forecasted highest temperature for day <n> without unit (expressed in °F) | |
forecast.condition.<n>
(<n> = 1 or 2) |
value | the forecasted weather condition for day <n> (e.g. “SUNNY”) | |
condition.label | img | weather/<current_condition_image> | |
forecast.condition.<n>.label
(<n> = 1 or 2) |
img | weather/<forecasted_condition_image> |
Weather conditions images
The following table shows the mapping between each condition and the corresponding image.
To customize the images add a folder named "weather" inside the "img" folder of your project and add your images named accordingly to the table.
Release Notes
3.5.1
- updated Yahoo API calls (new format required after March 15th, 2016)
3.4.0
- fixed Fahrenheit to Celsius conversion
3.1.1
- pressure datapoint added
3.1.0
- changed weather provider
- modified I/O Datapoints
- modified I/O Server options
3.0.1
- added weather object
3.0.0
- initial release
Yahoo! and Yahoo! Weather are registered trademarks of Yahoo! Inc.