HA 2026.7 Zigbee Changes. Can't use button to trigger automation anymore?

I’ve been using HomeAssistant and wireless Zigbee buttons for several years. With the changes in 2026.7 it seems what was a simple action, using a zigbee button to fire an automation has become an ordeal. Unless I’m missing something how is this new “improved” version better? I used to be able to create an automation, trigger, type in the name of my button, choose button 1 press or button 2 presses, and be done. Now when go to choose my trigger and I type in the name of my zigbee button the only option is the battery level?

With the help of ClaudeAI and Gemini I was able to do a ZHA listen event and have the button fire off my automation, but that seems stupid. What happened to simply choosing the butting from the gui? This seems like a serious regression in version 2026.7.

AFAIK, there weren’t any changes to ZHA itself, but the Trigger selector has changed significantly, so you are likely just not using the right trigger.

Device Trigger:

This is likely what you were using previously. It’s not front-and-center in the new trigger selector like it used to be, but it is still available. Using the search bar with “Device” as your search term is the easiest way to get to the correct trigger.

Manual Event Trigger:

This is what we used before Devices trigger, what many ZHA-based button blueprints use, and (apparently) what Claude recommends. This still works, but the Event trigger can throw up quite a few “gotchas”, so it’s probably not the best choice for new users if there are other options.

Event Received Trigger:

This is the new kid on the block; part of the “purpose-specific triggers” that dropped with the 2026.7 update. It requires an event entity, which haven’t been added to ZHA yet. If you want, you can create your own using a trigger-based Template Event.

Template Event Example
template:
  - triggers:
      - event_type: zha_event
        event_data:
          device_id: 7aa398b79ccd6f3f2001b529e13b5b95
        trigger: event
    variables:
      command: "{{ trigger.event.data.command }}"
      command_action:
        "on": double_press
        "off": hold
        "toggle": single_press
    event:
      - name: Sonoff WB01
        unique_id: event_sonoff_wb01_00001
        device_class: button
        event_type: "{{ command_action.get(command, 'single_press') }}"
        event_types: "{{ ['single_press', 'double_press', 'hold'] }}"

I’m running into this same problem. Suddenly all my zigbee buttons, the only entities showing for trigger options are their battery levels. But all my old automations still work. Its very odd.

I’m having the same issue !

The above thread, and this one here Only battery entity available on remote show that this change is poorly thought out. It also caught me out and I wasted lots of time trying to work out what was happening.
When adding a trigger to a new or existing Automation, GUI users are shown a list of Areas with devices inside them, but when they choose a Zigbee switch device to access its entities to use as triggers, they are no longer shown any actions, just battery information.
The thread I referenced above (Only battery entity available on remote) is only solved because a user suggested that the OP searched using the word Device - how is this intuitive, when a list of Devices is already shown in the left-hand pane?

While I actually like some of the additional functionality the new “purpose-specific” triggers bring, there’s definitely some issues with the UX of the new selectors. I don’t know what the answer is, but it definitely needs to do a better job off not stranding users in a dead end like this thread demonstrates. If find it very frustrating that the core triggers are not only in the 2nd class “By type” section, but also pushed almost to the very bottom of the list. IMO, the only thing keeping it at all functional is the search bar… but that doesn’t help new users because they don’t know what to search for.