Vaste programme ..

J’écrirai dans un autre poste pourquoi je considère la solution Philips HUE efficace : nous partirons donc ici du postulat qu’elle l’est.

Il faut d’abord distinguer deux installations : celles avec pont HUE et celle sans. Et oui ce n’est pas la même chose. Il faut savoir que si vous utilisez le pont pour commander une ampoule alors vous ne pourrez plus utiliser la télécommande comme avant. En effet, quand le pont commande une ampoule celle ci rejoint le réseau du pont. Si vous voulez qu’une télécommande pilote l’ampoule il faut que celle-ci rejoigne le même réseau. La télécommande ne parle alors plus directement à l’ampoule mais au pont HUE, qui parle à l’ampoule. Ca n’a l’air de rien mais il y a un gap d’efficacité : je n’ai jamais rencontré le moindre problème quand il n’y avait pas le pont HUE. A chaque appui sur les télécommandes, l’action était immédiate. Après mise en place du pont, ce n’est plus la même chose. J’ai notamment constaté qu’en cas d’utilisation de la bande passante internet (un téléchargement très long), le pont n’arrive pas à commander les ampoules (ni depuis le téléphone, ni par l’intermédiaire des télécommandes).

Je parlerais ici de l’installation avec pont HUE. En effet, sans lui, vous ne pourrez pas parler aux ampoules/prises depuis votre téléphone ou votre raspberry. Mise à part ce problème qui relève plus de la performance que de la fiabilité (j’entends par la qu’on arrive toujours à allumer ou éteindre, c’est juste le délai qui peut être de plusieurs secondes), je trouve la solution vraiment bonne dans la mesure ou elle est très bien documentée. Il y a toutefois un manque qui est cruel pour moi : on ne peut pas réagir à un événement (ie changement d’état) à la volée (trigger). C’est affreux nan ?

Nan ? Mais si mais si .. rendez-vous compte, pour avoir le statut d’un appareil (lampe ou prise), il faut le demander au pont. AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH !!!! non ? Cela ne vous effraie toujours pas ?! Mais quand même, pour avoir le statut en temps réel (je déteste cette appellation qui a le bon gout d’être toujours fausse) il faut interroger en boucle le pont .. c’est à dire générer du trafic réseau, manger du CPU de raspberry .. nan nan nan cela ne va pas du tout.

C’est la raison pour laquelle j’ai voulu écouter sur le réseau zigbee dans l’espoir d’intercepter à la source le message qui dit “Lampe 1 ON”. Pitié, s’il y avait un autre moyen, ne me le dites pas ! 🙂

Fort de cette volonté j’ai fait quelques recherches et en grand radin que je suis j’ai arrêté mon choix sur un dongle équipé d’une puce texas instrument CC2531 dont voici la datasheet

https://www.ti.com/product/CC2531

On trouve le produit sur amazon à 30€ (https://www.amazon.fr/Zigbee-CC2531-Antenne-Bo%C3%AEtier-Coordinator/dp/B0843SL7WM) environ mais surtout, sur leboncoin à 10€ ..

Coté firmware, vu que je suis passé par leboncoin, je n’ai pas eu le choix > zboss

https://zboss.dsr-wireless.com/projects/zboss/wiki/What_is_ZBOSS

Pour les premiers tests, je suis passé par Windows. En effet, zboss propose un sniffer qui fonctionne sans rien faire dans cet environnement et, cela va nous être utile plus tard, Il faudra juste s’enregistrer. Il vous faudra le célèbre analyseur de paquets Wireshark qui est gratuit (et qui fonctionne sous Windows et raspberry).

Vous voila fin prêts .. mais si vous foncez comme je l’ai fait, vous allez, comme moi perdre du temps pour rien. En effet la première information à récupérer c’est le canal ZIGBEE que votre pont utilise !

Pour cela, il y a plusieurs moyens :

  1. sur l’application philips HUE de votre téléphone en allant dans le menu “Ponts Hue” puis en affichant les informations (petit “i” entouré à droite) puis tout en bas dans “Modification du canal Zigbee” >> sans le modifier bien sur, il est affiché.
  2. via l’utilitaire html qui intérroge l’API REST >> http://IPHUE/debug/clip.html : en mettant l’url /api/votreid/config vous obtiendrez une réponse commencant par : { “name”:”Pont Hue”, “zigbeechannel”:24, …. vous l’avez !
  3. via un curl depuis votre raspberry >> curl -s http://IPHUE/api/votreid/config | jq -r ".zigbeechannel"

Voila, on va pouvoir commencer.. La suite au prochain épisode

Hack ZIGBEE de Philips HUE (partie 1)

Vous pourrez aussi aimer

Laisser un commentaire

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