Un blogue geek & techno

Dossier domotique cinquième partie : Connectivité

Dossier domotique : connectivité

Parfois en domotique on semble se heurter à des limites car, malheureusement, certains appareils ne sont pas compatibles avec un système de domotique comme Insteon (ou autre).

En fait, si nous prenons l’exemple de l’article sur la sécurité en domotique de la semaine dernière, il aurait été très avantageux de pouvoir contrôler les caméras de surveillance WiFi à partir d’un logiciel comme Indigo. Par contre, à priori ce n’est pas possible. Pour vous consoler, les contrôles de la caméra sont accessibles via une interface Web. Vous pourriez donc vous dire que c’est mieux que rien et utiliser deux systèmes pour domotiser votre maison : Indigo et l’interface Web de vos caméras.
Mais supposons que vous désirez également pouvoir contrôler la musique qui joue dans votre maison de manière centralisée… Vous pourriez passer par iTunes! Après tout, Indigo possède un plugin pour contrôler iTunes… sauf que vous devrez aussi ouvrir votre amplificateur via Indigo… ce qui est impossible. Par chance, votre amplificateur possède également une interface Web avec des commandes de base. Mais maintenant, ça vous fait trois entités séparées à gérer : Indigo, votre interface pour caméras et votre interface sonore.

Vous voyez où je veux en venir… Le but d’avoir un système de domotique efficace est la centralisation du contrôle et l’automatisation du fonctionnement. Si vous devez effectuer plusieurs opérations pour en venir à un résultat, alors à quoi bon?

AppleScript à la rescousse

Je dois vous avertir, nous ne sommes plus dans la petite domotique facile. Le reste de cet article s’adresse aux plus courageux et patients d’entre vous. Même que je ne vous donnerai pas de solutions à tout. Je vais vous donner une mission : trouvez comment rendre vos appareils compatibles avec votre système de domotique!

Pour ce faire, AppleScript deviendra votre meilleur ami. Gardez une chose en tête : si un de vos appareils possède une interface Web, alors vous pourrez probablement trouver une façon de le rendre compatible avec votre système de domotique au complet. AppleScript permet de faire bien des choses y compris envoyer des commandes via le Web.

Patience et connaissances

Il n’est pas nécessaire de connaître AppleScript pour réussir (j’en suis la preuve). Par contre vous devrez soit avoir énormément de patience et fouiller l’Internet en entier à l’aide de Google pour trouver comment envoyer une commande à votre appareil, soit posséder de bonnes connaissances en Web pour comprendre et trouver quel message est envoyé à quoi pour effectuer quelle opération.
« Hein?… »

D’accord, je vous donne un exemple…

Rendre mon amplificateur Yamaha compatible avec mon système de domotique

En creusant dans l’interface Web de mon ampli Yamaha, à l’aide des outils d’inspection de Google Chrome et d’un logiciel nommé HTTPScoop, j’ai découvert que pour communiquer avec mon ampli, l’interface Web fabriquait un fichier XML et l’envoyait à un endroit précis. J’ai donc recréé ce fichier XML et je l’ai sauvegardé quelque part sur mon ordinateur de domotique. Le contenu de ce fichier ressemble à ça :
<?xml version=“1.0” encoding=“UTF-8” ?>
<YAMAHA_AV cmd=“PUT”><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>

 Ce que cette commande fait, c’est ouvrir l’ampli. Il y a bien entendu plus qu’une commande possible, chacune d’elle devant être sauvegardée dans un fichier xml différent (à moins de vouloir effectuer plus d’une commande à la fois).

Une fois le fichier prêt, il s’agit maintenant de l’envoyer. J’ai donc fait des recherches à savoir comment procéder via AppleScript car Indigo peut envoyer ces commandes aussi facilement qu’il peut allumer une lumière. Après beaucoup de recherches, j’ai trouvé que la ligne de code était la suivante :
do shell script “curl -X POST –upload-file chemin/vers-mon/fichier.xml http://ADRESSE-IP-DE-MON-AMPLI/YamahaRemoteControl/ctrl”

 Le tour est joué!

Vous pouvez le faire!

J’ai choisi l’exemple le plus compliqué, n’ayez crainte. Pour certains autres appareils, il s’agit d’envoyer une commande à une adresse en particulier (pas besoin de fichier XML). Par contre, comme chaque appareil est différent, ce sera à vous de trouver comment lier Indigo à ce dernier. Rappelez-vous que tout appareil ayant une interface Web pourra être d’une façon ou d’une autre contrôlable par Indigo!

Réjouissez-vous au moins du fait que ce travail compliqué payera!

Imaginez…

Vous entrez dans votre salle de cinéma maison. Sur votre pavé numérique servant au contrôle de l’éclairage, vous avez programmé quatre boutons… l’un d’eux possède un petit icône de pellicule cinéma. Comme vous voulez regarder un film, vous appuyez dessus. Cinq secondes plus tard, tel que prévu, les lumières s’éteignent, vous ayant laissé le temps d’aller vous asseoir. Pendant ce temps, votre téléviseur s’est allumé tout seul et est allé chercher la bonne entrée numérique : celle de votre Apple TV… pas besoin de passer de l’entrée de la télé, à celle de la X-Box, à celle de la Wii, à celle du lecteur DVD… etc. L’amplificateur, lui, sachant que vous voulez regarder un film, s’ajuste aux bons réglages. Vous n’avez rien à préparer. Vous n’avez pas à passer d’une télécommande à l’autre sans arrêt. Vous n’avez qu’à choisir votre film… et en profiter au maximum!

Catégorie : Domotique


Commentaires