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

utiliser launch avec un parametre #177

Closed softxpert2 closed 6 years ago

softxpert2 commented 6 years ago

Bonjour et surtout merci pour votre travail.

j'ai un doute sur la syntaxe a employer pour utiliser launch_

je souhaiterai utiliser cette instruction pour compléter mon installation freebox un petit module récupère le volume sonore et ajuste le son de ma freebox il évite ainsi de me faire casser les les oreilles par les pubs mais pour le compléter j'aimerai ajouter un contrôle verbale, j'ai besoin de lui envoyer un paramètre un simple nombre entier.

j'utilise donc If you say then push a note et _launch dans message

mon test en local : node /home/pi/DocumentJS/executer.js (sans parametre) avec un parametre: node /home/pi/DocumentJS/executer.js 5 (suivi d'un entier) test sur ifttp: launch_"/home/pi/Documents/dev/NodesJS/executer.js"

tout fonctionne bien jusque la mais curieusement

test sur ifttp: launch"/home/pi/Documents/dev/NodesJS/executer.sh" {{NumberField}} launch"/home/pi/Documents/dev/NodesJS/executer.sh {{NumberField}}"

ces 2 dernieres syntaxes ne fonctionnent pas, même si elles semblent bien présentés dans le moniteur pm2 monit sans message d'erreur apparent

est ce que launch ne prend pas en compte les paramètres ?

D'avance merci

Aymkdn commented 6 years ago

Le {{NumberField}} a bien été généré par IFTTT (quand tu cliques sur "Add Ingredient")?

Ensuite, pm2 monit devrait indiquer : [assistant-launch] Lancement du programme : /home/pi/Documents/dev/NodesJS/executer.sh 5

Est-ce le cas ?

(sinon oui la dernière syntaxe avec tout entre guillemets devrait être la bonne)

softxpert2 commented 6 years ago

oui, exacte

Aymkdn commented 6 years ago

J'imagine que ton "oui exact" correspond à ce qu'affiche pm2 monit ? Peux tu faire une capture d'écran ?

Je suis en vacances à l'étranger là, donc je ne peux pas faire de tests jusqu'à mon retour, dimanche.

softxpert2 commented 6 years ago

image ici j'utilise blink.js mon fichier est un script js

Aymkdn commented 6 years ago

Tu appelles un fichier JS qui n'est pas exécutable. C'est node qui execute le JS...

Donc ça devrait être launch_"/path/to/node /path/to/blink.js {{NumberField}}"

softxpert2 commented 6 years ago

ok, j'essaie ça de suite, autant pour moi, j'etais passé pas loin avec launch_"node /path/to/blink.js {{NumberField}}"

softxpert2 commented 6 years ago

Non, ça ne passe pas non plus dés que je fait suivre par un entier Alors qu'en console, ça passe bien avec ou sans entier an argument

Aymkdn commented 6 years ago

Fais voir ton monit ?

softxpert2 commented 6 years ago

image

Aymkdn commented 6 years ago

Mmmhhh... Là je sais pas. Faudrait que je fasse des tests pour voir... Donc ça ne sera pas avant dimanche.

softxpert2 commented 6 years ago

Merci c'est sympas, d'avoir débroussaillé un peu, parce que j'avais des doutes sur la syntaxe de launch je vais me pencher sur une version en script sh pour vérifier. En attendant, bonne soirée.

softxpert2 commented 6 years ago

Et bonne vacances ;)

Aymkdn commented 6 years ago

Alors, je viens de tester ça : capture

Soit :

launch_node D:\assistant-plugins\launch_test.js 2

Dans ma console j'ai bien :

[assistant] Commande reçue:  [ 'launch_node D:\\assistant-plugins\\launch_test.js 2' ]
[assistant] Appel du plugin 'launch'
[assistant-launch] Lancement du programme : node D:\assistant-plugins\launch_test.js 2

Et j'ai bien mon paramètre 2 qui est reconnu par mon fichier launch_test.js ... son contenu est le suivant :

var fs = require('fs');
fs.writeFile("./test.txt", process.argv.join("\r\n"), function(err) {
  if(err) {
    return console.log(err);
  }
});

C'est-à-dire que j'écris dans le fichier test.txt tous les "arguments" (fournis par process.argv) et j'ai bien :

C:\Program Files\nodejs\node.exe
D:\assistant-plugins\launch_test.js
2

Donc le problème vient de ton blink.js je pense.

Je t'invite à faire le même test que moi pour prouver que cela fonctionne.

softxpert2 commented 6 years ago

Ok, cette fois, ça fonctionne très bien. -Ayant au départ omis le fait que les fichiers résultants du script seraient créés dans le dossier "assistant-plugin", je me suis enfoncé dans une succession d'erreurs en voulant corriger mon script. -Dans le message j'utilisais des guillemets qui ne semblent pas utiles même avec un num field

Donc merci, beaucoup pour cette avancée, bonne soirée ;)

Aymkdn commented 6 years ago

OK cool :)