Hampton Bay fan, Nabu Casa+Google Assistant, changing fan speed broken in 2021.7.1?

I’ve been using a Hampton Bay fan w/built in Zigbee since before the pandemic. I am using the built in ZHA integration. I wanted to mess around with zigbee2mqtt, so using a separate Zigbee USB stick I spun it up, removed the fan from the ZHA integration and tried letting zigbee2mqtt discover it. It wouldn’t pair with zigbee2mqtt and the new adapter, so I bailed back to ZHA for the time being.

The issue is that the fan always gave 6 speed options in HA, on|auto|smart|low|med|high. Now when paired with ZHA it only shows on|auto|smart. This isn’t ideal since we generally set the speed to our liking using low|med|high. Even weirder, the slider for the fan in HA will let me set the speed to low|med|high, which works fine via the HA app/web page.

I also use Nabu Casa to control the fan through the Google Assistant. Asking Google to change the speed to low|med|high just results in Google responding “Sorry, I don’t understand”.

I reverted HA to 2021.6.6 and setting the speed via Google Assistant works fine. Upgrading back to 2021.7.1 breaks it.

Has anyone else noticed this? I want to make sure I’m not crazy before I raise an issue on github.


My guess is it’s part of the latest “improvements” :roll_eyes: in the fan entity implementation.

on 2021.7 try telling Google to set the speed to 33%, 66% or 100% and see if that works.

there was a big push to get rid or named speeds for the people who couldn’t use them because their fans only supported percentages or modes.

But now they seem to have broken the named speeds for everyone else who would prefer to use those instead.

Just to clarify…I haven’t tested this so I’m only speculating based on prior (extensive?) interactions with this topic.

If you could test it and let us know that would be helpful.

1 Like

Yeah that must be it. using those specific % values works.

hopefully that change can be reverted to some extent to allow using both high|med|low and %, though I can imagine some challenges. maybe allow us to define the % for high|med|low so the user can map them to % that will work for their specific fan.

anyway thanks for following up

Not likely.

I’ve tried to get it reverted and tried to get them to support both but I’ve been shot down.

I think it’s asinine to require people to change to saying percentages when 1 - people have been using speeds forever even before home automation was thought of and 2 - it’s not natural language to use percentages when thinking of speeds. Hence, why pretty much every multi-speed fan with distinct speed settings uses words to describe speeds and not percentages.

I just don’t get this decision.

1 Like

I agree with you. Something this counter-intuitive seems like it would hinder adoption in some homes. I don’t feel like digging into it at the moment, but maybe there is a workaround to be had through automations or a routine in Google Assistant.

1 Like

The change was probably so that they could support more that 3 speeds. A lot of new fans (especially DC ones) have more than 3 speeds, i have seen some with 6 or more, not sure how they could ad names to each speed for them

I get why they added the ability to use percents to accommodate fans with more speeds.

I don’t get why they decided to break others fans just to accommodate those others.

the original change to percents/modes was made a couple releases ago but the ability to use the named speeds and percent speeds/modes peacefully coexisted during that transition.

So I don’t get why they couldn’t continue to coexist and support both fan models at the same time?