Difference between revisions of "WXonline"

From HSYCO
Jump to navigation Jump to search
Line 435: Line 435:
  
 
=== UISET Actions ===
 
=== 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>
 +
 +
|}
 +
 +
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.
  
 
=== USER Commands ===
 
=== USER Commands ===

Revision as of 12:38, 8 January 2014

This driver provides weather information and forecasts retrieved from the Yahoo! Weather service.

N.B. The information provided by this driver must be used in compliance with Yahoo!'s Terms of Use.

HSYCO Configuration

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


UI Object weather.png

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>

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.

USER Commands