Aymkdn / assistant-plugins

Des plugins pour les Assistant (comme Google Home, Cortana, Alexa)
https://aymkdn.github.io/assistant-plugins/
MIT License
92 stars 21 forks source link

PB commandes exécutées plusieurs fois #215

Closed FredSan83 closed 5 years ago

FredSan83 commented 5 years ago

Bonjour Aymeric, Tout d'abord félicitation pour votre développement. Je rencontre un petit problème avec le plug-in freebox que je vais tenter de résumer.

Quand j'utilise assistant-plug-in en mode console (start.bat) tout se passe bien au départ quand, dans une durée que j'estime entre 6 et 8h d'utilisation, la connexion avec pushbullet se rompt et assistant-plug-in ne reçoit plus rien de PB. J'ai vu, la semaine dernière, que vous aviez sorti la version 2.0.8 qui rétablit la connexion. Effectivement, une fois installée, cette version rétablit bien la connexion avec pushbullet mais a l'effet de me doubler (voire tripler, quadrupler et même plus.. en fonction des déconnexions/reconnexions) chaque commandes envoyées. Je constate aussi que dans le contrôleur de tâches, j'ai deux instances nodes.js exécutés sur le PC. Je ne comprends ce qui peut provoquer cette déconnexion avec PB et ne sais l'analyser sur le site de PB. Côté IFTTT tout semble se passer correctement, les ordres ne sont transmis qu'une fois. Est-ce qu'un fonctionnement en tâche de fond pourrait résoudre le problème ? Je vous joins ci-dessous une copie de la console pushbulletx3

Merci de bien vouloir m'éclairer.

Cordialement Fred

PS : Je viens de contrôler à nouveau le gestionnaire de tâches et je n'ai qu'un seul processus node.js (comprends plus !)

Aymkdn commented 5 years ago

Je viens de publier la v2.0.9 qui va fermer le stream avant de tenter de se reconnecter... Peut-être que ça aidera... ou pas ! N'ayant pas ces problèmes de connexion, j'essaie de simuler la situation, mais bon, c'est pas la vraie vie ^^ Donc met à jour et tiens moi au courant.

Vérifie aussi que tu n'utilises pas pm2 pour lancer le programme au démarrage car ça entrainerait 2 sessions du programme (celui lancé en arrière plan, et celui que tu lances dans la console).

Pour info, si tu n'utilises ce programme que pour la Freebox, sache que je travaille sur une version dans le cloud du plugin Freebox qui permettra de ne plus avoir besoin d'une machine qui tourne tout le temps pour piloter la Freebox. J'espère terminer ça ces prochaines semaines :-)

FredSan83 commented 5 years ago

Merci Aymeric pour ta célérité. Je télécharge la 2.0.9 dès maintenant pour voir mais certainement pas de retour avant demain soir, le temps que mes 6 ou 8h fatidiques se manifestent. J'ai rien niveau système qui correspond à ce timing (je dois avouer que je me suis fait avoir au départ avec la mise en veille auto du PC mais depuis je l'ai supprimée !!) et n'arrive pas à déterminer précisément quand ça plante. Petite suggestion, il serait bien que les logs indiquent l'heure (pas pour toutes les commandes passées - inutile - mais en cas de déconnexion PB par exemple).

Je n'ai pas encore utilisé pm2, je comptais le faire uniquement après que tout soit en ordre.

Bonne nouvelle pour la version cloud même si j'ai la chance de disposer d'un PC 24/7 qui ne me sert pas à grand chose sinon d'utiliser tes plugins. En tout cas, je pense que cela va en intéresser plus d'un.

A demain (pour moi) pour les résultats.

Aymkdn commented 5 years ago

Bonne idée pour le timestamp. Je le rajouterai comme une option possible je pense ou quelque chose comme ça.

Tiens moi au courant donc !

FredSan83 commented 5 years ago

Ah, tiens ! le résultat ne s'est pas fait attendre... moins d'une heure de fonctionnement et paf le chien. Par contre, pas de reconnexion et programme planté... la console: ap_209

Bon appétit !

Aymkdn commented 5 years ago

Ah merde, c'est stream et pas steam ppffff je suis un boulet ^^

Je viens de corriger avec la version v2.0.10

FredSan83 commented 5 years ago

euh... tu manges quand toi ? Ok, je télécharge ça tout à l'heure !

Aymkdn commented 5 years ago

euh... tu manges quand toi ?

En général vers 21h/22h, mais là je pars au sport ;-)

FredSan83 commented 5 years ago

;-) Bon allez je te ferai un retour dans... la nuit ;-) bon sport alors.

FredSan83 commented 5 years ago

Ah! apparemment il veut pas me télécharger la 2.0.10. Update.bat m'ouvre bien la fenêtre de commande avec le prompt du dossier en cours mais rien.

Ca c'est en guide d'apéro quand tu rentreras !

Aymkdn commented 5 years ago

La version a bien été diffusée sur npm https://www.npmjs.com/package/assistant-plugins mais en effet elle n'est pas visible quand on veut mettre à jour... Un problème avec les serveurs de npm je suppose. Cela arrive de temps en temps.

En attendant, tu peux faire la modification à la main en remplaçant le fichier node_modules\assistant-plugins\index.js par https://raw.githubusercontent.com/Aymkdn/assistant-plugins/master/index.js

Concrètement j'ai changé steam par stream sur cette ligne https://github.com/Aymkdn/assistant-plugins/blob/master/index.js#L117

FredSan83 commented 5 years ago

Salut Aymeric, Bon apparemment tout est rentré dans l'ordre au niveau d'npm et je viens de lancer la 2.0.10. J'attends maintenant les notifications de plantage PB pour voir. Soit c'est dans le timing habituel constaté (entre 6 et 8h) soit c'est dans une heure comme hier soir. Je te fais le retour sur la reconnexion à PB aussitôt.

@+

Aymkdn commented 5 years ago

J'ai fait quelques tests de mon côté et j'ai pas l'impression que ce que j'ai fait à fonctionner.

Par contre, je vois que le module que j'utilise pour PushBullet (https://github.com/alexwhitman/node-pushbullet-api/) a fait une mise à jour il y a deux semaines avec dans le changelog :

Reconnect to websocket stream if disconnected.

Du coup, ce module se reconnecte de son côté, et assistant-plugins se reconnecte lui-aussi, et je pense que c'est ce qui cause ce doublon !

Finalement je pense qu'il suffit que je n'essaie plus de reconnecter avec assistant-plugins, mais de laisser faire le module PushBullet. Si tu veux tester chez toi, tu peux remplacer node_modules\assistant-plugins\index.js par https://gist.githubusercontent.com/Aymkdn/8ca690f1d465fd520821679359bb0968/raw/4ee9e167e26f5615c5f2fb5b03d0f6568936c3f3/index.js

FredSan83 commented 5 years ago

ok pour les infos mais si on remonte à 15 jours, j'avais déjà le problème (en 2.0.8) que PB ne transmettait plus rien à la consolle. Par contre je n'avais aucun message d'erreur, la console, montrait la dernière commande exécutée du style: [assistant-freebox] Commande "XXX" exécutée.

la 2.0.9 elle apportait l'avantage de ne plus perdre la connexion avec PB mais me doublait ou plus les commandes comme tu as pu le constater dans le log.

En 2.0.10, peut-être que le fait de stopper le stream avant de le redémarrer, sans se soucier de ce que fait le node-PB-api, va peut-être apporter une réponse à ma problèmatique particulière ? Bon, je laisse tourner pour l'instant en l'état la 2.0.10 jusqu'à la première déco de PB, là ça fait plus d'une heure et ça tient, donc à voir dans 5 ou 7h. Je te ferai un retour demain.

Bon sport/ap.

Aymkdn commented 5 years ago

Alors j'ai testé de mon côté avec ma version, et ça me semble bien fonctionner maintenant ! Je viens de la publier (v2.0.11)

FredSan83 commented 5 years ago

Hi, Bon, la 2.0.10 m'a rendu une console en piteux état en rentrant à l'instant. J'avais des centaines de lignes déconnexion/reconnexion à PB. En chronométrant ces déconnexions, ça tenait environ 30 secondes. Seul avantage, toute commande passée n'était exécutée que 2 fois !... ne sourit pas ! Allez, si, on peut rire ;-) J'ai jugé inutile de te faire une copie de la console.

Donc, je viens de télécharger la 2.0.11 et te tiens au courant. @+

FredSan83 commented 5 years ago

ah ben voilà, je pense qu'on est proche de fermer cette issue. J'ai eu 2 déco entre 17h30 et maintenant mais la reprise est nickel et les commandes ne sont plus doublées ou plus. Il est un peu tard, je te fais le retour complet détaillé demain. Super le timestamp dans les commandes !!!

A demain

FredSan83 commented 5 years ago

Salut Aymeric, Bon, un petit rapport de 24h de fonctionnement: J'ai eu en tout et pour tout 8 déconnexions (démarrage de la 2.0.11 vers 17h30 hier) 18h25/00:25/06:25/12:25/14:09/14:25/17:21/18:25 C'est marrant, mise à part les déco que je qualifierais d'intempestives (celles de 14:09 14:25 17:21), on dirait qu'il y a un cycle de 6h relativement précis (18h25 00:25 06:25 18:25) qui me laisse dubitatif. Constate-tu ce même phénomène ?

Bon, les déco tu vas me dire on s'en fout du moment que ça se reconnecte bien et que les commandes ne sont plus doublées, triplées ou plus. Je pense que je vais pouvoir passer en mode tache de fond avec npm.

Cette issue peut-être donc close. Merci encore pour ta réactivité. Cordialement.

Aymkdn commented 5 years ago

Constate-tu ce même phénomène ?

Non, mais j'ai la fibre chez Free. Par contre il y a quelques micro-déconnexions:

[assistant] (2019-01-30 20:04:16) Le flux avec Pushbullet a été déconnecté... Tentative de reconnexion... [assistant] (2019-01-30 20:04:17) Connecté ! Prêt à exécuter les ordres. [assistant] (2019-01-30 21:46:18) Le flux avec Pushbullet a été déconnecté... Tentative de reconnexion... [assistant] (2019-01-30 21:46:19) Connecté ! Prêt à exécuter les ordres. [assistant] (2019-01-30 23:02:20) Le flux avec Pushbullet a été déconnecté... Tentative de reconnexion... [assistant] (2019-01-30 23:02:22) Connecté ! Prêt à exécuter les ordres. [assistant] (2019-01-31 14:44:22) Le flux avec Pushbullet a été déconnecté... Tentative de reconnexion... [assistant] (2019-01-31 14:44:24) Connecté ! Prêt à exécuter les ordres. [assistant] (2019-01-31 15:46:25) Le flux avec Pushbullet a été déconnecté... Tentative de reconnexion... [assistant] (2019-01-31 15:46:25) Connecté ! Prêt à exécuter les ordres.

Cool si c'est bon maintenant :)

Aymkdn commented 5 years ago

Pour info, j'ai créé une version super simplifiée de assistant-freebox qui permet de contrôler sa Freebox à la voix sans devoir installer quoi que ce soit, ni avoir son ordinateur qui tourne 24h/24. Je cherche des testeurs pour ces prochaines semaines. Si ça t'intéresse, je t'invite à lire ce message : https://github.com/Aymkdn/assistant-freebox-cloud/issues/1

FredSan83 commented 5 years ago

Bonjour Aymeric,

Je rentre de congés.

Je veux bien tester ta solution bien que la version PC 24/7 me satisfasse pleinement.

Je n’encombre pas plus l’issue #215 et me rends sur la dédiée

@+

micky1183 commented 5 years ago

Bonjour Aymeric, Tout d'abord braco pour ce programme. Je rencontre un petit problème avec plugin assistant que je vais vous exposez. Je suis novice dans ce domaine. J'ai un raspberry avec google assistant, ca fonctionne bien mais lorsque je dis zappe sur la 1, la commande est éxécuté 2 fois. Je pense avoir installer le programme 2 fois mais je ne sais pas comment le désinstaller. Pouvez vous m'aider car je galère depuis 1 mois?

merci d'avance