Adafruit IO knows the weather!

Or, more accurately, Dark Sky knows the weather and now Adafruit IO knows how to pass it on.

But wait, there’s more!

Adafruit IO ❤️’s Services

We’re excited to introduce you to Adafruit IO’s new “External Service Integration” feature. Also known as “Service Integrations”, also known as “Services”. You can find a link to the new Services page in the navigation sidebar.

service link in the IO navigation sidebar

The first thing you may notice if you’ve used If This Then That (IFTTT) with Adafruit IO is that we moved that service over to the new Services page.

External Service Integrations home page

We’ve also started building out a Zapier integration–currently in private beta–so if you prefer Zapier to IFTTT or you’d just like to keep your options open, you’ll find that on the services homepage also.

But the star of the show is the new Dark Sky-powered weather service.

Weather Data in Adafruit IO

We have wanted to add weather data to Adafruit IO for a long time, and even made an attempt more than two years ago. The biggest issues we faced are that: 1) free weather data services are inconsistent or have very low API limits and 2) even paid weather services often don’t include interesting weather data.

With Dark Sky, we were able to overcome the second problem, but the first still puts some limits on the service we’re able to offer. This means that at launch the weather service is also our first IO Plus exclusive feature.

When you create a new weather location, you have direct access to Dark Sky’s Developer API data through Adafruit IO with some minor limits. Specifically, we’re passing sending a subset of all available forecast data (~4KB of JSON) instead of all available forecast data (~30KB of JSON), and limiting MQTT subscriptions to just one type of data at a time. For example: just the current weather, 5 minute forecast, or 1 day forecast rather than all current and forecasted data with every update.

The Weather API is available via HTTP GET requests or MQTT subscriptions from any authenticated device. IO Plus subscribers can find full documentation for the weather service on the weather service home page.

This is just the first iteration of the Weather API and we’re very interested in hearing your feedback. If you’re an Adafruit IO Plus subscriber, give it a try and let us know what you think.

Random Data Service

Also available now, and to all Adafruit IO accounts, is our brand new Random Data Service! We’ve picked a few types of data (randomly, ha!) to generate and built the system in a way that allows separate Adafruit IO accounts to receive the same data based on the seed value used.

Once every minute, MQTT subscribers get a brand new, hand-crafted (kind of), guaranteed random value. You could build a pair of one time password devices, a color-cycling sculpture, a nonsense Tweeting robot, a dice roller / coin flipper / choose your own adventure pilot…? We don’t know! We just built the thing and hoping that you’ll find an interesting use for it.

We wrote a Ruby library to go along with it for generating word and color values and we’re 100% open to pull requests (celebrate Hacktoberfest with us!) or feature requests if you have an idea for new kinds of data that can be randomly generated.

We’re Just Getting Started

We’re going to be spending a lot of our time in the coming year connecting new services directly to Adafruit IO and improving our existing Triggers system. Keep checking back and please feel encouraged to get in touch with us on the Adafruit IO forum with any questions, concerns, or bug reports.