ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

Certaines commandes ne sont pas reconnues #281

Open Akutchi opened 7 years ago

Akutchi commented 7 years ago

Bonjour,

J'ai réussi, avec un peu de mal mais j'ai réussi, à installer yana-server, j'étais donc content. En effet, je pouvais enfin m'amuser avec les commandes vocales. Or lorsque je lui donne certaines commandes yana ne répond pas. Elle répond bien à des commandes comme "lance le programme" ou encore "énerve-toi" mais des commandes comme "quelle heure-est-il ?" ou "on est le combien", bien qu'écrite dans ear.exe ne me donne aucun retour vocal. Où pourrait se trouver le problème ?

Merci.

ldleman commented 7 years ago

tu as bien mouth.exe de lancé ? Car c'est cet executable qui "parle" , ear.exe lui se contente d'ecouter. Vérifie également que tu as bien une voix d'installé sur ton windows (tape synthèse dans le panneau executer pour acceder aux conf de synthèses) et que la voix configurée dans yana correspond bien.

Akutchi commented 7 years ago

mouth.exe est bien lancé, de plus j'ai une voix d'installée. Cependant, il s'agit de "Microsoft Julie Mobile" alors que les deux voix que j'ai pu tester sur yana jusqu'à présent sont : Microsoft Hortense/Zira Desktop". Y-aurait-il un lien ? Merci.

ldleman commented 7 years ago

C'est possible, windows est très mal fait de ce coté : tu as des voix pour le 64 bits et des voix pour le 32 bits et seul les programmes compilé pour le 32bits peuvent utiliser les voix installées en 32 bits et réciproquement pour le 64bits.

Donc si tu as configuré une voix 32 bits dans yana mais que tu as installé celle ci en 64bits il ne vas pas te la trouver.

Pour confirmer que c'est c'est essaye de changer les noms des voix pour tester celles qui fonctionnent ou pas.

breizh85 commented 7 years ago

Salut,

Je relance ce post car moi aussi j'ai exactement les mêmes symptomes (certaines commandes ne fonctionnent pas).

j'ai fait les tests avec un autre pc (windows) => tout fonctionne

Donc le probleme vient du client et pas du serveur, lorsque je vais dans les logs apache(access.log), j'ai bien des logs et un retour dans mouth.exe lorsque je lance certaines commandes (yana, presente toi) mais j'ai rien lorsque je lance d'autre commande (yana, quel heure est-il) Je lance donc ear.exe -v; les commandes sont bien chargés au lancement de ear.exe depuis le serveur. Yana, quel heure est-il, est reconnu et envoi effectué mais pas de log dans apache.

Je précise, j'ai reinstallé mon pc pour repartir sur de bonne base.

Peut-on voir tous les logs de ear.exe quelque part pour savoir quel est sa requete quand il me dit envoi effectué ?

je vais testé avec wireshark mais si rien ne sort comme requete je ne serais pas plus avancé.

Merci

ldleman commented 7 years ago

Okay, je vais voir si je peux augmenter le nombre de logs dans le ear avec le mode -v C'est très étrange que les requetes fonctionnent sur certaines commandes et pas d'autres...

Ca pourrait être lié a la différence de version de protocole : quelle heure est il est en v1, alors que présente toi est en v2.

Dans un but de rétro compatibilité j'ai du créer une sorte de rustine coté serveur pour convertir les protocole v1 en v2, peut être que c'ets ça qui ne fonctionne pas a tous les coups

cf : https://github.com/ldleman/yana-server/blob/master/common.php#L141

il se pourrait que le file_get_content juste en dessous ne se fasse correctement pour une raison ou une autre.

breizh85 commented 7 years ago

Merci pour ta réponse,

En regardant les logs j'avais vu qu'il y avait des différences dans les commandes, certaines avec un callback de précisé d'autre non, ce qui doit correspondre aux commandes V1 vs V2.

Après divers tests le problème ne semble pas venir du client.

Après avoir connecté le rasp et le pc sur un hub tout fonctionne, c'est quand le rasp et le pc sont connectés à ma freebox que certaines commandes ne passent plus.

Cool j'avance mais là c'est encore plus chelou.

En tout cas le problème ne vient pas de ton excellent travail !!

Je continue d'investiguer

breizh85 commented 7 years ago

Salut,

je reviens sur ce poste car j'ai fini par trouver mon erreur. J'ai pu diagnostiquer la panne lorsque j'ai lancé socket.php dans une invite de commande et donc voir les logs et j'ai pu m'apercevoir que socket.php utilisait une mauvaise adresse IP lors de ces requêtes. En effet comme je travaillais sur deux reseaux differents, j'avais oublie que install.php m'avait demandé une IP pour le rasp.Je suppose que cette IP est inscrite dans la base de données, après relance du fichier install.php tout refonctionne.

Merci encore pour ton travail !!

je pense que ce post peut être cloturé

@+

ldleman commented 7 years ago

Yop!

Effectivement l'url est stockée non pas en base mais dans le fichier constant.php https://github.com/ldleman/yana-server/blob/master/constant.sample.php#L19

La constante est YANA_URL tu peux la changer manuellement au lieu de refaire l'install si tu change de réseau à nouveau ça t’épargnera du maille ^^.

Merci beaucoup pour ton retour ça risque d'en aider plus d'un :)

Amicalement, Idle

Le 31/05/2017 à 09:35, breizh85 a écrit :

Salut,

je reviens sur ce poste car j'ai fini par trouver mon erreur. J'ai pu diagnostiquer la panne lorsque j'ai lancé socket.php dans une invite de commande et donc voir les logs et j'ai pu m'apercevoir que socket.php utilisait une mauvaise adresse IP lors de ces requêtes. En effet comme je travaillais sur deux reseaux differents, j'avais oublie que install.php m'avait demandé une IP pour le rasp.Je suppose que cette IP est inscrite dans la base de données, après relance du fichier install.php tout refonctionne.

Merci encore pour ton travail !!

je pense que ce post peut être cloturé

@+

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ldleman/yana-server/issues/281#issuecomment-305110075, or mute the thread https://github.com/notifications/unsubscribe-auth/ACf-M8PvRrJRcMZ-WPStr6oiGxDSLjMTks5r_RhcgaJpZM4Kmc0U.