Set cover device type to "window" for Google Assistant

Hey team.

I have build windows that open and close with a stepper. They integrate to HA via MQTT and auto configure. I am connected to Google Assistant via the Nabu Casa cloud service. Everything is working ok except one thing.

Google Assistant sees my covers as the device type of “blind”. The issue with that is when I say open my blinds in the morning… my windows follow along and I get will get a very different morning to the one I was intending. I would love to be able to address the windows as exactly that… windows. Window is a supported device type https://developers.google.com/assistant/smarthome/guides/window and allows for locking, and setting percentages. It is exactly the device type I want.

Is there a way to set what device type an entity will have in Google Assistant?

In my config I have set "device_class": "window" and have even tried setting the "google_device_type": "window" as mentioned here Google_assistant_type in customize: but that had no effect and I can’t find any docs on that and assuming that is deprecated?

Love your help team. It is the last step in nailing these windows. Thanks in advance.

I am using Nabu Casa, I have had switches working fine for a long period. I have had a simpler second step goal, then yours, to get temperature sensors to be queryable from Google Home. This has been promised for a considerable period of time. I would try it every couple releases and would get rejected. I tried again here with 2020.12.01 and was surprised to see a little progress, I can now asked Google the temperature and get a correct answer vs. a reply of ‘I am having trouble communicating with …’ type response. That said, I am still far from thinking it is working. Right now, Google reports the temperature, however it does it thinking that it is a thermostat reporting. So it tells me the thermostat is off. Second, I have one sensor that Google will not deliver values for, just says ‘Sorry, it looks like that thermostat has not been setup yet, you can do that in Assistant settings’, even though I have three other identical sensors that Google and Home Assistant are making work, at least as thermostats…

Hope we see some progress on this.

Documentation is lacking, examples poor and two groups, Google and Nabu Casa that really have no support structure for these products. In contrast, I find the Homebridge to HomeKit amazingly robust, supported (at least by community) and growing functionality.

@pklitscher Did you ever figure this out? I’m having the same problem.

@ruhnowg Sorry for the delayed response. No, I have not yet solved this one. I have been busy with the build and haven’t got back around to the automation side. I’ll try to remember to post here if I do find a solution.

Hi @pklitscher I’m having the same issue with my Velux Active Hub that I integrated into HomeKit via the HomeKit bridge. The windows are recognized as covers.

Did you ever figure out how to change them to windows?

@pklitscher have you or anyone else figured this out?
I have this issue with Velux Active Hub.
Windows being covers and if I just want to open the covers google is opening the windows too.

Seems to be a simple fix in this PR adding in the curtain device class. Opened one for window.

@dproffer @ruhnowg @VeniceNerd @ZTHawk
Looping back to this it now appears the window device class is supported by HA. See Cover - Home Assistant.

Can confirm that I have set my windows to a device_class of window and Google Home treats them differently to my blinds. If I say open my blinds it only opens my window coverings. If I say open my windows it only opens my windows.

Great work on the PR mate, I saw it was merged. Thanks for fixing this for us.

In your playing with the code did you see anything about setting the open close trait to discrete in particular discreteOnlyOpenClose set to true (Cloud-to-cloud  |  Google Home Developers)? My windows have the position topics set and work with in HA but Google home reports that setting percentage is not supported by the device

I’ve pretty much given up on seeing tighter and better direct interaction between Home Assistant and Google Home. This work does not seem to be a priority by either group.

You might want to have a look at and track their progress around Matter handling of covers. Matter does seem to be place where most of the home automation hub companies are focusing, even though the progress is slow. I’ve not tried a cover device via Matter, however I have explored several other types of devices in Google, Home Assistant and HomeKit. Yes, it is a different route, in that you add your devices to each of your hubs and they sync on the backend. Also have a look at the interesting work Tasmota esp32 is doing in Matter, it is a very interesting way to create an ‘unsupported’ device that can be controlled in all four major ha hubs: HA, Amazon, Apple, Google via Matter. And have the device synced in all.

Good hunting!

@pklitscher
How to change the device_class? Is it the “Shown as” dropbox in the entity’s settings panel?
Just want to know for curiosity.
My windows have the device_class = window already set (maybe I have changed the the dropdown box long time ago).