Waterway pool mobile with Ionic and Pubnub

We developed a mobile application that can control [Waterway](http://www.waterwayplastics.com) pool hardware, which interacts with the whole pool performing actions like turning on lights, valves, modes, etc. **The purpose of the project:** Develop a mobile application that can control a [Waterway](http://www.waterwayplastics.com) pool hardware which interacts with the whole pool such as turning on lights, valves, modes, etc. **Objectives of the case study:** - Point key benefits that [Waterway](http://www.waterwayplastics.com) offers to their clients by having a mobile application that can interact with their products. - Explain how Rootstack developed a mobile application for Waterway that has real-time communication in both ways between the pool device and the mobile app. **Target audience** - Technology directors - Integrators - Mobile developers - CEO’s **The challenge** Develop a mobile application that has to: 1. Authenticate with the Waterway user API. 2. Add devices which will automatically set a configuration on the mobile application for future connections, such as Chromecast. 3. Be able to interact with multiple devices (pools). 4. Interact with the pool with the ability to change: lights, valves, temperature, modes. 5. Create and assign schedules to outputs of the pool device. **Key benefits** 1. [Waterway](http://www.waterwayplastics.com) end users can interact with pool hardware without the need to go to the hardware and be physically present with it, users can, remotely, interact with all the functions of the pool device without having to do a greater effort. 2. Users can set up multiple devices on the mobile application, they can switch between a device to another and can change settings on real-time on every device. 3. Users can see changes of the device in real time from both ways, this means that if a person changes a setting on the pool or a schedule, you on the device will see the change immediately. **Architecture** - Waterway API: The API is in charge of managing devices per user of Waterway, people can create their account which ends up in the API, add/configure devices to his user. - Pubnub: We use [Pubnub](http://www.pubnub.com) as a socket server where every time that a mobile application is active, a new channel session is created on [Pubnub](http://www.pubnub.com). The channel is responsible on directing/transmitting changes that happen on the mobile application or on the pool device, changes are sent using commands that interact directly with the Waterway hardware. For more information visit [Pubnub](http://www.pubnub.com) - Mobile application: The mobile application is responsible for interacting with the API and Pubnub so the pool hardware can do its job of interacting with the pool. **Conclusion** Companies of electronic products for end users have seen the need to differentiate themselves from their competition, making it easier for the end user which can interact from his mobile with the hardware. These days people seek to do less and accomplish more by running in their mobile device all their end products that they use daily, on the other side companies look to automate processes for their customers.