IoT Smart Home Controller
Vessel Technologies is dedicated to achieving a technological solution to the global housing crisis.
Take a raw Java based PoC demo for IoT communications and turn it into a production ready Android based Smart Home Control Unit, providing device hub and user facing features simultaneously.
We started by taking the existing PoC and doing an architecture assessment on how we could best achieve the desired outcomes on an Android device. A new modular project structure was proposed to separate core hub features from user facing ones. A rebuild of the existing codebase was required to achieve an architecture that could be properly tested and serve as a quality foundation for the user features to come.
The app was designed to be fully provisioned and configured through a remote server, something particularly important for a Smart Home and to the client’s goals. Once the core functionality of provisioning, connecting and controlling accounts and devices of the multiple IoT protocols was achieved we focused on the user facing features. All automation systems were implemented in the app and its states synced. Examples include the alarm system, circadian lighting, dimming, climate and air quality control, etc.
• App controlled and connected to smart devices of multiple protocols either directly or through control boards (Z-Wave, ArtNet, DMX, Bluetooth, IO devices). • Supported and integrated multiple smart devices, namely: locks, lights, HVAC units, switches, multiple sensors (temperature , movement, door state, water, smoke/air quality, etc.), intercom, audio speakers, UV sanitation systems, among others. • Handled communications to control boards through USB.
• Two-way backend integration through a REST API + MQTT event queue. • Implemented the business logic for the smart home automations (lighting, climate, safety, maintenance, eco, etc.). • Built a secondary app for system tampering monitoring and for handling automated app updates without user interaction being required. • Built automated continuous delivery flow using Github Actions.