Window being treated as a blind by google home integration

Hi,
I have a load of blinds controlled via RFXcom, along with a window controlled via a command line cover, with device-class window.

I also have google home integration enabled.

When I request “open all blinds” the window also opens…

Is there a way to explicitly identify the window to google home as type window, not type blind?

Cheers!

I am not sure if there is a device type as window but you can overrode your windows device class with something else switch? maybe.

Unfortunately not - the window is actually a command line cover, with device class set to window - which in theory Google understands. The other device_classes allowed are things like doors, curtains etc

At some level HA understands the blind/window distinction, as it is automatically given a window icon…although so too are my RFXComm controlled blinds - so I may be reading too much into that!

I’ll keep investigating!

Its because right now all of those things are ‘covers’ of device_class ‘window’. (all my shades (Graber/Somfy - ZWave) currently show as window as well bug i dont have an actual mptorozed windows so its not an issue.

Id try forcing the device_class on your blinds to something else, ‘not window’… There are classes for both ‘blind’ ans ‘shade’ available - although shade seems more fitting. I’d try one and see if it changes Googles behavior.

If it doesn’t, you noe have similar devices using two different device classes you’d have to take up how Google is handling the shade device class oncs its passed to them.

You can customize any device class in the customize section of home assistant.

1 Like

Thanks.
Forcing the device class seems to have resolved the local icon issue (though the icons do not change between closed and open - that is a very minor thing indeed)

All devices though appear to google as blinds - so perhaps the distinction between cover types is not implemented by the google home integration?

More than likely: Google home doesn’t recognize anything other than blinds. I’d start there first.

That was my first thought - however there are distinct types listed here:

However, what I am less sure of is how this list expanded over time. It may well be that it has expanded in advance of the integrations that use it

What if you just don’t expose to Google?

That would certainly do it - though it would also mean I couldn’t control the window if I wanted to. But this is very much a first world problem!

Looking at the code, it supports all those types. So if it’s not distinguishing them, it’s on googles side.

DEVICE_CLASS_TO_GOOGLE_TYPES = {
    (cover.DOMAIN, cover.CoverDeviceClass.GARAGE): TYPE_GARAGE,
    (cover.DOMAIN, cover.CoverDeviceClass.GATE): TYPE_GARAGE,
    (cover.DOMAIN, cover.CoverDeviceClass.DOOR): TYPE_DOOR,
    (cover.DOMAIN, cover.CoverDeviceClass.AWNING): TYPE_AWNING,
    (cover.DOMAIN, cover.CoverDeviceClass.SHUTTER): TYPE_SHUTTER,

Edit: you may have to delete and rediscover the device after making the change too

1 Like

Thanks - I might give that a go. In this case, the integration (RFXTrx) does not support discovery of this device type (RTY blinds) - so they were added manually by providing the relevant codes through the UI - but I can give that a try.

In the meantime it is working, even if all the window and blinds are the same to google!

Hi @Ben_Barker how did you force the device class of your “covers” to “windows”? I’m having a similar issue. Home Assistant has classified my velux skylights as covers and I want to force them to windows.

Hi - I set the device class in configuration.yaml

However, I still found that Google home would open the window when I asked it to open blinds, so in the end I cheated and stopped exposing the window to google

Reference this curtain PR and it seems like a simple fix. Here’s the PR adding in the window device class.