Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lutron Aurora dimmer knob (Z3-1BRL) has missing battery functionality #25361

Closed
fractalcounty opened this issue Dec 29, 2024 · 5 comments
Closed
Labels
problem Something isn't working

Comments

@fractalcounty
Copy link

fractalcounty commented Dec 29, 2024

What happened?

Despite being supported in zigbee2mqtt and its hardware itself supporting the functionality, the Lutron Aurora Z3-1BRL dimmer knob does not expose or report remaining battery % in zigbee2mqtt.

What did you expect to happen?

The Z3-1BRL should expose and report battery usage % in the zigbee2mqtt frontend automatically upon device adoption similar to other battery-powered devices like the Philips Hue dimmer switch. Additionally, a battery sensor should be automatically created in HomeAssistant.

CleanShot 2024-12-28 at 20 56 23@2x

A similar issue was outlined 3 years ago in #9736, but its scope was limited to creating a custom converter for the Z3-1BRL to manually expose battery usage. Despite being marked as completed, no out-of-the-box functionality relating to battery usage exists for the Z3-1BRL to this day (despite the device fully supporting it). Users have continued to observe this problem as recently as this week, so it appears to just be a case of missing functionality that's slipped under the radar over the years.

I suspect this may have something to do the fact that the Z3-1BRL seems to only want to communicate with zigbee2mqtt while in an "awake" state (i.e after being physically pressed or rotated), as outlined in a similar (now stale) issue I opened for the Z3-1BRL in 2021 (see #20668). If this is a case, perhaps battery reporting could occur whenever the device is in its active state?

How to reproduce it (minimal and precise)

  1. Factory reset the Z3-1BRL dimmer switch
  2. Add the custom legacy: false device option to its configuration
  3. Permit joining in zigbee2mqtt and wait for device adoption
  4. With the Z3-1BRL in its awake state, bind the PowerCfg cluster's batteryPercentageRemaining attribute to the coordinator endpoint in the device's "Reporting" tab

Zigbee2MQTT version

1.42.0-dev commit: c3b4628

Adapter firmware version

20240710

Adapter

SMLight SLZB-06 (zStack3x0)

Setup

Add-on in Home Assistant OS VM via Proxmox VE on a Intel N100 mini PC

Debug log

N/A

@fractalcounty fractalcounty added the problem Something isn't working label Dec 29, 2024
@ajma
Copy link

ajma commented Dec 29, 2024

I finally got rid of my hue hub and moved it all to zigbee2mqtt and this is the last issue I'm dealing with. I have three of these buttons and I'm not able to figure out how to get battery readings

@x10
Copy link

x10 commented Jan 3, 2025

I also recently started using these dimmers and it is the only device that doesn't report its battery level in my set up.

@Koenkk
Copy link
Owner

Koenkk commented Jan 3, 2025

Could you check if the issue is fixed with the following external converter:

  • save this as file next to configuration.yaml as ext_converter.js
  • add it to configuration.yaml:
external_converters:
  - ext_converter.js
  • start z2m
  • in the frontend, check if the description of this device now ends with CUSTOM (this indicates the external converter has been loaded correctly)
  • reconfigure the device via the frontend (yellow refresh button), make sure to wake up the device right before doing so (by pressing a button on it)
  • check if issue is fixed

@fractalcounty
Copy link
Author

fractalcounty commented Jan 4, 2025

ext_converter.js seems to have done the trick and battery is being reported for my Z3-1BRL devices. Thank you! I'll keep an eye out for any issues, but everything seems OK so far.

Also, no idea if this is relevant, but saving the script at /config/zigbee2mqtt/ext_converter.js and adding it as an external converter in the adjacent zigbee2mqtt configuration.yaml file had no effect after restarting Home Assistant & zigbee2mqtt. Even listing nonexistent scripts with arbitrary names as external converters in configuration.yaml produced zero errors or relevant debug messages in the logs.

I ended up just adding the external converter by sending a MQTT message to zigbee2mqtt/bridge/request/converter/save with the payload containing the script contents, which actually ended up saving it to /config/zigbee2mqtt/external_converters/ext_converter.js instead. I most definitely just missed something in the docs or misconfigured something, though.

@Koenkk
Copy link
Owner

Koenkk commented Jan 5, 2025

Integrated the fix, thanks!

Changes will be available in the dev branch in a few hours from now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
problem Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants