Arduino, MQTT, OpenHAB and the Ultimate Room Control Panel

Little demo video of the project so far below!

My idea for a room control panel came about after seeing the vastly expensive options on the market, and because we are building a new home!

Lovely! But I can do *far* better, right?
Lovely! But I can do *far* better, right?


I love the brushed stainless steel precision-cut panels they offer – so I plan to make my own.

Not only are the options available a little* over budget, more importantly they don’t come close to addressing my ideals:

* a lot

  • Combine lighting and audio control into one panel. Soft dimming of multiple lighting channels with advanced / user-friendly audio control.
  • Field nodes small enough to be placed in wall back-boxes and controls flush-mounted in the wall.
  • Accessible but autonomous. Should not require changing batteries or worrying about someone hacking the RF wireless protocol. CAT6 and mains powered. RF options with secured MQTT an option, but we have a blank slate with cabling so prefer to go wired.
  • All control to communicate with an automation server (Windows laptop / RPi / whatever) which provides rules that integrate audio, lighting, security, and give me access from out of the home. Must be resilient to server outage; lighting must still work using physical switches.

The audio control aspect is particularly close to my heart:

  • I have always used Squeezebox. Whilst Sonos is more “user friendly” it doesn’t cut the mustard for me!
  • Hardware controls for audio in every room. Physical dials and buttons with tailor-made visual feedback and ergonomic design.
  • Audio to be controlled from anywhere and any device, therefore control panel must show updated volume and status. Volume display using LED ring around a knob (muted colours, no “chav-blue”!)
  • Backlit display showing current artist / track.
  • Discreet display which lights up when you walk past, or move within e.g. 1m of the panel (distance sensors).
  • Presence sensing for added convenience.

You’ll see I have shunned wireless communications and touchscreen control devices. Whilst they might seem sexier, to me nothing beats the reliability of cables and the hard, fast, robustness of a physical knob. Especially when we are controlling digital devices, it’s so hard to get that lovely “feel” when turning things up and down, but we must try!

(Also I have a huge surplus of CAT6 cable 🙂

My budget includes laser cutting some screwless faceplates, and even with this custom work, it’s looking very likely it will still be around 5-10 times cheaper than anything else I’ve seen… and SO much better.

Check out my progress so far!

In this video I’m perhaps unfairly harsh about OpenHAB and provide no detailed information about MQTT, but I’ve spent a great deal of time assessing OpenHAB vs. alternatives like Domoticz, and I’m sold. I believe it will become the glue that will hold the increasingly disparate world of automation together. It provides persistence, data access layers, and a binding for pretty much any automation device or system you care to think of.

It’s true that OpenHAB is daunting for the non-coder, but v2 is set to address these problems. Most importantly for me, OpenHAB has an advanced rule engine and a lovely array of software control interfaces.

MQTT as a transport protocol is a winner; HTTP is clearly not appropriate for sensor networks and REST is for sleeping. I may post about MQTT in more detail later but I’m really satisfied by how sophisticated and simple it is, and I find it highly intuitive. I like the mindset behind MQTT which you can read about here.







6 responses to “Arduino, MQTT, OpenHAB and the Ultimate Room Control Panel”

  1. Michael Kaandorp avatar
    Michael Kaandorp

    Wow! Seems like exactly the same setup I’m drafting at the moment. The only difference is that I was planning on using a rotary for dimming the lights instead of changing the volume.
    And because I’m going to implement it in an existing home I will probably use a wireless arduino like the Moteino or Flutter.
    I will definitely follow your progress!

  2. Konstantin avatar

    Very useful. I’ll follow you on this one. Keep up ! 🙂

  3. Lewis avatar

    Sounds like a great setup so far, I was wondering, what do you use to power the speakers that you can change the volume through openHAB?

  4. admin avatar

    Hey Lewis, sorry I missed your comment before. I use Squeezebox Server, free software and the players are relatively cheap and high quality too. OpenHAB has a great binding for Squeezebox with only a few limitations as far as I can see. I have one Squeezebox player per zone / room. Sonos works with OpenHAB too, but Squeezebox is that more powerful and extensible for my needs!

  5. Lewis avatar

    Thanks, I will have a look into squeezebox, do you recommend any particular model?
    How are you getting on with your project?

  6. Paul avatar

    Any updates on this project? Looks exactly what I’m planning to achieve.

Leave a Reply

Your email address will not be published. Required fields are marked *