Sur un sudo crontab.Snorky a écrit :Tu as fais un crontab ou sudo crontab ?rapinou a écrit :Bon, je sais pas pourquoi mais j'ai réussi en rajoutant sudo à la commande :
Code : Tout sélectionner
@reboot sudo node /home/pi/dash-button/index.js
Amazon DASH bouton
Re: Amazon DASH bouton
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
Re: Amazon DASH bouton
Merci
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
Re: Amazon DASH bouton
Bon, je ne saurais dire si c'est la solution idéale, de ce que j'ai pu lire il ne faut normalement pas mettre de sudo dans un crontab, question sécurité.
J'ai lu aussi qu'on pouvait remplacer une tâche cron de type @reboot en passant par /etc/init.d, peut-être voir de ce côté là.
Sinon j'ai réussi à modifier mon bouton dash comme je le voulais, désormais il me permet de passer de Kodi à RetroPie sur ma TV sans passer par la console. Le dash actionne un interrupteur qui lance lui-même en On ou Off deux scripts bash.
J'ai lu aussi qu'on pouvait remplacer une tâche cron de type @reboot en passant par /etc/init.d, peut-être voir de ce côté là.
Sinon j'ai réussi à modifier mon bouton dash comme je le voulais, désormais il me permet de passer de Kodi à RetroPie sur ma TV sans passer par la console. Le dash actionne un interrupteur qui lance lui-même en On ou Off deux scripts bash.
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
Re: RE: Re: Amazon DASH bouton
Oui super, ça fonctionne...T0ny Oh a écrit :Un truc du genre, c'est pas terrible mais je pense que ça peux fonctionner :jccourtoy a écrit :Quelqu'un a fait un script pour un deuxième bouton ?
Jeff du var
Au passage si il y a des utilisateurs de Node-red j'ai fait un petit article ici :Code : Tout sélectionner
var dash_button = require('node-dash-button'); var dash = dash_button('74:75:48:11:11:11', null, null, 'all'); var dash2 = dash_button('74:75:48:00:00:00', null, null, 'all'); var request = require('request'); dash.on('detected', function (){ console.log(new Date() + ' : Une pression sur le Dash Button a été détectée.'); request.post( 'http://....A MODIFIER', { json: { key: 'status' } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } } ); }); dash2.on('detected', function (){ console.log(new Date() + ' : Une pression sur le Dash Button a été détectée.'); request.post( 'http://....A MODIFIER', { json: { key: 'status' } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } } ); });
https://easydomoticz.com/forum/viewtopi ... =17&t=2877
Tu pense que si j'utilise le node-Red je n'aurais plus de problème avec le démarrage au boot ?
Car même avec sudo dans contab, chez moi cela ne fonctionne pas....
Merci
Jeff du var
Re: Amazon DASH bouton
Il te faudra faire demarrer node red au boot.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
http://www.domo-attitude.fr
Re: RE: Re: Amazon DASH bouton
Non. Je parlais de node-red car je suis passé à cette solution depuis quelques semaines et elle me permet de me passer de la plupart de mes scripts. Mais installer une telle solution juste pour le dash button c'est un peu trop indigeste je trouve.jccourtoy a écrit : Oui super, ça fonctionne...
Tu pense que si j'utilise le node-Red je n'aurais plus de problème avec le démarrage au boot ?
Car même avec sudo dans contab, chez moi cela ne fonctionne pas....
Merci
Jeff du var
Pour trouver une solution à ton problème il va falloir mettre le nez dans les logs. Dans ton cas, peut-être que ta connexion démarre après l'exécution du script et du coup, si pas de connexion, pcap (librairie permettant la capture des paquets) plante.Bien sûr, ce n'est qu'une supposition (au quel cas il suffirai de démarrer le script X secondes après le boot).
Essaye déjà de rediriger les sorties de ton script dans un fichier texte (en ajoutant un ">> /home/pi/log_dashbutton.txt" dans ta tache cron) et regarde aussi dans ton syslog si cron lance bien le script avec :
Code : Tout sélectionner
cat /var/log/syslog | grep lenomdetonscript.jsRe: Amazon DASH bouton
Tiens au passage pour nodejs et le node-dash-button dans la doc il explique comment gérer plusieurs boutons en utilisant un array (entre autres) :
https://github.com/hortinstein/node-dash-button
https://github.com/hortinstein/node-dash-button
Re: RE: Re: RE: Re: Amazon DASH bouton
Cette nuit j'ai un peu chercher, et c'est un problème de sudo. En effet le index.js ne fonctionne que si je met sudo devant. Quand je passe en sudo -su, cela ne marche plus. Il me detect une erreur de syntaxe avec ")" dans la première ligne !T0ny Oh a écrit :Non. Je parlais de node-red car je suis passé à cette solution depuis quelques semaines et elle me permet de me passer de la plupart de mes scripts. Mais installer une telle solution juste pour le dash button c'est un peu trop indigeste je trouve.jccourtoy a écrit : Oui super, ça fonctionne...
Tu pense que si j'utilise le node-Red je n'aurais plus de problème avec le démarrage au boot ?
Car même avec sudo dans contab, chez moi cela ne fonctionne pas....
Merci
Jeff du var
Pour trouver une solution à ton problème il va falloir mettre le nez dans les logs. Dans ton cas, peut-être que ta connexion démarre après l'exécution du script et du coup, si pas de connexion, pcap (librairie permettant la capture des paquets) plante.Bien sûr, ce n'est qu'une supposition (au quel cas il suffirai de démarrer le script X secondes après le boot).
Essaye déjà de rediriger les sorties de ton script dans un fichier texte (en ajoutant un ">> /home/pi/log_dashbutton.txt" dans ta tache cron) et regarde aussi dans ton syslog si cron lance bien le script avec :
Code : Tout sélectionner
cat /var/log/syslog | grep lenomdetonscript.js
Voilà une idée de test à faire.
Jeff du var
Re: Amazon DASH bouton
Bien reçu hier mon dash bouton.
Tout marche pour le lancement d'un switch dans Dz en 4sec.
Par contre , j'ai aussi le problème de lancement au reboot du .js
J'ai passé du temps à lire vos commentaires et à me renseigner sur le sudoers , j'ai essayé: sudo pas sudo pour le crontab -e, rien n'y fait.
Pas grave, je le ferais à la mano, je ne suis pas assez doué sur linux et ses subtilités.
PS : je suis sur Ubuntu 16.04 Lts et si je fais un sudo je dois taper mon mot de passe.
Je pense passer commande d'un 2ème.
Tout marche pour le lancement d'un switch dans Dz en 4sec.
Par contre , j'ai aussi le problème de lancement au reboot du .js
J'ai passé du temps à lire vos commentaires et à me renseigner sur le sudoers , j'ai essayé: sudo pas sudo pour le crontab -e, rien n'y fait.
Pas grave, je le ferais à la mano, je ne suis pas assez doué sur linux et ses subtilités.
PS : je suis sur Ubuntu 16.04 Lts et si je fais un sudo je dois taper mon mot de passe.
Je pense passer commande d'un 2ème.
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Amazon DASH bouton
J'ai passé commande d'un deuxième, gratos du coup avec la remise, incroyable
Sinon j'ai repassé un peu de temps sur le problème de démarrage au boot.
J'ai essayé de percer le mystère de la phrase de @Deennoo
J'ai écrit ceci
Cela ne marche pas, et j'obtiens cela
Au 28:15 de index, on a ceci
On en revient au fameux 'sudo' de certains !
Bizarrement dans mes essais, j'ai essayé des crontab toutes les 1 min cumulé avec des nohup, j'ai obtenu 11 fois la commande dans les logs !!!
Si je fais cela comme cité avant, très bonne idée d'ailleurs
Cela marche jusqu'au prochain redémarrage
Sinon j'ai repassé un peu de temps sur le problème de démarrage au boot.
J'ai essayé de percer le mystère de la phrase de @Deennoo
J'ai fait comme expliqué unTon user a bien les droit de sudoer ?
Code : Tout sélectionner
sudo crontab -eCode : Tout sélectionner
@reboot node /home/jeff/dash-button/index.js 2>/home/jeff/cron.log
Code : Tout sélectionner
[TypeError: pcap Open: info[0] must be a String]
Failed to create pcap session: couldn't find devices to listen on.
Try running with elevated privileges via 'sudo'
/home/jeff/dash-button/node_modules/node-dash-button/index.js:28
throw new Error('Error: No devices to listen');
^
Error: Error: No devices to listen
at create_session (/home/jeff/dash-button/node_modules/node-dash-button/index.js:28:15)
at register (/home/jeff/dash-button/node_modules/node-dash-button/index.js:47:24)
at Object.<anonymous> (/home/jeff/dash-button/index.js:2:12)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
Code : Tout sélectionner
onsole.error("Failed to create pcap session: couldn't find devices to listen on.\n" + "Try running with elevated privileges via 'sudo'");On en revient au fameux 'sudo' de certains !
Bizarrement dans mes essais, j'ai essayé des crontab toutes les 1 min cumulé avec des nohup, j'ai obtenu 11 fois la commande dans les logs !!!
Si je fais cela comme cité avant, très bonne idée d'ailleurs
Code : Tout sélectionner
jeff@Ubuntu:~$ sudo nohup sudo node /home/jeff/dash-button/index.js &
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen