Blue Series Fan/Light Canopy Module binding not working in Home Assistant using ZHA

  • Just installed the module.
  • Updated the FW through ZHA/HASS.
  • Confirmed I can turn it on and off and everything else through HASS. Basic functionality works.

I would like to bind my switch to the canopy module so that it can work should HASS be disabled. Right now, I am attempting to bind an Enbrighten 43078 Zigbee switch which I realize only has on/off and not level control, but before I send it back and replace it with a dimmer so that I can get both of these functions: short press for on and off, long press for fan speed control, I wanted to first confirm I could just get a bind to work for on and off function. I can not.

I followed the instructions to create a separate group for the canopy endpoint 1 for the light and another group for endpoing 2 for the fan, following these instructions: Setting Up Your Blue Series Fan/Light Canopy Module With an Inovelli Blue Series Switch • Home Assistant (ZHA) | Inovelli Help Center I then bind my switch OnOff to the fan group. The switch will not turn the fan on or off. I realize there is a LevelControl action missing on my switch since it’s not a dimmer, but should that matter?
I currently have things working using automations in HASS and am cycling through fan speeds with on commands from my switch if the fan is already on, but would really like to get the binding to work and then exchange my switch for a dimmer to get more intuitive control with binding.

Hey, could you share the version of HA you’re running?

Also I’ll give the caveat here that I’m not familiar with the Enbrighten 43078, but I did test a series of bindings between a VZM31-SN and the VZM36 canopy module -

Endpoint 3 (config button)
This only controlled the fan when bound with LevelControl, OnOff was not sufficient.
Endpoint 2 (paddle)
This could control the fan or light with OnOff alone.

I guess what I’m getting at here is the Enbrighten should probably still work for you unless there’s something up with how that handles bindings? What’s your comfort level with trying other tools in HA, and any familiarity with HACS?

2025.3.2
The 43078 has only one endpoint which only provides OnOff.
I would think that I would be able to achieve what you did using Endpoint 2 on your VZM31.
I am using the method to create a group of one endpoint on the canopy for the fan and another for the light, then I would bind my switch endpoint OnOff to either one of those groups, preferably the fan as that’s what I’d like the Enbrighten switch to control, at least turn it on and off so that I can have confidence that when I replace it with a dimmer that I should be able to achieve on off and fan speed control using the LevelControl action that I presume the Enbrighten dimmer will offer.

Also, not really motivated to have to try other options. I’ve already got this working with automations managed by HASS but would prefer binding.

1 Like

I’m guessing you see the binding appear successful when you bind the switch to the group? Possible to turn on debug logs in home assistant and see if there are any logs that seem relevant?

The way it works on the Inovelli switch is that Endpoint 1 is the switch itself, you put your configs, etc all on that endpoint and you’re good to go. Endpoint 2 is what you bind to other devices to control them (and now Endpoint 3 for the config button for further adjustment). Do you see it as binding Endpoint 1 from the Enbrighten switch to the group?

I went ahead and setup zigbee2mqtt. Unfortunately binding didn’t work with that either. However I did like the UI as it actually provides a response that confirms the binding action was executed and displays current bind status, so that if you want to unbind you aren’t doing it blindly. ZHA just doesn’t confirm anything in the UI. I tried binding both endpoint 1 and then 2 of the switch to the grouped endpoint 2 on the canopy, also tried 1 which is the light. Nothing works. Z2M did provide a clue that I should update the FW on my itead Sonoff bridge. I couldn’t run it in Ember mode or whatever that is and had to default to some deprectated mode. So I’ll see if I can update the FW and whether that works.

-update-
Here’s a breakthrough: Using ZHA I can bind the switch device to the canopy device (not the group that isolates an endpoint), and it works, but unfortunately it switches both the light and the fan off at the same time. I can’t seem to get the switch to bind to a group and function successfully, I wonder if it’s because there is only one device in the group? ZHA instructions mention that a group must have more than one device.

-update 2-
Back to zwave2mqtt. This time I simply created a bind directly between switch endpoint 2 as source, canopy endpoint 2 as destination, onoff as cluster and it works. No need to create a group for the canopy endpoint 2. ZHA doesn’t offer this level of device to device configuration in binding so I’m abandoning it and sticking with Z2M. So I have on and off from the switch bound to the canopy and that will work w/o HASS in the middle. I currently have automations for detecting subsequent “on” switch events to toggle through the fan speeds. I’m reasonably confident that if I replace the switch with a dimmer that I can use the level control to adjust fan speed instead and eliminate relying on HASS automation for fan speed completely, plus it will offer better and more intuitive control.

1 Like

Yeah, unfortunately the UI options for ZHA aren’t very communicative for binding today. I’m glad you’ve got it working though and that it also sounds like you’re happy with Z2M as well!

Follow up:
I purchased an Enbrighten dimmer, installed it, and bound on/off and level functions to the fan endpoint on the canopy. So that works. I then changed the binding on the Enbrighten switch I already had and bound on/off to the endpoint for the light on the canopy. That all works good enough for now. Here is a new issue: If I command either the enbrighten dimmer or switch from HASS, they react (I can hear relays inside them turning on/off and the blue led on the switch reacts, and zwave2mqtt reports a new state) but neither of the expected bound devices in the canopy reacts accordingly. It seems that binding only binds physical presses of the buttons? Furthermore commanding the canopy device directly from HASS doesn’t change the switches either. Is there a step I’m missing? I am effectiveliy using the switch and dimmer as remote devices, if that matters. There is no “decoupled mode” feature on the Enbrighten switch or dimmer.

Just to confirm, is it zwave2mqtt or zigbee2mqtt?

Binding should work whether you’re physically pressing the button or sending remote commands. I’m not sure what you mean by “decoupled mode”, are you referring to the “smart fan/bulb mode” that Inovelli has? If that’s the case, I’m assuming you have the canopy module always powered directly?

Commanding the device from HA won’t update the switch unfortunately, definitely can relate there.