Lutron LZL4BWHL01 - How to Program Automation

I have a LZL4BWHL01 from before I had home assistant and was able to connect it to ZHA and it was easy to get it to work but, decided to move to zigbee2mqtt as it has better device support at least for finding and updating firmware. ZHA would report unknown firmware for my ThirdReality outlets.

I got the LZL4BWHL01 connected to zigbee2mqtt but, I have an issue. It has 4 buttons, one to turn on, one to turn off, and one to step down and another to step up.

The issue comes in that the turn on and turn off are actually a set brightness to 254 and 0.

This is me pushing the button once per in the order, turn on, step up, step down and turn off. The logs were grabbed from zigbee2mqtt.

info <small>2025-06-06 21:56:03</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_move_to_level","action_group":29180,"action_level":254,"action_transition_time":0.04,"linkquality":0}'`

info <small>2025-06-06 21:56:03</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_move_to_level'`

info <small>2025-06-06 21:56:04</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_step_up","action_group":29180,"action_step_size":30,"action_transition_time":0.06,"linkquality":16}'`

info <small>2025-06-06 21:56:04</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_step_up'`

info <small>2025-06-06 21:56:04</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_stop","action_group":29180,"linkquality":16}'`

info <small>2025-06-06 21:56:04</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_stop'`

info <small>2025-06-06 21:56:06</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_step_down","action_group":29180,"action_step_size":30,"action_transition_time":0.06,"linkquality":24}'`

info <small>2025-06-06 21:56:06</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_step_down'`

info <small>2025-06-06 21:56:06</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_stop","action_group":29180,"linkquality":20}'`

info <small>2025-06-06 21:56:06</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_stop'`

info <small>2025-06-06 21:56:08</small>`z2m:mqtt:
 MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote', payload 
'{"action":"brightness_move_to_level","action_group":29180,"action_level":0,"action_transition_time":0.04,"linkquality":0}'`

info <small>2025-06-06 21:56:08</small>`z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Basement Pico Remote/action', payload 'brightness_move_to_level'`

As you can see turn on and turn off are both brightness_move_to_level except on is 254 and off is 0 for action_level. the brightness_stop is not to turn off but, is just sent after each step up/down.

How do I get the action_level if its not exposed? I don’t seem to see a way to read from it at least from the UI (maybe there is a way via editing the yaml directly?) Is there a way to program this remote or will it just not work with zigbee2mqtt. (It worked perfectly fine in ZHA)

Attached is how it shows in MQTT. Weirdly nothing shows in the Logbook so I am not even sure if it will even trigger anything in Home Assistant.

Kind of worked around it by setting the trigger to the MQTT instead of the device itself.

Here is how on looks and off just has the condition equal to 0 instead of 254.

Not sure if this is the best/correct way to go about it but, it does work.

Isn’t this something to raise with Z2M? Their docs (link above) just say “It’s not possible to read (/get ) or write (/set ) this value.”