Leviton z-wave dimmers manual use doesn't register events in HA

I’m on ha 2021.7.4 running the new zwave integration, latest appdaemon and mqtt2zwavejs.

I have several leviton z-wave dimmers and I’m running into a problem with the manual switch activation. HA doesn’t seem to get an event when the light is turned on manually, verified by watching for state_changed events in the developer tools, BUT does work if the light is turned on manually by the dimmer toggle (as opposed to main toggle)

Dimmwr has a main light on/light off toggle, and a smaller toggle for the dim function beside it. Lifting thie dimmer toggle opens air gap, which kills power to the switch.

Behaviors:

  1. With physical light off & light off in HA, light turned on via HA or appdaemon (motion sensor) light turns on.

  2. With physical light off & light off in HA, turning the light on manually using the main switch will turn the light on but HA doesn’t see the change.

  3. With physical light off & light off in HA, turning the light on manually via the dimmer toggle turns the light on and HA sees the change.

  4. With the physical light on & off in HA, turning on the light in HA turns the toggle on for a second then it turns off, but the physical light stays on. Quickly turn toggle in HA on then off will turn off the physical light.

Another interesting behavior is that when the light is on but not registered in HA, the brightness slider shows zero and sliding it to any level will adjust the actual brightness and HA then registers the light as being on.

  1. Opening the air gap switch to cut power to the device or breaker off for 30seconds doesn’t fis the issue

  2. re-interviewing devices doesn’t fix the behaviour.

  3. Excluding and hard reset on the device (hold light switch on for 10 seconds) fixes the issue temporarily.

Do you have the model numbers of the switch? Some of the really old Levitons used hail commands in zwave. A hail wasnt really “standard” and many zwave hubs react differently to it. I believe in zwavejs the hail doesn’t tell the controller what the switch did and just triggers a poll/refresh, which requires more back and forth between the controller and switch. This could create the types of issues you’re having. On the other hand, A basic report sent by newer switches directly reports the state of the switch back to the controller.

I have older aeotec micro that can be configured to send a basic report or hail. The basic report is much better. Your switch might have this config Parameter or some other one that needs to be changed to enable better status updates. More info on the specific model can hopefully be used to track down more info on it if you can provide it.

There was a prior issues opened on zwavejs for a leviton dimmer, but it was supposed to have been fixed awhile ago.

Thanks for the reply. They are all DZ6HD bought within the last 2 years but they all seem to have firmware 1.17. Going through the logs, they do seem to use the hail command.

1.20 is available so I’ll give the new firmware a shot and hopefully that fixes the hail issue.

I’m using aeotec zwave stick so the zensys tools firmware update should be possible.

I’ll report back to this thread once they’re updated and running smoothly for a while.

Yes the firmware upgrade is definitely the best place to start. If you can’t get the zensys tools to work to update the firmware you can also upgrade to the zwavejs2mqtt addon instead of zwavejs. Zwavejs2mqtt has the ability to do a firmware update through its included control panel. Here’s the directions from zwavejs2mqtt. I’ve updated firmware with it before and it is pretty easy to do.

https://zwave-js.github.io/zwavejs2mqtt/#/README?id=main-features

Update:
I also checked the zwave alliance database. Although you got them only a couple years ago their specification dates back to 2016, which is ancient by today’s zwave standards. I don’t see any config parameters that can be changed to support different status updates, and it shows it only supports the deprecated hail command class. It is possible setting fade on and off time to “instant” could make a difference if nothing else.

https://products.z-wavealliance.org/products/1910

Hopefully new firmware does the trick, since changing config/other options are limited.

UPDATE

I’ve been having issues updating the firmware because I bought a new z-wave controller from zooz (700 series) but it can’t run the Leviton firmware upgrade app. I don’t have the time or inclination to redo my whole network on the zooz so I can run the update from my old Aeotec gen 5 stick. Anyway, as luck would have it (sort of) I noticed one of the new Leviton switches I bought recently is actually on the newest firmware. Sadly it exhibited the same behaviour.

I tried implementing the fix for the DZMX1 by updating the respective files (i edited the corresponding DZ6HD config file) and added the manualValueRefreshDelay but it borked the switches and wouldn’t work.

I’ll post something directly to the zwavejs2mqtt gitthub eventually to see if I can get a response. If I do, i’ll post a link here for others.

i noticed one of my new switches is running the latest firmware when it also exhibited the

I have 11 DZ6HD dimmers in my Z-Wave network. 5 of them are firmware 1.13, the rest are firmware 1.20. All the 1.13 firmware dimmers exhibit the following behavior:

  • If manually turned on, HA is not updating the state.
  • If manually dimmed (up or down), HA will update state.
  • if manually turned off, HA will update state.
  • If HA actuates it, all is fine.

The 1.20 firmware dimmers are working fine. Please note that I’ve been using the Z-Wave JS integration (not MQTT) for a while and this behavior started occurring recently. I would say a month back this was not occurring.

I am in the same boat as @amclean1980, I use a Zooz stick and updating the firmware on those 5 devices will be a pain, but I might not have any other recourse.


More info: I have an old GE/Jasco 45609 switch (not dimmer) which is also exhibiting the same problem.

I decided to update the firmware on these devices. I ended up going the route of purchasing HomeSeer Z-Flash and using the “Secondary Controller” method. Worked for me because I had a second USB Z-Wave stick and I could update the devices w/o disrupting the existing Z-Wave network. So far the devices are working well. I’ll let you know if they misbehave again. In the meantime, I’m on a firmware update frenzy! :slight_smile:

Hello all im having this same issue but with zwave to MQTT, does anyone know how to get the leviton firmware i just reached out to them but no idea how long that is going take

Getting firmware files direct from the vendor is always your best option, but they may not provide them. If they don’t, and you absolutely need to update, The 1.20 firmware files appear available on this Github link. It’s geared to Hubitat, but the .hex files are the firmware for the actual devices and are not specific to the hub, so you should be able to add use these .hex files with Zwavejs2mqtt or any other zwave hub capable of a firmware update.

Many on Hubitat have updated the firmware with success, and more posts are available here

I don’t have Leviton devices and have not personally used these firmware files. I have updated Inovelli switches firmware with zwavejs2mqtt and can confirm that worked fine, so I know zwavejs2mqtt is capable. Be aware of these warnings when attempting to update:

  • Devices that are region specific, make sure you have a firmware file that is for your region.
  • Some devices will require exclude/include when complete. This has been noticed on some hardware. Most will not require this.
  • There are many provisions in this code and in the Z-wave spec that prevent this process from damaging your device. But I offer no guarantee or warranty. Use at your own risk!
1 Like

Hello thank you sooooo much and yes i agree i would rather get it from the OEM but they have not gotten back to me…

well still messing around with it right now get an error message when i try and upload the firmware.

"Error while calling api beginFirmwareUpdate: Unable to extract firmware from file: Duplicated data at record 2050 (:20000000195FC41FEFB846F0F3B92D6353F4884E321700A03AF3BFD60D0E23477FC4E5EA0D) "

this link looks to of worked for me Investigate extracting firmware from Leviton updaters · Issue #4101 · zwave-js/node-zwave-js · GitHub

1 Like