Page 1 of 16

Change to Yahoo! weather feed

Posted: March 25th, 2016, 10:53 pm
by jsmorley
Yahoo! is currently in its death-throes, and like any wounded animal, is thrashing around and can be dangerous if you get too close.

Many Rainmeter skins today use the Yahoo! weather feed, and in the last few weeks these have become entirely broken or very unreliable. Sometimes they work, and sometimes they don't.

Yahoo! is in the process of changing access to their API query language (yahooapis.com) to require OAuth authentication to use it. WebParser does not support OAuth authentication.

So if you currently use a URL in your weather skin something like:

URL=http://weather.yahooapis.com/forecastrss?w=#LocationCode#&u=#Unit#

That is never going to work with WebParser.

You can change that URL to something like:

URL=http://xml.weather.yahoo.com/forecastrss?w=#LocationCode#&u=#Unit#

Which uses an XML feed that does not require authentication, however, I caution that using that has been shown to be unreliable. I don't know if they intend to do away with it, or if they just don't care that whatever other changes they are making is impacting that feed, but it will work some days, and not others.

I expect that many authors of popular skins will take steps to correct their code to use a different weather feed that is more reliable, but that is up to them. They might post a new skin / suite on deviantART in the next days or weeks, or may have moved on and will never revisit their code. There is a good chance that you will need to take matters into your own hands.

One thing you might consider is changing your skin to use the WXData weather feed from Weather.com (The Weather Channel) My experiences with this feed have been good, and I have no reason to think that Weather.com is going to stumble into the La Brea Tar Pits, as Yahoo! has done. I don't think you are going to be interested in the scraps of bone and entrails of Yahoo! that the predators are going to leave behind. It's time to move on...

It won't be trivial to make a change from one weather feed to another in a complicated weather skin, but you might take a look at Weather Skin Tutorial to see how you might get started.

Re: Change to Yahoo! weather feed

Posted: March 25th, 2016, 11:00 pm
by mak_kawa
Great work, jsmorley! Thanks a lot.

Re: Change to Yahoo! weather feed

Posted: March 25th, 2016, 11:01 pm
by jsmorley
mak_kawa wrote:Great work, jsmorley! Thanks a lot.
Moshi gets all the credit...

https://forum.rainmeter.net/viewtopic.php?p=121417#p121417

Re: Change to Yahoo! weather feed

Posted: March 25th, 2016, 11:45 pm
by mak_kawa
Ah...sorry, moshi. Now I know you have the credit.

Re: Change to Yahoo! weather feed

Posted: March 26th, 2016, 1:53 am
by jckinncik
Thanks for this I'm going to try replacing that when I get on my other computer that runs Rainmeter.

Re: Change to Yahoo! weather feed

Posted: March 26th, 2016, 3:08 am
by nobodyx01
Hmm, worked for one of the skins, but hasn't been succsessful for "Do I Need A Jacket? 2.0"

The URL is something along the lines of this

URL="https://query.yahooapis.com/v1/public/yql?q=select%20yweather%3Aunits%2C%20yweather%3Awind%2C%20item.title%2C%20item.link%2C%20item.yweather%3Acondition%20from%20weather.forecast%20where%20woeid%3D#location#%20and%20u%3D%22#unit#%22&diagnostics=true"

Doing the change doesn't help at all either, which confuses me. Anyone got an idea why?

The whole file should also be linked below if it worked

EDIT:Nevermind, got it working :P

Re: Change to Yahoo! weather feed

Posted: March 26th, 2016, 12:00 pm
by benjii00
nobodyx01 wrote:Hmm, worked for one of the skins, but hasn't been succsessful for "Do I Need A Jacket? 2.0"

URL="https://query.yahooapis.com/v1/public/yql?q=select%20yweather%3Aunits%2C%20yweather%3Awind%2C%20item.title%2C%20item.link%2C%20item.yweather%3Acondition%20from%20weather.forecast%20where%20woeid%3D#location#%20and%20u%3D%22#unit#%22&diagnostics=true"

Doing the change doesn't help at all either, which confuses me. Anyone got an idea why?

EDIT:Nevermind, got it working :P
How did you get it working? I tried it myself but I was unsuccessful...

Re: Change to Yahoo! weather feed

Posted: March 26th, 2016, 12:54 pm
by jsmorley
benjii00 wrote:How did you get it working? I tried it myself but I was unsuccessful...
I simply edited DINAJ2.ini and changed the

;;====================================================
;; Measures
;;====================================================

Section to look like this:

Note the changes to StringIndex numbers. The order that things are returned in is different with the RSS feed than the original YQL "select" statement used before.

Also note that the <link> provided in the feed no longer works. See the Measure=String I used for [mLink] instead.

Code: Select all

;;====================================================
;;  Measures
;;====================================================
[mWeatherData]
 Measure=Plugin
 Plugin=WebParser
 URL=http://xml.weather.yahoo.com/forecastrss?w=#location#&u=#unit#
 RegExp=(?siU).*temperature="(.*)".*distance="(.*)".* pressure="(.*)".*speed="(.*)".*wind chill="(.*)".*direction="(.*)".*speed="(.*)".*<item>.*<title>(.*)</title>.*text="(.*)".*temp="(.*)".*
 UpdateRate=600
 ErrorString="DINAJ2: WebParser fail"
 ForceReload=1

[mWindUnit]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=4

[mTempUnit]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=1

[mChillTemp]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=5

[mWindDir]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=6

[mWindSpeed]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=7

[mLink]
 Measure=String
 String=https://weather.yahoo.com/country/state/city-#location#/

[mTemp]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=10

[mCond]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=9

[mTitle]
 Measure=Plugin
 Plugin=WebParser
 URL=[mWeatherData]
 StringIndex=8

[mStringScript]
 Measure=Script
 ScriptFile=dinaj.lua

;;====================================================
;;  Meters
;;====================================================
And changed the LeftMouseUpAction in [subString] to:

Code: Select all

[subString]
 Meter=String
 MeasureName=mTitle
 MeterStyle=mainString
 FontSize=(Floor(#size# * 0.6))
 X= (Floor(#size# * 0.2))
 Y=(Floor(#size# * -0.2))R
 Text="loading..."
 ToolTipText="%1"
 LeftMouseUpAction=["[mLink]"]
1.png
2.png

Re: Change to Yahoo! weather feed

Posted: March 26th, 2016, 1:06 pm
by MG1957
nobodyx01 wrote:Hmm, worked for one of the skins, but hasn't been succsessful for "Do I Need A Jacket? 2.0"

The URL is something along the lines of this

URL="https://query.yahooapis.com/v1/public/yql?q=select%20yweather%3Aunits%2C%20yweather%3Awind%2C%20item.title%2C%20item.link%2C%20item.yweather%3Acondition%20from%20weather.forecast%20where%20woeid%3D#location#%20and%20u%3D%22#unit#%22&diagnostics=true"

Doing the change doesn't help at all either, which confuses me. Anyone got an idea why?

The whole file should also be linked below if it worked

EDIT:Nevermind, got it working :P
Would like to know how you got it working. Thank you.

Saw your fix! Thanks working fine now! Thank You. :D

Re: Change to Yahoo! weather feed

Posted: March 27th, 2016, 5:22 am
by jckinncik
Didn't see anything that had xml.weather.yahoo.com, Im using Enigma sidebar weather.ini. Does anybody know how to get it to work with that skin?