Buttons to control openHAB

I’ve been looking for some buttons to control openHAB, both wall mounted and something to have on the bedside table. I googled it and searched here in the forum, there seems to be a limited number of dem available and they are quite expensive.

All suggestions are welcome, could be useful for others as well. But I’m looking for something that is quite cheep and has more than one button.

I use the amazon dash buttons.
Cheap, easy to integrate, but needs abaout 1-2 seconds to react.

I have a knx installation, so i can use 2-,4-,6-,8-channel Touch-Sensors. Rather expensive, 8-channel is about 90 €.

I can use normal switches too. I have to connect them with binary inputs. This is a little bit cheaper, but biggest size is 4-channel switch (used for 2 blinds). It´s a little bit cheaper then the knx sensors.

Cheapest way would be to use an arduino and build this your own. Or use a rasperry pi (little bit oversized for this).

But if you want to do this, it is nothing for beginners, you have to solder and programm this by your own.

If you use homekit, for your items, then you can use the phillips hue buttons.
They can now control homekit items, so that could be a solution.

Can only speak for German market… There are some older devices called Max Eco buttons.

They feature 2 buttons and cost ~15 EURO each. They need some “gateway” which you can assemble yourself using a PI zero and some RF module for ~25 EURO.

I’m using this setup with ~14 of such buttons in my house.

Any RF button Vhome, Dooya Remote and RFLink
I use Dooya remote, rflink work with this remote very well.
And interesting battery free buttons.

I’ve used Dash buttons and Zwave Minimotes in the past. The Minimotes were the most user-friendly (not so friendly to get set up in the first place though) but they are a full remote, not just a button and not too expensive.

If you want to jump into Z-Wave (doesn’t necessarily fit your cheap requirement), the Aeon Wallmote has 2 or 4 buttons.

Not sure of your DIY skill level, but another option is Arduino or similar micro controller with connected arcade buttons.

Here’s an over the top example (it’s for the kids and connects to openHAB through MQTT).


Thanks a lot! Quite a while ago I had asked specifically for good Z-Wave wall switches but the answers were underwhelming, mostly stating that Z-Wave doesn’t do these types of switches and that they are all directly wired to the bulbs.
I already ordered one of these now. They seem pretty cool.

They are nice. Definitely help with the spouse acceptance factor. LOL They work well except that the swipe functionality isn’t supported in OH yet – not a big deal for me because I just use the short press and long press to control my stuff – trigger a rule when it sends a command, then do what I want based on the scene number. Check your firmware version and make sure you’re at 1.07 or 1.08. Earlier versions have an issue with battery life. The firmware upgrade process is pretty easy (as long as you have a Windows box).

Here’s the basic rule template I use for these devices.

rule "Wallmote N3"
    Item Wallmote_N3_Scene received update
    var int sceneNumber = Wallmote_N3_Scene.state as DecimalType

    switch (sceneNumber) {
        case 1.0 : {            // Button 1 short press
            logInfo("wallmote", "Wallmote N3 Button 1 short press: " + sceneNumber)
        case 1.1 :  {           // Button 1 long press
            logInfo("wallmote", "Wallmote N3 Button 1 long press: " + sceneNumber)
        case 1.2 : {            // Button 1 hold
            // Unused
        case 2.0 : {            // Button 2 short press
            logInfo("wallmote", "Wallmote N3 Button 2 short press: " + sceneNumber)
        case 2.1 :  {           // Button 2 long press
            logInfo("wallmote", "Wallmote N3 Button 2 long press: " + sceneNumber)
        case 2.2 : {            // Button 2 hold
            // Unused
        case 3.0 : {            // Button 3 short press
            logInfo("wallmote", "Wallmote N3 Button 3 short press: " + sceneNumber)
        case 3.1 :  {           // Button 3 long press
            logInfo("wallmote", "Wallmote N3 Button 3 long press: " + sceneNumber)
        case 3.2 : {            // Button 3 hold
            // Unused
        case 4.0 : {            // Button 4 short press
            logInfo("wallmote", "Wallmote N3 Button 4 short press: " + sceneNumber)
        case 4.1 :  {           // Button 4 long press
            logInfo("wallmote", "Wallmote N3 Button 4 long press: " + sceneNumber)
        case 4.2 : {            // Button 4 hold
            // Unused
        default : {
1 Like

Aw man, thanks so much. That firmware tip is really appreciated.
Seems easy enough to do the setup.
Soon, hopefully the z-wave binding will support the swipes.
The newest commits to ESH also have support for profiles now, so it is possible that the z-wave binding can do away with the need for the rules altogether.

Hmm yeah I guess I will have to boot the VM then, but that’s not a problem.


I am using a couple of the round Xiaomi buttons to control our bedside lamps and am quite happy with them, especially considering the price. Single click controls the matching lamp, double controls the opposite, and long press controls the ceiling light.

The response times are very good as well. The lamps are plugged into wall outlets controlled via mqtt. Overhead is a WeMo.

1 Like

I am currently building a button setup with a ESP-8266 wifi chip running MQTT. Almost instant, and if there’s wifi range it works.

I just ordered 3 of these and a gateway 2


I sill have to find out how well thee work.

1 Like

I suggest to better study what your domotica protocol would be eg. knx , homekit, Philips hue… and then decide which devices you would use.

I use the Fibaro “The Button” if you are looking for “Panic Button” type devices. The Button

@mhilbush The wall switch has arrived but sadly I can’t get it to work in Z-Wave.
The switch shows up in the inbox, but it seems like Z-Wave doesn’t know what it is (It shows no channels and has a generic name).
Perhaps because it is the european version?
Do you have any hints on how to get it to work?

Battery devices can take a little bit to show up. Try waking up the device manually and perhaps turning some of the button on and off a few times.

Do this by pressing the button on the back of the device.

Note that you may need to wake up the device several times in order for it to fully initialize. You will know it is fully initialized when you see the channels in the thing config, and when you see a nodeXX.xml file for the device in the userdata/zwave directory.

Waking up WallMote.

In order to configure WallMote, you must either (1) wake up WallMote using the below button press function.

1. Press and hold WallMote Action button
2. Wait until the RGB LED turns into a Yellow/Orange Color and beeps.
3. Release WallMote Action Button

The LED on WallMote will now rapidly blink its Yellow/Orange LED while it is in its awake state. You may send in any configurations or commands from your current gateway to configure your WallMote.

4. Tap the Action Button on WallMote to put WallMote back to sleep, or wait 10 minutes. (recommended to manually put it back to sleep to conserve battery life).

If this doesn’t work, post back here and we’ll try to get it sorted out.

1 Like