Main Content

Open Source Smart Home With Touchscreen Control Panel

Using a Raspberry Pi and 7” touchscreen with nymea:core and nymea:app to build a smart home system with touch control panel.

The story

For a while now I’m using nymea as my smart home solution with nymea:core on a Raspberry Pi and nymea:app on my phone. Initially I wanted to wall-mount a phone or tablet but results weren’t that great. Phones are built for a pocket and that causes a lot of small fiddly issues when used in a different context. One example is waking up the screen: Phones typically have a hardware button on the side to turn on the screen which gets a real challenge to do if the thing sticks on a wall. Next thing is that mobile operating systems don’t like apps running all the time in kiosk mode, yes, Android has a feature to lock an app to foreground but there are still cases where it wouldn’t do the right thing. There’s more such issues I’ve encountered while trying. While it would probably be possible to get an Android device to cater for the use case it seemed a lot of fiddling against the OS. So eventually I decided to look for an alternative and ended up with a Raspberry Pi with a 7” touch screen panel.

The setup

In my place I use a Raspberry Pi with nymea:core which is placed to cover the most part of my home (including balcony) with Bluetooth so sensors are within a reachable distance. The control panel however, should be placed in a different location where it can easily be reached and used. For this reason, I now have 2 Raspberry Pis set up, one for the core and one for the touch panel frontend. If you want to build this too, it can be created just the same with nymea:core running on the same Raspberry Pi as nymea:app. To ease up this article I’m going to continue with describing a single-RPi system. If you’d like to connect multiple touch panels to the same nymea:core or prefer such a distributed as I have, just follow the :core or :app steps on different Raspberry Pis and repeat as appropriate.
For connected things I mostly use Philips Hue light bulbs (also some others, but that’s a whole new topic :) ), have some Xiaomi Flower Care sensors for preventing my lemon tree from drying out, connected my Kodi media center to it (to dim down lights while I watch a movie) and included a bunch of online services in the setup, like push notifications, weather services and what not. Given this article focuses on the touch screen control panel I won’t go into details on my general nymea setup but rather continue with setting up the display. I’ve added some few screenshots to give some insight.”

Link to article