Sommaire
Le package Hue permet de connecter et contrôler vos différentes lampes connectées Philips Hue dans Constellation.
Vous devez disposer d’un pont Philips Hue (Hue Bridge) pour pouvoir utiliser ce package.
Le code source de ce package est disponible sur : https://github.com/myconstellation/constellation-packages/tree/master/Hue
Installation
Prérequis : créer un utilisateur sur le pont Philips Hue
Identifiez tout d’abord l’adresse IP (ou DNS) de votre pont Philips (avec un scan UPnP, en consultant les baux de votre serveur DHCP ou avec le client mobile officiel de Hue).
En entrant l’adresse de votre navigateur, vous devrez tomber sur la home page du bridge :
Rendez-vous maintenant sur l’outil intégré de l’exécution de requête HTTP à l’adresse : http://<bridge ip address>/debug/clip.html
Dans le corps de la requête (Request Body) entrez le JSON suivant :
1 |
{"devicetype": "constellation#connector"} |
Avant d’exécuter la requête, appuyez sur le bouton “Link” sur le Bridge :
Vous disposez maintenant de 30 secondes pour enregistrer votre utilisateur. Exécutez donc la requête sans tarder en cliquant sur le bouton “POST”.
En retour (Commande Response) vous obtiendrez l’identifiant de votre utilisateur, ici nommé “83b7780291a6ceffbe0bd049104df” :
1 |
[{"success":{"username": "83b7780291a6ceffbe0bd049104df"}}] |
Retenez cet identifiant, c’est cela qu’utilisera le package Constellation pour se connecter à vos Hue.
Pour plus d’informations : http://www.developers.meethue.com/documentation/configuration-api#71_create_user
Installation du package Constellation
Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Hue :
Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.
Pour finir, sur la page de Settings vous devez obligatoirement spécifier l’adresse de votre Bridge Hue (IP ou DNS) ainsi que votre utilisateur créé ci-dessus.
Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :
1 2 3 4 5 6 |
<package name="Hue"> <settings> <setting key="BridgeAddress" value="192.168.x.x" /> <setting key="BridgeUsername" value="83b7780291a6ceffbe0bd049104df" /> </settings> </package> |
Détails du package
Les Settings
Nom | Type | Détail | Description |
BridgeAddress | String | Obligatoire | Adresse IP ou DNS du pont Hue. |
BridgeUsername | String | Obligatoire | Identifiant de l’utilisateur utilisé pour se connecter sur le pont Hue. |
Les StateObjects
Vous retrouverez autant de StateObjects que de lampes Hue appariées sur le pont ainsi qu’un StateObject pour la configuration du pont :
Nom | Type | Description |
BridgeCondig | Q42.HueApi.BridgeConfig | Représente la configuration du pont Hue (nom, adresse MAC et IP, config réseau, versions, liste des utilisateurs, etc..) |
<< Nom de la lampe >> | Q42.HueApi.Light | Représente l’état d’une lampe Hue (ID, état On/Off, luminosité, couleur Hue, effet, alerte, modèle, version logicielle, etc…) |
Les MessageCallbacks
Le package expose 3 MessageCallbacks :
Nom | Réponse (saga) | Description |
SendCommandTo | Aucune | Envoi une commande à une ou plusieurs lampes |
Set | Aucune | Envoi une commande à une lampe (état, couleur, intensité) |
SetBrightness | Aucune | Défini l’intensité d’une lampe |
SetColor | Aucune | Défini la couleur d’une lampe |
SetCommandToAll | Aucune | Envoi une commande à toutes les lampes |
SetState | Aucune | Défini l’état (On/Off) d’une lampe |
ShowAlert | Aucune | Affiche une alerte sur une lampe |
Quelques exemples
- Tamiser les lumières lors du démarrage d’un film
- Piloter les lumières en fonction de la luminosité ambiante
- Piloter des configurations de lumières avec un interrupteur Legrand connecté à un module Fibaro
- Afficher une alerte sur une lampe lorsqu’il pleut ou que quelqu’un sonne à la porte
Démarrez la discussion sur le forum Constellation