Skip to content

[Feature request]: Battery percentage incorrectly halved – no way to disable scaling #30704

@plingsi

Description

@plingsi

Is your feature request related to a problem? Please describe

Battery percentage for Onesti / Nimly EasyCodeTouch (easyCodeTouch_v1) is inconsistently reported as half of the real value.
The same device sometimes reports correct values, but after restart, interview, or switching between zigbee2mqtt and zigbee2mqtt-edge, the battery value is again halved (e.g. ~37% instead of ~75%).

This makes the battery reading unreliable and hard to fix permanently without custom converters.

Describe the solution you'd like

Add a supported way to control battery percentage scaling, for example:

A device-level option (e.g. dontDividePercentage, multiplier, or scale factor), or

A documented and stable mechanism to override battery scaling without replacing the whole device definition.

This would avoid fragile external converters and inconsistent behavior across restarts.

Describe alternatives you've considered

Editing zigbee-herdsman-converters device definitions directly

External converters that override fz.battery
Both approaches are brittle and break on updates or behave inconsistently.

Additional context

Device: Onesti / Nimly EasyCodeTouch (easyCodeTouch_v1)
Battery values flip between correct and halved without hardware changes.
Other users may experience similar issues with devices that already report scaled values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions