alexylem / jarvis

Jarvis.sh is a simple configurable multi-lang assistant.
http://openjarvis.com
MIT License
807 stars 197 forks source link

Contrôler Jarvis depuis montre Android Wear #289

Closed alexylem closed 7 years ago

alexylem commented 7 years ago

Le but de ce ticket est de partager la procédure pour contrôler Jarvis depuis une montre Android Wear.

alexylem commented 7 years ago

@Gilles76 pourrais-tu partager ton profile Tasker pour contrôler Jarvis? Je vais faire aussi le mien de mon côté en utilisant:

Avec un "Recognized" qui contient "Jarvis". Puis envoi de l'ordre vocal à Jarvis via le plugin "Jarvis-API".

ghost commented 7 years ago

@alexylem , Pas de souci pour le profil. Il est utilisable juste avec tasker en tant que tâche. J'attaque l'API directement et j'utilise le retour pour dicter la reponse de Jarvis. Attention mon profil est pour un smartphone ou tablette. Ne faudrait-il pas changer le titre par contrôler Jarvis à l'aide d'un dispositif externe. Ou du genre. Tu le veux sous quel forme ?

ghost commented 7 years ago

Dans ce genre: A1: Obtenir depuis la voix [ Titre: Modèle de langage:Saisie libre Langue:fr-FR Résultats max:1 Délai (Secondes):30 ] A2: Flash [ Texte:%VOICE Long:Désactivé ] A3: Post HTTP [ Serveur:Port:http://xx.xx.xx.xx:8080 Chemin: Données / Fichier:{"order":"%VOICE"} Cookies: User Agent: Délai:29 Type de contenu:text/json Fichier de sortie: Faire confiance à tout certificat:Désactivé ] A4: JavaScriptlet [ Code:var arr =[]; arr = JSON.parse(global("HTTPD")); var answer1= arr[0].jarvis; var answer2 = arr[1].jarvis; Bibliothèques: Sortie auto:Activé Délai (Secondes):45 ] A5: Concaténer des variables [ Nom:%answer Jointure: Supprimer les parties:Désactivé ] A6: Flash [ Texte:%answer Long:Activé ] A7: Dire [ Texte:%answer Moteur:Voix:com.google.android.tts:fra-fra Flux:3 Ton:5 Vitesse:5 Respecter le focus Audio:Activé Réseau:Désactivé Continuer la tâche immédiatement:Désactivé ]

kiki51 commented 7 years ago

Bonjour tout le monde. Je suis le fil de discutions qui est hyper intéressant. J'avais une petite idée, best il pas possible de "porter" l'application Android wear pour quelle fonctionne sur Android tout court? De cette manière, si elle tourne en continue, on peu contrôler jarvis avec notre téléphone dans la popoche! Dans des endroit éloignés du micro principal mais ou la couverture wifi est bonne pour ton Smartphone. De même pour ceux qui ont une Android tv...

Vous en pensez quoi? Je fais un sujet a part pour ne pas polluer celui ci ?

Jean-Bernard-Hallez commented 7 years ago

En tout cas merci à tout le monde car je suis équipé d'une montre Wear... qui fonctionne déja avec jarvis (et Domoticz) AutoVoice et autoWear mais au compte goutte ce qui est nul à mes yeux car il faut faire plein de progarmations pour chacune des commandes demandées à jarvis... alors qu'en effet je vois que vous avez trouvé une solution pour que l'on puisse de servir toutes les fonctions en utilisant la montre comme un simple micro !!! Chapeau... j'attends la suite avec impatience... Personnelement j'utilisais cette méthode: http://www.domotique-info.fr/2015/01/piloter-sa-freebox-par-la-voix/

@Gilles76 j'ai essayé de suivre ton processssss mais sans succèsssss.... je me noie dans les commandes... peux-tu prendre des copies écrans de tasker et nous le faire parvenir ?

alexylem commented 7 years ago

Je vais faire un tuto détaillé sur le site pour Android tout court et Android wear (qui utilise en fait une tâche Tasker d'Android tout court). Merci @Gilles76 c'est parfait je vais m'en inspirer.

alexylem commented 7 years ago

Voila j'ai fini le premier tutoriel pour Android, ca marche nickel sur le miens 😄 http://domotiquefacile.fr/jarvis/content/voice-control-from-android-device

J'attends vos retour avant de faire un tuto similaire pour Android Wear.

kiki51 commented 7 years ago

Excellent! Petite question: Est ce qu'on peux l'utiliser en tache de fond? Sans appuyer sur l'icone de l'appli? Disons que l'appareil Android serait en écoute constante. Merci

alexylem commented 7 years ago

@kiki51 presque, en utilisant le mot clé "Ok Google" (qu'il faudra prononcer quand l'écran est allumé). Ca fera partie du prochain tuto.

alexylem commented 7 years ago

Voici le second tuto pour Google Now, j'ai pas mis les images pour aller plus vite: http://domotiquefacile.fr/jarvis/content/voice-control-with-google-now

Ces tutos sont accessibles depuis le menu: image

ghost commented 7 years ago

@alexylem merci pour tes instructions, c'est super clair. EDIT: Autovoice n'est pas gratuit, il coute 1.44 €

Jean-Bernard-Hallez commented 7 years ago

Ok Super Alex C'est exactement ce que je recherchais... du coup il n'y a plus aucun problème avec le micro principal du raspberry qui capte les bruits environnant et plus besoin de se rapprocher de celui ci et.... Il est ou le bonheur il est ou !!! ??? Merci !!!!

Erim32 commented 7 years ago

Génial comme idée, mais une petite question, comment jarvis gère le cas ou le son de la requette depuis est entendu par le micro? il fait une double execution ou il a un delais de quelques milisecondes durant lequel il ne peut pas rexecuter une commande?

alexylem commented 7 years ago

@Gilles76 merci je vais corriger @Erim32 pas vraiment un soucy car on ne prononce pas le hotword. Et même si c'était le cas, la double exécution fonctionnera (l'API fonctionne sur un processus parallèle).

Jean-Bernard-Hallez commented 7 years ago

ça marche du tonnerre de Dieu et je l'ai mis sur Android wear.... merci 100 mille fois

Jean-Bernard-Hallez commented 7 years ago

J'ai oublié de dire que je le fais fonctionner en faisant glisser vers la gauche l'écran de la montre plutôt que de le faire en csecouant le poignée qui est pas très évident

alexylem commented 7 years ago

Voila j'ai rajouté le tutoriel pour Android Wear: http://domotiquefacile.fr/jarvis/content/voice-control-from-smartwatch

Par contre pas moyen d'afficher l'écran AutoWear sur ma montre, je dois avoir vieux truc de test qui traine...

alexylem commented 7 years ago

J'ai résolu mon problème, j'en ai profité pour rajouter la solution dans une section troubleshooting à la fin du tuto. J'ai aussi réalisé que AutoVoice dans ce cas précis n'est pas obligatoire, j'ai donc viré la dépendance (car payant) et modifié le tuto pour n'utiliser que Tasker et AutoWear: http://domotiquefacile.fr/jarvis/content/voice-control-from-smartwatch

Allez je pense qu'on peut fermer le ticket 😄

pipolaq commented 7 years ago

Hello, Merci pour ces nombreuses infos, qui me permettent d'utiliser à la fois mon smartphone et ma montre pour controller Jarvis. Vu la qualité du micro branché sur le raspb, c'est le jour et la nuit!

Par contre, je n'arrive pas à avoir le retour de la commande en tts sur le téléphone, et n'ayant pas d'enceinte sur mon raspberry, ca me permettrait d'avoir une réponse quand je lui demande la température du salon par exemple! J'ai bien vu le message de ghost, mais le format de son message ne m'aide pas à déchiffrer ce que je dois mettre et où!

Merci d'avance!

Jean-Bernard-Hallez commented 7 years ago

@pipolaq bonjour... J'y suis parvenu... je t'envoie tout cela tout à l'heure....au plaisir Jb

Jean-Bernard-Hallez commented 7 years ago

@pipolaq bonjour voilà comme promis: Donc voila avec une tablette ou un téléphone l'avoir comme un micro avec retour tts (Retour réponse sur Haut-parleur de la tablette ou du téléphone):

il faut avoir le plugin Parse Task https://play.google.com/store/apps/details?id=com.balda.parsetask

Mise ne place:

Quand vous cliquez sur + en bas à droite, donnez un nom de projet "Ex Retour tts jarvis" puis + en bas au milieu dans le menu tout en bas il y a filtre là commencez à taper le bédut de chaque A1 à Ax... ex Obtenir il il ne vous reste plus qu'a copier la suite: (en A2 adresse de Jarvis + port 8080 plugin API) (en A3 "jarvistuesla" c'est votre Username )

A1: Obtenir depuis la voix [ Titre: Modèle de langage:Saisie libre Langue: Résultats max:1 Délai (Secondes):30 ] A2: Post HTTP [ Serveur:Port:192.160.0.22:8080 Chemin: Données / Fichier:{"order":"%VOICE","mute":"true"} Cookies: User Agent: Délai:29 Type de contenu:text/json Fichier de sortie: Faire confiance à tout certificat:Désactivé ] A3: JavaScriptlet [ Code:var arr=[]; arr = JSON.parse(global('HTTPD'))[0].jarvistuesla Bibliothèques: Sortie auto:Activé Délai (Secondes):45 ] A4: Flash [ Texte:%arr Long:Activé ] A5: Dire [ Texte:%arr Moteur:Voix:com.google.android.tts:fra-fra Flux:3 Ton:5 Vitesse:5 Respecter le focus Audio:Activé Réseau:Désactivé Continuer la tâche immédiatement:Désactivé ]

Jean-Bernard-Hallez commented 7 years ago

AU DESSUS c'est la version simple... mais si on a le plugins comme météo avec 2 retours de ligne vocal, il faut le modifier comme l'avait mis @GHOST, ca buguait sur son A5 au moment de concacter une variable car un espace n'apparaissait pas voir en caractère gras ici plus bas !! et enfin j'ai rajouté juste une petite option quand on prononce DIRE et ce que l'on veut derrière, si dit simplement la phrase si on a un haut parleur branché sur le raspberry sans le retour.

A1: Obtenir depuis la voix [ Titre:Jarvis À Ton Écoute Modèle de langage:Saisie libre Langue: Résultats max:1 Délai (Secondes):30 ] A2: Flash [ Texte:%VOICE Long:Activé ] A3: Post HTTP [ Serveur:Port:192.160.0.22:8080 Chemin: Données / Fichier:{"order":"%VOICE","mute":"true"} Cookies: User Agent: Délai:29 Type de contenu:text/json Fichier de sortie: Faire confiance à tout certificat:Désactivé ] Si [ %VOICE !~R dire ] A4: Post HTTP [ Serveur:Port:192.160.0.22:8080 Chemin: Données / Fichier:{"say":"%VOICE"} Cookies: User Agent: Délai:29 Type de contenu:text/json Fichier de sortie: Faire confiance à tout certificat:Désactivé ] Si [ %VOICE ~R dire ] A5: Vibrer [ Heure:555 ] A6: JavaScriptlet [ Code:var arr=[]; arr = JSON.parse(global('HTTPD')); var answer1= arr[0].jarvis; var answer2= arr[1].jarvis; Bibliothèques: Sortie auto:Activé Délai (Secondes):45 ] A7: Concaténer des variables [ Nom:%answer Jointure: IL Y A UN ESPACE Supprimer les parties:Désactivé ] A8: Vibrer [ Heure:555 ] A9: Flash [ Texte:%answer Long:Activé ] A10: Dire [ Texte:%answer Moteur:Voix:com.google.android.tts:fra-fra Flux:3 Ton:5 Vitesse:5 Respecter le focus Audio:Activé Réseau:Désactivé Continuer la tâche immédiatement:Désactivé ] Si [ %VOICE !~R dire ]

Jean-Bernard-Hallez commented 7 years ago

Pour l'importer directement dans tasker, envoyez moi votre Email je vous fais parvenir le fichier à charger directement dans votre téléphone ou tablette..

pipolaq commented 7 years ago

Hello Jean-Bernard , Parfait, merci beaucoup pour ces instruction bien détaillées! Je devrais pouvoir me débrouiller sans problèmes avec tout ca, dont le retour de ligne dans la réponse! C'est génial! Hâte de tester, Merci et bon we!

kevin532 commented 7 years ago

bonsoir a tous j'ai un petit problème ! Je n'ai pas le retour de jarvis sur mon androïde et quand je devrai en avoir un j'ai un message d'erreur qui est : Json parsing error : No value for answer

est ce que quelqu'un a déjà rencontré ce problème ?

Merci d'avance

alexylem commented 7 years ago

@kevin532 tu as bien la dernière version de Jarvis? Ca ne fait pas très longtemps qu'il renvoie "answer" au lieu de "Jarvis"

kevin532 commented 7 years ago

oui j'ai la dernière version ! Ça marche sur mon 2 eme téléphone mais pas sur mon principale donc le problème vient de lui , pourtant hier ça fonctionné j'ai sûrement cafouiller a quelque chose que je n'aurai pas du mais je découvre ce super logiciel alors je tente de me le personnalisé , j'ai hâte de pouvoir integrer l’école 42 pour comprendre ce que je fais 😌 ! ce pourrait il qu'il y ai un conflit avec tasker ou autovoice ?

On Thu, May 11, 2017 at 9:39 PM, Alexandre Mély notifications@github.com wrote:

@kevin532 https://github.com/kevin532 tu as bien la dernière version de Jarvis? Ca ne fait pas très longtemps qu'il renvoie "answer" au lieu de "Jarvis"

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alexylem/jarvis/issues/289#issuecomment-300895550, or mute the thread https://github.com/notifications/unsubscribe-auth/AbPdxS9j8aXzuSF9zv72gEdfPTXNIvgwks5r42PpgaJpZM4LJr37 .

alexylem commented 7 years ago

Si ca marche sur un téléphone alors je ne vais pas pouvoir trop t'aider. Je n'ai pas Android 😄 En espérant qu'une âme charitable passe par la pour toi...

kevin532 commented 7 years ago

d'accord :) merci quand meme d'avoir voulu m'apporter ton aide par contre j'ai un autre soucie avec youtube player un coup la chanson se lance et un autre coup non je ne comprend pas trop ce soucis mais en faites j'aimerai combiné 2 appli jv-yt-player et jv-music-player alors pourrai tu me dire ce qu'il faut que je modifie pour juste télécharger sans lancer la musique dans cette commande car j'ai essayer ça fonctionne mais je n'arrive a bloquer le lancement de la musique :
nohup youtube-dl --max-downloads 1 --format mp4 --output "/tmp/$1_audio.mp4" "gvsearch1:$1" --exec "mplayer -novideo -ao alsa:device=hw=$var_jv_pg_yp_audio_card.$var_jv_pg_yp_audio_peripheral \"/tmp/$1_audio.mp4\";" >/dev/null 2>/dev/stdout & disown && cp -n "/tmp/$1_audio.mp4" "/home/kevin/Musique/" && rm "/tmp/$1_audio.mp4"

merci beaucoup kevin

alexylem commented 7 years ago

Pour toute question ou problème lié à un plugin Jarvis, merci de créer un ticket sur le repository correspondant. Ainsi son auteur en sera informé et pourra vous aider.

Ok, alors c'est où?

😄

kevin532 commented 7 years ago

le lien ne fonctionne pas 😐

2017-05-11 22:07 GMT+02:00 Alexandre Mély notifications@github.com:

Pour toute question ou problème lié à un plugin Jarvis, merci de créer un ticket sur le repository correspondant. Ainsi son auteur en sera informé et pourra vous aider.

Ok, alors c'est où?

  • Depuis Jarvis, allez dans Plugins > Installed > The Plugin > Report an issue
  • Depuis le site, allez sur la page du plugin et cliquez sur le lien "Open a ticket"

😄

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alexylem/jarvis/issues/289#issuecomment-300902433, or mute the thread https://github.com/notifications/unsubscribe-auth/AbPdxXqe6Z8LiW0QClzJ6XSmyaeSvVrlks5r42ptgaJpZM4LJr37 .

alexylem commented 7 years ago

https://github.com/QuentinCG/jarvis-youtube-player/issues/new C'est pas celui la? C'est quoi le lien que tu as et tu l'as eu ou?

kevin532 commented 7 years ago

https://github.com/advince/jarvis-music-player/issues/new Dans Jarvis, Plugins > Installed > jarvis-youtube-player > Report an issue

kevin532 commented 7 years ago

Mais sinon c'est bon j'ai réussi je m'en sert juste pour telecharger dans mon dossier musique que je lis avec jv-music-player comme ça je peux en télécharger en même temps que j’écoute. Merci pour ton temps bonne soirée kevin

alexylem commented 7 years ago

@kevin532 ok c'est parceque @advince n'a pas activé les issues sur son repo. Mais il sera notifié par ce message donc si tu passes par la et que tu vois ce message, ca serait bien que tu penses à le faire (maintenant automatisé à la création d'un nouveau plugin depuis Jarvis).

QuentinCG commented 7 years ago

@kevin532 Je viens de creer un ticket pour toi sur le plugin qui te pose un soucis (youtube-player), peux tu repondre à mes questions (à ce lien: https://github.com/QuentinCG/jarvis-youtube-player/issues/1)