Dropbox allume vos lumières
par guiguiabloc le 06 jan, 2012, sous domotique
Tout d’abord, je vous souhaite à tous une excellente année 2012
Qu’elle vous apporte plein de petits plaisirs et de grand bonheur qui font la joie de notre vie de tout les jours
Je vous propose une petite bidouille rigolote dont je me suis servie dernièrement en l’absence d’accès web sur mon serveur domotique.
Comme nombreux parmi vous je me sers de Dropbox entre mes serveurs, pcs, téléphone Android etc..
Bien évidemment, mon serveur domotique dispose d’un répertoire partagé avec mes autres équipements.
Il m’est arrivé de devoir ouvrir la porte de mon garage à distance (chose courante qui se gère par différents accès SSH, API ou interface Web) mais je n’avais pas accès à ses environnements depuis le lieu où je me trouvais. A part un accès a mon Dropbox…
Et là, j’ai eu une idée farfelue, controler par Dropbox l’interaction avec les équipements domotique
Hop, c’est parti, comment j’ai mis cela en place.
Tout d’abord, bien sûr, il faut sur votre serveur domotique un Dropbox qui tourne
Ensuite, on va utiliser l’excellentissime INCRON
Quoi que c’est INCRON ?
Et bien, c’est une sorte de crontab mais qui se base sur la librairie Inotify du noyau.
En gros, le démon INCRON détecte tout changement sur un ou des fichiers dans un répertoire défini, et exécute une action en conséquence.
Magique
On installe donc INCRON sur notre serveur
apt-get install incron
Dans le fichier /etc/incron.allow on ajoute les utilisateurs autorisés.
On se configure dans le répertoire /etc/incron.d/ deux petites actions, l’un en cas de création ou de copie de fichier dans le répertoire cible, l’autre en cas de suppression de ce fichier.
cat /etc/incron.d/lumieres /home/guiguiabloc/Dropbox/domodrop IN_CREATE,IN_MOVED_TO /usr/local/bin/heyu on $# cat /etc/incron.d/lumieresoff /home/guiguiabloc/Dropbox/domodrop IN_DELETE,IN_MOVED_FROM /usr/local/bin/heyu off $#
Petite explication :
D’abord, le répertoire à surveiller : /home/guiguiabloc/Dropbox/domodrop
Ensuite l’évènement à surveiller (création, déplacement dedans, suppression, déplacement en dehors etc..)
La liste de tout les évènements possibles est visible en tapant :
$ incrontab -t
IN_ACCESS,IN_MODIFY,IN_ATTRIB,IN_CLOSE_WRITE,IN_CLOSE_NOWRITE,IN_OPEN,
IN_MOVED_FROM,IN_MOVED_TO,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_CLOSE,
IN_MOVE,IN_ONESHOT,IN_ALL_EVENTS,IN_DONT_FOLLOW,IN_ONLYDIR,IN_MOVE_SELFEnfin, l’action a effectuer, dans le cas de ce test, j’appelle l’utilitaire HEYU ( contrôle X10) et je lui passe en paramètre le nom du fichier par la variable $#.
Et voila, maintenant, par un simple copier-coller, si je dépose le fichier nommé « A2″ dans le répertoire domodrop de mon Dropbox, la lumière référencé par le module A2 s’allume, si je supprime le fichier, elle s’éteint
(bien évidemment avec le temps de décalage de synchronisation de Dropbox)
Pour voir ce que cela donne, je vous ai même fait un petit film !
Marrant
Alors je ne sais pas si cela va vous servir, en tout cas, c’est bien fun :p
Amusez vous bien
4 Commentaires pour ce billet
1 Trackback or Pingback for this entry
-
Outils, services, sites à (re)découvrir 2012 S01 | La Mare du Gof
janvier 8th, 2012 le 17:43[...] => Dropbox allume vos lumières. 06/01/2012. «Je vous propose une petite bidouille rigolote dont je me suis servie dernièrement en l’absence d’accès web sur mon serveur domotique (…).» Source : blog.guiguiabloc.fr/index.php/2012/01/06/dropbox-allume-vos-lumieres/ [...]

janvier 7th, 2012 le 20:47
Original
Comme quoi avec des systémes ouverts la seule limite est…. très très loin!
janvier 8th, 2012 le 0:55
Merci Fritz
Je suis tout à fait d’accord avec toi
janvier 8th, 2012 le 18:14
Tout simplement magique !
Merci pour INCRON, je ne connaissais pas du tout, ca permet d’aller vraiment loin !
Bonne continuation !
janvier 11th, 2012 le 22:56
Bien vu. Justement j’ai joué avec ce principe pas plus tard qu’il y a 2/3 mois. J’utilisais Dropbox pour communiquer avec un serveur isolé derrière un FW. Le client poste les commandes dans un fichier au serveur. Et le serveur répond dans un autre fichier toujours dans l’espace Dropbox. Cool…