Custom Device Classes for Voice Assistant - not recognised

I’m trying to setup a custom device class for my voice assistant, but it looks like its not picked up for sentence parsing. What I found is that this would be a “list” and its supported for custom sentencing.

According to the guide, I created the file in homeassistant/custom_sentences/en/device_classes.yaml and rebooted HA

language: "en"
lists:
  cover_classes:
    values:
      - in: customclass
        out: blind

Now when parsing sentences via the dev-tools,
this works:
“open blinds in living room” and it recognises the blinds and would open them.

whereas “open customclass in living room” just falls back to a scene which is then unrecognises of course.

What am I missing?

What in that guide suggests you can invent your own device classes? Afaik custom device classes is a feature request that was not implemented so far.

The way I read it the lists allow to create alternate names for existing entities of an existing device class.

In the _common.yaml on github, device_classes are handled as lists
And in the guide, lists are supported, also according to the conversations guide

Moreover, this is used for various translations into other languages, so I thought it should be picked up locally too? The above is just an example, I’m speaking dialect of another language and just call the blinds differently, so I wanted to give them “my” name. Of course, I can give the devices a name but it would be easier, to give the device_class a new name.

Ok, it turns out it depends a bit on the language.
In English, there is one name for the domain “cover” and the parser also requires a device class.
The solution above is the correct solution to translate any given name you desire for English.

However, in German for example, there are various names for cover (abdeckung). In that case, I could solve the issue by adding an expansion rule which extends the existing code with my own word.

existing code:

abdeckung: "[(das|die|der|den) ](Rollo[s]|Abdeckung[en]|Roll[l](a|ä)den|Jalousie[n]|Raffstore[s]|Markise[n]|Vorh(a|ä)ng[e]|Beschattung[en])"
alle_abdeckungen: "<alle> (Rollos|Abdeckungen|Roll[l](a|ä)den|Jalousien|Raffstores|Markisen|Vorhänge|Beschattungen)"

I created this additional specifictranslations.yaml file in custom_sentences/de according to the guide (see above) and can now open all covers with my specific domain name “Storen”.

language: "de"
expansion_rules:
  abdeckung: "[(das|die|der|den) ](Store[n])"
  alle_abdeckungen: "<alle> (Storen)"

Tested it with the sentence parser - works!
BTW, reloading the yaml config is enough, a restart of HA is not required.