2/3 gang smart wall switch as a dummy switch

Hi there,
just a simple/stupid question… I think I know the answer, but would like to confirm before making the purchase and installation :slight_smile:

I want to get a 3 gang wall switch, to replace the 2 gang dumb wall switch, so I want 2 buttons to control the actual devices they will be wired to, and 3rd button I would like to use as a virtual switch that will control something unrelated (another zigbee light switch via openhab but whatever).
Will that be possible? the 3rd button should be sending mqtt events to openhab when pressed regardless if there is any wire connected to it right? Any issues that I’m overseeing?
I am aware this 3rd button will not be aware if the “connected” device is ON or OFF, but it’s OK, i will just use it as a toggle button.
As opposed to the other 2 “real” wired buttons that will be aware if they opened or closed the circuit to the wired devices they control.

Yeah I have that in every room and i even have one extra in the entrance of my hallway with two gangs that are for “future stuff”.

You can also use zigbee wireless wall switches that you glue to the wall anywhere you want. But those don’t control any relay of course

yeah, I saw those “fake” wall switches that run on batteries and you just glue them, just wandered if I can do the same with real wired switches

thanks for info, ordered! :slight_smile:

Yes you can :slight_smile: I flashed my sonoff t3 with tasmota, you can also use esphome instead.

I use Shelly 1s for this in a couple of places. Though the switch still controls something. I use the event from the Shelly to turn on/off other stuff too through openHAB.

I don’t use Zigbee, but most Zwave switches have multi tap functionality (double click, triple click, etc.). I find it intuitive as we have all been double clicking most of our adult lives. Using those scenes opens up many possibilities. Perhaps your Zigbee switches offer similar functions? They usually show up in MQTT topics as /central_scene/… or similar.

Oooh you unlocked a memory.
I have a couple of zigbee buttons scattered somewhere that do exactly that, one press turns on the living room mood lights but two presses opens or clocks the blinds depending on the current state and so on.

I also additionally have some Zigbee buttons. Single press turns on/off the light near where the button is, a double press turns on/off all the lights in the room where the light is based on the state of the light near where the button is. I use the Zigbee binding and not zigbee2mqtt.

The rule I use to control this is as follows:

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Jenns_Button_REMOTE_CONTROL_Level_Control
    type: core.ItemStateUpdateTrigger
  - id: "2"
    configuration:
      itemName: Richs_Button_REMOTE_CONTROL_Level_Control
    type: core.ItemStateUpdateTrigger
conditions: []
actions:
  - inputs: {}
    id: "3"
    configuration:
      type: application/javascript
      script: >
        var allLights = [items.MasterBedroomLights_Power,
        items.Jenns_Lamp_Switch, items.Richs_Lamp_Smart_Plug_Switch];

        var jennsLamp = allLights[1];

        var richsLamp = allLights[2];


        console.debug('Received event ' + event.itemState + ' from ' +
        event.itemName);

        if(event.itemState.toString() == '0') {
          const currState = (event.itemName.includes('Jenn')) ? jennsLamp.state : richsLamp.state;
          const newState = (currState == "ON") ? "OFF" : "ON";
          allLights.forEach(item => item.sendCommandIfDifferent(newState));
        }

        else if(event.itemName.includes('Jenn')) {
          console.debug('Toggling Jenns lamp');
          jennsLamp.sendToggleCommand();
        }

        else if(event.itemName.includes('Rich')) {
          console.debug('Toggling Richs lamp');
          richsLamp.sendToggleCommand();
        }
    type: script.ScriptAction

The buttons report “0” for a double click. I could probably make this code a little cleaner but it’s not really necessary. It’s simple enought.