Création module - Utiliser variable d'une sentence

#1

Bonjour,

Je développe une nouvelle version d’un module pour piloter le micro et hp du raspberry (ici https://github.com/nicoaugereau/gladys-alsamixer), et j’aimerais faire passer une variable dans la réponse. Je ne sais pas trop comment faire.
exemple : je demande à Gladys quel est le volume du hp, et elle me répond le volume du hp est à x%.

Dans mon fichier js j’y ai mis mis la fonction qui récupère l’info.

Comment faire passer cette variable entre le fichier js et la réponse Gladys ?

    "responses": [
                {
                    "uuid": "39324b62-7c50-4cfb-a2b6-9fa2ec073768",
                    "text": "J'ai mis le volume à %PERCENT% pourcent."
                }
            ]

Idem dans l’autre sens, “Mets le volume du haut-parleur à x%”

1 Like
[RESOLU] Création module - Créer box à l'install
#2

Je me répond à moi-même :slight_smile:

Donc c’est bon pour récupérer la valeur dans la réponse.

Par contre après avoir cherché je ne vois pas comment récupérer une valeur d’une sentence pour l’utiliser dans une action.
J’ai essayé avec les actions du core pour voir comment ça peut fonctionner, comme par exemple “Réveille moi demain à 8h00” mais Gladys ne reconnais pas la commande.

#3

Salut @naugereau,
Si je peux t’aiguiller il faut plutôt que tu regarde dans le dossier brain du core et plus particulièrement la fonction parse, c’est à ce moment là que la phrase qui va être retourné et mouliner en fonction des variables à remplacer.

C’est vrai que cela serai un plus de pouvoir ajouter une fonction parse directement au module pour des réponses liées à celui ci.

Donc faudra dans ton cas y ajouter directement dedans dans le core ta fonction.

#4

Hello.

Ah oui ! Ca me semble bien ça.
Je vais m’en inspirer.

Merci

#5

Bonjour,

Je voudrais récupérer une sentence qui est envoyée par Gladys Voice à Gladys, dans mon module pour la parser et exécuter l’action qui va bien. Mais je ne vois pas trop comment coder pour récupérer la sentence qui est passée par Gladys Voice.

Voilà ce qui passe aujourd’hui dans les logs, et je voudrais récupérer la sentence pour appliquer les 25% dans l’action de mon module :

1|gladys-v | Received sentence : mets le volume du haut-parleur à 25 %
0|gladys   | brain : classify : Identified label alsamixer;speaker-percent
0|gladys   | Getting conversation undefined, found 0 messages.
0|gladys   | Brain : answer : Answering with label speaker-percent in language fr-FR
0|gladys   | Brain : answer : Found 1 possible.
0|gladys   | Brain : answer : Trying to contact speak
0|gladys   | Using cache, file already exist
0|gladys   | Message sent with success with speak. Aborting the chain.
0|gladys   | brain : classify : Answered in 0s, 229.218 ms
1|gladys-v | [{"message":{"text":"mets le volume du haut-parleur à 25 %

Le parser Gladys ne me permet pas de traiter le % de la sentence, donc il faut que je le parse dans mon module.
J’en aurais besoin sans doute pour plus tard pour d’autres utilisations, comme par exemple fermer/ouvrir les volets à 20 %.

Tu sais surement @pierre-gilles