Rebooter des pi à distance via domoticz
Rebooter des pi à distance via domoticz
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 ?
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 ?
RPI2 OSMC + domoticz + Rfx 433e + chacon dio, teleinfo 433 via arduino nano, sonde T° innovaley et TFA 303139, sonde T° piscine DIY 433 oregon, OWL 180, RPI zero W + camera
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Rebooter des pi à distance via domoticz
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.
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.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Rebooter des pi à distance via domoticz
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 ?
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 ?
RPI2 OSMC + domoticz + Rfx 433e + chacon dio, teleinfo 433 via arduino nano, sonde T° innovaley et TFA 303139, sonde T° piscine DIY 433 oregon, OWL 180, RPI zero W + camera
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Rebooter des pi à distance via domoticz
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.
C'est une commande domoticz,
Si tu n'as pas domoticz sur le seconds pi, rien ne va réagire à cette commande.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Rebooter des pi à distance via domoticz
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
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
RPI2 OSMC + domoticz + Rfx 433e + chacon dio, teleinfo 433 via arduino nano, sonde T° innovaley et TFA 303139, sonde T° piscine DIY 433 oregon, OWL 180, RPI zero W + camera
Re:
+1dokho a écrit :Sinon ssh c'est moins lourd que vnc![]()
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.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: Rebooter des pi à distance via domoticz
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.
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
Yep.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.
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.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20