Using Nedis zigbee remote control as a button to trigger automations

I have a Nedis zigbee remote control and it is added in Home Assistant as TS0215A by _TZ3000_fsiepnrh.

It created 1 entity for alarm control panel (alarm_control_panel.zigbee_remote_ias_ace), one sensor for zone (binary_sensor.zigbee_remote_ias_zone) and one entity for power (sensor.zigbee_remote_power).

The remote has 4 buttons: O, I, A, B.

If I press O - alarm is triggered.
If I press I - I see a ZHA event with “arm_mode_description”: “Arm_All_Zones”
If I press A - I see a zha_event with “arm_mode_description”: “Arm_Day_Home_Only”,
If I press B - I see a zha_event with “arm_mode_description”: “Disarm”

But I do not want to use the RC as an alarm panel. What I want is:
O - open by garage
I - open one door
A - open main gate
B - open secondary gate

So basically I want to trigger one automation on every button press.

But being recongnized as an alarm control panel it doesn’t behave as a button. O triggers the alarm and if I press it again, it won’t send any event anymore.

Is there a possibility to force ZHA to not anymore create alarm_control_panel entity but a button?

I tried something like:

       type: "button"   

but nothing changed.
Any advice on how can I force HA or ZHA to create a button or something else than a alarm_control_panel entity?

Zigbee info:

IEEE: bc:33:ac:ff:fe:61:xx:xx
Nwk: 0xe18e
Device Type: EndDevice
LQI: 248
RSSI: -38
Last Seen: 2022-10-31T13:58:48
Power Source: Battery or Unknown

I found this ZHA issue that seems related: [Device Support Request] TS0215A by _TZ3000_fsiepnrh · Issue #1052 · zigpy/zha-device-handlers · GitHub

Go to Developer tools > Events and start listening for zha_event, then press the different buttons and save the events in a text file (perhaps you can share here) so we can help you using the events generated by your remote to trigger automations.

Have you found a solution?

Reading the events is not a solution. If you can arm, it is impossible to disarm because the telecomand does not send the code defined in ZHA…

The solution to the multiple events is to create a timed binary. Then I use it to disarm this remote.

  - trigger:
      - platform: event
        event_type: zha_event
          device_ieee: a4:c1:38:96:0b:cf:c0:01 # Woox RC1
          command: 'arm'
            arm_mode: 0
            arm_mode_description: 'Disarm'
            code: ''
            zone_id: 0
      name: Woox RC1 to Disarmed
      icon: "{{ (trigger.platform == 'event') | iif('mdi:remote-off', 'mdi:remote') }}"
      state: "{{ trigger.platform == 'event' }}"
        seconds: 5

My full article un french : My Canaletto | Home Assistant & Alarm, encore...