Hue Dimmer switch et volets roulants

J’ai déjà présenté  le variateur intelligent Philips hue (Hue Dimmer switch) et les principes de sa programmation via le Hue bridge 1. On peut étendre son utilisation au-delà de l’écosystème Philips hue si on utilise une box domotique qui sait le gérer.

Voici donc comment l’utiliser en tant que dimmer à double fonctions lumières/volets roulants, à l’aide de FHEM.

  • les boutons on / off vont actionner la lumière
  • les boutons dim up / dim down vont gérer les volets (s’il fait suffisamment jour), et les lumières (si elles sont allumées.) :
    • dim up pour enrouler le store (open); une deuxième pression alors qu’il est en mouvement l’arrête; une pression longue l’ouvre à 70%
    • dim down pour le déployer (closed); une deuxième pression l’arrête; une pression longue l’ouvre à 30%Hue Dimmer switch

Ingrédients de ma recette

  1. Un Hue dimmer switch associé au Hue bridge préalablement défini dans FHEM
  2. Des volets roulants Somfy RTS associés à FHEM et  définis par un device ROLLO .

Définition du Hue dimmer switch dans FHEM

Le Hue Dimmer switch va être défini sous la forme de deux devices:

  1. un HUEdevice group de type LightGroup, qu’on peut utiliser pour appliquer des effets sur l’ensemble des lumières qu’il contrôle : on, off, luminosité, couleur, scènes définies sur le pont…
  2. un HUEdevice sensor de type ZLLSwitch, qui permettra d’intercepter les pressions appliquées sur le switch 2 et ainsi d’étendre l’utilisation de celui-ci au delà de l’écosystème Philips hue. Par exemple pour commander des volets roulants.

Le HUEdevice group de type LightGroup

Passer la commande set bridge autocreate (en admettant que bridge est le nom du HUE bridge) si le device n’est pas reconnu dans FHEM. On le retrouve facilement avec la commande

list TYPE=HUEDevice:FILTER=i:type=LightGroup name

Voir le tutoriel « FHEM et Philips hue : premiers pas » pour plus d’informations sur les groupes.

Le HUEdevice sensor de type ZLLSwitch

Principe

Aujourd’hui il n’existe pas dans l’API Hue de mécanisme permettant de notifier les changements d’état à une application 3. Il est donc nécessaire d’interroger régulièrement le Hue bridge (« polling ») pour connaître les changements d’état. C’est loin d’être optimal (latence, risque de manquer des changements d’état, ressources CPU et réseau utilisées…) mais ça a le mérite d’exister.

FHEM polle le Hue bridge, qui reporte pour chaque Hue dimmer switches son état avec un code sur 4 caractères XXXY: les trois premiers représentent le dernier bouton pressé, et le dernier le type de pression effectué :

BUTTON STATE CODE
Button 1 (ON) INITIAL_PRESSED  – première pression 1000
HOLD – maintenu sous pression 1001
SHORT RELEASED – pression courte 1002
LONG RELEASED – pression longue 1003
Button 2 (DIM UP) INITIAL_PRESSED 2000
HOLD 2001
SHORT RELEASED 2002
LONG RELEASED 2003
Button 3 (DIM DOWN) INITIAL_PRESSED 3000
HOLD 3001
SHORT RELEASED 3002
LONG RELEASED 3003
Button 4 (OFF) INITIAL_PRESSED 4000
HOLD 4001
SHORT RELEASED 4002
LONG RELEASED 4003

Configuration du bridge

L’intervalle de polling est par défaut de 60s. On peut diminuer cette valeur au minimum (10s) pour améliorer la réactivité, tant que ça n’a pas d’effet de bord sur les autres activités de FHEM…

modify bridge hue-bridge 10

Par ailleurs, on va paramétrer FHEM pour que les appels HTTP au bridge ne soient pas bloquants.

attr bridge bridge httpUtils 1

Définition d’un HUEdevice sensor de type ZLLSwitch

Il faut créer à la main le HUEdevice sensor de type ZLLSwitch qui remontera les états du HUE dimmer switch.

On récupère la liste des capteurs (« sensors ») connus du Hue bridge :

get bridge sensors

get bridge sensors

On définit ensuite un device HUEDevice sensor avec la commande

define <device> HUEDevice sensor <id> <interval>

Avec l’exemple ci-dessus (ID = 3 récupéré dans la réponse de la commande précédente) et en mettant une valeur de polling de 10  (le minimum) :

define HUEDimmer HUEDevice sensor 3 10
attr HUEDimmer alias inter chambre 
attr HUEDimmer icon hue_filled_hds
attr HUEDimmer devStateIcon unknown:rc_BLANK attr HUEDimmerSwitch_2 eventMap 1001:ON_hold 1002:ON_short 1003:ON_long 2001:DIMUP_hold 2002:DIMUP_short 2003:DIMUP_long 3001:DIMDOWN_hold 3002:DIMDOWN_short 3003:DIMDOWN_long 4001:OFF_hold 4002:OFF_short 4003:OFF_long

L’attribut eventMap permet d’utiliser des noms symboliques mnémotechniques pour le code d’état (rendra le code plus lisible).

Les évènements relatifs au Hue dimmer switch remontent à partir de maintenant dans FHEM et il est possible d’agir en fonction.

Interrupteur double fonctions éclairage/volets roulants

On commence par programmer le Hue Bridge pour définir le fonctionnement du Hue dimmer switch pour les lumières.

Pour les volets on intercepte les évènements du Hue dimmer switch avec la commande DOIF.

Sans tenir compte de la luminosité :

(([HUEDimmer_salon] eq "DIMUP_short") and ([roller_salon] eq "drive-down"))
	(set roller_salon stop)
DOELSEIF ([HUEDimmer_salon] eq "DIMUP_short")
	(set roller_salon open)
DOELSEIF (([HUEDimmer_salon] eq "DIMDOWN_short") and ([roller_salon] eq "drive-up")) 
	(set roller_salon stop) 
DOELSEIF ([HUEDimmer_salon] eq "DIMDOWN_short")
	(set roller_salon closed)
DOELSEIF ([HUEDimmer_salon] eq "DIMDOWN_long")
	(set roller_salon position 70)
DOELSEIF ([HUEDimmer_salon] eq "DIMUP_long")
	(set roller_salon position 30)

En tenant compte de la luminosité :

On utilise le reading twilight_weather d’un device twilight de type TWILIGHT qui donne la luminosité extérieure, en tenant compte de la météo.

(([HUEDimmer_salon] eq "DIMDOWN_short") and ([roller_salon] eq "drive-down")
		and ([twilight:twilight_weather] >= 10))
	(set roller_salon stop)
DOELSEIF (([HUEDimmer_salon] eq "DIMDOWN_short") 
		and ([twilight:twilight_weather] >= 10))
	## ne déploie le store que s'il fait clair
	(set roller_salon closed)
DOELSEIF (([HUEDimmer_salon] eq "DIMDUP_short") and ([roller_salon] eq "drive-up")) 
	(set roller_salon stop) 
DOELSEIF ([HUEDimmer_salon] eq "DIMUP_short")
	## ferme le store jour et nuit
	(set roller_salon open)
DOELSEIF (([HUEDimmer_salon] eq "DIMDOWN_long") 
		and ([twilight_Cagnes:twilight_weather] >= 10))
	(set roller_salon position 70)
DOELSEIF (([HUEDimmer_salon] eq "DIMUP_long")
		and ([twilight_Cagnes:twilight_weather] >= 10))
	(set roller_salon position 30)

Références

  1. Utilisation et programmation du Philips Hue dimmer switch : comment lui en faire faire plus qu’avec l’application Hue de Philips
  2.   Hue Dimmer Switch (en allemand – Wiki FHEM) : comment utiliser le Hue Dimmer Switch dans FHEM
  3. Hue Developer program forum : Reacting to tap switches

3 commentaires sur “Hue Dimmer switch et volets roulants”

  1. Bonjour Olivier,
    Merci beaucoup pour votre réponse.
    Mon objectif est d’utiliser un interrupteur discret pour VR, donc pas par radio. J’ai trouvé votre proposition avec Philips et aussi la solution Céliane sans fil que je trouve très esthétique.

    Je sais ce que j’ai à la maison, je sais où je veux aller : 1 interrupteur hue dimmer OU 1 interrupteur sans fil pour VR connectée Céliane with Netatmo.

    Le challenge est que je ne connais pas grand chose en domotique et que je ne sais pas arriver à mes fins, que dois-je acheter ? Quel logiciel ? etc.

    J’accepterais volontiers d’échanger avec vous pour trouver une solution.

  2. Bonjour,
    Je souhaiterais étendre l’utilisation des Hue Dimmer Switch au-delà de l’écosystème Philips pour gérer mes VR (marque Minco).

    J’ai acquis un appartement avec uniquement des interrupteurs sans fils (Fréquence 868MHz) gérés par 2 protocoles : EnOcean et le Io-Homecontrol, le tout géré par une centrale Flexom (Ubiant).
    Toutes mes ampoules sont des Philips Hue.
    Dans l’application Flexom, toutes les ampoules et interrupteurs Philips Hue apparaissent.

    Je ne comprends pas concrètement les actions que je dois lancer malgré plusieurs lectures, pour :
    *Programmer le Hue Dimmer Switch avec l’API Philips ?!
    *Définir le Hue bridge dans FHEM ?!
    *Associer les VR à FHEM ?!
    * Définir les VR par un service Rollo?!

    Sauriez-vous qu’est-ce que je dois acheter pour arriver à mes fins ? Quel logiciel dois-je télécharger ?

    Certains conseillent l’achat d’un module Zigbee pour la centrale Flexom comme https://www.my-domotique.com/accueil/2490-module-rail-din-extension-protocole-zigbee-3459950020847.html 3

    1. Je ne suis pas sûr d’avoir tout compris de votre besoin et votre configuration.
      Si vous voulez utiliser FHEM juste pour faire ça, ça fonctionnera en parallèle à votre centrale existante, et ça ajoutera une complexité supplémentaire à votre solution existante. Par ailleurs, pour être honnête j’ai abandonné l’utilisation des Hue dimmers switchs pour piloter les volets : ça me paraissait sympa sur le papier mais ce n’est finalement pas intuitif d’utilisation et il y a un temps de réaction irritant. Il n’y a que moi qui l’utilisait à la maison, et encore.

      Si vous souhaitez vraiment mettre les mains dans le cambouis et y passer potentiellement beaucoup de temps, il vous faudra :
      – une machine pour FHEM (ex : un raspberry pi),
      – un dispositif pilotable par FHEM pour gérer le protocole utilisé pour vos VR (clef USB ou passerelle externe connectée à votre réseau en WiFi ou Ethernet). Je suppose que ce sont des volets filaires avec un interrupteur pilotable par EnOcean ou Io-Homecontrol ? Je n’utilise ni l’un ni l’autre des protocoles donc je ne peux vous conseiller sur le dispositif à utiliser. Il faut chercher un peu sur le site de FHEM.
      – le logiciel libre FHEM (et du temps sur son site et son forum si vous avez des soucis…)

      Vos questions :
      * Dans ce cas d’usage, on ne programme pas a proprement parler le hue dimmer switch. On ne fait que récupérer son changement d’état et en fonction de celui-ci FHEM applique les règles qu’on lui a programmées pour piloter les volets. Sinon, pour piloter le dimmer switch avec l’API j’ai décrit le principe dans Utilisation et programmation du Philips Hue Dimmer switch avec les liens utiles.
      * Pour définir le Hue bridge dans FHEM c’est facile et décrit dans mon post FHEM et Philips Hue – premiers pas
      * L’association des volets roulants à FHEM se fait en deux temps : d’abord vous devez définir vos actionneurs de volets roulants dans FHEM, en fonction de la techno de ceux-ci (comme indiqué au dessus je n’ai pas d’expérience sur EnOcena et io-homecontrol) , puis vous configurez le module ROLLO comme indiqué dans ce post

      Si votre solution domotique est programmable, il y a surement moyen de transposer les principes indiqués dans l’article.

Laisser un commentaire

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