Migrating from Smartthings - Fans showing as Lights in Google

Good Morning,

I just purchased a Hubitat C7 hub to move over from Smartthings and have moved over a couple of my devices to test. We use Google Assistant quite a bit in our home to the integration has to work well.

I moved over 1 fan and 1 light and found that Google Assistant is showing the fan as a light. I know in Smartthings this used to be an issue until I figured out that the following change needed to be made in the Smartthings IDE:

> You will need to log into the Smarthings IDE site and select your device and choose Edit.
*> *
> Once you are in the Edit screen, the top line is Name. If this value doesn't mention Fan anywhere, then you will need to change it. I have "GE In-Wall Smart Fan Control" entered in that field without the quotes.

Trying to find out if there's something similiar I need to do for direct integration from Hubitat to Google Assistant? I saw some threads about a work around by creating my own Google Project, but I was hoping for a more direct solution.

Thanks in advance.

Get google community from the Hubitat package manager. I believe that allow it to work as a fan to google or you can try jhamstead/zwave-fan-control.groovy at master · jhamstead/jhamstead · GitHub and install it as the driver for the fan switch,

I get the following error when trying to import the driver:

unable to resolve class physicalgraph.zwave.commands.basicv1.BasicReport @ line 107, column 17. unable to resolve class physicalgraph.zwave.commands.basicv1.BasicSet @ line 116, column 17. unable to resolve class physicalgraph.zwave.commands.switchmultilevelv1.SwitchMultilevelStartLevelChange @ line 125, column 17. unable to resolve class physicalgraph.zwave.commands.switchmultilevelv1.SwitchMultilevelStopLevelChange @ line 130, column 17. unable to resolve class physicalgraph.zwave.commands.switchmultilevelv1.SwitchMultilevelSet @ line 134, column 17. unable to resolve class physicalgraph.zwave.commands.switchmultilevelv1.SwitchMultilevelReport @ line 143, column 17. unable to resolve class physicalgraph.zwave.Command @ line 154, column 19. unable to resolve class physicalgraph.zwave.commands.configurationv1.ConfigurationReport @ line 215, column 16. unable to resolve class physicalgraph.zwave.Command @ line 223, column 17.

What fan switch is it you moved?

It's a GE Z-wave Fan Controller - 14287

use google community from HPM then. It will work better in the long run

There may be a few other changes to the jhamstead/zwave-fan-control.groovy driver, but a minumum all references to physicalgraph will need to be replaced with hubitat if you want to use it.

So I got the Google Home Community app installed and working. However the fan that I added to it is showing up weird in Google Home and not showing any controls. Also my Google Assistant won't do anything when I try to tell it to turn on the fan.

I must be doing something wrong that I'm not quite sure about.

I tried to attach screenshots, but apparently I don't have those permissions yet in the community.

Here's what my working fan definition looks, for reference:

Do any other devices defines with the Community App work properly?

Alright, I'm making some progress...

I forgot the On/Off trait, I just had the Fan Speed trait. I can now turn the fan on/off from the app but there is no speed control there.

Also, normally, I have the device added to the correct room in the app so I can just say "Hey google, turn on fan" instead of saying the full device name. However, using that command turns on all of my fans in the house whereas it didn't used to in the past with the Smartthings integration.

Sorry for all the questions, and thanks for the quick help!

Any tips on how to get the actual speed controls and how to get Google to properly turn on the correct fan when using a Google Hub?

You could create a virtual switch(s) on hubitat that turns the fan on at what ever speed and then one to turn fan off and expose them to google. That way you say to google "fan medium on" and it activates that switch. Then say Fan off and regardless on the fan switch you turn on it will turn the fan off.

Thanks for the suggestion. Honestly, I'm more interested in just being able to say "Hey google, turn on fan" or "Hey google, turn off fan" without saying the whole device name if it's a device that's in the same room as the Google Hub. This worked fine with Smartthings, but doesn't seem to work with Hubitat. The fan speed thing is not really that big of an issue since we usually leave it on high. It'd be nice to control, but not that big of a deal.

Also, I already did this whole Google Home Community work around to get the fan to show up, now you're saying I'd have to create virtual switches as well? It seems I'm having to go through a whole bunch of workarounds to make something simple function the way it should. While I'm not opposed to tinkering and coming up with ways to get things to work, this seems like way too much effort for something that should be a built in experience.

Virtual switches are part and parcel for home automation. That said just make go virtual switches. One for off, one for on. Set the on one for what ever speed. That said I'm more of an automation person. The less I have to deal with anything the better. For my fans, it's simply based on temperature and humidity and they go on and off S needed. Same with bathroom fans or just about anything in my house.

Google doesn't know about the rooms you create in Hubitat. You'll need to setup the rooms in Google Home and add it to the room via the Google Home app.

Virtual switches should not be necessary to get this to work the way you'd expect. I have 4 fans set up in Google Home via Hubitat. Each one of them is assigned to the proper room in the Google Home app. Below is an example of what this looks like in the app:
If I am in the office, talking to the Office Speaker, I can say "Turn on the Fan", and it will turn on the Office fan to the last speed it was set to. If I say "Turn on the Bedroom Fan" on the Office speaker, it will turn on the Bedroom fan only. I can also say "Set the Office Fan to Medium" and it will turn the Office fan on and set it to Medium speed. You cannot control the fan speed from the Google Home app, but you can do it from a Nest Hub (different UI). In general, if you are using a Google Assistant unit assigned to the same room as the device you are trying to control, it will assume that's the one you are talking about if you do not specify a room name in the command.


This is exactly how I have mine setup. I have the Fan labeled Living Room Fan and placed in the Living Room in the app. My Nest Hub is also in the Living Room in the app. When I say "turn on fan", it turns on all 10 of my fans in the house. If I say "turn on fan" in any one of my other rooms where the switches are connected to Google Home through Smartthings, it turns on just that fan like it should. It seems like either I'm doing something wrong or something isn't translating properly.

I have added the fan I want to the Google Home Community app, added the on/off trait and the speed trait and then connected it to Google Home and placed it in the correct room. I even did a "sync my devices" through the Nest Hub.

I'm at a loss. I also can't upload screenshots yet, so I can't prove that my setup is correct as I'm stating.

So one particular Nest Hub is turning on all the fans in the house, both Hubitat AND Smartthings connected? If you remove the Hubitat Community App connection from Google Home, do the other 9 Smartthings connected fans not go on?

So I've only moved over 2 devices out of 120 over to Hubitat so far. The rest are still on Smartthings.

2 Hubitat devices:
Living Room Light
Living Room Fan

Living Room:
Living Room Light added to Google Home through the built-in app
Living Room Fan added to Google Home through Google Home Community app with the on/off trait and the speed trait

Nest Hub located in Living Room and in Living Room in Google Home app
Both devices (fan and light) added to Living Room in Google Home app

If I'm in the Living Room and I say "Turn on Light," it turns on the Living Room Hubitat controlled light as it should.
If I'm in the Living Room and I say "Turn on Fan," it turns on all 10 fans in my house instead of just the 1 Living Room Hubitat controlled fan that it should be turning on.

Master Bedroom (example), but this applies to all the rest of the rooms in my house:
Master Bedroom also has a Nest Hub, Light, and Fan, but these switches are connected with Smartthings and the Google Home integration through there.

If I'm in the Master Bedroom and say "turn on light," it turns on just that 1 light as it should.
If I'm in the Master Bedroom and say "turn on fan," it turns on just that 1 fan as it should.

I hope I explained that clearly.

Any additional help with this? I need this to work for the rest of my family to be happy with the switch. If I can't get this simple function to work properly then I'm going to have to send this hub back.

Download the Hubitat app