I have 67 ZW6HD dimmers running in Home Assistant via Z-Wave, and they work well overall. However, there is a consistent reproducible bug (or configuration issue) I cannot resolve.
Steps to reproduce:
- Set any ZW6HD dimmer to any level (20%, 50%, 80%, 100%) via Home Assistant.
- Turn the switch off from within Home Assistant (not manually at the wall).
- Walk to the wall switch and turn it back on manually.
Result: The switch comes on at 1% regardless of what the prior dim level was.
Expected result: The switch should restore to the last active dim level, exactly as it does when you turn it off and on manually at the wall.
What works correctly:
If I set the dimmer to any level (e.g., 55%) and turn it off manually at the wall, then turn it back on, it correctly restores to 55%. This behavior works every time.
Root cause hypothesis:
I believe the Z-Wave implementation in Home Assistant is sending a “dim to 0%” command rather than a true Binary Switch Off. This overwrites the switch’s last-known level memory with ~0%, so when the switch is powered back on it restores to that near-zero value instead of the previous setting.
A proper off command should toggle the relay state without touching the dim level register.
Environment:
- Switch: Leviton ZW6HD (x67)
- Integration: Home Assistant Z-Wave (JS or ZWave2MQTT, whichever applies)
- Behavior: 100% reproducible
Has anyone seen this and found a fix, whether a parameter setting on the switch, a Z-Wave command class configuration in HA, or something else?

