I’ve got a hue dimmer switch that is connected through zigbee2mqtt -> mqtt broker > HA > HomeKit.
Prior to using zigbee2mqtt, the switch would show up like this. One switch would contain 4 distinct buttons that could be mapped to scenes and entity state changes.
I’m having trouble replicating this setup with Home Assistant’s HomeKit component. My current approach is to do something like this:
binary_sensor:
- platform: mqtt
name: 'switch1.on-press'
device_class: light
state_topic: 'zigbee2mqtt/0x00'
availability_topic: 'zigbee2mqtt/bridge/state'
value_template: '{{ value_json.action }}'
payload_on: 'on-press'
payload_off: ''
- platform: mqtt
name: 'switch1.off-press'
device_class: light
state_topic: 'zigbee2mqtt/0x00'
availability_topic: 'zigbee2mqtt/bridge/state'
value_template: '{{ value_json.action }}'
payload_on: 'off-press'
payload_off: ''
…etc (+2 more buttons). I need to create four distinct binary sensors for each possible on/off state of the switch. This translates into HomeKit as occupancy sensors, which I can then use for scene triggering. It kinda works, but it’s really annoying to use and fairly unintuitive. I have a decent number of switches, and repeating this process for all of them is frustrating.
Is there a better approach that I’m missing? Possibly a way to get a multi-button switch?