Home Automation Series: Weather Data


This is probably over kill, but I’ve always had a fascination with the weather, and so one of the things I wanted to do was hold an enormous about of weather data, so I could write logic to analyze it and provide me with data about unusual trends, or possible up coming weather.

I read through several different Weather API providers and settled on DarkSky, who had two important factors: History all the way back to 1937 (for the most part) and cheap rates for excessive API calls.

Example output from my RestAPI

Using DarkSky, which has their own engine to “predict future weather”, I’ve populated weather data all the way through 2024. Every day though, my code will reach out and pull down accurate weather for each day. Ensuring valid data.
Right now, this process is dependent entirely on the internet, in the future though all weather data will be collected from a locally hosted weather station.

Why all the data though?

A major part of this will be a digital assistant, which I will probably call Jarvis. With that, I want to be able to rather quickly calculate weather records and have Jarvis be able to provide me with weather from a specific day or factoids about weather. Ideally, I think it would be pretty neat to write some code that could try to predict what the weather will be, then use actual weather recordings to prove or disprove (validating the learning process). This way, Jarvis could inform me of possible weather pattern changes or be able to tell when upcoming days will be sunny or not.

The real reason for the data hoarding though, is primarily because DarkSky was bought by Apple and it’s rumored the API will go away at some point. Which means, my ability to write code that will be dependent on that API is in question. So, instead, I’ve captured all the data I need prior to the API going away.


I’ll eventually look at plotting out all of the data in a scientific format using Matplotlib, this goes back to me being fascinated by weather data. It would be pretty neat to see how often trends repeat in terms of temperature spikes and dips, how often we actually get snow accumulation, or monthly average rain fall. I’ve always kind of been a bit of a data scientist, I’ve just never had the ability to act on the desire.

All of this data will feed into the logic that will be used to adjust the house temperature using the HVAC controls I’ve been building.

Thanks for hanging around!

-Dan