Investigating Rhasspy with MQTT to Assistant with Intentions

While Rhasspy had options for constructing sentences as well, I kept most of my commands straight forward.

My own constructed intent sentences and scripts are working fine (they don’t use any substitution)

I am looking at some of the intents at the moment and having some basic issues:

# Example config/custom_sentences/en/media.yaml
language: "en"
intents:
  SetVolume:
    data:
      - sentences:
          - "(set|change) {media_player} volume to {volume} [percent]"
          - "(set|change) [the] volume for {media_player} to {volume} [percent]"
lists:
  media_player:
    values:
      - in: "living room"
        out: "media_player.living_room_tv"
      - in: "bedroom"
        out: "media_player.bedroom_tv"
  volume:
    range:
      from: 0
      to: 100

I have tried the following in the intent_script file

as is in the config/custom_sentences/en/media.yaml

intent_script:
  SetVolume:
    action:
      service: "media_player.volume_set"
      data:
        entity_id: "{{ media_player }}"
        volume_level: "{{ volume / 100.0 }}"
    speech:
      text: "Volume changed to {{ volume }}"

When debugging the assist pipeline

en
Set living room volume to 5%
Sorry, I couldn’t understand that

metadata:
language: en-AU
format: wav
codec: pcm
bit_rate: 16
sample_rate: 16000
channel: 1
stt_output:
text: Set living room volume to 5%.

When omitting the percent which should be optional I get

en

Set living room volume to 5.
An unexpected error occurred while handling the intent

metadata:
language: en-AU
format: wav
codec: pcm
bit_rate: 16
sample_rate: 16000
channel: 1
stt_output:
text: Set living room volume to 5.

Also when I have tried to use
lists:
media_player:
values:
- in: “living room”
out: “media_player.living_room”
- in: “bedroom”
out: “media_player.bedroom”
volume:
range:
from: 0
to: 100

outside of the example configuration file I get an error regarding lists: Integration error: lists - Integration ‘lists’ not found.

Sorted with both error with media player being used and with the % [percent] being handled. Works well now without [percent] optional word.