alexylem / jarvis

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

QUESTION : Jarvis via une montre Android Wear #368

Closed tchoul closed 7 years ago

tchoul commented 7 years ago

Bonjour,

Je n'ai pas de smartwatch et j'aurai aimé savoir comment ça marche avant d'en acheter une.

Peut-on, comme sur le téléphone, utiliser "ok google jarvis commande" sans toucher la montre ni le téléphone avec celui-ci est en veille? Donc faire comme avec le téléphone non en veille?

Sinon quelles sont les caractéristiques qu'il faut que la montre ai? Quel modèle avez-vous et qui fonctionne?

Merci et que Jarvis soit avec vous :-D

wikijm commented 7 years ago

Regarde l'issue #289

wikijm commented 7 years ago

Et http://domotiquefacile.fr/jarvis/content/voice-control-from-android-device

wikijm commented 7 years ago

Ainsi que http://domotiquefacile.fr/jarvis/content/voice-control-from-smartwatch

Tu devrais avoir de quoi faire avec cette lecture. En espérant que tu y trouves toutes tes réponses :-D

tchoul commented 7 years ago

@wikijm Merci mais j'ai déjà vu tout ça, je l'ai déjà installé sur mon téléphone et ça fonctionne très bien d'ailleur!

Je voulais une orientation sur le choix du modèle de montre (pas trop cher, ni trop peu pour que le micro soit de bonne qualitée)et des retours sur les votres. Je voudrais aussi savoir si ça fonctionnait avec le téléphone dans la poche et en veille, ce qui n'est pas le cas avec le téléphone à moins que le chargeur soit branché et encore,là, il faut si reprendre à 2 fois, une fois "ok google" pour sortir de veille et une deuxième fois pour "ok google jarvis commandes" et là ça marche.

Jean-Bernard-Hallez commented 7 years ago

Bonjour je suis équipé de la montre Huawei Classic, avec la montre oui ca fonctionne si le téléphone est dans la poche ou en veille... je ne l'utilise pas avec le téléphone... mon objectif est d'avoir la montre comme un miro et ca fonctionne à 100%

tchoul commented 7 years ago

@Jean-Bernard-Hallez Super! Merci beaucoup pour le retour! je vais jetter un oeil sur ce modèle

tchoul commented 7 years ago

Bon! J'ai fais mon choix! Asus ZenWatch 3 Smartwatch 1,39" Bluetooth Marron foncé

tchoul commented 7 years ago

Bon, j'ai pas encore reçu ma montre (demain normalement) mais je voudrais savoir si il est possible de faire le retour vocal de jarvis directement sur la montre et si c'est le cas la procédure à suivre. J'ai cru comprendre dans le post de ghost (quote ci-dessous) vu dans #289, qu'il a le retour mais en expliquant que son profil est pour un smartphone ou tablette... j'ai pas tout compris et je ne sais pas si c'est possible sur la montre, mais quand j'ai vu A6 et A7 (voir quote) mes yeux ont brillés d'espoir!

Quote @ghost :

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é ]

tchoul commented 7 years ago

Salut @Jean-Bernard-Hallez et @wikijm J'ai un souci quand je lance l'application autowear sur la montre. Jarvis me dit "je n'ai pas compris &APPOPENED& Un truc que j'ai raté? Merci

Jean-Bernard-Hallez commented 7 years ago

oui c'est ce que je reproche un peu dans son explication, par curiosité j'ai tésté la procédure http://domotiquefacile.fr/jarvis/content/voice-control-from-smartwatch et je ne suis pas satisfait du résultat.... Perso j'ai installer en plus AutoVoice (payant hélas) et AutoApps Puis le début de la procédure est ok sauf Création de la tâche pour les envoyer à Jarvis A ce stade Tasker devrait ouvrir un menu vous invitant à créer une tâche pour cet évènement:

Sélectionner Nouvelle tâche Nommez la par exemple Execute Appuyer sur l'icône + pour ajouter une action Choisi évènement, Plugin, AutoVoice, Recognize clique sur le crayon et tu Check pour Valider (V en haut à droite à coté de X) puis pour la tache rattaché (bouton revenir en arrière du téléphone) tu cherches Reseau, Get HTTP Conrigurer l'action comme suit: Server:Port: : (ex: 192.168.1.1:8080, affiché au démarrage de Jarvis) Attributs: order=%avcomm (et pas %awmessage] ​Revenir à la tâche (bouton back en haut à gauche de l’écran) Revenir au menu principal (bouton back en haut à gauche de l’écran) Quitter Tasker en prenant soin d'enregistrer les modifications.

tchoul commented 7 years ago

@Jean-Bernard-Hallez Le problème avec la montre, c'est que c'est autowear et non autovoice qui gère ça... bien dommage!

Il faudrait que l'on puisse mettre le raccourci widget de tasker (avec l'icone du micro), sur la montre, ce serait parfait! Mais je crains que ce ne soit pas possible.

Du coup tu as le même problème que moi? Quand tu lances l'application autowear sur la montre, Jarvis te dis "je n'ai pas compris &APPOPENED&" ett autre #SHAKE# DISCONNECT etc... En gros tout ce qu'il affiche sur le téléphone?

Jean-Bernard-Hallez commented 7 years ago

Oui en effet j'ai essayé comme il le disait mais je suis revenu à ma version....(car comme toi j'avais intercepte &APPOPENED& et c'est normal car des que sur la montre on clique sur AutoWare il fait un get http... c'est bien ce qu'on lui demande lol) il y a peut être un moyen différent pour y arriver... mais je ne le connais pas...

tchoul commented 7 years ago

Bon ben je vais essayer de trouver un façon de contourner le problème, si je trouve je ferai un nouveau ticket. Si quelqu'un à trouver avant partager!

tchoul commented 7 years ago

@alexylem Suite aux problèmes cités précedement, serait-il possible de le contourner en ne détéctant pas certains "mots"? comme APPOPENED par exemple... Faire une sorte de blacklist de certains mots.

Sinon peut on supprimer le unknow order? pour qu'en cas de non reconnaissance de commande, il ne nous le fasse pas savoir, ce qui réglerai le problème je pense. On pourrait même le remplacer par l'activation d'un led à la place.

tchoul commented 7 years ago

@Jean-Bernard-Hallez @alexylem

Je suis trop content! J'ai plus ce problème!

Il suffit de supprimer le unknow order, ce qui permet de retourner la phrase je n'ai pas compris. Pour cela il faut supprimer la variable 'phrase_misunderstood' dans jarvis.sh à la ligne 117

Bon, après en cas de commande incomprise il ne nous dira plus je n'ai pas compris du coup mais c'est peu perdu pour ce qu'on en gagne!

!!!!ENJOY!!!!

tchoul commented 7 years ago

Autre méthode : Dans /home/pi/jarvis/config/ nano phrase_misunderstood Supprimer le texte (je n'ai pas compris ou autre)

Ensuite aller dans le menu AutoWear sur le téléphone puis Logs and Toasts et décochez Received Commands pour que les commandes &APPOPENED&, &DISCONNECTED& etc... ne s'affichent plus sur votre téléphone et par conséquent ne soit pas répéter dans Jarvis.

Du coup ça évite de toucher à la variable 'phrase_misunterstood' dans jarvis.sh et d'afficher les commandes sur votre téléphone.

Le problème reste le même, Jarvis ne dira plus "je n'ai pas compris telle commande" ce qui moi ne me dérrange pas plus que ça.

Jean-Bernard-Hallez commented 7 years ago

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) avec Tasker et sans toucher au fichier de base comme vous le faites: 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é ]

alexylem commented 7 years ago

@tchoul Merci pour l'astuce:

Ensuite aller dans le menu AutoWear sur le téléphone puis Logs and Toasts et décochez Received Commands pour que les commandes &APPOPENED&, &DISCONNECTED& etc... ne s'affichent plus sur votre téléphone et par conséquent ne soit pas répéter dans Jarvis.

Si je rajoute ca à la procédure sur le site, ca suffit à résoudre le problème? (sans avoir à modifier la phrase misunderstood)

tchoul commented 7 years ago

Malheureusement, non, il ne répètera plus &APPOPENED& mais dira toujours la phrase mis dans phrase_misunderstood en l'occurence "je n'ai pas compris" sans rien derrière car une requète http est envoyé. Moi j'ai supprimé cette variable en attendant une meilleur soltuion, ce qui fonctionne parfaitement sauf que l'on a plus le retour en cas de commande incomprise

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 ]

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..

alexylem commented 7 years ago

Je n'ai plus d'android sous la main pour tester 😢 Mais j'imagine qu'on doit pouvoir assez simplement contourner le problème dans le script tasker du téléphone en vérifiant la chaine reçue un if et en ignorant ces 2 ou 3 termes prédéfinis. Qquechose comme:

if %awmessage <> &APPOPENED& ...

Quelqu'un peut tester?

Jean-Bernard-Hallez commented 7 years ago

Et coucou @alexylem comme je lui ai dit juste ci-dessus de faire... ca fonctionne...

alexylem commented 7 years ago

Cette procédure la? https://github.com/alexylem/jarvis/issues/368#issuecomment-274274540 si c'est ca je peux mettre à jour le tuto sur le site (ou te donner les droits sur le site pour que tu puisses aussi le maintenir car c'est toi le power user smartwatch 😄 )

wikijm commented 7 years ago

Cette procédure la? #368 (comment) si c'est ca je peux mettre à jour le tuto sur le site (ou te donner les droits sur le site pour que tu puisses aussi le maintenir car c'est toi le power user smartwatch 😄 )

@alexylem et @Jean-Bernard-Hallez, vous vous êtes mis d'accord sur ce point ? C'est juste pour savoir ce que je fais de cette tâche : https://github.com/alexylem/jarvis/projects/7#card-1662324

Jean-Bernard-Hallez commented 7 years ago

Et coucou... je viens donc de cloturer ce ticket...

Puis celui là: https://github.com/alexylem/jarvis/issues/386 Fonctionne à merveille... j'ai supprimé tout ce qui ne servait à rien de toutes les conversations qu'il y a eu sur ce ticket pour que ce soit plus simple de lecture.... Et la tache https://github.com/alexylem/jarvis/projects/7#card-1662324 est très explicite... nickel .

wikijm commented 7 years ago

Super, merci @Jean-Bernard-Hallez :smile:

alexylem commented 7 years ago

"Jarvissement vôtre..." 😄 🤣 😆