My home automation system is a mishmash of devices: the Iris Smart Home platform by Lowe's, Irrigation Caddy, Logitech Harmony, and others. I decided to write an app to consolidate the controls all in one place, rather than using the multiple existing apps to control each device separately.
Smart Home Mobile was the result of this project. It runs on iOS and Android, and as a Chrome Plugin. It is written in TypeScript, utilizes Ionic and Angular for the user interface, and is based on a starter project I developed previously.
The app worked great, but was lacking in one area: a master overview of all the devices and their locations throughout the home. To rectify this, I ported the application to run on a Raspberry Pi 2 running Windows 10 IoT; the 10" touch screen "dashboard" displays a floor plan of the house with indicators for all connected devices.
This provides a quick and easy overview of the system (e.g., which windows are open or which doors are locked) at a glance. For example, we can easily check whether any windows are still open and where before arming the alarm on our way out the door.
The touch screen can be mounted on the wall or sit on a console or bedside table using a stand.
My goal was an interface user-friendly enough to allow configuration directly from the app, rather than relying on external configuration files. Users can upload a graphic of their floor plan, then add, remove, hide, and reposition their devices over top of it from within the application itself. An example is shown in the video below.