Skip to the content.

Stateless Programmable Switch

If the device definition from Zigbee2MQTT contains an action expose, the provided enum values will be split up across one or more Stateless Programmable Switch services. The mapping of the values will be shown in the log of homebridge.

The following table show some of the prefixes/suffixes and how they are mapped. The suffixes/prefixes are assumed to be separated from the rest of the value with an underscore (_) or a dash (-). The rest of the value is used to group the different actions of the same button together (if possible/applicable).

Suffix/Prefix Event it will be mapped to Remarks
single Single Press ย 
click Single Press ย 
press Single Press ย 
double Double Press ย 
hold Long Press ย 
long Long Press ย 
triple Single Press If present, put in the same service as quadruple
tripple Single Press If present, put in the same service as quadruple
quadruple Double Press If present, put in the same service as triple / tripple
release โŒ Values with this suffix/prefix will be ignored.
hold-release โŒ Values with this suffix/prefix will be ignored.

Wildcards in exposes information

Some devices donโ€™t have a definitive list of possible action values in their exposes information yet. These devices might have a value with an asterisk (*) in it.

Because of the way this plugin works, it needs to know all definitive values upfront. This means that it will generate an error in the logs for devices that contain a value with a wildcard.

If you have such a device and wish for it to be supported, please contribute to zigbee-herdsman-converters by updating the exposes information in devices.js with a definitive list of supported values. Also see Koenkk/zigbee-herdsman-converters#2012.

Green Power devices

Due to the way Green Power devices work, Zigbee2MQTT canโ€™t really differentiate between different types of Green Power switches (i.e. Hue Tap versus Friends of Hue). Because of this the Exposes information provided by Zigbee2MQTT currently contains all the possible action values, of all the Green Power devices that use this same communication interface.

Within HomeKit, this is rather annoying. For instance, with the Hue Tap, youโ€™ll end up with tens of switches, even though it only has four buttons. To improve the experience and usability, it is possible to specify values to include/exclude in the plugin configuration.

For the Hue Tap, you might add something like this to the plugin configuration:

{
   "devices": [
      {
         "id": "my_hue_tap",
         "values": [
            {
               "property": "action",
               "include": [
                  "recall_scene_0",
                  "recall_scene_1",
                  "recall_scene_2",
                  "toggle"
               ]
            }
         ]
      }
   ]
}