Rachio: Control and Monitor Home Irrigation Using PubNub
Rachio is a smart irrigation platform that includes a controller, iOS and Android smartphone app, and web-based dashboard. The platform adjusts for weather and waters only when needed, and enables users to control and monitor their yard in real time from the smartphone app or dashboard. The controller, the Rachio Iro, acts as a hub and connects to the smartphone or web app to the irrigation hardware, allowing users to control and monitor their sprinkler system from anywhere on Earth.
Rachio needed a way to power remote configuration across the platform, for both device control and device monitoring. The application needed to enable users to trigger irrigation action (like turn sprinklers on and off), and also stream real-time state of their system (see water levels, which sprinklers are on). To ensure reliable and secure remote configuration, Rachio needed a real-time data stream network to handle all signaling and messaging in the app.
Internet of Things Remote Configuration
At a large scale, remote configuration and monitoring can be a challenge. With any smart home solution, the platform needed high reliability and strong security, while ensuring the lowest, most real-time latency possible.Rather than build a real-time messaging backend on their own, the Rachio development team implemented the PubNub Data Stream Network for all device signaling and platform monitoring. PubNub Pub/Sub Messaging powers all the synchronization of data between the multiple clients, delivering updated data in real time to every connected device.A challenge we faced was how we would synchronize data across different clients. We needed a simple, scaled, low latency pub/sub architecture
Franz Garsombke CTO of Rachio
PubNub has provided Rachio a reliable and secure real-time backend infrastructure at the core of the platform’s architecture. Easy to implement and scalable, the Rachio platform can continue to grow without worrying about maintaining and orchestrating the real-time messaging powering their platform.We use PubNub to synchronize Iro watering events across multiple clients (iOS/Android/web app) and also being notified of device state changes. One benefit of this is it allows users logged into different client applications can see real-time watering events seamlessly occur.
It allows us to watch for watering or device state changes across different clients using just a few lines of code. We've never experienced a PubNub outage and it serves as a cornerstone of our architecture.