rszimm / sprinklers_pi

Sprinkling System Control Program for the Raspberry Pi
GNU General Public License v2.0
310 stars 100 forks source link

WUnderground no longer supports home user API #117

Closed entilza72 closed 5 years ago

entilza72 commented 6 years ago

Not a bug with sprinklers_pi, but a cessation of a service used by sprinklers_pi:

WUnderground has announced they stopped issuing free APIs on 15 May 2018. The cheapest tier is now US$850/month, and that tier doesn't even include access to your own personal weather station (that is a more expensive tier). Ref: https://apicommunity.wunderground.com/weatherapi/topics/weather-underground-api-changes To be clear: they will continue to take user PWS data, but you cannot access your data unless you pay more than the bottom tier of $850/month.

This impacts all new users. I believe users already with free tier access will continue to have it for the time being, but the writing is on the wall.

People are talking about moving over to https://www.pwsweather.com/ in that thread. Wondering if there is a way Sprinklers_Pi could support both WUnderground (as a grandfathered service) and PWS Weather moving forward?

Ent.

nhorvath commented 6 years ago

Wow this sucks, I use wunderground for much more than just sprinklers pi :(

On Tue, May 29, 2018 at 9:53 AM, entilza72 notifications@github.com wrote:

Not a bug with sprinklers_pi, but a cessation of a service used by sprinklers_pi:

WUnderground has announced they stopped issuing free APIs on 15 May 2018. The cheapest tier is now US$850/month, and that tier doesn't even include access to your own personal weather station (that is a more expensive tier). Ref: https://apicommunity.wunderground.com/weatherapi/ topics/weather-underground-api-changes To be clear: they will continue to take user PWS data, but you cannot access your data unless you pay more than the bottom tier of $850/month.

This impacts all new users. I believe users already with free tier access will continue to have it for the time being, but the writing is on the wall.

People are talking about moving over to https://www.pwsweather.com/ in that thread. Wondering if there is a way Sprinklers_Pi could support both WUnderground (as a grandfathered service) and PWS Weather moving forward?

Ent.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rszimm/sprinklers_pi/issues/117, or mute the thread https://github.com/notifications/unsubscribe-auth/AAKE3OGFSfJRmrr10KEbAoVQ4vkxNmTJks5t3VL3gaJpZM4URicT .

madisdev commented 6 years ago

I have a feeling the existing free keys that are out there will probably be expired sometime in the future. I think we should start planning for an alternative. I can help with the coding. But I think we need to decide what alternatives are out there.

Any thoughts?

madisdev commented 6 years ago

A quick google search result: https://openweathermap.org/api

nhorvath commented 6 years ago

Thanks for the information, openweathermap looks promising.

jefedeestado commented 6 years ago

Any movement on this? My pi crapped out and I'm rebuilding it. I should have my old API key, but we are going to need to move to something different soon.

dongjunn commented 5 years ago

Any more thoughts on which API looks ideal ? Previous subscriptions and access working until 12/31/2018.

https://apicommunity.wunderground.com/weatherapi/topics/end-of-service-for-the-weather-underground-api

jefedeestado commented 5 years ago

I haven't done a ton of searching but all that I have found with free accounts only give you current conditions. The way the code is written today is it calls for the past 24hr of precipitation. In all the free APIs any data that is not from right now is considered historical and requires a paid subscription. Anyone else out there look into this?

taHC81 commented 5 years ago

Hey, there's still a possibility when you rely on WU. You can schedule with cronjob to wget a current weather (WU page for your location) before the midnight and parse it to get the precip. data + all other required, like temperature and humidity. I personally running Arduino+W5100 based weather station (with anemomenter, rain gauge and set of thermometers) and it's generating json to supply the WU data - I also had to slightly modify source code of code. It's obviously more work to make it working, but now I do not rely on any paid or free service.

nhorvath commented 5 years ago

Wunderground is still working for me. Are others having issues?

There's been some discussions about possible api here: https://github.com/rszimm/sprinklers_pi/issues/127 And I documented the data points we need here: https://github.com/rszimm/sprinklers_pi/issues/124

nhorvath commented 5 years ago

This appears to have all the data we need and is free for less than 750 calls per day. It would be 2 calls though: https://www.aerisweather.com/wizard/api/options?endpoint=observations-summary&action=id https://www.aerisweather.com/wizard/api/options?endpoint=forecasts&action=id (parameters: midnight to midnight, limit 1)

jefedeestado commented 5 years ago

Aeris data looks good, but my biggest issues with it is that you only get 2 months free, then you can sign up for another 2 months, but I don't think it will be free indefinitely. I'll have to find it, but I read somewhere that the free account is really meant for true developers and you can only have a free account until your product is shipping. Might be worth emailing them for more clarification. I signed up for an account on dark sky last night. That one might work. The free account seems to not have any time limit and you get 1000 calls per day. You can even set an daily limit in you account. If you exceeded that, then you pay on a per call basis. Unlike open weather map, the free account gives you access to historical data. So you call request data from 24hrs ago. I don't know for sure if the min/max and total precipitation means from now until the date you put in... And it doesn't give mean temp. So not sure what to do there. Aeris would be great, just not sure they are going to let us use it on a permanent basis.

nhorvath commented 5 years ago

@jefedeestado I saw that and thought they just wanted to not give out "permanent" keys but they would autorenew for 2 month periods. This page didn't say anything other than not for commercial use: https://www.aerisweather.com/signup/pricing/

nhorvath commented 5 years ago

@jefedeestado the only problem with darksky is they didn't seem to have min/max humidity. would have to be parsed from hourly previous day data.

jefedeestado commented 5 years ago

https://www.reddit.com/r/webdev/comments/8tjavu/now_that_the_free_wunderground_api_has_been/

Here's the note I found about Aeris. This is a bit old so maybe they have updated their free account policy. Ah, yeah looks like you are right, no min/max humidity. Here's the data from 24 hours ago from my location.

{"latitude":47.XXX,"longitude":-122.YYY,"timezone":"America/Los_Angeles","daily":{"data":[{"time":1546243200,"summary":"Foggy until afternoon.","icon":"fog","sunriseTime":1546271795,"sunsetTime":1546302497,"moonPhase":0.83,"precipIntensity":0.0003,"precipIntensityMax":0.0018,"precipIntensityMaxTime":1546286400,"precipProbability":0.18,"precipAccumulation":0,"precipType":"snow","temperatureHigh":39.63,"temperatureHighTime":1546297200,"temperatureLow":31.17,"temperatureLowTime":1546333200,"apparentTemperatureHigh":39.63,"apparentTemperatureHighTime":1546297200,"apparentTemperatureLow":31.17,"apparentTemperatureLowTime":1546333200,"dewPoint":30.85,"humidity":0.87,"pressure":1031.56,"windSpeed":1.49,"windGust":4.4,"windGustTime":1546293600,"windBearing":42,"cloudCover":0.4,"uvIndex":1,"uvIndexTime":1546282800,"visibility":2.7,"ozone":340.9,"temperatureMin":31.66,"temperatureMinTime":1546326000,"temperatureMax":39.63,"temperatureMaxTime":1546297200,"apparentTemperatureMin":31.66,"apparentTemperatureMinTime":1546326000,"apparentTemperatureMax":39.63,"apparentTemperatureMaxTime":1546297200}]},"offset":-8}

nhorvath commented 5 years ago

I released a new version using Aeris' API because it was the simplest JSON. This should at least hold people over until we can get a more long term provider setup. And if they do allow indefinite developer accounts then maybe we can just stick with them because the data looks good.

I also refactored a lot of stuff to make it easier to plug in new weather providers.

https://github.com/rszimm/sprinklers_pi/releases/tag/v1.2.0

nhorvath commented 5 years ago

I can confirm that Aeris lets you renew the free plan after the first one expires. The only downside is it's a manual thing you will need to do on their website every 2 months. I would still like to implement more truly free providers but haven't had time.

nhorvath commented 5 years ago

Added DarkSky today (no arduino support yet, sorry). I'm going to close this issue since Aeris (works on both) and DarkSky (works on Pi) are available alternatives.