I'm noticing whenever I try any of the volume sentences, they aren't recognized correctly despite me saying and typing them correctly according to the sentences for this intent in the repo at https://github.com/home-assistant/intents/blob/main/sentences/en/media_player_HassSetVolume.yaml. When I test in assist debugger they are being recognized as HassSetPosition instead of HassSetVolume.
#HassSetPosition conflicts with HassSetVolume
1 messages ยท Page 1 of 1 (latest)
Hi, it would help a lot with identifying the problem if you paste the debugger results ๐
There's some sentences i can get to work if I'm very precise, but some of the ones that should work from what is defined seem to overlap with other intents a bit i guess
Like this one seems to work:
Looking closer at the sentence definitions, part of it may just be missing optional words
Like if i said "the kitchen hub" i think that would fail. Likewise i tried area like "set the volume to 50% in the kitchen" and that failed, but if i omit the word "the" then it works
Seems to parse wrong though:
This is doing a strict word match with the template, and filler words like 'hub' are also causing issues during processing.
For me, "set the volume to 50% in the kitchen" works without any issues.
The key point of the error logs is to make them visible ๐ it's worth copying the text below.
Q: set the volume to 50% in the kitchen
intent:
name: HassSetVolume
slots:
volume_level: 50%
area: kitchen
details:
volume_level:
name: volume_level
value: 50
text: 50%
area:
name: area
value: kitchen
text: kitchen
targets:
scene.konyhai_lampa_kek:
matched: true
scene.konyhai_lampa_ejszakai_mod:
matched: true
scene.konyhai_lampa_fenyes:
matched: true
scene.konyhai_lampa_kek_alacsony_feny:
matched: true
light.sonoff_kapcsolo:
matched: true
switch.sonoff_1000d1a38c:
matched: true
switch.sonoff_1000d1a38c_led:
matched: true
switch.sonoff_1000d1a38c_pulse:
matched: true
number.sonoff_1000d1a38c_pulsewidth:
matched: true
light.lampa_fali_konyha:
matched: true
device_tracker.esp_dc407a:
matched: true
match: true
sentence_template: (<numeric_value_set> the volume to <volume>;[in] <area>)
unmatched_slots: {}
source: builtin
Well hub isn't a filler word the device is literally named "kitchen hub" ๐
But there's no error, it's just not matching right. Did the exact same thing as you with an area also named kitchen, and i get a different result.
Q: Set the volume to 50% in the kitchen.
intent:
name: HassSetPosition
slots:
position: 50%
area: kitchen
domain: cover
details:
position:
name: position
value: 50
text: 50%
area:
name: area
value: Kitchen
text: kitchen
domain:
name: domain
value: cover
text: ''
targets: {}
match: false
sentence_template: >-
(<numeric_value_set>|<open>|<close>) [the] {cover_classes:device_class}
[position] (to <position>;in <area>)
unmatched_slots:
device_class: 'volume '
source: builtin
The problem is interesting, I hope someone tomorrow will shed light on the issue I'm not noticing. ๐
Now I'm also curious why the word "volume" becomes "device class" for you.
In the meantime, I renamed one of my devices to "kitchen hub," and it runs without any issues.
q: Set the kitchen hub volume to 50%
intent:
name: HassSetVolume
slots:
name: kitchen hub
volume_level: 50%
details:
name:
name: name
value: kitchen hub
text: kitchen hub
volume_level:
name: volume_level
value: 50
text: 50%
targets:
media_player.mediaserver:
matched: true
match: true
sentence_template: <numeric_value_set> <name> volume to <volume>
unmatched_slots: {}
source: builtin
Yeah, bit perplexed myself ๐
I also don't have any devices that are in the cover domain, so interesting it even tries to fire this ๐ฒ
And as a side question, is the "kitchen hub" entity exposed to Assist? And is that its exact name? Or is it possibly set as an alias?
You can check this in the Settings -> Voice Assistants -> Expose menu.
Yup, definitely exposed ๐
The name works for other commands like pause, next track, etc. just volume that is the troublesome one lol.
I actually just figured out what was happening here