Closed azertigrou closed 7 years ago
Bonjour, oui via l'utilisation de requêtes http. Dans le menu de Jarvis il faut aller dans Commands et créer la commande suivante : (*)== say "$(curl "http://ip_jeedom/core/api/jeeApi.php?apikey=your_api_key&type=interact" --data-urlencode "query=$order")" ça fonctionne bien chez moi, il me reste juste à peaufiner le réglage du micro et se sera presque parfait.
Un volontaire pour créer un plugin Jeedom? Je n'ai pas Jeedom à la maison mais bcp de personnes posent la question. Si vous êtes intéressés je pourrai faire le plugin moi même mais il me faut quelques informations sur le protocole...
@dud29 un plugin dans lequel on configure une apikey
et un ip_jeedom
suffirait? Si oui je peux le faire assez rapidement et le publier sur le store...
Bonjour, je ne maîtrise pas le fonctionnement des plugins pour en faire un, par contre je sais que l’équipe de Jeedom en a fait un, cependant il n'est pas encore au point. Quoi qu'il en soit il ne faut pas plus que la ligne de commande de mon précédent poste pour interagir avec Jeedom, donc oui un plugin ou l'on configure l'adresse IP de Jeedom et son apikey devrait suffire. Le reste se fait dans l'interface (partie interaction) de Jeedom. Jarvis s'occupe de la partie STT envoie l'ordre à Jeedom qui fait le reste. dud29. Edit: merci pour ton travail qui m'a permis de 'parler' à ma maison et qu'elle me réponde.
Ok donc je vais proposer une premier version du plugin et libre aux Jeedom boys de l'améliorer. Par contre j'aurais surement besoin de ton aide pour m'aider à tester / documenter l'utilisation du plugin côté Jeedom, si tu es partant!
Oui, je suis pas trop dispo en ce moment, mais je ferai de mon mieux. dud29
Si besoin, j'ai un jeedom up to date sur un RPI2, et un raspbian + jarvis sur un RPI3 avec micro usb (via webcam) et HP. Pour l'instant, j'ai eu le bonjour et le retour voix (plutôt correct), mais pas réussi a aller plus loin via jeedom. dispo pour tests si besoin.
Merci @elem-bee je fais la première version et je vous la mets à dispo pour testing
Jeedom Plugin on now available on the Store: http://domotiquefacile.fr/jarvis/plugins/jeedom Please install, test it and let me know if it works!
Bonjour @alexylem, Installation du plugin Jeedom dans Jarvis avec les token bing/snowboy/jeedom ok Training reconnaissance magic word ok Pour la suite, pas ok
pi@raspberrypi:/opt/jarvis $ ./jarvis.sh ./jarvis.sh: ligne 416: stt_engines//main.sh: Aucun fichier ou dossier de ce type ./jarvis.sh: ligne 262: stt_engines//main.sh: Aucun fichier ou dossier de ce type ok herbert: Yo ! () ok herbert: Waiting to hear 'ok herbert' Monsieur: ok herbert
Avec trois bips graves, et on boucle là-dessus.
stt_engines//main.sh
On dirait qu'un de tes STT est mal défini.
Tu peux vérifier dans Settings > Voice Reco ?
Je te conseille de repasser le wizard pour être sûr que tout est bien installé:
$> ./jarvis.sh -i
Merci, ça ne boucle plus, mais ça ne l'éclenche pas l'intéraction
pi@raspberrypi:/opt/jarvis $ ./jarvis.sh Ok Herbert: Yo ! () Ok Herbert: Waiting to hear 'Ok Herbert' Monsieur: Ok Herbert Ok Herbert: Oui Monsieur: active l'alarme Ok Herbert: Je ne comprends pas Monsieur: ??? Ok Herbert: Waiting to hear 'Ok Herbert' Monsieur:
Es ce que le plugin Jarvis de Jeedom doit toujours être présent dans Jeedom ? Je l'ai enlevé, mais d'un coup je suis moins sûr.
Heu... oui j'ai entendu parler d'un plugin Jarvis de Jeedom mais je crois que ca n'a aucun rapport, surement un autre Jarvis... Oui désactive le, juste Jarvis + Plugin Jeedom et Jeedom ca doit le faire. Essaye de lancer en mode troubleshooting et colle moi le résultat pour que je vois ce que ca donne. Merci!
Le plugin de Jarvis dans Jeedom permet d'utiliser Jarvis pour notifier en TTS. Les logs sont partis par mail.
Je crois que tu as une commande perso qui est restée dans commands
et qui match tout (*)
$> say "$(/opt/jarvis/jeedom.sh \"${BASH_REMATCH[1]}\")"
Du coup je pense qu'elle "masque" le plugin dans le sens ou elle capte toutes les commandes avant qu'elles ne soit envoyées au plugin. Essaye de la virer puis retente 😉
J'ai testé le plugin, il y a un petit bug dans le fichier config.sh la variable jv_pg_jd_apikey n'est pas bonne j'ai du la modifier dans le fichier initial elle est notée jv_pg_ig_apikey. Sinon une fois corrigé pas de soucis, ça fonctionne correctement. Après c'est un détail il n'y a plus de menu administration (c'est un petit engrenage et on a bien la clé api dans le sous menu Configuration) Vincent Edit le plugin JARVIS de l’équipe jeedom doit permettre d'installer et de paramêtrer JARVIS directement dans l'interface Jeedom, mais pour le moment il n'est pas encore tout à fait au point.
Merci @dud29 c'est corrigé, mettez à jour.
Pour moi c'est bon, il n'y a plus qu'a voir si ça fonctionne pour d'autres personnes.
Si ca marche pour vous n'hésitez pas à laisser une bonne note sur le plugin: http://domotiquefacile.fr/jarvis/plugins/jeedom Merci 👍
Il y a bien un plugin dans Jeedom mais c'est juste Jarvis intégré directement dans leur solution donc c'est pas vraiment un plugin pour utiliser un remote Jarvis il me semble.
Tu as le choix. En mode déporté, il installe "ton" Jarvis sur un RPI avec un raspbian sans avoir besoin d'un jeedom en local. Mais pour l'instant, je n'ai pas réussi à le faire fonctionner.
On a un problème.
Un utilisateur a raisé ce problème:
https://github.com/alexylem/jarvis-time/issues/2
C'est parce que le plugin Jeedom "capte" toutes les commandes (pattern: *
) et il est passé en premier par rapport à son nom (Jeedom < Time).
Une solution simple est de changer le pattern à (*JEEDOM*
) mais il faudra dire: "Jeedom allume la lumière"...
Et je suis un peu inquiet pour la reconnaissance par Bing du mot Jeedom...
Sinon je peux m'arranger pour renommer le plugin afin qu'il passe en dernier (ou mettre en plus un système de poids)
A mon avis changer le nom du plugin devrai suffire, dans le principe on envoie un ordre à Jeedom que si notre demande n'est pas prévu directement dans Jarvis, donc en dernier. Un système de poids serai super intéressant pour les autres plugins (si jamais on a des demandes qui peuvent être prises en compte de façon différente en fonction du plugin qui l'intercepte) , mais peut être plus compliqué à réaliser.
j'ai du mal a comprendre l'utilite final du plugin sur Jarvis? Encore plugin sur Jeedom pour remote control de Jarvis ok...
Comme @dud29 disait, avec requette http avec l'api de jeedom, on peut le faire sans souci.
Apres effectivement, si dans les param de jarvis, on a un fichier de conf pour mettre la clé API de Jeedom... gain de temps et fichier de commande plus simple à lire...?
On peut m'eclairer sur ce post?
Pour moi c'est exactement le principe de la fin de ton post, simplifier la manip pour un utilisateur qui comme moi ne maîtrise pas la programmation. Avec le plugin on met l'ip, la clé API et hop c'est bon. Pour info pour trouver la syntaxe exact (*)== say "$(curl "http://ip_jeedom/core/api/jeeApi.php?apikey=your_api_key&type=interact" --data-urlencode "query=$order")" ,et je ne suis pas sur que se soit la meilleur méthode pour faire le travaille (il y a d'autre personne qui utilise le wget...) il m'a fallut presque une journée de recherche dans divers forums, donc si on peut simplifier la vie des autres utilisateurs pourquoi pas ;). dud29
@LengZai la réponse à ta question est celle de @dud29 😄 Je vais tenter une approche de poids pour les plugins, je pense que ca vaudra le coup pour les autres plugins du même genre. Par contre pas de drag & drop dans la console... faudra être créatif pour que ca reste facile pour l'utilisateur lambda (ma priorité numéro 1)
@alexylem Merci, pour moi, c'est fonctionnel.
Oui @elem-bee car tu n'utilises probablement pas d'autres plugins. J'ai créé #220 pour adresser le problème de l'ordre des plugins. On continue la discussion la bas. Pour le reste je pense qu'on peut ferme ce ticket car déjà plusieurs utilisateurs ont reporté que le plugin fonctionne. Merci à tous pour votre support et vos idées, on n'en serait pas la aujourd'hui sans vous! ❤️
@dud29 je t'ai rajouté dans la liste des auteurs du plugin, en effet j'ai juste copié collé ton code 😄
@dud29, @elem-bee
Je voulais apporter une information à ce sujet pour les utilisateurs de Jeedom... Tu n'as rien à programmer car Jeedom te fournit (génère) la ligne complètement Dans l'interface web, tu as un menu pour voir la ligne (http) pour le bouton (action, on, off, etc) que tu as crée donc tu as juste à copier coller dans les commandes de jarvis c'est tout. C'est marqué sur la doc de Jeedom.
Après, j'avais pensé à la même idée @alexylem et d'avoir un menu dans jarvis pour gérer les API externe simplement mais bon, après ca dépend de l'appli =/ Ca serait plus pour pouvoir créer des "user_attribut", comme des variables qu'on peut réutiliser dans les commandes du style (jeedoomApikey:1232645765856) mais il me semble que créer "des variables" est déjà possible sur Jarvis)
Merci pour ces précisions @LengZai
Oui on peut déjà créer des variables/fonctions dans les plugins dans les plugins (fichier functions.sh
. Pour utiliser des variables/fonctions dans les commandes utilisateurs (menu Commands) c'est un peu plus compliqué, mais possible, voir: #215
@LengZai, merci pour l'info, je ne connaissais pas cette astuce, mais le but du plugin c'est justement de ne pas avoir à copier coller chaque commande dans Jarvis, mais d'envoyer un ordre vocal, traduit par Jarvis en texte à la partie interaction de Jeedom, et la je ne suis pas sur que Jeedom nous donne la requête http toute faite. Si c'est le cas je n'ai pas suffisamment cherché dans Jeedom, mais au vu des différents forums je ne serai pas le seul. Ps : Merci @alexylem d'avoir pris en compte ma modeste contribution :)
Yes, merci @alexylem
@dud29, @elem-bee Je vous ai retrouvé le lien qui parle de l'URL direct https://jeedom.github.io/documentation/core/fr_FR/api_http.html
Tout en bas de la page vous verrez comment l'obtenir pour chaque bouton de Jeedom (je te l'accord, la doc est un peu fouilli dans le sens, maj bizarrement et y a meme pas de moteur de recherche)
@alexylem Il semblerait qu'il y a un problème sur le lien vers Jarvis, je ne sais pas si c'est toi qui administre cette page: https://jeedom.github.io/documentation/plugins/jarvis/fr_FR/index.html Quand tu cliques dessus, la redirection est fouareuse et on reçoit un 404 Not Found :P
Non ce n'est pas moi (je n'étais même pas au courant de ce plugin avant que vous m'en parliez ici) je vais les contacter pour corriger ca. Merci.
@LengZai pour info le lien URL ne fonctionne pas chez moi, mais je pense c'est du au fait que je n'ai pas rempli la configuration reseau, de jeedom.
Ok @dud29 , je suppose oui, car de mon coté, c'est comme cela que je l'utilise dans les commandes de Jarvis et ca marche nickel ;-), délai de 3-5sec au minimum par bing et 1-2sec minimum par commande direct avec snowboy
J'ai testé également. Fonctionne bien: 3 secondes par bing avec jeedom en local. Beau boulot
Bonjour,
Y a t'il une possibilité d'interfacer Jarvis et Jeedom? Quelqu'un a t'il déjà une expérience dans cette intégration?