Switch events don't trigger automations after upgrade

After upgrading HA to latest, zigbee lights work fine, but zigbee switch button presses don’t trigger their automations anymore. Zigbee coordinator is a ConBee II; switches are RWL-021 (four-button Philips Hue dimmers).

The automation is a simple one:

- id: '1589908124607'
  alias: Turn on office light
  description: ''
  trigger:
  - device_id: bc9eb1b70a114cb7b0f3bdb4ca0f8dd8
    domain: zha
    platform: device
    type: remote_button_short_press
    subtype: turn_on
  condition: []
  action:
  - brightness_pct: 100
    device_id: c907c3387ad34db09fedc687fbef27f2
    domain: light
    entity_id: light.office
    type: turn_on

I’ve tried removing and re-adding the switches, and deleting and recreating the automations, with no effect.The automations themselves work if manually triggered… but the switches don’t trigger them.

On clicking one of the switches’ on-buttons, I immediately get the following in the debug logs:

2021-01-21 11:29:16 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [26, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5673>, 1, 260, 6, b'\x01+\x01', 0, 175, 199, 184, 243, 70, 0, -69]
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy.zcl] [0x5673:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=43 command_id=1>
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy.zcl] [0x5673:1:0x0006] ZCL request 0x0001: []
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy.zcl] [0x5673:1:0x0006] No handler for cluster command 1
2021-01-21 11:29:16 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event zha_event[L]: device_ieee=00:17:88:01:08:6a:b0:f4, unique_id=00:17:88:01:08:6a:b0:f4:1:0x0006, device_id=bc9eb1b70a114cb7b0f3bdb4ca0f8dd8, endpoint_id=1, cluster_id=6, command=on, args=[]>
2021-01-21 11:29:16 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5673>, ep: 1, profile: 0x0104, cluster_id: 0x0006, data: b'012b01'

If I’m listening for “zha_event” events at the time, I get this one:

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "00:17:88:01:08:6a:b0:f4",
        "unique_id": "00:17:88:01:08:6a:b0:f4:1:0x0006",
        "device_id": "bc9eb1b70a114cb7b0f3bdb4ca0f8dd8",
        "endpoint_id": 1,
        "cluster_id": 6,
        "command": "on",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-21T12:08:03.202650+00:00",
    "context": {
        "id": "697ec91fd2ec14f51ecd41585ded3a8a",
        "parent_id": null,
        "user_id": null
    }
}

In fact, I can work around the problem by setting the zha_event as a trigger, manually filtering to that ID and command. But that really seems like a hack. Any idea why these events are getting so far, yet not being recognized as button presses?

This is a venv installation. Current pip package versions (tried to cut it down to the probably-relevant ones):

bellows                  0.21.0
homeassistant            2021.1.4
zha-quirks               0.0.51
zigpy                    0.30.0
zigpy-deconz             0.11.1
zigpy-homeassistant      0.19.0

A small update: I’ve confirmed that this is specific to the RWL021s. I have some Tradfri switches, and a Sage doorbell sensor, all of which trigger automations properly.

The RWL021s are recognized as such; their device pages lists them as having the quirk zhaquirks.philips.rwl021.PhilipsRWL021. I’ve tried downgrading zha-quirks to 0.0.31 to try to binary-search the issue, but homeassistant re-upgrades it to the latest version while starting up, and I don’t know how to keep it from doing that (or whether there’s a breaking change that would make testing with that older version impossible).

I figured out how to keep HA from upgrading zha-quirks, and narrowed the problem down to a version: 0.0.42 and later don’t work. Probably not coincidentally, that version had a “breaking change” to the RWL021. From the description of that PR, it seems like it shouldn’t stop the device from working, just change what triggers are available. But I’m selecting the triggers from the dropdown in the automation editor UI, so it seems like things should still work, at least for new automations.

Anyone know how to check which device triggers are being generated? I can see events in the developer tools, of course, but I can’t figure out an equivalent feature for device triggers.

(For reference, too keep zha-quirks from updating, pass --skip-pip on the command line. This is specifically for a standalone installation with a Python virtual environment.)