VOUS ÊTES ICI: Accueil » Domotique » Eedomus » Éteindre proprement votre NAS synology depuis l’eedomus
Eedomus

Éteindre proprement votre NAS synology depuis l’eedomus

Basée sur une idée initiale de Tchex, le script a ensuite a re-écrit pour résoudre les nombreux problèmes de “Login failed” rencontrés par certains.

Avec ce script php et une petite bibliothèque que vous stockerez sur votre raspberry par exemple, vous allez pouvoir par l’intermédiaire de php ouvrir une session ssh sur votre syno pour lui demander de s’éteindre, c’est l’équivalent du bouton off sous l’interface DSM ou encore de la commande shutdown dans un terminal.

Le gros plus c’est que comme cet appel se fera depuis une requête HTTP, il va pouvoir être intégrer dans un actionneur HTTP et intégrer vos scénarios eedomus pour par exemple, éteindre le NAS à l’activation de l’alarme ou encore si il fait trop chaud dans la pièce.

Au lieu d’utilisez la librairie phpseclib comme dans l’article initial, l’extension php ssh2 est utilisée ici, d’après les premiers retours ça marche bien.

l’exemple est fait ici à partir de captures d’écran d’un synology mais l’extension est disponible quelque soit la machine utilisée.

pour activer l’extension php ssh2, il faut aller dans le panneau de configuration / Services web puis dans les paramètres php (comme indiqué ci-dessous)

DSMScreenshot

Téléchargez ensuite le script:
[wpdm_file id=23]

Dezippez puis ouvrez le fichier stop.php dans votre éditeur favoris puis modifiez les lignes surlignées:

[php highlight=”7,8,13,15″]</pre>
&nbsp;

<!–?php </pre–>&nbsp;

$connection = ssh2_connect(‘192.168.x.x’, 22);

if (!ssh2_auth_password($connection, ‘admin’, ‘password’)) {
die(‘Echec de l\’identification…’);
}

$stream = ssh2_exec($connection, ‘poweroff’);
$errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);

// Enable blocking for both streams
stream_set_blocking($errorStream, true);
stream_set_blocking($stream, true);

echo "OnGoing Shutdown";

?>
<pre>[/php] [alert style=”info” title=”Details”] ligne 3: remplacez 192.168.x.x par l’IP de votre NAS
ligne 5: remplacez admin et password par vos identifiants root sur le NAS


[/alert] Enregistrez vos modifications et déposez le fichier SynoStop.php dans le répertoire web de votre syno.

Voila votre script est prêt, passons à présent coté eedomus.

créer un nouveau actionneur HTTP:
shutdown_syno

puis donnez lui la valeur suivante:
EedomusSynoStop

[alert title=”Pour Info”]Dans cette url, <@ip> correspond à l’adresse IP du serveux Web ou est hébergé le script[/alert]

Il ne vous reste plus qu’a intégrer cet actionneur dans vos scénarios pour éteindre automatiquement et surtout proprement votre NAS en toute sécurité !

Il s’agit ici de vous montrer comment exécuter la commande pour éteindre votre syno mais vous pouvez aussi automatiser d’autres commandes sur le même principe pour piloter certaines actions directement depuis l’eedomus.

je vous recommande aussi de mettre en place un fichier .htaccess au même endroit que le fichier StopSyno.sh qui vous permettra d’éviter que n’importe qui n’éteigne votre NAS.

Merci à Tchex pour l’astuce 😉



Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Madoma73

Informaticien spécialisé dans la sécurité, je me suis mis à la domotique en 2009. J'ai commencé par Homeseer, la Zibase puis finalement l'Eedomus. Depuis, je bidouille, je teste, je rêve de ce que je pourrais faire, et j'essaie de convaincre ma femme de l'utilité de mes rêves !

18 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Rocketlud toi qui à un rasp tu as essayé le tuto “Monitorez l’espace disque de votre raspberry/syno/PC sous eedomus” parce que chez moi et dplein ça ne fonctionne pas ou alors on s’est planté quelque part… me connaissant j’opterai pour la deuxième option… mais bon sait t’on jamais ++

  • Merci pour ce partage.
    A noter que le script peut-être hébergé sur le NAS lui-même. Ca peut-être utile pour ceux qui n’ont pas de raspberry. 🙂

  • J’ai hébergé le script directement sur le nas mais il ne fonctionne pas : je coince …
    J’ai crée le http pour actionner l’extinction : aucun message d’erreur mais le nas ne s’éteint pas.
    Merci pour votre aide

    • en fait pout l’adresse HTTP …
      après votre ID , il faut rajouter le chemein de votre dossier
      pour le trouver…
      cliquer sur votre script .php et faire un click droit puis “propriétés”…
      votre chemin apparait dans la case emplacement
      faire un copier/coller et le mettre à la suite de l’adresse de votre NAS !!!

  • Bonjour et merci pour ce tuto
    Je ne parviens pas à trouver ce qu’il faut mettre dans le .htaccess pour réserver l’accès a l’actionneur eedomus

  • Bonjour.
    Le script est placé sur le n’as syno. lorsque vous dite il faut mettre le chemin compte type /volume1/web/domotique/SynoStop.php
    Je le met dans le script?
    merci a vous

  • Bonjour la manip ne fonctionne pas, pourtant en me connectant en ssh, avec la commande “shutdown -h now” j’arrive a l’éteindre, pensez vous qu’il soit possible de créer un script permettant cette exécution en php?

  • Je confirme cela ne marche plus, malgré ssh activé, ssh2 activé coté php
    Ca n’a pas d’impact sur le syno 🙁
    DSM 5.1-5022 Update 4

    Une idée de ton coté Aurel ?