Applescript et domotique : Quand Plex éteint mes lumières…

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 !!!


Publié

dans

, ,

par

Étiquettes :

Commentaires

6 réponses à “Applescript et domotique : Quand Plex éteint mes lumières…”

  1. Avatar de Alex
    Alex

    Je teste cela ce soir ! et je le met en route pour fonctionner avec la vera en espérant pouvoir y arriver.

    Merci !

    1. Avatar de Dramces

      De rien. Si cet article peut inspirer d’autres installations, c’est le but !

  2. Avatar de Gonzague Dambricourt

    Mais l’application Plex ne tourne pas tout le temps sur ton mac? Sur mon mac mini elle tourne en fond et elle est ensuite utilisée en uPnP par la TV ^^ donc je ne peux pas faire ce type de scénarios

  3. Avatar de Dramces

    La partie serveur tourne effectivement en permanence et sauf erreur de ma part, c’est bien elle qui diffuse en UPNP vers tes périphériques.
    Le script ici scrute le processus du client. Dans mon cas, il reste éteint tout le temps et je le démarre avec l’apple-remote, petite télécommande blanche offerte par apple auparavant avec chaque ordi.

  4. Avatar de joe
    joe

    Bonjour,

    Existe il un équivalent qu’on peut installer sur un serveur linux ?

    1. Avatar de Dramces

      Bonjour,
      J’imagine bien un script en « sh » lancé par un cron… Je pense donc que c’ets faisable…

      Mais depuis, je suis passé sous XBMC (Kodi…) qui dispose de plugins dédié à la box eedomus. Et la, que ce soit sous Mac, Linux ou Windows, pas de soucis !!!

      Bonnes continuation !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *