Aller au contenu
MAM78

HC2 : Philips HUE Manager

Recommended Posts

Philips HUE Manager

 

5a916d5a66c0e_Sanstitre11.thumb.png.1c05f7c4e44d9f6599121907217a5049.png

 

Préambule :

 

Vous trouverez ci-dessous le nouveau Virtual Device visant piloter des groupes d'ampules Philips HUE..

 

Le projet exploite l'API mise à disposition par Philips à l'adresse suivante : https://developers.meethue.com/philips-hue-api

 

Cette API permet notamment de :

  • Récupérer des information sur votre système HUE
  • Manager (récupérer les infos et paramétrer) vos ampoules unitairement ou toutes ampoules d'un groupe

Pour le moment, je me suis focaliser sur le paramétrage d'un groupe d'ampoules.

 

A l'origine de projet, je cherchais une solution pour allumer un groupe d'ampoules à l'extérieur de mon domicile pour confirmer visuellement un scénario.


Le Projet :

 

Le but du projet consiste à (pour le moment) :

  • pouvoir allumer/éteindre un groupe d'ampoules Philips Hue
  • permettre programmer une durée d'allumage des ampoules (ex. durée 20 secondes)
  • de pouvoir prédéfinir des paramétrages selon :
    • la couleur
    • la brillance
    • la saturation
    • des effets (clignotement, couleurs de l'arc en ciel)
    • des séquences de couleurs (ex. Bleu, Blanc, Rouge)
  • rendre accessibles ces paramétrages via l'interface utilisateur smartphone, tablette, navigateur, ...
  • mais également depuis vos Scènes (notamment GEA) et autres Virtual Devices

Quelques exemples de déclanchements d'un sénario.

  • armement / desarement de l'alarme,
  • visuel lors du déclenchement de l'alarme, en complément de la sirène ou lors d'alarmes silentieuses.
  • déclanchement lors d'une détection d'une présence de nuit autour de la maison.
  • Mise en lumière des extérieurs pour déclencher l'enregistrement vidéo de meilleur qualité pour une durée donnée.

Et pour plus tard :

  • Faire la même chose pour piloter unitairement des ampoules.

Vos idées/suggestions sont le bienvenues ;)

 

Pré-requis :

  1. Disposer d'ampoule Philips HUE :P
  2. Avoir regroupé les ampoules dans un groupe
  3. Avoir installé et configuré le plugin Philips HUE

Installation :

  1. Télécharger et installer le Virtual Device ci-dessous (pour la dernière version)

Configuration :

 

Du Virtual Device :

 

Dans l'onglet Avancé de VD importé, il convient de :

  1. De nommer votre VD (ex. : Hue Manager) à votre convenance
  2. De désigner la pièce ou sont situées votre groupe d'ampoules

Ne pas oublier de sauvegarder ;)

 

Cf. image ci-dessous :

 

5a91801da001c_Sanstitre13.thumb.png.48d94a2261acad4d8d6bec520e300bb8.png

 

Charger la liste des icônes ci-dessous :

  1. Charger le package d'icônes suivant : Liste icones Hue Manager.zip
  2. Depuis l'onglet Générale importé les icônes ci-dessous en cliquant sur le bouton Changer l'icône
    • Attention il est préférable de bien respecter l'ordre des icônes (selon le numéro d'ordre des noms de fichiers). Ce sera plus simple pour configurer vos scénarios
  3. Après avoir chargé, toutes les icônes, modifiez chacun des boutons afin de les faire correspondre avec l'icône correspondante.
  4. Pour les 5 boutons correspondants aux fonctions de gestion du timer, vous pouvez ajouter l'icône totalement transparente (sans image. fichier : HUE Color 0.png). Elle évite de voir l'image par défaut lors des sur ces boutons.

Vous devriez avoir cela, dans votre page d'icônes :

 

 

5a8afa7fa6635_Sanstitre12.thumb.png.2812d5065ec09b1c817a368cde6c2f88.png

Ne pas oublier de sauvegarder ;)

 

Configurer le bouton btUpdate (celui avec la fusée) :

 

C'est ce bouton qui s'occupe de piloter vos ampoules :

 

5a917ade27485_Sanstitre12.thumb.png.a4d2be9ecd1f00a25f08f5067a72a47e.png

 

Renseigner les variables indiquées ci-dessous :
local Hue_Light_VD_Id = ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE 
local Hue_Port = port réseau pour accéder à l'API de gestion du système Philips HUE

 

local hueTimerSetingsIcons = correspond au même n° d'icônes que celui que vous avez renseigné pour les boutons de gestion du timer (HUE Color 0)

local hueOfftIcon = Correspond à l'icône de couleur grise avec le marqueur Off rouge (HUE Color 1.png)

local hueFirstIcon = Correspond à l'icônes de couleur blanche (HUE Color 2.png)

local modetrace = permet de renseigner les différentes étape d'exécution du traitement dans le Dégogueur

local modetrace = permet de renseigner des trace sur le contenu de certaine variable lors de l'exécution du traitement dans le Dégogueur afin d'aider à trouver la source d'un bogue.

 

Ne pas oublier de sauvegarder ;)

 

Configurer du main loop du VD  :

 

Renseigner la variable indiquée ci-dessous : (elle permet de gérer l'état on/off des ampoules gérées par le VD)

--------------------
-- Users variables
--------------------
-- Enter the identifier of a Philips HUE Device that correspond
-- to one of the bulbs of the bulb group that you wish to manage
local Hue_Light_VD_Id = 334

 

Configurer les scénario  :

 

Pour chacun des bouton, il est possible de modifier les paramétrage des :

 

Id = Numéro de scénario. Qui doit correspondre au contenu de la variable HueModeId présente dans le bouton correspondant

Descri = Description du Scénario (affiché à l'exécution sur le label correspondant)

hue = Couleur de l'ampoule (0=Eteinte, 1 à 65535)

sat = Saturation de la couleur

bri = Brillance de la couleur

ct = chaleur de la couleur si blanc (Blanc froid à Blanc chaud) (non utilisé pour le moment, en attente de dégogue)

effect = effect sur l'allumage de l'ampoule (none=sans effet, blink=Clignotant, colorloop=Couleurs de l'arc en ciel, scene=une scène disponible et configurable depuis votre application Philips HUE)

effectId = id de la scène que vous pouvez trouver par le biais de mon VD HUE InfoTools disponible ici :

timer = durée en minutes et secondes durant laquelle les ampoules vont restées allumées, puis s'éteindre automatiquement

icon = n° d'ID de l'icônes qui s'affichera lors de l'activation du scénario

 

Vous pouvez ajouter autant de bouton que vous le souhaitez en respectant les principes ci-dessus.

 

Si vous cherchez une liste de toutes les icônes disponible pour agrémenter vos boutons. Vous les trouvez toute ici :

https://apps.timwhitlock.info/emoji/tables/unicode#block-3-transport-and-map-symbols

 

Utilisation du VD :

  • Vous pouvez tout simplement cliquer sur un des boutons de de scénario pour le lancer, il s'arrêtera lorsque vous cliquerez le bouton Off. Le timer est optionnel.
  • Avant de cliquer un bouton d'un scénario, vous pouvez paramétrer le Timer en utilisant les boutons haut et bas (minutes et secondes). Ce qui aura pour effet de définir une durée d'exécution de celui-ci.
  • Vous pouvez également relancer le dernier scénario en cliquant sur le bouton On
  • Durant l'exécution d'un scénario, vous avez la possibilité d'en lancer un autre. Cela arrêtera le précédent.
  • Vous pouvez évidement commander le VD depuis une scène ou un autre VD en simulant un clic sur le bouton correspondant au scenario voulu.
  • Préalablement à la simulation du clic sur le bouton correspondant au scenario voulu, vous pouvez également renseigner le Label lblTimer avec une durée (au format  mm:ss) pour définir une durée d'exécution de celui-ci
  • Vous pouvez utiliser GEA pour lancer un scénario tout en utilisant le timer. Exemple :
% properties
243 ui.lblEtat.value
 
    GEA.add({{"Label", 243, "lblEtat", "Alarme"}, {"Time", "Sunset-15", "Sunrise+5"}}, -1, "Détection présence devant porte garage",  {{"Label", 326, "lblTimer", "01:00"}, {"VirtualDevice", 326, 11}, {"VirtualDevice", 243, 4}}, "Détection devant porte garage, activation lumières terrasse")
    -- Si la valeur du label "lblEtat" du VirtualDevice numéro 243 est = à "Alarme" et qu'il fait nuit
    -- Assigne la valeur "01:00" au label lblTimer du VD 326
    -- Appui sur le bouton 10 du VD 326 pour lancer l'allumage des ampoules HUE sur la terrasse
    -- Appui sur le bouton  4 du VD 243 pour désactiver l'alarme du détecteur de mouvements
  • Explications sur les différents bouton du VD

5a8aff985e648_Sanstitre10.thumb.png.ba41040f6c184409b3e6355146ba4c90.png

 

Versions :

  • V1.0 : du 18/02/2018 -> Intialisation du projet
  • V1.1 : du 19/02/2018 -> Ajustement des couleurs
  • V1.2 : du 19/02/2018 -> Simplification de la gestion des icônes.
    • Plus de nécessité de renseigner les icônes dans les boutons de gestion du Timer
    • Tout se fait dans le bouton btUpdate.
    • Possibilité d'ajouter de nouvelles icônes ultérieurement sans qu'elles obligatoirement chargées dans un ordre séquentiel. :74:
  • V1.3 : du 19/02/2018 -> Correction d'un bug sur le scenario des couleurs de l'arc en ciel (colorloop).
  • V1.4 : du 24/02/2018 ->
    • Ajout d'une nouvelle fonction qui permet de lancer les scènes disponibles et configurables depuis votre application Philips HUE. Cette fonction est disponible via les variables de configuration des scénarios suivantes :
      • effect = effect sur l'allumage de l'ampoule (none=sans effet, blink=Clignotant, colorloop=Couleurs de l'arc en ciel, scene=une scène disponible et configurable depuis votre application Philips HUE)
      • effectId = id de la scène que vous pouvez trouver par le biais de mon VD HUE InfoTools
    • Modification de la configuration pour accéder à vos ampoules.
      • Il suffit de renseigner la variable Hue_Light_VD_Id = 264 -- ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE 
      • Plus nécessaire de connaitre votre username de votre système HUE, il est automatiquement retrouvé via les propriétés du plugin Philips HUE configuré ci-dessus. Idem pour l'identifiant du groupe d'ampoule.
    • Mise à jour automatique du VD selon l'état On/Off de l'ampoule configurée selon la variable Hue_Light_VD_Id

Evolutions à venir :

  • Pouvoir piloter une seule ampoule
  • A voir selon vos suggestions :huh:

 

Dernière version du VD :

 

HUE_Manager.vfib-1.4.json

 

Sans titre 7.png

Modifié par MAM78
  • Like 4

Partager ce message


Lien à poster
Partager sur d’autres sites

Amis testeurs, j'attends vos retours :13:

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca me donnerai presque envie d'acheter les ampoules HUE, rien que pour tester !!! :D

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'arrive pas à faire fonctionner ce bout de code dans un bouton de mon VD.

 

-- On reprend l'id de l'icône du module virtuel en cours

local selfId = fibaro:getSelfId()
local currentIcon = fibaro:get(selfId, "deviceIcon");
fibaro:debug("CurrentIcon="..currentIcon)

 

Je constate que la valeur retournée est celle qui a été définit dans l'interface utilisateur de paramétrage du VD et non celle courante :

  • qui a été affecté par celle correspondante à l'icône paramétrée au niveau du bouton lorsque l'on clic dessus
  • qui à été modifiée par du code

Savez-vous comment récupérer la valeur courante ?

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est currentIcon à la place de deviceIcon

 

fibaro:get(selfId, "currentIcon");

Partager ce message


Lien à poster
Partager sur d’autres sites

Effectivement ça marche mieux comme ça.

 

Merci

 

Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version du VD Hue Manager.

 

  • V1.2 : du 19/02/2018 -> Simplification de la gestion des icônes.
    • Plus de nécessité de renseigner les icônes dans les boutons de gestion du Timer
    • Tout se fait dans le bouton btUpdate.
    • Possibilité d'ajouter de nouvelles icônes ultérieurement sans qu'elles obligatoirement chargées dans un ordre séquentiel. :74:

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version du VD Hue Manager.

  • V1.3 : du 19/02/2018 -> Correction d'un bug sur le scenario des couleurs de l'arc en ciel (colorloop).
    • Pour ceux qui ont déjà chargés la version V1.2, vous pouvez :
      • charger la nouvelle version et copier le code du bouton btUpdate de la 1.3 et le coller dans votre version V1.2
      • de cette façon, vous n'aurez pas besoin de re-modifier les icônes de vos boutons
Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

Du beau et gros boulot ;-)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Hum, me dirait bien, mais j'ai pas de Hue :) 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai intégré ce paramétrage dans GEA :

 

% properties
243 ui.lblEtat.value

 

    GEA.add({{"Label", 243, "lblEtat", "Alarme"}, {"Time", "Sunset-15", "Sunrise+5"}}, -1, "Détection présence devant porte garage",  {{"Label", 326, "lblTimer", "01:00"}, {"VirtualDevice", 326, 11}, {"VirtualDevice", 243, 4}}, "Détection devant porte garage, activation lumières terrasse")
    -- Si la valeur du label "lblEtat" du VirtualDevice numéro 243 est = à "Alarme"
    -- Assigne la valeur "01:00" au label lblTimer du VD 326
    -- Appui sur le bouton 10 du VD 326 pour lancer l'allumage des ampoules HUE sur la terrasse
    -- Appui sur le bouton  4 du VD 243 pour désactiver l'alarme du détecteur de mouvement
 

Génial, j'ai intégré ça avec mon nouveau VD Hue Manager. Mes ampoules HUE externes s'allument pendant 1 minute et s'éteignent automatiquement, lors d'un passage devant mon détecteur externe piloté par mon IPX800 V4.

 

C'est ma VAF qui vat être contente :74:

 

Merci les gars ... :13:

 

Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 52 minutes, Nico a dit :

Hum, me dirait bien, mais j'ai pas de Hue :) 

Y a plus qu'a attendre une promotion ;)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Si comme moi vous n'avez que des Philips Hue blanc, il y a toujours ceci (mais sans la minuterie) :

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Si besoin, je peux faire une adaptation du VD pour le rendre compatible avec Philips Hue Blanches ?


Envoyé de mon iPhone en utilisant Tapatalk Pro

Partager ce message


Lien à poster
Partager sur d’autres sites

Petite info (inutile ou pas ... voir directement pour la poubelle).

 

Si les utilisateurs ont installé le plug-in Philips Hue dans leur HC2, il est aisé de retrouvé tout ce qu'il faut (hueGroupID, IP, hueUser) en partant uniquement d'une ampoule (ID dans la HC2) ou ID du pont.

 

-- PSEUDO code --
local id = 230 -- ID d'une ampoule hue déclarée dans la HC2 ou du pont
local device = api.get("/devices/"..id)
local lightid = device.properties.lightId	-- numéro du hueGroupID
if (device.parentId > 0) then 
   -- c'est une ampoule, on recherche donc le pont
   device = api.get("/devices/"..device.parentId) 
end
-- retourne hueGroupId, l'adresse IP et le code User
return lightid, device.properties.ip, device.properties.userName

 

  • Thanks 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Steven Ca m'intéresse bigrement :74:

 

Est-ce que tu pourrais m'indiquer comment récupérer tout le code le code json dans le navigateur pour avoir toutes les propriétés disponibles ?

 

j'ai essayé 192.xxx.yyy.zzz/devives/230.

 

Evidement c'était trop simple :huh:

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Encore une fois. Avec quelques recherches j'ai trouvé :

 

http://192.168.0.30/docs/#!/devices/getDevice/xxx

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@MAM78, Je pense que tu as la possibilité d'interagir avec une tempo direct sur le pont avec :

  • activer/désactiver la tempo
  • consigne de la durée modifiable
  • temps restant

J'ai pas encore tester mais ca peux être aussi une future amélioration sur mes VD si ca intéresse des personnes.

Ca peut-être pratique pour un couloir, en effet.

 

PS : Pour plus de visibilité, ca serait bien de déplacer le sujet dans la section éclairage !

 

Modifié par Lazer
Sujet déplacé
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Talwayseb Merci pour l'info, je regarderais comment éventuellement intégrer tes suggestions.

 

@Steven tu trouveras ci-dessous l'exploitation de tes infos sur la collecte des propriétés via le plugin Philips HUE.

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version de Philips HUE Manager V1.4

 

  • V1.4 : du 24/02/2018 ->
    • Ajout d'une nouvelle fonction qui permet de lancer les scènes disponibles et configurables depuis votre application Philips HUE. Cette fonction est disponible via les variables de configuration des scénarios suivantes  :
      • effect = effect sur l'allumage de l'ampoule (none=sans effet, blink=Clignotant, colorloop=Couleurs de l'arc en ciel, scene=une scène disponible et configurable depuis votre application Philips HUE)
      • effectId = id de la scène que vous pouvez trouver par le biais de mon VD HUE InfoTools
    • Modification de la configuration pour accéder à vos ampoules.
      • Il suffit de renseigner la variable Hue_Light_VD_Id = 264 -- ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE 
      • Plus nécessaire de connaitre votre username de votre système HUE, il est automatiquement retrouvé via les propriétés du plugin Philips HUE configuré ci-dessus. Idem pour l'identifiant du groupe d'ampoule.
    • Mise à jour automatique du VD selon l'état On/Off de l'ampoule configurée selon la variable Hue_Light_VD_Id

 

Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @MAM78,

Le ‎22‎/‎02‎/‎2018 à 19:07, Talwayseb a dit :

@MAM78, Je pense que tu as la possibilité d'interagir avec une tempo direct sur le pont avec :

  • activer/désactiver la tempo
  • consigne de la durée modifiable
  • temps restant

 

apparemment, c'est pas pilotable.... :(

On peut juste récupérer les infos :

  • tempo activer/désactiver
  • durée de la tempo

Ca limite l'intérêt !!!

 

C'est bien modifiable !!! :D

Moi et mon anglais !!! :P

 

Modifié par Talwayseb

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que c’est faisable. Je me pencherais dessus prochainement.

 

Il faut utiliser la fonction schedules.

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici un exemple :

"1": {
"name": "Timer",
"description": "",
"command": {
"address": "/api/s95jtYH8HUVWNkCO/groups/0/action",
"body": {
"scene": "02b12e930-off-0"
},
"method": "PUT"
},
"time": "PT00:01:00",
"created": "2014-06-23T13:39:16",
"status": "disabled",
"autodelete": false,
"starttime": "2014-06-23T13:39:16"
}

Dans Body tu mets a la place de scene tu mets la paramètres de couleur.


Envoyé de mon iPhone en utilisant Tapatalk Pro

Partager ce message


Lien à poster
Partager sur d’autres sites

Franchement ..... très beau travail !

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×