VZM36 driver "toggle" capability

I wasn’t exactly sure where to place this post at trying to get feedback to @EricM_Inovelli

I just replaced a Hampton Bay Zigbee Fan Controller with the VZM36. Everything is working. I just wanted to give some feedback on the driver. I was hoping to just reuse all the automations that were existing in controlling the device and what I have found is that I can’t toggle the VZM36 driver like I could on the Hampton Bay drivers where I could toogle the Parent, Fan child and Light child.

Can this capability be put in?

I was using the toggle capability in apps so that Lutron Pico button controller on the wall would toggle the light ON or OFF based on its current condition and the same with the fan being toggled ON or OFF based on its current state.

What do you mean with this? Hubitat does not have a “Toggle” capability (in the formal sense of the term capability), and the built-in Hampton Bay drivers do not have a “toggle” command (assuming that might be what you mean), though perhaps a custom driver you may have been using did.

It might be worth taking a step back: how are these automations set up, i.e., with what app? Many built-in apps have a “toggle” option (action, etc.) available, and this is nothing more than reading the current switch attribute value and sending an on() or off() as needed, no real magic involved and not something you normally can’t do somehow yourself — but it’s had to say more without knowing this kind of information about your setup, which is why I suggest sharing.

Thanks for the reply.
You are correct. It is a setting in the app that it is a called a Toggle action. It is a Hubitat community app called Advanced Button Controller (ABC) Advanced Button Controller (ABC) - 🚧 Developers - Hubitat

This happened before on Hubitat with this app Advance Button Controller toggle stopped working - 🚧 Developers - Hubitat and all they did was reset the devices but since this device is brand new I didn’t try that.

That is helpful to know. All ABC does is check the current state of the device and send an on() command if it’s currently off or an off() command if it’s currently on — nothing special in any driver required for this. Therefore, the most likely source of your problem is that the value of the switch attribute is not updating when the device actually changes.

You can verify this by watching “Current States” (where you should see “switch” listed underneath, along with its current value) on the device detail page as you turn the device on or off. It’s possible it may respond differently depending on how the on/off action happened, e.g., physically on the device, with a command from the hub, or as part of a binding with another device. My guess is that you will find at least some cases where this does not update — ultimately, the same explanation I provided in the topic you linked to above on the Hubitat forum. :smiley:

Since you are using a Zigbee device, an easy thing to try is resetting the device (do not remove it from the hub first), then put Hubitat in Zigbee pairing mode to re-add the device. For Zigbee, it will be recognized as the same device, matched with the driver you’re previously selected (perhaps part of your problem if you used a different Zigbee driver before?), and slide right back into place, even if you are already using it in any apps/automations. If you aren’t, you can also just remove and re-add the device. (My guess is that something went wrong with a previous Zigbee reporting configuration, and this is an easy way to fix that.)

3 Likes

Thanks @BertABCD1234 for the excellent response. I think he might be right on the nose. Let us know if that fixes it for you.

1 Like

So sorry for the delayed response but I have been away from the house on a vacation and just recently got back. I absolutely may have messed up the driver installation. I had a little trouble with the installation using HPM and I ended up doing it manually and grabbing the driver myself and have since then got HPM to update the driver.
I will try what you are suggesting and get back. Thanks for the detailed explanation.

I reset the device without removing the driver and like you said it found it again automatically so all automations stayed intact but unfortunately does not toggle from the ABC app. However I think the issue may be in the driver because if you look at the screen shot I included you under Current States it never displays a state for the child device. So I don’t think me writing a simple rule could work to toggle it either since the driver isn’t exposing the current state for the child (either the light or the fan) Another interesting side note is the Light child has a Toggle command built in which works just fine if I initiate that from the driver screen.

UPDATE:
I removed the drivers and started from scratch and reset the VZM36. Hubitat found the device again and automatically put in the Inovelli VZM36 Zigbee Canopy parent. I clicked on the IINITIALIZE command to install the child devices however only the Inovelli VZM36 Zigbee Canopy Fan installed and not the Inovelli VZM36 Zigbee Canopy Light child so I don’t have access to controlling the light now. But I did notice one major change this time and that is the Fan child actually is reporting a current state of the fan which is was not doing previously! So that is a step in the right direction at least for the fan. Now if I could get the Light child to show up.

UPDATE 2: I found my issue in not finding the child. I had used a filter in the search box which didn’t pull up the Light component :woozy_face:

1 Like

Glad that you got it figured out. I wonder if there was something wrong with the driver installation initially, because I think the “not updating status” issue was from a long time ago.