Calaos, Home Automation Forum

Full Version: [TUTO] Contrôler les activités de la Logitech Harmony HUB
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
[Image: 352229logitechharmonyultimate.jpg]

Après 12 ans de bons et loyaux services je viens de remplacer ma Logitech Harmony 895 par la nouvelle version Harmony Hub Ultimate.
Pour ceux qui ne connaissent pas les produits Harmony c’est en fait une télécommande universelle qui peut gérer plusieurs appareils en même temps (TV, Ampli, Box, Phillips Hue…et tout autre périphérique contrôlable par infrarouge) à partir d’une télécommande ou d’un smartphone. Plus d'infos >>ici<<

Le hub et la télécommande basique sont au prix du hub seul en ce moment sur Amazon : >>ici<<
et la version Ultimate (Hub + Télécommande avec écran tactile) est aussi en promo : >>ici<<

Cette nouvelle version est connectée à internet par wifi et donc forcément au réseau local.
Donc pourquoi ne pas essayer de commander le démarrage d’une activité à partir d’un des bouton poussoir de la maison Smile

recherches et mises en pratique :
à partir du projet suivant :
http://sourceforge.net/projects/harmonyhubcontrol
j‘ai compilé les sources, voir la pièce jointe pour ne pas devoir le refaire, vous y trouverez :
- des versions des exécutables en 32/64 Bit pour Linux
- une version de l’exécutable Windows 32 Bit pour tester en ligne de commande (vous aurez par contre besoin de Microsoft Visual C++ 2010 redistribuable )
- un petit fichier PHP pour pouvoir contrôler l’exécutable et récupérer les information du hub sur une machine linux.
[attachment=142]

l’installation :
1. Bien entendu avant de commencer tout autre chose il faut installer le hub et créer des activités.

2. Se munir de l’identifiant et mot de passe créer sur myharmony.com

3. Récupérer l’adresse IP du HUB, le plus simple est de démarrer l’appli Harmony préalablement installé sur votre Smartphone ou tablette et d’aller dans les menus : "A propos de" -> "Versions" -> "Adresse IP du Hub".

4. Copier l’exécutable Linux (en 32 ou 64 bit en fonction de votre installation) et le fichier PHP dans le même dossier sur une machine linux :
pour ma part je l’ai installé sur le serveur web de mon NAS à des fins de test,
mais vous pouvez également mettre ces deux fichiers sur la centrale domotique, pour la version 1 de Calaos c'est dans /usr/share/calaos/web (en cas de message d'erreur exécuter la commande "chmod 755 HarmonyHubControl32").

5. Editer le fichier PHP et modifier les trois valeurs entre guillemets (identifiant, mot de passe, l'adresse IP du Hub) par les vôtres et éventuellement le nom de exécutable en fonction de votre version de linux.
[Image: 165552harmonycredit.jpg]

6. Récupérer les id de vos activités, pour cela il suffit d’appeler le fichier PHP dans votre navigateur en y ajoutant le paramètre suivant :
-http://192.168.0.xxx/harmony.php?command=list_activities
192.168.0.xxx étant l’adresse IP de votre machine Linux

vous obtenez ceci :
[Image: 445035LogitechActivity.jpg]

7. Démarrer une activité :
Exemple : éteindre tout :
-http//192.168.0.xxx/harmony.php?command=start_activity?activityid=-1
Exemple : démarrer l’activité Canalsat :
-http//192.168.0.xxx/harmony.php?command=start_activity?activityid=10867576

8. on arrive enfin aux choses intéressantes, l’intégration dans Calaos
a. Démarrer Calaos Installer et charger votre config

b. Ajouter une nouvelle Variable interne booléenne "LogitechHarmony" pour "toggler" entre deux activités.

c. Créer une règle pour affecter le bouton poussoir de votre choix :
[Image: 932232calaosinstallerbouton.jpg]

d. Créer une règle pour démarrer l'activité "Canalsat" sur votre Hub :
[Image: 545100calaosinstalleron.jpg]
et le script LUA a mettre dans Actions :
Quote:calaos:requestUrl("http://192.168.0.xxx/harmony.php?command=start_activity&activityid=10867576") return true

e. Créer une règle pour éteindre tous les périphériques :
[Image: 501827calaosinstalleroff.jpg]
et le script LUA a mettre dans Actions :
Quote:calaos:requestUrl("http://192.168.0.xxx/harmony.php?command=start_activity&activityid=-1") return true

Au final, ces règles permettent dans mon cas d'allumer ou d'éteindre une activité en faisant un double-clic sur un bouton poussoir.

---

Bien entendu tout cela n'est pour le moment qu'une ébauche mais parfaitement fonctionnelle Cool
Le fichier PHP peut encore être amélioré (il pourrait être un peu plus user-friendly).
Remarque : si vous ne souhaitez pas utiliser le fichier PHP vous pouvez démarrer l’exécutable directement depuis les script LUA en y mettant les bons paramètres (voir readme.txt dans le fichier joint) mais à confirmer par nos développeurs préférés. Wink
cool!
néanmoins ce tuto aurait toute sa place dans le wiki
Super le tuto, il aurait sa place dans le wiki en effet, Fred tu pourrais t'en occuper stp?

Sinon apres la v2, j'ai prévu d'intégrer la gestion de la telecommande directement dans calaos pour eviter les scripts a gogo...
Y a deja un ticket d'ouvert pour ca: https://github.com/calaos/calaos_base/issues/22
(11-03-2014, 03:26 PM)raoulh Wrote: [ -> ]Super le tuto, il aurait sa place dans le wiki en effet, Fred tu pourrais t'en occuper stp?
ok je vais le mettre dans le Wiki en français et plus tard en anglais.
pourrais-tu me donner les droits sur le Wiki pour créer une nouvelle page, thks

(11-03-2014, 03:26 PM)raoulh Wrote: [ -> ]Sinon apres la v2, j'ai prévu d'intégrer la gestion de la telecommande directement dans calaos pour eviter les scripts a gogo...
Y a deja un ticket d'ouvert pour ca: https://github.com/calaos/calaos_base/issues/22
ah super ! effectivement en natif ça serait idéal...mais en attendant ça peut toujour dépanner.
Normalement tu as les droits, une fois que tu as crée ton compte et que tu es logué
(11-03-2014, 07:15 PM)raoulh Wrote: [ -> ]Normalement tu as les droits, une fois que tu as crée ton compte et que tu es logué
You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on “Create this page”. Undecided
Bah oui la page existe pas, il faut l'editer et ca sera bon...
Super, merci Smile
Super ton tuto Fred, merci
Pages: 1 2