TAG envoyé par rhasspy en Mqtt

Bonjour,
je me permet de poster mon pb ici
J’ai un serveur jeedom depuis 5ans avec une tablette sous android et fullykiok qui me permet d’interagir. Aujourd’hui, j’ai installé sur un NAS : rhasspy en tant que maitre et la tablette android avec API rhasspy en satellite.

L’ensemble fonctionne bien si ce n’est que je n’arrive pas a communiquer avec le plugin jeerhasspy mais ceci est surement du au fait que je n’arrive pas avoir le satellite sur la tablette. J’utilise donc un protocole Mqtt et cela fonctionne bien pour avoir des commandes simples, « qu’elle heure est il … »

Maintenant je voudrais interagir avec des slots comme indiqué sur le site :Archives des Rhasspy - Coxprod DIY

j’ai bien tout lu, créé un slot pour mes pieces appelé « pieces »,
une sentence :
[GetTemperature]
quelle est la température [(du | de l’ | de la | des | dans l| dans la | dans le) ($pieces){house_room}]

Mais à présent, je n’arrive plus a récupérer le tag de ma piece pour lancer le scenario approprié.

Je joins mon entent JSON :

 {
    "intent": {
        "name": "GetTemperature",
        "confidence": 1
    },
    "entities": [
        {
            "entity": "house_room",
            "value": "cuisine",
            "value_details": {
                "kind": "Unknown",
                "value": "cuisine"
            },
            "raw_value": "cuisine",
            "start": 32,
            "end": 39,
            "raw_start": 32,
            "raw_end": 39
        }
    ],
    "slots": {
        "house_room": "cuisine"
    },
    "text": "quelle est la température de la cuisine",
    "raw_text": "quelle est la température de la cuisine",
    "tokens": [
        "quelle",
        "est",
        "la",
        "température",
        "de",
        "la",
        "cuisine"
    ],
    "raw_tokens": [
        "quelle",
        "est",
        "la",
        "température",
        "de",
        "la",
        "cuisine"
    ],
    "wakeword_id": null,
    "siteId": "base",
    "sessionId": "64966e2f-ae2c-4ac1-8aab-25992f4d1471",
    "customData": null,
    "wakewordId": null,
    "lang": null
}

Lorsque je lance une commande qu’elle est la temperature de la cuisine, je recois en log sur mon Qmtt:

[2023-02-12 17:44:27][INFO] : Cmd #[Aucun][Rhasspy][GetTemperature]# <- {"input": "quelle est la température de la cuisine", "intent": {"intentName": "GetTemperature", "confidenceScore": 1.0}, "siteId": "base", "id": "7ce289fc-7f02-466f-8a9f-4a871cfd8990", "slots": [{"entity": "pieces", "value": {"kind": "Unknown", "value": "cuisine"}, "slotName": "house_room", "rawValue": "cuisine", "confidence": 1.0, "range": {"start": 32, "end": 39, "rawStart": 32, "rawEnd": 39}}], "sessionId": "7ce289fc-7f02-466f-8a9f-4a871cfd8990", "customData": null, "asrTokens": [[{"value": "quelle", "confidence": 1.0, "rangeStart": 0, "rangeEnd": 6, "time": null}, {"value": "est", "confidence": 1.0, "rangeStart": 7, "rangeEnd": 10, "time": null}, {"value": "la", "confidence": 1.0, "rangeStart": 11, "rangeEnd": 13, "time": null}, {"value": "température", "confidence": 1.0, "rangeStart": 14, "rangeEnd": 25, "time": null}, {"value": "de", "confidence": 1.0, "rangeStart": 26, "rangeEnd": 28, "time": null}, {"value": "la", "confidence": 1.0, "rangeStart": 29, "rangeEnd": 31, "time": null}, {"value": "cuisine", "confidence": 1.0, "rangeStart": 32, "rangeEnd": 39, "time": null}]], "asrConfidence": null, "rawInput": "quelle est la température de la cuisine", "wakewordId": null, "lang": null}

j’ai bien un slots « house_room »: « cuisine » qui est envoyé mais je n’arrive pas récupérer cette info pour sélectionner l’action à faire dans mon scenario.

Il est clair que je ne maîtrise pas les tag, il m’a semblé comprendre que le fichier JSON envoyé par rhasspy contient deja un certains nombre d’info qu’il est possible de récupérer et de traiter en fonction.

J’ai passé beaucoup de temps sur ce nouveau projet vocal mais la je sèche, merci de votre aide.

Je me réponds, suite aussi a ce fils :

et celui là :

J’ai remonté les commandes du rhasspy de base avec le plugin jMQTT, j’ai crée les commande info à la main des Slots qui intéressent pour chaques « sentences » afin de pouvoir les traiter dans mes scenarios.

Ça demande un peu de temps mais cela fonctionne très bien si cela peut servir à quelqu’un.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.