Eedomus: allumer et éteindre son serveur à distance

2

La dernière mise à jour eedomus a apporté une nouveauté très intéressante: la « toolbox », qui permet de faire un ping vers un périphérique, pratique pour savoir s’il est connecté, mais également de faire du Wake On Lan, c’est à dire de réveiller une machine sur le réseau.

L’utilisation est très simple, mais je vous propose d’aller un peu plus loin: réveiller son pc, c’est bien, mais je voulais également pouvoir l’éteindre. Je vous explique cela dans la suite ;-)

 

I. Pré requis

 

La box eedomus dispose de ce qu’il faut pour faire du Wake On Lan et donc réveiller un ordinateur branché sur le réseau. En revanche, pour éteindre un ordinateur, c’est plus complexe.

Je prend le cas ici d’un ordinateur fonctionnant sous Windows (en l’occurrence mon serveur HP avec Windows Home Server 2011, présenté ici). Plusieurs solutions sont envisageables de prime abord:

  • la commande shutdown, suivie de l’adresse IP de la machine à éteindre. Mais pour cela il faut un ordinateur sous Windows pour éteindre l’ordinateur qu’on souhaite. Ca limite l’intérêt
  • installer un logiciel de prise de controle distant, comme VNC, ou, mieux, LogMeIn. De n’importe où, on peut se connecter à notre ordinateur et l’éteindre manuellement. Très pratique, mais ca nécessite une intervention manuelle.

J’ai fini par trouver une solution simple à mettre en place, et qui permet à l’eedomus d’éteindre proprement mon serveur à l’aide d’une simple requête HTTP.

Pour commencer, histoire que ca fonctionne tout le temps, il faut affecter une adresse IP fixe à votre ordinateur. Pour cela, je vous conseille de relever l’adresse MAC de votre carte réseau, et de faire une réservation d’adresse sur votre box ADSL. Exemple sur ma Freebox:

 

 

Sans cela, votre ordinateur risque de changer d’adresse IP sans vous prévenir, et plus rien ne fonctionnera :/

Une fois cela fait, il faudra installer un serveur web sur l’ordinateur en question. Ca peut paraitre compliqué, mais en installant un package tout fait comme WAMP, par exemple, c’est très simple: on lance l’installation, et on met le raccourci créé dans le menu démarrage de Windows afin qu’il se lance automatiquement au démarrage de l’ordinateur. Quand tout est ok, vous devez avoir une petite icone « W » en vert dans la barre des taches:

 

 

Si votre parefeu Windows vous demande une autorisation, donnez lui !

Si vous tapez l’adresse IP de votre ordinateur depuis un autre poste http://IP_DU_SERVEUR, vous devriez tomber sur cette page:

 

 

Si c’est le cas, votre serveur web fonctionne et est joignable depuis un autre poste. Bravo, vous avez fait le plus dur !

Maintenant, cliquez sur l’icone de Wamp dans la barre des taches, puis sur « www directory », pour se rendre dans le répertoire qui doit héberger les scripts php:

 

 

créez à cet endroit un nouveau fichier texte avec le Bloc Note Windows, et copiez y le contenu:

 

<?php

$commande = « Shutdown -s -t 5 -c \ »Shutdown computer\ » »;

exec($commande, $output);

?>

 

puis enregistrez votre fichier sous le nom shutdown.php par exemple. Maintenant, si vous appelez l’adresse http://IP_DU_SERVEUR/shutdown.php, votre ordinateur devrait s’éteindre.

Il n’y a plus qu’à configurer l’eedomus.

 

II. Configuration sur la box eedomus

 

Commencez par créer un actionneur HTTP:

 

 

Puis rendez vous sur l’onglet Valeurs:

 

 

Ici, créez deux lignes:

  • la première, pour allumer le serveur, aura l’URL http://localhost/tools/ . On utilise ici la toolbox de l’eedomus. Il suffit ensuite de renseigner l’adresse MAC du serveur à réveiller, sous la forme ?action=wol&mac=01:23:45:67:89:10
  • la seconde, toute simple sera l’URL http://IP_DU_SERVEUR/shutdown.php . Aucun paramètre n’est à compléter.

Votre box eedomus est maintenant capable d’allumer ou éteindre votre ordinateur. Cet actionneur peut bien évidement être utilisé dans des scénarios. J’ai par exemple un scénario « On part de la maison » qu’on déclenche… quand on part de la maison, et qui a pour but d’éteindre toutes les lampes, les appareils, puis d’activer l’alarme. Maintenant il se charge également d’éteindre proprement mon serveur:

 

 

A l’inverse, quand on rentre et qu’on désactive l’alarme, la box me rallume automatiquement mon serveur.

Mon serveur me sert essentiellement à la diffusion de vidéos et de musique dans toute la maison. Donc quand je suis absent, il n’est pas très utile qu’il reste allumé et qu’il consomme de l’électricité. Avec ce petit système très simple, je n’ai pas à y penser. Il est automatiquement éteint quand je pars, et il est dispo quand je suis à la maison et que je veux écouter de la musique ou regarder un film. Même s’il n’est pas très gourmand, environ 75w, à disons 10h d’extinction par jour, cela nous fait toujours 200Kw d’économisés sur l’année :p Je pense même pousser le principe avec une extinction la nuit et un rallumage automatiquement le matin, ou un rallumage à la demande via un Nanoztag sur le Mirror ou le Karotz… Les idées ne manquent pas !



A propos de l'auteur

Je me suis essayé à la domotique il y a quelques années avec quelques modules X10, quelques softs gratuits, etc… pour équiper la maison que j'avais en location. Puis j'ai eu la chance de pouvoir faire construire, et c'est là que mes projets domotiques ont explosé, la construction neuve me permettant de prévoir une installation complète, et intégrée à la maison. Aujourd'hui, quasiment toute mon installation repose sur le Z-Wave.

  • mili

    Hello Cedric

    Petite question : aurais-tu idée du php à exécuter sur un NAS Synology pour l’éteindre celui-ci ?

    Merci beaucoup !

    Mili

  • Nicolas Rigaud

    Merci Cédric pour cet article que j’ai mis en pratique.

    J’ai appliqué la solution de Vincent (l’appli shutdown) qui fonctionne très bien et qui me semble plus sûre que la page php.

    Je pense que ça serait bien que ça apparaisse dans l’article d’autant que tu sembles l’utiliser aussi non ?