Can't get Fan to show up in Google Assistant - OH3 Metadata

I’ve got multiple switches showing up no problem in Google Assistant, but can’t seem to get a fan to show up. Here’s my current Metadata:

value: Fan
config:
ordered: true
roomHint: Family Room
name: Family Fan
speeds: 0=off:zero,1=low:one,2=medium:two,3=high:three
lang: en
structureHint: Lamp Post


I recently updated from OH2.4 to OH3. In OH2.4 I had come up with a work around of 4 separate switches and rules for the fan to respond correctly to those switches (High, Med, Low, Off). I was able to setup the same workaround in OH3, but I’m intrigued that this metadata fan option would work instead.

This thread is the most useful post I’ve found, but not sure it fully applies for OH3 and the UI metadata config. This thread is specific to OH2.5, but looks like it shows this “should” be possible.

Nothing has changed about the Google Assistant tagging. Create a dimmer item (not a switch), then tag it as a fan and add the speeds. I think the problem might be with the speeds you’ve defined. The first part of each speed should be percentage, not integer.

speeds: 0=off:zero,30=low:one,50=medium:two,100=high:three

I’ve tried it both ways already. Doesn’t seem to make a difference. The second thread I linked used 1-4, while the first suggested 0-100 like you. I think the UI Metadata config in OH3 isn’t working as intended. There is no dimmer option there. There is fan or light. I also tried creating the item by a textual definition using dimmer as described in the second thread I linked from OH2.5, but wasn’t successful either.

I just added an item, connected it to Google Assistant as a fan, and controlled it with my voice, so I think it’s premature to assume that there’s a problem with the system. You haven’t detailed your steps, so let’s back up and make sure you’ve got all of the them covered.

  1. Create an item. It must be a dimmer.
  2. Add Google Assistant metadata, with Fan as the class. I’ve copied the speeds exactly as they appear in my previous post.

  1. Touch the item to initialize it. If the value is NULL, Google Assistant will find it when you synchronize devices, but will think that it can’t connect properly since there’s no state.
  2. Synchronize Google Assistant. The new item should show up in the app.

Note that you can’t control the speeds via the phone app. Google Assistant only allows speed control by voice or a GA display (e.g. Nest Hub).

Appreciate the detailed response Russ!

I have been using a number item. When you said use a dimmer I thought you were referring to the google assistant class. I got the terminology confused.

I was able to replicate what you’ve described, and it does work with 0-3 the same as 0-100. The value set in the dimmer item is just much lower.

Unfortunately it doesn’t look like the dimmer item works for the insteon binding “thing” I have set up. It seems to only work with a number. I’ll have to look into other workarounds.

I actually thought that you might have misunderstood me, but figured it wouldn’t hurt to go through the whole process.

Your thing doesn’t care what kind of item it’s connected to, so long as the state commands are in the right format. Your log should show you what states the Insteon thing reports. If those aren’t numbers between 0-100, you’ll need to do a conversion.

Hello,
Have you implemented the rest of the options of a My Smart Fan Standing 2?
Fan Mode, Fan horizontal swing …

I only find the option of speed, setting metadata for google assistant.
Would it be necessary to create a group so that all the controls appear in a single google home card?

thanks

I’ve never even heard of a My Smart Fan Standing 2, so I have no idea what controls it has.

Per the documentation, these are the only supported traits.

I am currently working on an advanced fan implementation that also supports modes that might help you with your case.

2 Likes