It is currently March 19th, 2024, 6:37 am

Change to Yahoo! weather feed

Release announcements and important news from the developers.
Post Reply
User avatar
jsmorley
Developer
Posts: 22632
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Change to Yahoo! weather feed

Post 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.
mak_kawa
Posts: 908
Joined: December 30th, 2015, 9:47 am

Re: Change to Yahoo! weather feed

Post by mak_kawa »

Great work, jsmorley! Thanks a lot.
User avatar
jsmorley
Developer
Posts: 22632
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Change to Yahoo! weather feed

Post 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
mak_kawa
Posts: 908
Joined: December 30th, 2015, 9:47 am

Re: Change to Yahoo! weather feed

Post by mak_kawa »

Ah...sorry, moshi. Now I know you have the credit.
jckinncik
Posts: 120
Joined: March 26th, 2013, 2:47 am

Re: Change to Yahoo! weather feed

Post by jckinncik »

Thanks for this I'm going to try replacing that when I get on my other computer that runs Rainmeter.
nobodyx01
Posts: 5
Joined: March 25th, 2016, 2:32 am

Re: Change to Yahoo! weather feed

Post 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
benjii00
Posts: 1
Joined: March 26th, 2016, 11:57 am

Re: Change to Yahoo! weather feed

Post 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...
User avatar
jsmorley
Developer
Posts: 22632
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Change to Yahoo! weather feed

Post 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
MG1957
Posts: 1
Joined: March 26th, 2016, 12:55 pm

Re: Change to Yahoo! weather feed

Post 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
Last edited by MG1957 on March 26th, 2016, 1:14 pm, edited 1 time in total.
jckinncik
Posts: 120
Joined: March 26th, 2013, 2:47 am

Re: Change to Yahoo! weather feed

Post 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?
Post Reply