Binary Contact Sensors Open/Closed instead of On/Off when using voice

I love talking to my home assistant setup. So far I have run into one quirk, I know why the quirk is there, I just need to figure out how to fix it.

I have binary contact sensors on some windows and doors. If I ask what the state of a door or window is, it will respond with on and off instead of open and closed. If I want to know if a door is open or closed, I have to ask if the door is on or off. Is there a way that I can set this up to use open/closed instead of on/off. It is not intutive for other users of my setup to ask on/off, they want to ask open/closed questons. Thanks in advance for the help.

Make sure your binary sensors have the correct device_class.

https://www.home-assistant.io/integrations/binary_sensor/#device-class

On my dashboards it is showing up correctly. If I go into the binary sensor and choose settings, under the show as section it is set as Door. I believe that is what is setting the device class now correct. I don’t think I have to create any yaml files to do that any more do I?

The place that the binary senor is not working as I would expect is when I try to use it with assist. Either asking what the state is or asking directly if the door conact is ???. In both of those situtations, it is using on/off not the open/closed.

Check what it says in the right hand column of Developer Tools → States for the entities.

Yep, I’m seeing the same thing even though all mine have the proper device class.
It leads to some interesting “conversations”.

window_assist

1 Like

Looks like an issue should be opened then (if there isn’t on already).

I can definitely do that. Where do I go to open an issue or check if one is open? I’ve not done that before. Thanks for the help.

It’s the conversation integration so here:

Perhaps a related data point: I have been provided a binary sensor (via an integration) of (according to dev tools) device class opening.

In the simple card, these show as closed. When using with a template eg states("binary_sensor.xxx_windows") I see off.