-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When an intent requires a name
and an area
, we do not search for the name
in the area
, we search the name
globally.
#109868
Comments
Hey there @balloob, @synesthesiam, mind taking a look at this issue as it has been labeled with an integration ( Code owner commandsCode owners of
(message by CodeOwnersMention) assist_pipeline documentation |
Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration ( Code owner commandsCode owners of
(message by CodeOwnersMention) conversation documentation |
Possibly related to #109792 |
Possibly related to #109808 too |
I've figured out what's happening: I changed the building of slot lists for hassil to pass in entity id as well as entity name. This had an unfortunate consequence of possibly picking the wrong entity when they were named the same because hassil only gets the first matching candidate from a list. |
The problem
Context
Some users have different devices with the same name, or same aliases in different areas.
A very common example would be an "Overhead light".
Because they are in different areas, we can target them by voice by specifying the area, if the intent supports it, and if the sentence exists.
A few translations to understand the examples below for non-french speakers.
"Overhead light" is called "Suspension" in French.
All my examples will be related to turning on overhead lights in different areas
Previous behavior
Note: I just restored
core-2024.1.6
to validate it was working before.Before this beta, if a user had multiple entities sharing the same alias (or name) located in different areas, it was possible to target the correct one by voice by specifying the area (if the intent supports it, and if the sentence exists)
As shown here:
Here is what the assist dev tool shows when targeting different overhead lights in different rooms, the target is correct, it's the correct light in the correct area.
turn on the overhead light in the office
turn on the overhead light in the entryway
turn on the overhead light in the bedroom
Current behavior.
It looks like the name matching is now done before the area filtering.
This leads to an unwanted behavior:
If a user had multiple entities sharing the same alias (or name) located in different areas, then regardless of the area in the input of the sentence, the same entity will be targeted.
For example, the "first" overhead light in my system found is in the entryway - So only the sentence targeting the entryway works, as shown here:
(Note: The first response is
Sorry, I did not understand that
)Here is what the assist dev tool shows when targeting different overhead lights in different rooms.
turn on the overhead light in the office
turn on the overhead light in the entryway
turn on the overhead light in the bedroom
What version of Home Assistant Core has the issue?
core-2024.2.0b9
What was the last working version of Home Assistant Core?
core-2024.1.6
What type of installation are you running?
Home Assistant OS
Integration causing the issue
assist_pipeline
Link to integration documentation on our website
https://www.home-assistant.io/integrations/assist_pipeline/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: