The "internet of things" is here but unfortunately every one of these new devices in our lives come with yet another app on our phones or another hub to place in our homes.
Most of these devices also have powerful APIs but they are poorly documented and not really an option for everyday consumers in managing their devices.
We built Infinite Space to solve this issue.
What it does
Infinite Space lets you authenticate against your smart home services, organize your devices into zones and control them regardless of their manufacturer or originating service. As of this weekend, we support Nest, Netatmo Weather Station and Phillips Hue lights.
How we built it
We split the service into two parts:
- Infinite Space Integrations - this is a lightweight service that is aware of each of the products/devices we support. New services and devices can be added to this service very easily. Each service is defined as a single file that matches our spec.
- Dashboard - the dashboard does not have any knowledge about specific device brands. All of this information is delivered to the dashboard through the Infinite Space Integrations.
Challenges we ran into
- Home automation devices vary in how they connect to the world around them: bluetooth, wifi, zigbee, etc. We worked with a few that were cloud based (Nest and Netatmo) and Hue, which has a private cloud API (not something we can use yet) and an API that works on the local network. At the start of the hackathon, the shaky wifi posed an issue and we had to make sure we were on the same network as the wifi light bulbs.
- Home automation typically includes devices in the home but users also want access remotely, which almost always means
- We split up the project into microservices so each of us could work on our component parts. This created some initial challenges in how we were used to developing software but allowed us to work independently toward our goal.
Accomplishments that we're proud of
- We managed to integrate three home automation services into a central dashboard in less than 48 hours with APIs that we didn't have any prior experience with.
What's next for Infinite Space | Smart Home Automation
- We'd like to clean up the code and potentially release it as an open source home automation platform
- As an open source platform, other developers and device manufacturers can contribute pull requests to add new device and service support
- More devices
- Voice control (likely exploring Api.ai and Amazon Echo)
- Automation based on device states: if I am at home, as detected by device A, then turn on devices in the "living room" zone.