Hack du Hue Motion

Dans ce nouvel article de la série trucs, astuces et conf. maîtrisez Home assistant je vous propose de nous intéresser au Hue motion. Je vous en avais déjà parlé ici, le Hue motion est un petit boîtier permettant d’allumer automatiquement vos lampes en fonction de la luminosité et des mouvements dans une pièce. Il utilise donc un détecteur de luminosité ainsi qu’un détecteur de mouvement. Ce qu’on sait moins c’est qu’il dispose aussi d’une sonde de température !

Nous avons donc ici un périphérique plutôt complet et intéressant. Le problème est que, de base, il n’est pas possible d’agir sur un autre système que les lampes Hue ni même de récupérer les informations. Notre but sera à l’aide d’Home assistant de récolter toutes ces données – y compris la température – et de les utiliser afin de mieux suivre votre domicile. De plus, nous allons voir comment transformer ce boîtier en “alarme”.

Prés-requis

Tout d’abord, vous devez être un minimum équipé. Voici les différents éléments indispensables :

  • Un système Hue fonctionnel (voir ici pour plus d’info)
  • Un boîtier hue motion (entre 30 et 40€ )
  • Une installation home assistant (si vous n’en avez pas, cette série est consacrée à la mise en place complète d’un tel système)

Accédez au mode développeur hue

Dans un premier temps, identifiez l’adresse IP de votre matériel Hue. Pour ma part, je passe par ma box pour la connaître. Ensuite dans votre navigateur tapez http://<Adresse_IP>/debug/clip.html. Ainsi, vous accéderez ainsi à un client REST permettant de faire des requêtes sur votre pont Hue.

cli hue

C’est le moment de paramétrer un utilisateur. Tapez seulement /api dans URL et remplissez Message Body comme ce qui suit en remplaçant pseudo par ce que vous souhaitez.

Obtenir un nom d‘utilisateur

Maintenant, cliquez sur POST. Vous devriez normalement recevoir l’erreur suivante.

Appuyez sur le bouton présent sur votre bridge hue et cliquez de nouveau sur post. Cette fois-ci, vous devriez avoir un message contenant un champ username. Conservez-le, nous allons l’utiliser tout au long de cet article.

Capturer la température et la luminosité

Les sensors Hue

Tout d’abord, nous allons tenter de récupérer les valeurs de luminosité et la température mesurée par votre hue motion. Pour ce faire, nous avons besoin en premier lieu d’identifier les sensors. Retournez sur le client rest que nous avons vu dans le chapitre précédent, entrez l’url comme ci-dessous, en remplaçant username par celui que vous avez obtenu précédemment.

Vous devriez trouver dans l’encart Command response une réponse plutôt verbeuse, surtout si vous possédez plusieurs sensors (équipement Hue autre que les lampes et ampoules). Parmi ces informations, identifiez les parties concernant la température Hue temperature et la luminosité Hue ambient light et notez leurs id (sur l’exemple ci-dessus, pour le sensor daylight il s’agit de l’id 1).

Pour vous assurer que tout est ok, vous pouvez relancer une requête comme précédemment en ajoutant l’id de votre sensor. Vous ne devriez ainsi obtenir que les informations de ce dernier.

Sensor id 7

La configuration home assistant

Il est maintenant temps de configurer Home assistant. Nous allons ajouter de nouveaux sensors. Pour ce faire, ouvrez le fichier de configuration et ajoutez les lignes suivantes.

sensors:
- platform: rest
resource: http://<Adresse_IP>/api/<username>/sensors/7
value_template: '{{ value_json.state.lightlevel }}'
unit_of_measurement: Lux
name: 'Lumière couloir'
- platform: rest
resource: http://<Adresse_IP>/api/<username>/sensors/5
value_template: '{{ value_json.state.temperature | float / 100 }}'
unit_of_measurement: °C
name: 'Température couloir'
Si vous avez déjà un bloc sensors avec des platform configurées, veillez à simplement ajouter les deux nouveaux éléments à la suite et vérifier que tout soit formaté correctement. J’ai personnellement eu quelques erreurs à cause d’une mauvaise indentation.

Après redémarrage voici ce que j’obtiens en page d’accueil de Home assistant.

et dans la partie history

 

Détecter les mouvements

Configuration Hue

Pour la détection de mouvement, nous devons tout d’abord créer un élément virtuel du côté de notre installation Hue. Retourner sur la page http://<Adresse_IP>/debug/clip.html et paramétrer le client comme ci-dessous. Cliquez sur post et votre sensor virtuel sera créé. Conservez bien son id qui est renvoyé en réponse.

Ensuite, de la même manière que dans le début de l’article, identifiez votre capteur physique. Pour le repérer, fiez vous au type, il devrait ressembler à ZLLPresence. De mon côté l’id est le 6, je l’utiliserai donc dans les exemples qui suivent.

Nous allons maintenant définir les règles auxquels le capteur répondra. Dans un premier temps, voyons celle qui gère la détection. Configurez votre client comme l’exemple ci-dessous et cliquez sur POST.

Maintenant, voyons la règle qui permettra de réinitialiser le capteur. Configurez votre client comme l’exemple ci-dessous et cliquez sur POST. Vous pouvez bien entendu modifier la valeur PT00:05:00, cela aura pour effet de modifier le temps avant que le reset intervienne.

 

Configuration Home assistant

Maintenant que tout est en place, il ne reste plus qu’à paramétrer notre sensor côté Home Assistant. Pour ce faire, retournez dans votre fichier de configuration et ajoutez le code ci-dessous en remplaçant bien Adresse_IP et username.

Le chiffre 10 dans l’url de la resource correspond à l’id de mon sensor virtuel. Pensez à le remplacer par la valeur que vous aviez obtenue.
- platform: rest
resource: http://<Adresse_IP>/api/<username>/sensors/10
value_template: '{{ value_json.state.status }}'
name: 'Mouvement couloir'

Un petit redémarrage de Home assistant et nous y voilà. Vous devriez avoir un indicateur de ce type en page d’accueil. Le chiffre 1 devrait s’afficher en cas de mouvement et il devrait laisser sa place à un 0 au bout de cinq minutes sans activité.

 

Notification

Super, nous sommes maintenant capables de détecter un mouvement. Le top serait d’être averti de ce dernier afin de repérer un éventuel intrus !

La solution que j’ai retenue, mais il en existe d’autres, est d’envoyer un message via telegram afin de recevoir une notification. Pour ce faire, je vais passer par IFTTT. Nous n’allons pas voir en détail chaque étape, mais nous allons nous appuyer sur cet article.

Configuration de IFTTT

Dans un premier temps, créez un applet:

if Maker then Telegram

Pour le composant marker, j’ai choisi de réagir à l’event HASS_MOTION_DETECT et pour le composant Telegram j’ai choisi send a message.

Ce qui nous donne quelque chose comme ça :

Configuration de home assistant

Maintenant dans la partie automation ajoutez la configuration suivante :

- alias: mouvement couloir
trigger:
platform: state
entity_id: sensor.mouvement_couloir
to: '1'
action:
service: ifttt.trigger
data: {"event":"HASS_MOTION_DETECT", "value1":"mouvement détecté"}

À partir de maintenant chaque mouvement détecté donnera lieu à l’envoie d’un message sur Telegram et donc d’une notification.

Conclusion

C’est tout pour aujourd’hui, vous pouvez maintenant tirer parti de toutes les possibilités du Hue motion. Pour le moment, chaque mouvement donne lieu à une notification, mais vous pouvez très simplement déclencher cette automation seulement dans certaines conditions. Par exemple, si vous avez mis en place le tracking décrit dans cet article, vous pouvez limiter les notifications aux moments où vous n’êtes pas chez vous.

 

Cadre en informatique dans une multinationale je suis un touche-à-tout passionné de nouvelles technologies.
Tu aimes cet article ? Alors partage le Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on Tumblr

5 réponses

  1. Laurent.JO dit :

    Bonjour Quentin,
    Super cet article c’est exactement ce que je cherchais. Cependant je ne comprends pas la partie “créer un élément virtuel du côté de notre installation Hue”
    A quoi cela sert il ? Si tu pouvais m’éclairer sur ce point.
    Je découvre cet accessoire et je veux en faire la base de mon système domotique. Pour la partie, messagerie je me base sur Raspbian+Gammu avec un dongle GSM, le tout sur onduleur. Je veux un système de détection fonctionnel même sur absence de courant.
    Merci

  2. Bonjour,

    Intéressant comme projet 🙂 N’hésite pas à nous en dire plus à l’occasion !

    L’élément virtuel, ou pour être plus précis le state virtuel va pouvoir être requêté via l’API REST. Cela va nous permettre de passer outre la limitation du Hue Motion qui ne peu pas être consulté directement. Sans ce state, jusqu’à maintenant, il n’est pas possible d’obtenir l’état du capteur.

    En espérant t’avoir apporté des réponses à tes questions 🙂
    Bonne soirée

  1. 16 juillet 2017

    […] Hack du Hue Motion : Devotics […]

  2. 16 juillet 2017

    […] Hack du Hue Motion ( Devotics ). […]

  3. 22 août 2017

    […] Dans ce nouvel article de la série trucs, astuces et conf. maîtrisez Home assistant je vous propose de nous intéresser au Hue motion. Je vous en avais… Source link […]

Laisser un commentaire