Slots section in intent json empty

Hi all,

since a few weeks I have a working rhasspy setup and I’m trying to build my own software to do the actual intent handling. Because of that I use the websocket api to recieve the intents. It all works, so far so good.

In the documentation I read that an Intent should contain the matched slots. For me, the Slots section is always empty though. Is there any special configuration I have to do to get it to work? Does it only work with certain intent recognizers?

Any help would be greatly appreciated.

Sentence:

[TurnLightsInRoomOnOff]
turn $rooms lights $light_state

Slots:

"light_state": [
    "on",
    "off"
],
"rooms": [
    "guest room",
    "living room",
    "backyard",
    "dining",
    "attic",
    "landing",
    "kitchen",
    "study"
]

Example intent on websocket connection:

{'text': 'turn living room lights on', 'intent': {'name': 'TurnLightsInRoomOnOff', 'confidence': 1.0},
'entities': [], 'raw_text': 'turn living room lights on', 'tokens': ['turn', 'living', 'room', 'lights', 'on'],       
'raw_tokens': ['turn', 'living', 'room', 'lights', 'on'], 'speech_confidence': 1, 'slots': {}, 'wakeId': '',
'siteId': 'default', 'time_sec': 0.18547344207763672}

my sentence example:

[PLCBUS]
on = (ouvrir | monter | allumer | ouvre | allume )
off = (fermer | descendre |éteindre | ferme | couper )
stop = (stop | arrête | stopper)
type = (volet | prise | sèche serviette| portail)
((){action:ON}|(){action:OFF}|(){action:STOP})(ce|le|la) [de] [(du | de | mon | ma | la )] $piece{location}

return=
“slots”:
“action”: “OFF”
“location”: “cuisine”

…with OpenFST ok, but not with Fuzzywuzzy

Hi kookic,

thanks for your answer. Your example is a bit advanced, so it took me a while to understand what I had to do.

For anyone who runs into this issue in the future, you can “define” the slot parameters in your sentence:

[TurnLightsInRoomOnOff]
turn $rooms{room} lights $light_state{state}

That will result in this:

1 Like