Blue 2-1 and Canopy Bindings in ZHA - Sync 2-1 Status when Canopy Status is Changed in Home Assistant?

I recently wired up a Blue 2-1 and Canopy combo and configured Zigbee bindings in Home Assistant (ZHA) per the Knowledge Base Article. The setup is working fine and tested successfully when Home Assistant was yanked from the equation in a simulated ZHA and Home Assistant instance failure.

However, I noticed that changes in the Canopy state made via Home Assistant (fan speed, light level, etc.) are not reflected in the 2-1’s state and by extension the 2-1’s LED indications. Are there further Zigbee bindings that can be made to sync Canopy state changes made via Home Assistant with the 2-1?

2 Likes

I have the same problem – when I change the state using the wall switch, it doesn’t update the module entity in Home Assistant, although controlling the fan/light still works. And vice versa, when I change the state of the module entity in Home Assistant, it doesn’t reflect on the wall switch.
I’d like to be able to see the state of the module in Apple Home (via HomeKit Bridge) when it was controlled through the wall switch.

I’m thirding this question. This must come up for lots of people using the switch / canopy module / HA combo; has no one come up with a solution? Certainly an automation could be written to change the switch state when the canopy state changes and vice versa, but I worry about creating an infinite loop. Is there an idiomatic way to do this?

I’ve had to disable the light entity on the canopy and address the one on the controlling dimmer. It’s not ideal, I’d think, but it works. I hadn’t noticed the fan speed version of this issue, though, and this won’t work around that!

I use Zigbee2MQTT, not ZHA, so I don’t know how well this will map, but here’s what I do for the light to keep the states in sync.

Create a zigbee group that includes the light endpoints from the switch and canopy. In this case, “The Office Ceiling Fan Light and Switch”.

Then, in HA dashboards, automations, etc, address that group instead of the individual devices.

I’m not able to use the visual editor for that dashboard, but here’s the yaml for that section:

                      - type: horizontal-stack
                        cards:
                          - type: tile
                            entity: fan.the_office_ceiling_fan
                            name: Fan
                            vertical: true
                            tap_action:
                              action: toggle
                            hold_action:
                              action: more-info
                            hide_state: true
                            features:
                              - type: fan-speed
                          - type: tile
                            entity: light.the_office_ceiling_fan_light_and_switch
                            name: Fan Light
                            vertical: true
                            hide_state: true
                            tap_action:
                              action: toggle
                            hold_action:
                              action: more-info
                            features:
                              - type: light-brightness

As far as I know, there’s not a way to do a similar thing for fan state.