Dans ce tuto je vais vous expliquer comment contrôler votre jeedom depuis votre canapé !
Mon tuto traitera 3 mises en oeuvre différentes en fonction du matériel dont vous disposez:
- un clavier usb, bluetooth ou RF
- un FLIRC avec une télécommande simple
- un FLIRC + Logitech Harmony
De mon coté, j'ai fait les essais avec un RPI2 et une image officielle jeedom.
Principe:
L'idée est de controler jeedom via un raccourci clavier. Ce raccourci clavier va lancer une requête http qui va appeler l'API jeedom. Ensuite il est possible de faire ce que vous voulez coté jeedom.
Vu qu'on fait appel à l'API via une requete http, ce système fonctionne aussi bien sur votre jeedom que sur un RPI déporté (utilisé en médiacenter par exemple). Le FLIRC de son coté est un module qui est vu comme un clavier USB, sauf qu'il peut être contrôler par un signal IR!
Pour avoir quelques choses de facilement modifiable, je suis parti sur la création d'un virtuel coté jeedom. Ce virtuel est associé à un scénario et c'est dans le scénario qu'on choisira les actions à lancer. Le fait de passer par un scénario va permettre également de lancer des actions plus complexes qu'une simple commande d'équipement.
Exemple d'utilisation:
clavier: Si vous utilisez un clavier pour controler votre mediacenter, vous pouvez affecter des touches pour lancer des actions (contrôle de la lumière, descente d'un écran pour un video projecteur...)
FLIRC: On a parfois des boutons non attribués sur la télécommande de sa télé, une télécommande universelle, ou une télécommande qui n'est pas utilisée. On va pouvoir utiliser ces télécommandes, par contre, ce qui est dommage, c'est qu'il va falloir se souvenir des fonctions.
FLIR + Harmony Hub: Les possibilités deviennent plus importantes, notamment avec une harmony ultimate car on peut aussi créer des boutons sur l'écran tactile. On peut donc avoir pas mal d'actions de paramétrer. J'ai vu également que plusieurs personnes désiraient avoir de retour d'état immédiat, ce qui n'est pas possible via le plugin harmony hub (limitation liée au cron). Et bien en ajoutant une commande IR à chaque changement d'activité, on peut informer en live jeedom qu'on change d'activité!
Mise en oeuvre coté RPI:
Pour cette partie là, c'est Alexzen qui m'a donné la facon de faire ! Merci
Il va donc falloir créer 2 fichiers, l'un qui va permettre de configurer les touches et associé des paramètres et un second fichier qui va associer le paramètre à la requête http (commande jeedom).
L'idée est donc de se baser sur le paquet triggerhappy qui est déjà installé qui reconnait les touches claviers. Le fichier de configuration "jeedom.conf" est à mettre dans /etc/triggerhappy/triggers.d
Il doit avoir la forme suivante:
Code : Tout sélectionner
KEY_F1 1 /opt/jeedom.py commande IR1
KEY_F2 1 /opt/jeedom.py commande IR2
Le script python "jeedom.py" est quand à lui à installer dans le dossier /opt
voici un extrait du contenu du fichier. A ajuster en fonction du nombre de vos requetes.
Code : Tout sélectionner
#!/usr/bin/python
import sys
import re
import urllib
objet = sys.argv[1]
action = sys.argv[2]
if objet == "commande" and action == "IR1":
r1 = "http://XX.XX.XX.XX/core/api/jeeApi.php?api=API&type=cmd&id=IDVIRTUAL"
urllib.urlopen(r1)
elif objet == "commande" and action == "IR2":
r2 = "http://XX.XX.XX.XX/core/api/jeeApi.php?api=API&type=cmd&id=IDVIRTUAL"
urllib.urlopen(r2)
Il faut donner les droits à jeedom aussi bien pour créer les fichiers que pour lancer les scripts.
Paramétrage coté jeedom:
Afin de faciliter le paramétrage, j'ai décidé de créer un virtuel + scénario, je peux ainsi modifier mes actions directement dans le scénario au lieu de modifier l'appel API.
Création du virtuel:
Il faut créer un virtuel avec une info et autant de commande que nécessaire de la manière suivante: De mon coté j' ai créé 20 commandes pour avoir de la marge.
Création du scénario:
Créer un scénario avec comme déclencheur le changement d'état de votre virtuel .
Ensuite créer autant de bloc si/alors/sinon que de commande. Pour chacun des blocs déterminer l'action à mettre en oeuvre. Le scéanrio est sous cette forme:
Paramétrage coté FLIRC:
suivre les instructions sur le site de FLIRC pour le paramétrage.https://flirc.zendesk.com/hc/en-us/arti ... t-up-Flirc
Paramétrage coté logitech harmony:
Afin d'utiliser ma logitech ultimate harmony, j'ai rajouté un nouvel équipement dans myharmony. Il y a différentes facons de faire, soit vous partez de rien et vous créer un équipement avec une vielle télécommande, soit vous utilisez une télécommande déja existante dans la base harmony avec suffisament de commande. (c'est ce qu j'ai fait). J'ai ensuite renommer les commandes d'écran que je voulais utilisé dans un premier temps avec le nom des touches de clavier (F1,F2...) et j'ai utilisé ces commandes dans FLIRC pour relier ma télécommande et FLIRC. Une fois fait, on peut renommer les touches en fonction des actions qu'on voudra lancer. J'ai également inclue cet équipement dans chacune de mes activités.
Une astuce pour récupérer l'état dans jeedom de facon instantané de l'activité en cours est de programmer une commande à chaque démarrage d'activité. A chaque sortie d'activité on met la commande off. De cette manière, on peut lancer des actions à chaque démarrage d'activité sans décalage (1min via le plugin harmony hub).
En espérant que ce soit suffisamment clair! N'hésitez pas à poser des questions!