Précisions sur le moteur d'interactions de Jeedom

Bonjour,

Suite à la génération de certaines phrases dans mes interactions, je me pose la question sur la manière dont jeedom fonctionne pour choisir la phrase la plus ressemblante.
Exemple:
J’ai une phrase générée « ouvre le volet de la cuisine » qui lance une action 1
J’ai une autre phrase générée « ouvre le volet de la cuisine à 50% » qui lance une action 2

Si je dis « ouvre le volet de la cuisine à 50% » (pour lancer l’action 2), est ce la phrase doit correspondre exactement ou bien est ce que jeedom peut considérer que « ouvre le volet de la cuisine » correspond et se décide à me lancer l’action 1…

Enfin, que se passe t’il lorsque sur la page de configuration d’un plugin, on choisit d’activer l’option « interact »? Est ce que le plugin génère des phrases automatiquement? Quelle différence avec la possibilité de filtrer sur plugin directement dans les options d’une interaction perso?
D’une manière générale, existe t’il un endroit ou l’on peut voir toutes les phrases dispo dans le moteur des interactions?
J’espère que mes questions sont claires même si ce n’est pas si évident que ça à expliquer…!

Salut, à mon humble avis, il faut faire des interaction distinctes :
interaction 1 : ouvrir/fermer volets
interaction 2 : volets #slider#

Et quand je demande d’ouvrir le volet à 50%, l’interaction 1 ne sera pas actionnée.

A toute fin utile, voici mon interaction ouvrir fermer :

mon interaction slider :

Ces 2 interactions fonctionnent d’elles mêmes, avec des tags « système » comme #objet# #equipement# #commande#, et avec quelques regexp pour limiter le nombre de phrases (300 dans mon cas).

Pour info et si ça peut t’être utile, voici une interaction qui appelle un scenario avec des tags spécifiques. Je m’en serve pour ouvrir le volet un peu, à moitié, en petits trous :


Là j’ai mis des regexp obligatoires pour éviter des faux positifs, et pour être sûr que les interaction 1 et 2 ne soient pas court circuitées par celle ci.

je n’ai pas cconnaissance d’un endroit où sont dispo toutes les phrases. Mais un certain nombre est visible dans le log : analyse/logs/log/interact

Par contre, pour ta 2e question, peux tu me donner un exemple de plugin où interact est cochable?

merci

Bonjour,
Le choix se fait en 2 temps :

  • si phrase exacte alors il prend
  • sinon mysql avec recherche en langage naturel et l’algo de comparaison levenstein qui est utilisé. On esssaye aussi de gerer les partie variable (type 50% mais c’est pas toujours simple)

Pour l’interaction des plugins de mémoire ya que sonos qui l’a et c’est pour permettre de lancer une playlist donnée

bonjour @Loic, quelques précisions stp :
l’algo de comparaison fait il toutes les phrases ou s’arrête t il dès qu’il trouve une phrase qu’il croit exacte?
si l’algo ne trouve rien c’est une interaction automatique qui est utilisée, peut on régler ces algo automatiques?
En fait je demande ça suite à un problème vu dans un autre post si tu as un moment pour le consulter (ici).
merci

Si les 2 premiere méthode n’ont rien donné alors il prend toutes les phrases et applique levenstein. Tu peux régler les seuil dans la configuration de jeedom. Tu peux aussi désactiver les interactions auto a cet endroit

merci @Loic. J’ai désactivé les interactions automatiques et je multiplié par 4 la sensibilité pour chaque nombre de mots. Malheureusement j’ai toujours des correspondances trouvées où il n’y en a pas, et celles qui sont censées fonctionner ne sont pas utilisées :sob::sob:.

Correspondance trouvée : #shift# la #light_type# de la #piece# mais ne contient pas : /.*lampe|lumiere.*/

alors que j’ai appelé

#shift# la musique de la #piece# avec cette phrase : baisse la musique de la cuisine…Même problème si je change le nom du tag.

Si tu as une piste je suis preneur :grin:
merci

j’ai l’impression que le problème vient de mon utilisation des Regexp obligatoires, mais je ne trouve pas d’info dans la doc officielle, ni nulle part en fait, as tu de la doc à partager stp @loic?
merci!

Non pas de doc vu que ya rue en de sorcière jeedom test la regexp si nok alors il passe a l’interaction suivante

1 « J'aime »

Bonjour @Loic, je me permets de citer l’éditeur de la documentation core partie regexp d’exclusion :

Il m’a fallu un moment pour en saisir le fonctionnement

Alors pour moi, imagine! Ca ne peut être que sorcier! :rofl::rofl:

En effet il semble qu’il ne passe pas à l’interaction suivante si nok, mais qu’il bloque au regexp obligatoire alors que la phrase suivante est la bonne :

quand je demande « baisse la musique de la cuisine », il me répond
Correspondance trouvée : #shift# la #light_type# de la #piece# mais ne contient pas : /.*lampe|lumiere.*/

alors que la suivante est la bonne : #shift# la musique de la #piece#

Je suis vraiment coincé je ne sais pas si j’ai mal formaté mes regexp obligatoire ou si il y autre chose à paramétrer (j’ai déjà essayé de régler la sensibilité et de ne pas faire de réponse automatique)

merci pour ton temps

A oui il est possible qu’il bloque car l’analyse est faite après l’élection. Malheureusement je n’ais pas d’autre solution a te proposer

:sob::sob: merci @Loic pour ta réponse. Beaucoup de mes interactions commencent par #shift# (musique, lumière, volets, chauffage) ce qui m’oblige à mettre des regexp obligatoires dans tous les sens. Si aucune solution n’existe, je voudrais juste te demander s’il est utile de faire un billet pour une amélioration future des interactions? en effet c’est un outil puissant et central dans mon installation
Merci

La réponse va pas te plaire mais on a déplacé toute les ressources des interactions aux assistants vocaux qui sont bcp plus demandé et très consommateur en ressources. Il n’y a donc plus d’évolution prévu pour les interactions (surtout que c’est tellement complexe que ça en devient très très consommateur).

Bon alors pour finir, quel assistant offline me conseille tu depuis la mort de snips ? Merci @Loic

J’en ai pas moi je me sers de Google et c’est sur Google et Alexa que ce porte tout nos efforts vu que c’est ce que demande les utilisateurs

Depuis la fin de snips, en full offline ça se passe du côté de rhasspy. Plugin jeerhasspy en beta.

Et ça permet de faire en vocal absolument tout ce qu’on peut faire avec jeedom.

Sinon je viens de faire la modification demandé en beta (regexp qui est faite au moment de choisir la meilleure interaction). Mais je n’ai rien tester et si ya trop de bug je reviens en arriere j’ai trop de boulot pour passer du temps la dessus malheureusement

Merci @Loic, je vais tester ça et reviens vers toi. Pour info, j’ai mis Jeedom en Beta, si je me suis trompé de ligne parmi toutes celles disponible merci de me l’indiquer je n’ai jamais mis le core en beta :wink::

Merci @kiboost, comme c’est hors sujet ici, as tu stp un fil à privilégier sur le forum?

1 « J'aime »

bon ben @Loic, il me reste à te remercier chaleureusement, tout semble aller nikel, fini les caprices des phrases, et surtout, je peux recultiver le WAF !!! :rofl:

Salut Seb54,
Comment geres tu les tag dans le scenario. T’as mis ça dans un bloc si/alors ? Dans un déclencheur ? T’aurais un screenshot stp?