It is currently April 19th, 2024, 10:35 am

Weather Alternatives

Share and get help with Plugins and Addons
haicim
Posts: 3
Joined: March 3rd, 2011, 12:32 pm

Re: Weather Alternatives

Post by haicim »

phi wrote:I'm knocking up a weather meter for Australia (global weather services are usually way-off for some reason) using the Australin BOM: http://www.bom.gov.au
hi, here's an Australian one I've been working on for gnometer theme. (modified version of the included one) as you say, global ones seem to be out and only include major cities for Aus, so I decided to make this, it's basic, but I like it just fine. still haven't added measures for other things such as humidity etc which appears in the tooltips.
Image
source:

Code: Select all

[Rainmeter]
Author=haicim
AppVersion=1000000
Update=2000
MouseActionCursor=0
MiddleMouseDownAction=!RainmeterDeactivateConfig
BackgroundMode=1

[Metadata]
Name=Weatherzone
Description=Shows your current and forecast weather conditions. Weather information provided by weatherzone
Instructions=change only PAGEURL to desired town.
Version=1.3.0
License=Creative Commons BY-NC-SA 3.0

[Variables]
PAGEURL=http://www.meteorology.com.au/local-forecast/qld/gootchie
IMAGEURL=http://www.meteorology.com.au
skin.Style=Horizontal
@Include=#ROOTCONFIGPATH#SETTINGS\Variables.inc

; MEASURES ====================================

[Source]
Measure=Plugin
Plugin=WebParser.dll
UpdateRate=300
URL=#PAGEURL#
RegExp=(?siU)<h1>Forecast</h1>(.*)<li.class=.custom-content.teaser.>

[Location]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
RegExp=(?siU)<h3>.(.*?).<em>
StringIndex2=1
StringIndex=1
Substitute="":"Weather"

[LongDesc]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
StringIndex2=1
RegExp=(?siU)class=.seven-day-forecast.full.>.*?</strong>.(.*?).</p>.*?summary=.Forecast

[Days]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?siU)<caption>Forecast.*?<thead>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>

[mForecast0.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=1

[mForecast1.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=2

[mForecast2.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=3

[mForecast3.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=4

[mForecast4.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=5

[Summarys]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Summary</.*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title="

[mForecast0.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=1
Substitute="":"N/A"

[mForecast0.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=2
Download=1
Substitute="":"3200"

[mForecast1.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=3
Substitute="":"N/A"

[mForecast1.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=4
Download=1
Substitute="":"3200"

[mForecast2.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=5
Substitute="":"N/A"

[mForecast2.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=6
Download=1
Substitute="":"3200"

[mForecast3.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=7
Substitute="":"N/A"

[mForecast3.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=8
Download=1
Substitute="":"3200"

[mForecast4.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=9
Substitute="":"N/A"

[mForecast4.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=10
Download=1
Substitute="":"3200"

[Lows]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Minimum</th>.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span

[mForecast0.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=1
Substitute="":""

[mForecast1.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=2
Substitute="":""

[mForecast2.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=3
Substitute="":""

[mForecast3.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=4
Substitute="":""

[mForecast4.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=5
Substitute="":""

[Highs]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Maximum</th>.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span

[mForecast0.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=1
Substitute="":""

[mForecast1.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=2
Substitute="":""

[mForecast2.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=3
Substitute="":""

[mForecast3.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=4
Substitute="":""

[mForecast4.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=5
Substitute="":""

[Currents]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)class=.local-weather-short.teaser.*?<img.alt=.(.*?)..class=.icon..src=.(.*?)\?.*?current.>(.*?)</span.*?min.>(.*?)</span.*?max.>(.*?)</span>

[mCurrent.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=1
Substitute="":"N/A"

[mCurrent.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Currents]
StringIndex=2
Download=1
Substitute="":"3200"

[mCurrent.Temp]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=3
Substitute="":""

[mCurrent.Min]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=4
Substitute="":""
Hidden=0

[mCurrent.Max]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=5
Substitute="":""
Hidden=0

[Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)Chance.of.rain.</th>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?Likely.amount.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?scope=.row

[mForecast0.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=1

[mForecast1.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=2

[mForecast2.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=3

[mForecast3.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=4

[mForecast4.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=5

[mForecast0.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=6
Substitute="< ":"<"

[mForecast1.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=7
Substitute="< ":"<"

[mForecast2.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=8
Substitute="< ":"<"

[mForecast3.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=9
Substitute="< ":"<"

[mForecast4.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=10
Substitute="< ":"<"

; STYLES ======================================

@Include2=#ROOTCONFIGPATH#SETTINGS\Style#skin.Style#.inc

[sPopup]
Hidden=0

[sTextL]
W=35
X=30
Hidden=0
ToolTipText="%1: %4#CRLF#Max: %3#CRLF#Min:  %2#CRLF#Chance of Rain: %5  %6"

[sTextR]
ToolTipText="%4: %1#CRLF#Max: %3#CRLF#Min:  %2#CRLF#Chance of Rain: %5  %6"
W=(#skin.Width#-50)
Text="%2~%3"
Hidden=0

[sSubtitle]
ToolTipText="Now: %2#CRLF#%1#CRLF#Max: %4#CRLF#Min:  %3"

[sSeperator]
Hidden=0
Y=16r

[sIcon]
W=28
H=24
ToolTipText="%5: %4#CRLF#Max: %3#CRLF#Min:  %2#CRLF#Chance of Rain: %6  %7"

[sIconB]
W=38
H=31

; METERS ======================================

[Line]
Meter=IMAGE
MeterStyle=sLine

[Icon]
Meter=IMAGE
MeterStyle=sIconB
MeasureName=mCurrent.Icon
MouseActionCursor=1
UpdateDivider=3
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Temp
MeasureName4=mCurrent.Min
MeasureName5=mCurrent.Max
MeasureName6=LongDesc
MeasureName7=Location
ToolTipText="Currently %3 in %7 — %4 Lowest — %5 Highest #CRLF#Forecast: %6"

[Title]
Meter=STRING
MeterStyle=sTitle
MeasureName=Location
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Temp
MeasureName4=mCurrent.Min
MeasureName5=mCurrent.Max
Text="%1"
ToolTipText="Now: %3#CRLF#%2#CRLF#Max: %5#CRLF#Min:  %4"

[SubtitleTemp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mCurrent.Temp
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%1"
w=50
ToolTipText="Now: %1#CRLF#%2#CRLF#Max: %4#CRLF#Min:  %3"

[Subtitle]
Meter=STRING
MeterStyle=sSubtitle
MeasureName=mCurrent.Text
MeasureName2=mCurrent.Temp
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%1"
w=115

[Subtitle2]
Meter=STRING
MeterStyle=sSubtitle
MeasureName=mCurrent.Text
MeasureName2=mCurrent.Temp
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%3~%4"
StringAlign=Right
x=195

[Popup]
Meter=IMAGE
MeterStyle=sPopup
H=((#h.Other#*5)+30)

; Weather

[day0Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast0.Icon
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Text
MeasureName5=mForecast0.Day
MeasureName6=mForecast0.Rain
MeasureName7=mForecast0.RainMM
UpdateDivider=3
Y=0r

[Forecast0]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast0.Day
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Text
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM
Y=5r

[Forecast0Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast0.Text
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Day
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"

[Forecast0Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast0.Text
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Day
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM

[Seperator1]
Meter=IMAGE
MeterStyle=sSeperator

[day1Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast1.Icon
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Text
MeasureName5=mForecast1.Day
MeasureName6=mForecast1.Rain
MeasureName7=mForecast1.RainMM
UpdateDivider=3
Y=0r

[Forecast1]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast1.Day
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Text
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM
Y=5r

[Forecast1Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast1.Text
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Day
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"

[Forecast1Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast1.Text
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Day
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM

[Seperator2]
Meter=IMAGE
MeterStyle=sSeperator

[day2Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast2.Icon
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Text
MeasureName5=mForecast2.Day
MeasureName6=mForecast2.Rain
MeasureName7=mForecast2.RainMM
UpdateDivider=3
Y=0r

[Forecast2]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast2.Day
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Text
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM
Y=5r


[Forecast2Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast2.Text
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Day
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"

[Forecast2Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast2.Text
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Day
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM

[Seperator3]
Meter=IMAGE
MeterStyle=sSeperator

[day3Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast3.Icon
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Text
MeasureName5=mForecast3.Day
MeasureName6=mForecast3.Rain
MeasureName7=mForecast3.RainMM
UpdateDivider=3
Y=0r

[Forecast3]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast3.Day
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Text
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM
Y=5r

[Forecast3Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast3.Text
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Day
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"

[Forecast3Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast3.Text
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Day
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM

[Seperator4]
Meter=IMAGE
MeterStyle=sSeperator

[day4Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast4.Icon
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Text
MeasureName5=mForecast4.Day
MeasureName6=mForecast4.Rain
MeasureName7=mForecast4.RainMM
UpdateDivider=3
Y=0r

[Forecast4]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast4.Day
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Text
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM
Y=5r

[Forecast4Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast4.Text
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Day
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"

[Forecast4Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast4.Text
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Day
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM

[Seperator5]
Meter=IMAGE
MeterStyle=sSeperator

[Gap]
Meter=IMAGE
MeterStyle=sGap
save this icon Image as 3200.png in same folder with the above .ini file. or just use this:
weatherzone.zip
You do not have the required permissions to view the files attached to this post.
garbanzo
Posts: 13
Joined: July 8th, 2009, 7:06 pm

Re: Weather Alternatives

Post by garbanzo »

WeatherUnderground has a nice XML feed. It lacks the traditional icon numbers but I just pull those from someplace else (it does have like 10 icon sets to choose from, they would be very easy to download and use with the web parser plugin if you so desire).

I really like this feed because it has very good verbose condition descriptions.

Example:
http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=Chicago,IL

Info:
http://wiki.wunderground.com/index.php/API_-_XML
User avatar
remixedcat
Posts: 7
Joined: August 1st, 2011, 1:33 am

Re: Weather Alternatives

Post by remixedcat »

Thing is accuweather has been the most accurate for my area.

the worst one is weather underground

TWC is iffy.
User avatar
COCuCKA B TECTE
Posts: 2
Joined: December 17th, 2011, 4:16 pm

Re: Weather Alternatives

Post by COCuCKA B TECTE »

User avatar
Arne Anka
Posts: 100
Joined: April 18th, 2009, 11:31 am
Location: Sweden

Re: Weather Alternatives

Post by Arne Anka »

Livet är bara en period man ska överleva.
Som filosoferna säger: man föds, man lever och man dör ensam...
User avatar
moshi
Posts: 1740
Joined: November 13th, 2012, 9:53 pm

Re: Weather Alternatives

Post by moshi »

i found a pretty good free, open api.
http://openweathermap.org/wiki/API/JSON_API

cool things:
- no apikey required
- current weather conditions
- weekly forecast
- three-hourly forecast
- lookup by either city id, city name (it has geocoding) or coordinates

it's a JSON feed. so not everything will stay always at the same place. that means at one request the pressure is before the humidity and at the next request it's the other way round.
so you gotta think a little outside the box using the webparser plugin. personally i use child measures heavily with it, but smarter people will probably be able to do this in lua.
Untitled-3.jpg
here's the info about icons and condition codes:
http://openweathermap.org/wiki/API/Weather_Condition_Codes

additional hint: JSONView is a nice addon for Chrome if you want to see such a feed structured in your browser
https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc
You do not have the required permissions to view the files attached to this post.
sy573mx
Posts: 3
Joined: September 24th, 2013, 10:15 pm

Re: Weather Alternatives

Post by sy573mx »

Hi

I have been tinkering with Rainmeter for some time but never got into it.
SO now I finally jumped and started a customization for my perfect desktop.
I want to use multiple skins for a custom minimalist look but so far I have not been able to get the weather to work - I have got it working on Enigma 4 with the newest patch.
I hail from South Africa all the other skins I try don't work I have tried to use the url that has South Africa as my local but upon refresh my weather shows only the degree symbol but not weather or temps.

I would like to be able to use a weather skin other than enigma.