J’utilise depuis quelques années un PDU (Power Distribution Unit) pour pouvoir couper l’électricité sur un matériel électrique quand celui-ci est récalcitrant. Jusqu’à présent, il fallait que je me connecte à l’interface web du PDU et que je clique sur « on » ou « off » ou « reboot » de la prise que je voulais piloter à distance. Ce qui est un peu contraignant quand on n’a pas un PC à portée de main (sur smartphone, l’interface est horrible car pas adaptative). Et puis à l’occasion d’une coupure d’Internet (difficile de télétravailler) j’ai lu la doc du PDU… ce que je n’avais pas fait jusqu’à ce jour. Et BAM, je découvre qu’on peut piloter les prises à distance via des commandes telnet.
Ma box domotique étant parfaite pour passer les ordres (je peux la contacter par msg privée, SMS, ou autre appel spécifique), c’est elle qui enverra les commandes telnet au PDU.
Installer Expect sur l’hôte JEEDOM :
On se connecte en SSH à la distrib qui accueille Jeedom (dans mon cas une Debian 9), puis on fait un « apt install expect » :

Création du fichier de script Expect :
On créé le fichier qui contiendra les commandes Expect et on lui attribue les droits habituels d’exécution :

On saisit les lignes de commandes dans le fichier nouvellement créé :
#!/usr/bin/expect
spawn telnet 192.168.xx.xx
expect "Login:" { send "teladmin\r" }
expect "Password:" { send "telpwd\r" }
sleep 1
send "sw o01 on imme\r"
sleep 1
send "QUIT\r"
Continue reading ‘Piloter un PDU à distance avec Jeedom’ »