Oliv4945 / jarvis-android-app

Android app for Jarvis simple multi-lang personal assistant (http://domotiquefacile.fr/jarvis/)
MIT License
24 stars 11 forks source link

Unable to parse JSON with non default trigger word #9

Closed Oliv4945 closed 7 years ago

Oliv4945 commented 7 years ago

From @jean-luc18 here and there

Google/LG - Nexus 5 Android - 6.0.1 Jarvis - v.0.1.2 Fonctionne partiellement. Le retour vocal et le retour écrit ne fonctionne pas.

V.0.1.3 installed but no changes. Works correctly, misses written feedback and oral feedback. Message at the bottom of the screen: "Json parsing error: No value for Jarvis"

@jean-luc18 : Le rapport de bug ne fonctionne pas en répondant à un email de Github, il faut utiliser le site et le glisser/déposer dans la fenêtre d'édition. Pourriez-vous le faire ? Sinon j'ai l'impression que c'est un problème de paramétrage. Pourriez vous taper dans le navigateur du téléphone utilisé l'adresse si dessous, en remplaçant IP par l'adresse IP que vous utilisez, et port par celui que vous utilisez (8080 par défaut). Quelle est la réponse ? Merci

jean-luc18 commented 7 years ago

Bonjours,

http://IP:PORT/?order=test => ça fonctionne.

Pour info: tous les ordres émis du téléphone sont bien reçu par Jarvis et retransmis à ma domotique et les actions sont effectuées.

Les seuls messages qui apparaissent de façon aléatoire sont:

Le retour vocal sur le RPI Jarvis, ne se fait plus.

Ci-joint le rapport de bug si besoin.

Slts

bugreport-2017-04-25-13-41-36.txt

jean-luc18 commented 7 years ago

Bonjours,

Plus de connexion entre le nexus5 et jarvis Nouveau message sur le nexus5: http://IP:PORT/?order=test => {"error": "RESTRequestHandler instance has no attribute 'handle_order'"}

Slts

Oliv4945 commented 7 years ago

http://IP:PORT/?order=test => ça fonctionne.

Est-ce qu'il y a le message ça fonctionne tout seul ou [{"jarvis": "Ca fonctionne!"}] ?

En tout cas merci pour ton log, je pense avoir trouvé la solution : ton hotword est-il jarvis avec un j minuscule ? Dans le JSON renvoyé je m'attendais à avoir tout le temps Jarvis mais en regardant le code de Jarvis ce n'est pas le cas Du coup si tu veux résoudre rapidement ton soucis mettre le J du hotword en majuscule; je vais en parler avec Alexylem ou faire une modification du code quand je pourrais.

Pour le problème de vérification d'adresse et port je penche plus à un problème qui ne vient pas de l'application mais de la connexion web, je vais réfléchir à la façon de l'identifier mais si tu peux faire un LOG quand le problème survient ça pourrait aider.

http://IP:PORT/?order=test => {"error": "RESTRequestHandler instance has no attribute 'handle_order'"}

Là c'est une erreur Jarvis-api, je t'invite à demander ici en précisant la version de Python utilisée avec python --version

Merci !

Oliv4945 commented 7 years ago

http://IP:PORT/?order=test => {"error": "RESTRequestHandler instance has no attribute 'handle_order'"}

Corrigé par AlexyLem. Il suffit de mettre à jour Jarvis : ./jarvis.sh -u

Oliv4945 commented 7 years ago

Bonsoir, ça devrait être résolu dans la v0.1.4, merci de me tenir au courant :-)

jean-luc18 commented 7 years ago

Bonjours,

V.0.1.4 installée. Problème: le micro Google demande en permanence, il reboucle sur lui même. Impossible d'aller dans les paramètres à cause de cela. Après désinstallation et réinstallation de l'appli, dans préférence "reconnaissance vocale à l'ouverture" mettre à "non" et tout rentre dans l'ordre. Le résultat semble bon. Retour écrit et oral = OK Lorsque l'appli ne comprend pas correctement la demande, c'est la que l'appli demande l'adresse et le port et si Jarvis est démarré.

Ps: Avez- vous le problème de ne plus avoir accès aux pages de paramétrages de Jarvis. Le stop de Jarvis ne le stop pas, il redit bonjour et pas d'accès aux paramétrages Jarvis.

Slts

Oliv4945 commented 7 years ago

Problème: le micro Google demande en permanence, il reboucle sur lui même.

Effectivement je suis allé un peu vite en besogne, je corrige ça ce soir. Au lieu de désinstaller il suffit d'aller dans les paramètres du téléphone=>Application=>Jarvis=>Effacer les données

Lorsque l'appli ne comprend pas correctement la demande, c'est la que l'appli demande l'adresse et le port et si Jarvis est démarré.

Surprenant. As-tu le fichier de log ? Est-ce qu'une case "you" avec le texte énoncé s'affiche ?

Avez- vous le problème de ne plus avoir accès aux pages de paramétrages de Jarvis

C'est à dire ? Au niveau du bouton->options ou dans Jarvis-ui ?

Le stop de Jarvis ne le stop pas, il redit bonjour

As-tu le plugin jarvis-systemd d'installé ?

jean-luc18 commented 7 years ago

-- Lorsque l'appli ne comprend pas correctement la demande, c'est la que l'appli demande l'adresse et le port et si Jarvis est démarré. ---- Surprenant. As-tu le fichier de log ? Est-ce qu'une case "you" avec le texte énoncé s'affiche ? ------ il affiche bien la case "you" avec le texte qu'il a compris. Je vais faire un fichier log.

-- Le stop de Jarvis ne le stop pas, il redit bonjour ---- As-tu le plugin jarvis-systemd d'installé ? ------Oui installé

-- Avez- vous le problème de ne plus avoir accès aux pages de paramétrages de Jarvis ---- C'est à dire ? Au niveau du bouton->options ou dans Jarvis-ui ? ------ Oui dans la fenètre Jarvis "./jarvis.sh/fenètre de choix/stop jarvis c'est la que jarvis ne s'arrête pas, il redit "bonjour". Donc impossible d'aller dans les paramètres jarvis ou le l'arrêter.

Oliv4945 commented 7 years ago

Je vais faire un fichier log.

Super, merci

Tes deux autres problèmes sont liés au plugin systemd: Jarvis est enregistré en tant que service, donc Systemd surveille en permanence si Jarvis est là et fonctionnel, sinon il le redémarre . Pour l'arrêter il faut faire sudo service jarvis stop. Je vais mettre la doc à jour dans un premier temps et regarder pour arrêter le service avec la commande Jarvis par la suite.

jean-luc18 commented 7 years ago

ci-joint rapport. bugreport-2017-04-27-15-49-51.txt

jean-luc18 commented 7 years ago

pour le message ip, port et jarvis démarré.

cela vient peut être de certains plugins comme par exemple "jarvis-weather-wunderground-fr" quand on demande "meteo" c'est OK quand on demande "meteo demain", le message apparait.

Oliv4945 commented 7 years ago

Le micro Google demande en permanence, il reboucle sur lui même.

Réglé

cela vient peut être de certains plugins comme par exemple "jarvis-weather-wunderground-fr"

Super indication, merci ! Effectivement je ne gérais pas les erreurs du serveur correctement. Maintenant les erreurs du serveur sont retournées à l'utilisateur. Du coup il y a effectivement une incompatibilité entre jarvis-weather et jarvis-api, un saut de ligne qui traîne visiblement, je regarderai demain. Est-ce que ça le fait avec d'autre commandes ?

Mise à jour dans la release v0.1.5

jean-luc18 commented 7 years ago

V.0.1.5

les messages d'erreur remontent à l'écran.

ex pour la meteo demain server answer:{"error"invalide control caractere at: line 1 collum 48 (char 47)"}

ex pour un capteur domotique qui est mal paramétré server answer: {"error": expecting, delimiter: line 1 collum 60 (char59)"}

Il dit surement en avoir d'autres, je vais chercher.

Oliv4945 commented 7 years ago

Ok. Du coup ça vient de Jarvis-api qui ne gère pas les nouvelles lignes, tabulation etc... J'ai proposé une modification à @alexylem, attendons sa réponse.

Si jamais il n'y a pas d'autres soucis avec l'application Android, merci de fermer le ticket :)

alexylem commented 7 years ago

PR mergé