Using to integrate Personal Weather Stations


I’ve just ordered a gen 2 and was mulling how to incorporate my Davis weatherstation’s data. It reports to Wunderground and also to Citizen Weather ( but this latter sometimes causes trouble - randomly causing the Weatherlink software to hang so I’ve taken to switching that feed off. Does the Rachio access CWOP (also= HamWeather) as well as PWS? I have a PWS account which hasn’t been used since I junked my Oregon Scientific weather station 7 years ago but I guess I could use the script to feed it. Trouble is I’m already accessing the Wunderground API to feed my VERA Z-Wave controller with a PLEG add-on and fear I may get into trouble with WU’s access limit if I run both. Maybe there could be a way for the Rachio to access the VERA weather data employing some sort of ITTT? Is there a step by step idiot’s guide on how to set up the script (looking at that code makes me feel queasy, I’m no good at that!)?


Looks like CWOP is supported, but you need to link it to NOAA in order for Rachio to see it:
See steps 8 through 11 here (link)

You have several options with API
0) Do nothing, use CWOP as outlined above.

  1. Check your API usage here (link), Weather Underground seems to track usage differently when data is accessed from one station only, you could be well under your 500 / day limit.
  2. Just create a second free API key using a different email.
  3. Check if Vera Z-Wave supports getting data from PWSweather instead of weather underground (in which case you can simply switch where API key is used).

Check here (link) for a better instructions on how to setup wufyi which has the script running already. You can start using the website without needing to host or reconfigure the script yourself.



Thanks very much Gene.

  • 'll try fine tuning my upload settings to aprs and see if I can get it stable. Clearly using the CWOP/NOAA data would be the easiest option provided I don’t need to be clucking over my weather software all the time.
  • I don’t see a pws add-in for VERA but a second API key would remove the “overactive anxiety” when doubling up the use of WU API - hadn’t occurred to me - simples!:grin:


Thank you so much @Gene ! My family gave me a Ambient Weather WiFi this year and I’ve had my eye on the Rachio Gen 2 ever since. Never for a moment considered Wunderground wouldn’t be included in the choices for PWS. I was pretty frustrated about it until I came across this.

I’m guessing the downside to doing it this way is that there is no historical data for the station I created? I only ask because my PWS has recorded 1.65" of rain in the past 7 days and 5.8" of rain in the past month. Guessing it assumes zero when setting up the ‘Flexible Daily’ schedule?

I would love to see direct integration with Rachio and WU. There are dozens of WU stations in my surrounding area, yet only a handful of stations available around me that I could pick from. I realize it’d be an extra cost for them, but there seems to be a big demand for it when looking through the community posts. I’ll definitely be checking back from time to time to see if they’ve added it. I’m sure there are good reasons they haven’t, but I hope they’re serious when they say they are working on it.


@ffittsiv Hiya Frank.

The way Flexible Daily schedule works now, amount of moisture each zone can hold is pretty limited (due to soil type, sun exposure and vegetation needs). It means that even the heaviest rain has a relatively short effect on irrigation so Rachio doesn’t need to be aware of events more than a few days in the past.

Worst case scenario: you may use a few extra dollars worth of water the first time Rachio irrigates your zones.

As an alternative you can initially max out moisture levels (via an app) to avoid and delay your initial irrigation and ensure that you are saving every penny, you plants will probably be ok in the long run.

I recommend you don’t wait for native weather underground support, wufyi is pretty easy and free solution and water savings that Rachio can provide are well worth it.
I’m actually disappointed with my Accurite (along with numerous other weather stations such as your Ambient Weather pws) which don’t support more alternative provides such as pwsweather. Seems it would be free of charge for them to do so…



Gene - this is awesome! I just found this as I was trying to get my PWS setup at home to work with my Gen2. This worked in less than 10 minutes. Thanks so much for posting this!


Gene, thanks for your work on this!

One thing I am still trying to figure out: with this approach, is what’s being pulled from WU and pushed to PWS just current/past weather? Or also includes forecasts? In reading FAQs about forecasts and personal weather stations, it sounded like if I set up a personal weather station at the house and connected it, just the measured weather would be uploaded to PWS service and Rachio would utilize other weather sources to get forecasts. Wondering what the answer is for “virtual PWS”.

If this interface is not addressing forecasts, any idea if it can? I get that with a home PWS there’s no forecast data available and Rachio still needs to interpolate from NWS or other sources based on my location. However, I know the WU API supports forecast data, just not sure if this approach is using it.

One reason I am particularly interested in this is that I’m researching the feasibility of using the Dark Sky API as an alternative source. I use the app on my phone and have found it to be incredibly accurate in terms of both the microclimate forecast for our neighborhood as well as its reporting on current weather and history. Before I bother, want to make sure syncing forecast data to PWS is even feasible.

I assume I could get my answer reviewing the code - and plan to do that eventually anyway - but thought an answer to this question here might help others besides just me.

Clear skies,


Hi Nathan,

You are right that this approach moves real-time data from WU to PWSweather, it does not include WU forecasts. Instead PWSweather shares the data with their partner service, from which Rachio actually pulls all of the data it uses. Aeris Weather is where the data is interpreted to generate their own forecasts and you can compare forecast generated by their service (as seen via Rachio interface) to WU or Dark Sky.

At this time there is no option to specify alternative source of forecast data for Rachio, this may or may not (probably not) change for V3 of Rachio software. Overall empirical measurements (what wufyi is designed to provide) are far more important than forecast data if you are using a local (and accurate) station.



For anyone who is interested, I created a Docker Image that implements similar functionality to the solutions created by @Gene and @johnny2678.

I built this to deploy in Container Station running on my QNAP NAS, but it should run in any Docker-enabled environment. The footprint is small enough you could probably even get it running on the AWS free-tier.

Docker Hub:
Source Repo:

Thanks to everyone for the info in this thread!


Welcome fellow developer :slight_smile: Nice work you’ve done there :+1:

Took a quick look through your code, good work on filtering out old data. Be careful about negative values, like these (link) more on known WU issues (here).

Keep us informed if you make any updates, always nice to have another pair of eyes / brains on issues with WU data.

Cheers, :cheers:


Thanks for the warm welcome @Gene, and for all of the work you’ve done so far toward solving this problem. I wouldn’t have had the first clue how to call the PWSWeather endpoint without your source code.

Also, I took your advice and updated my code to filter negative (or otherwise bad) values from the updates. I’m sure it doesn’t cover everything. So far I’ve only seen happy-path data from the stations I’m querying.

Hoping to contribute more in the future.



I just installed a Acurite weather station, set up a Weather Underground and PWSweather accounts and followed the procedures on My temp and wind data transfers over to PWS, but the barometric pressure is stuck. What should I do? Both weather stations are titled KTXWYLIE41. Thanks for any help you might give.


Thank you Rick, while I would not call it “stuck”, as it does show fluctuations, I did notice that it doesn’t fully match your WU readings. I’ll investigate and let you know what I find.

I did notice that it was static (stuck) for the first few hours, but has since started showing changes.



Thanks Gene, I appreciate your help.


By the way @NateEaton, I took a closer look into Dark Sky, and if you do end up integrating Dark Sky API into some sort of working solution, I guess you best bet would be to simply set a rain delay (not ideal I know) with Rachio API if a probability of sufficient rain (AKA a predetermined amount) exceeds a predetermined threshold.

Have you actually done studies on accuracy of Dark Sky predictions? Aeris forecasts left me unimpressed lately.



Gene you’re the best. I followed your instructions, took about 10 minutes to do the whole thing. (I already had my PWS on Wunderground.)
Once done, it took about 2 minutes for my data to show up on PWSweather, and about 10 minutes for my PWSweather station to show up as a choice on the Rachio site.



Thanks for your work on this, and I apologize in advance for bothering you. I wanted to setup the script on my own shared hosted web site, but am getting a wuID error message “our Weather Underground Station ID (wuID) appears to be invalid”.

To research I used and I was able to get my historic data using the wuID and my API key. However I can see from the statistics page of my wu API that there was a failure recorded with a offline lead to the message. I am assuming that the wuID is the one I can find on the WU map that corresponds to my weather station (netatmo ) . That station appears to be automatically put out there by Netatmo. I got an API key but it is not linked to the specific weather station, I am assuming that the key can be used to query any published wu station, correct?

For the pwsweather setup, there is a userID, a userPassword and a StationID. I believe I put the stationID in the script, and the password is the userID password? That seems odd, but I did not find any other place to set a pwsStation password, did I miss something?





As is typical, a few minutes after I post an issue I figure it out.

At least on my shared hosted php 7.1 system, the quotes for $wuID, etc need to be single (’)rather than double ("). I changed them all to single quotes and it is now working! The script on GitHub had double as default.

And I think I confirmed that the $wuID can be any weather station, the API key is not specific, the pwsID is the WeatherStationID and the $psw is apparently the password of the user that registered the WeatherStationID.




Thanks Ross, I’ll be sure to update it to single quotes for PHP 7.1 compatibility. Never though it would be a problem, great troubleshooting skills!



I’m wondering what project info people have specified when applying for the WU API… I don’t want to put anything in the application form that will jeopardize the link. Will they be upset if I tell them I am sending weather data to another weather network? Is this information checked?