How to build a Linux-powered smart home

smart home
(Image credit: Shutterstock)

Creative ingenuity and the ability to cram a network stack into the smallest of things have gifted us, over the past few years, some pretty funky home innovations. Legacy (classical?) home dwellers may see little merit in upgrading to a smart home, but we have some uniquely Linux ideas that may persuade them.

Having a smart home needn’t mean having Alexa (the voice of Amazon’s Echo) eavesdropping on your every word. Nor does it mean the nameless entity within a Google Assistant reporting back to the mothership whenever you leave the bathroom light on. 

The Mycroft home assistant can do all the good bits of these voice devices, but without the more chilling data-collection aspects. Best of all you can run Mycroft on a Raspberry Pi.

About this article

This content was authored by Jonni Bidwell and originally published in Linux Format Issue 268.

But there’s more to smart homes than shouting at small robots. As autumn makes its way to the UK (and other Northern hemsiphere places), good citizens will be collectively donning long johns and firing up their boilers, heatpumps and sacrificial pyres. 

Some may find themselves having to shoulder the expense of a new boiler, others will want to see if their current one can be hacked and tweaked to make for a more economical winter. Through the magic of openHAB, we’ll show you how.

For many of us, the pandemic has seen our homes become unwitting extensions of the workplace, and depending on your line of work that may be the case for some months to come. 

So we’ve got a couple of projects for smartening your home office setup, too. Recuse yourself from Zoom meetings and banish Google’s office suite with the open source powerhouses Jitsi Meet and Collabora Online. 

And since Docker is all the rage, we’ll look at how we can harness its power better using the Portainer management engine. This will make it easy for you to add any service you can imagine to your self-hosted smart-home-office, so let’s get started!