Comme vous le savez, la domotique s’est installée chez nous. Quelques lumières s’allument et s’éteignent en fonction des scénarios prévus dans l’eedomus présentée il y a quelques temps.
Or, il s’avère qu’une de ces lumières, pourtant bien réparties dans le salon, nous éblouie lors de nos soirées cinéma… Chaque fois, nous devions l’éteindre pour augmenter la sensation d’immersion dans le film. Pourtant, il me semble que je suis parfaitement équiper pour automatiser ça, non ? Mon média center est un ordinateur (Mac Mini sous Snow-Leopard), la box eedomus est pilotable par requêtes HTTP et la lumière en question reliée au réseau domotique… Alors, automatisons ça !
Sur l’eedomus :
Création d’un périphérique virtuel (état) qui sera piloté par le script (requête HTTP).
Penser à récupérer le code API dans les paramètres experts…
On attribue les valeurs suivantes au périphériques :
Une fois sauver, il faut créer une règle scrutant l’état de ce périphérique et y mettre les actions souhaitées (extinction lumières, fermeture volets…) :
Penser à créer la version identique de cette règle mais pour l’arrêt du médiacenter…
Sur le Mac Mini :
Ouvrez l’éditeur applescript (dans les utilitaires) et inspirez-vous de mon script pour créer le votre. Dans l’absolue, si vous êtes sous snow-leopard, vous n’avez qu’à modifier vos informations (codes API – ici des XXXXX) :
set plex to false (* Déclaration de la variable Plex avec la valeur false *)
repeat (* Début de la boucle infinie *)
(* boucle testant le démarrage de plex. Lancement de la requête EEDOMUS quand Plex actif puis sortie de la boucle *)
repeat until plex = true
set plex to false
if application « Plex » is running then
tell application « URL Access Scripting »
download « http://api.eedomus.com/set?action=periph.value&periph_id=XXXXXX&value=1&api_user=XXXXXXXX&api_secret=XXXXXXXX » to « /tmp/result.html » replacing yes
end tell
set plex to true
end if
delay 2
end repeat(* boucle testant l’arrêt de plex. Lancement de la requête EEDOMUS quand plex arrêté puis sortie de la boucle *)
repeat until plex = false
set plex to true
if application « Plex » is not running then
tell application « URL Access Scripting »
download « http://api.eedomus.com/set?action=periph.value&periph_id=XXXXXXXXX&value=0&api_user=XXXXXXXXX&api_secret=XXXXXXXX » to « /tmp/result.html » replacing yes
end tell
set plex to false
end if
delay 2
end repeat
delay 1
end repeat
Désolé pour la mise en page du code…
Voici une capture de la version colorée :
Enregistrer ce script au format application et executez-le au démarrage de votre ordinateur.
Ainsi, le script lancé en permanence (fonctionne en boucle) scrute toutes les 2 secondes le lancement de plex. S’il est lancé, il envoie la requête prévue puis passe au bloc suivant qui scrutera à son tour toutes les 2 secondes l’arrêt de plex. Et ainsi de suite…
Je pense que les possibilités sont illimitées en fonction du matériel possédé (convertisseur infra-rouge, volet roulant, video-projecteur…). Un régal !!!
Laisser un commentaire