[Plugin Tiers][Sujet Principal] JeeRhasspy

petite question … mon jeedom est configurer pour n’importer que les intents qui ont Jeedom dans le nom. Dans ton exemple je dois donc renommer [repeat] par [repeatJeedom] … C’est peu etre là mon erreur sur ma l’intent [GetAskResponseJeedom].

Bonjour olico et kiboost.
Déjà je remercie vraiment tous les membres de ce forum JeeRhasspy et surtout évidement Kiboost pour tout le travail effectué (en fait on te trouve partout). Sans vous tous j’aurai pas fait grand chose seul. Alors vraiment sincèrement Merci a tous.
Merci Olico d’avoir repousser le sujet de la fonction ASK. Pour ma part et je pense que ça peut en aider certain j’ai percuté ce WE. En fait j’avais pas de retour, tout simplement parce que je n’avais pas rediriger (callback) l’intent YesNo (donné en exemple) sur le scenario que je testai. Je sais pas si je suis très clair alors pour faire court:
J’ai un scenario d’ouverture et fermeture de volet déclenché par un intent tout simple:

[OuvrirFermer]
action = ( ouvre | ferme )
object = (volet)
room = (salon | salle à manger)
(){action} [ le | les ] (){object} [ du | de la] (){room}

dans ce scenario je voulais tester la fonction ASK donnée dans la doc de Jeerhasspy avec la question « voulez vous vraiment fermer/ouvrir les volets ». avec la réponse YesNo.
Le pb c’est que l’intent YesNo n’était pas redirigé (callback) vers ce même scenario.

c’est chose faite et j’ai maintenant un retour.
Il faut de temps en temps poser le cerveau et miraculeusement tout devient limpide.

Sorry c’est l’intent [GetAskResponseJeedom] et non YesNo qui est le Slot

Merci Pat974 pour ta précision, mais je ne comprends pas pourquoi tu dois rediriger l’intent vers le même scénario.

Ta méthode fonctionne peut-être sur 1 scénario, mais comment tu fais si tu a 3 scénario différents ? Tu ne peux pas faire 3 callback sur 1 intent ?

Y a quelque chosequi m’échappe !

Hello @Pep,
Ta solution m’interesse, pour faire baisser un peu la charge de mes satellites. Mais je ne trouve rien sur le forum Rhasspy a ce sujet. Pourrais-tu me donner la commande pour désactiver le serveur http? Merci

Ah et sinon, j’ai configuré les satellites pour utiliser Mqtt du master, mais quand je pose une question sur un satellite, j’ai la réponse vocalisée 2x systématiquement. Qu’est-ce que j’ai fait de travers?
La config SAT :


La config master :

Merci :slight_smile:

Pour désactiver le serveur http sur une image docker, il faut utiliser le commutateur --noweb-server. :wink:

2 « J'aime »

bonjour @Tarlak, je vais me lancer sur rhasspy bientôt, je voudrais savoir si tu as pu récupérer tous tes slots et intents de snips, et si oui comment? C’est encore possible depuis la fermenture de la console?
merci!

Non perso je n’ai rien récupérer, j’ai refais à la main tout mes intents, c’était plus pratique pour moi ça ma permis d’optimiser mes intents

Concernant le Ask je viens de re-re-tester et aucun soucis de mon coté, avec le master ou un satellite.

Dans Rhasspy:

Slot YesNo

( oui | ouais | yes | bien sûr ):oui
( non | mais non | surtout pas | nan ):non

intent GetAskResponseJeedom

[GetAskResponseJeedom]
bien sur que ($YesNo){YesNo}
mais ($YesNo){YesNo}
surtout pas (:){YesNo:non}
bien sur (:){YesNo:oui}
($YesNo){YesNo}
oui{YesNo:oui}
non{YesNo:non}

intent ModeJeedom
[ModeJeedom]

# Mode alarme
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} ( partiel | partielle){mode_type:partiel}
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} (off){mode_type:off}
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} (total | totale){mode_type:total}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] ( partiel | partielle){mode_type:partiel}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] (off){mode_type:off}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] (total | totale){mode_type:total}

Dans le plugin:
intents

L’intent GetAskResponse n’a pas de callback, il est géré par la fonction Ask.
Pour la petite histoire, la fonction ask appelle une fonction dédiée du plugin qui:

  • Fait un listen-for-command à rhasspy
  • Récupère la réponse de rhasspy et compare l’entity pour récuperer le slot. Si c’est bon, c’est bien une réponse de Ask, et il set la variable. Le code est là

Ensuite le scénario appellé par notre intent initial (ici rhasspyModes):

Ici on renseigne:

  • Le tag profile pour pouvoir utiliser #[Rhasspy-Intents][TTS-#profile#][Ask]# (profile ! pas source ou autre comme j’ai pu voir ailleurs !!)
  • Le slot YesNo en réponse
  • La variable bien sûr
  • Notre commande #[Rhasspy-Intents][TTS-#profile#][Ask]# qui va prendre le nom TTS-xx avec le master ou un satellite.

Sur Rhasspy on obtient bien notre slot de réponse:

rhasspyYesNo

Et ensuite on check simplement la réponse.

@geekGoldfish a déjà répondu. C’est bien le switch que j’utilisais pour mon satellite en RPI0 .

Bonjour, je suis en train de tester rhasspy avec l’excellent plugin de Kiboost.
le clic sur wakeup me permet de passer des commandes avec succès.
j’en arrive au wakeword que je voudrais personnaliser, mais avant je teste :

-pour la config j’ai bien suivi la doc jeerhasspy et côté rhasspy: setting wakeword enable + model snowboy. ça donne ça dans le profile.json :
wake": {
** « system »: « snowboy »**
** },**
j’ai ajouté à la main ( engras ):
« wake »: {
« system »: « snowboy »,
"snowboy": {
« model »: « snowboy/snowboy.umdl »,
« sensitivity »: « 0.5 »
}
},

  • je teste « snowboy » : rien ne se passe en debug
    peut on écouter les wakeword pour trouver la prononciation " exacte"
    j’ai beau parcourir le net comme coxprod… je bloque avez vous une idée ?

  • ensuite pour la personnalisation j’ai vu ton tools KiboOst : Snowboy-CustomMaker : y a t il du nouveau c’est encore d’actualité ?
    merci pour vos conseils a venir.

UPDATE : en fait le hasard je reteste avec :
« hey snowboy » et mon debug : hasspyremote_http_hermes: webhook hermes/hotword/snowboy/detected => http://192.168…texte en gras
Ma première question n’était pas idiote; peut on écouter les wakeword ?

Par contre je dicte ma command mais rien derrière …
je vai continuer a gratter

Hello,
je fait mumuse depuis quelques semaine avec rhasspy + jeeRhasspy, c’est vraiment pas mal,
par contre:
comment faites vous:

  • pour que le wakeword ne soit pas détecté quad il ne faut pas ? (fausse détection)
  • pour que lors d’une fausse détection qu’une phrase soit « comprise » malgrès le fait que l’on soit en train de parler d’autre chose ? (il y a une sorte de détection par défaut qui est réalisée.)

setup: raspberry Pi 3 + respeaker 4mic
Mon wakeword c’est Danérys (GoT) donc 3 syllabes

Bonjour,
Tout d’abord, bravo pour ce plugin. Fonctionne très bien, installer sur un serveur QNAD en docker.

Je l’utilise pour piloter mes lumières, volets et obtenir des informations sur des capteur reliés a jeedom.
Sur détection de mouvement (alarme du garage) je souhaiterais diffuser un fichier wav (type alarme) sur la sortie HP de rhasspy.
Je ne trouve pas la solution.
Pouvez vous m’aider.
Merci,
MaxBlack

C’est bon je me suis débrouillé…
Avec l’installation du service ssh sur le container Rhasspy (QNAP)
apt-get install openssh-server
Et l’installation de Mplayer pour la diffusion de playlist, music, radio et mon signal d’alarme
apt-get install mplayer

Tout fonctionne à merveille.

Bonsoir,

depuis que j’ai fait la mise a jour de rhasspy en 2.5.9, jeedom me dit qu’il sait pas quoi faire quand je fais une demande alors qu’il le fait correctement et j’ai une erreur 500 dans les log du plugin jeerhasspy.

avez vous deja rencontré ce problème?

merci

cordialement

Bonjoir !,
petit question sur la commande ask :
faut il creer autant d’intention qu’il y a de scénarios qui utilisent la commande ask ?
comme on doit préciser 1seul callback scénario …
ex: j’utilise une seule command ask sur mon scéna TurnOffJeedom:
command ask bla bla , je répond oui ou non retour via l’intention GetAskResponseJeedom
vers le même scénario de départ. donc la ça marche.
et pour une nouvelle commande ask a partir d’un autre scénario ?

désolé pour le derangement kiboost le traite un peu plus haut !
pfffff j’ai eu chaud, un peu plus c’était carton rouge :smile:

depuis la version du plugin du 2021-06-30 je n('ai plus l’object rhasspy intents
[SCENARIO] Commande introuvable - Vérifiez l’id#[Rhasspy-Intents][TTS-xxxxxx][Ask]#

du coup comment gerer les fonctions ask pour que ca demande confirmation sur le bon satellite …

Help j’ai du loupé un truc

Mieux vaut tard que jamais. Je réponds parce que je viens de tomber sur l’exact même problème: la façon de faire a changé.
Chaque satellite est maintenant un object jeedom. Depuis la page de gestion du plugin, on peut rattacher cet objet à un objet parent.
Cet objet a des commandes, dont « Speak », « Ask » …
Dans mon cas, suite à une mise à jour du plugin, j’avais toujours un objet Rhasspy-intents mais qui ne listait pas un de mes satellites, ce qui m’a poussé à tout réimporter, tout remettre à plat et comprendre pourquoi cela ne fonctionnait plus comme avant.

Bonjour,
quelqu’un pourrait m’expliquer comment changer l’url interne dans jeerhasspy svp.
En effet, j’ai bien mis l’ip de mon jeedom dans rhasspy (192.168.1.37) dans « hande » → « remote » et dans « webhooks » → « awake » mais lorsque j’import l’assistant depuis jeerhasspy, il me met l’ip 10.105.28.1 que je ne connais absolument pas comment url interne.

merci d’avance