Page 1 sur 1
Rebooter des pi à distance via domoticz
Publié : 11 déc. 2015, 12:24
par patoche
Bonjour,
Voila j'ai 2 raspberry pi2 sur mon réseau, un avec osmc +domoticz, l'autre sous raspbian avec application récupération donnée onduleur photovoltaique et envoie sur pvoutprod.
J'ai fait une redirection des ports sur la freebox et j'accède à domoticzs de n'importe ou avec l'adresse ip de la box (ipbox).
Le script lua ci dessous fonctionne pour rebooter pi OSMc+ domoticzs
commandArray = {}
if (devicechanged['Reboot osmc'] == 'On') then
commandArray['OpenURL']='
http://ipbox:8080/json.htm?type=command ... tem_reboot'
end
return commandArray
Le problème vient du second.
Lorsque je tape l’adresse ip du pi dans un navigateur j'arrive sur un page internet blog rapsberry et j'arrive sur la même page si je tape Ipbox:5151 donc je présume qu'il y a bien redirection du port.
Par contre le même script n'a pas d'action sur le pi onduleur bien que la commande passe sans erreur dans le log de domoticz.
commandArray = {}
if (devicechanged['Reboot pi onduleur'] == 'On') then
commandArray['OpenURL']='
http://ipbox:5151/json.htm?type=command ... tem_reboot'
end
return commandArray
Des idées de ce qui coince ?
Re: Rebooter des pi à distance via domoticz
Publié : 11 déc. 2015, 12:30
par vil1driver
Salut,
Je ne comprends pas ton 5151 dans le openurl
Le script est sur le pi qui doit être éteint ?
Donc c'est un acces local, on ne passe plus par le net.
Donc utilises ip local dans chaque script et port 8080.
Re: Rebooter des pi à distance via domoticz
Publié : 11 déc. 2015, 13:02
par patoche
Salut vil
Je suis pas un as dans les histoires de ports. Le script est sur le pi qui a le port 8080 (avec osmc + domoticz). Dans ce cas la selon fonctionne
Est ce que je peux rebooter le 2ème pi qui lui n'a pas domoticz d'installé dessus, en envoyant la commande via domoticz qui tourne sur le 1er pi ?
Re: Rebooter des pi à distance via domoticz
Publié : 11 déc. 2015, 14:03
par vil1driver
Ah ba non !
C'est une commande domoticz,
Si tu n'as pas domoticz sur le seconds pi, rien ne va réagire à cette commande.
Re: Rebooter des pi à distance via domoticz
Publié : 11 déc. 2015, 14:55
par patoche
Ah ok. Tout s'explique.
J'ai réussi à trouver une config sur la freebox qui permet d'accèder via vnc au pi de l'extérieur. Donc de le rebooter.
Ca répond à mon besoin
Publié : 11 déc. 2015, 23:29
par dokho
Sinon ssh c'est moins lourd que vnc
Envoyé de mon SM-N9005 en utilisant Tapatalk
Re:
Publié : 12 déc. 2015, 11:42
par rimram31
dokho a écrit :Sinon ssh c'est moins lourd que vnc
+1
Le pi nro 1 effectue un ssh root@... reboot moyennant d'avoir déposé une clef pour pouvoir exécuter ssh sans password, ça va le faire.
Pour le dépot d'une clef, suivre un tuto de ce genre:
https://www.digitalocean.com/community/ ... sh-keys--2 On créé une clef (dsa/rsa) sur le pi nro 1 pour le user qui va devoir faire le ssh, ici pour domoticz a priori root (donc sudo su -) => ssh-keygen -t rsa -b 1024 puis un ssh-copy-id root@<2eme pi> A faire une seule fois, le copy-id demande le password du user root du pi nro 2
Il y a plus qu'a ecrire un script de reboot sur le pi nro 1 (ssh root@<ip 2eme pi> reboot) et le faire exécuter par dz.
Re: Rebooter des pi à distance via domoticz
Publié : 21 déc. 2015, 03:07
par kassor
Bonsoir,
J'apporte ma petite contribution même si une solution a déjà été proposée car ça peut servir à d'autres
Pour ma part, je voulais rebooter mon rpi depuis domoticz sans avoir à lancer putty.
J'ai donc créé un interrupteur virtuel de type "Push On Button"
Je lui ai ajouté un délai d'extinction de 1 seconde
J'ai coché "protégé" histoire d'éviter les clic accidentels, ce qui exige donc la saisie du mot de passe de protection des interrupteurs pour initier l'action
Et enfin j'ai simplement mis la ligne suivante dans "Action On" : script:///sbin/reboot
Ca fonctionne à merveille chez moi.
Pour le serveur distant, je pense qu'il est possible de faire quelque chose de similaire, comme par exemple :
script:///usr/bin/ssh user@pass reboot
Je n'ai pas testé cette ligne et je ne sais pas si le champ "Action On" accepte les arguments/paramètres
Le cas échéant il suffirait en théorie de mettre cette ligne de commande dans un petit shell script et le tour est joué
Seule exigence préalable de mémoire de linuxien, il faut au moins une première fois faire cet accès ssh en ligne de commande pour valider la clé partagée entre les serveurs.
Re: Rebooter des pi à distance via domoticz
Publié : 21 déc. 2015, 10:49
par rimram31
kassor a écrit :...Seule exigence préalable de mémoire de linuxien, il faut au moins une première fois faire cet accès ssh en ligne de commande pour valider la clé partagée entre les serveurs.
Yep.
Pour des raisons de sécurité, ssh ne permet pas de définir le mot de passe en ligne de commande (sauf a utiliser l'utilitaire sshpass). Donc pour pouvoir "scripter" un accès distant, sans saisie de mot de passe, ssh permet une authentification par clef. On créé une clef liée a une identité/un client, ici le pi ou tourne domoticz (ça me fait d'ailleurs penser que la clef doit être créé pour root, le user de dz) puis on autorise cette clef sur le serveur cible, ici le pi "esclave" sur lequel on va faire le reboot.
Accessoirement la technique permet ensuite de se logguer en ssh sur l'autre machine de façon transparente.