telecommande_zigbee_controler_tous

Une télécommande ZigBee pour les contrôler tous

Bon… Ok, le titre est un peu racoleur 😉 mais vous l’aurez compris… dans cet article, je vais vous parler des télécommandes ZigBee et plus en détail, la télécommande Philips Hue et la télécommande de la gamme Ikea Tradfri.

Pour les adeptes de la ZiGate, vous avez pu vous apercevoir que les télécommandes ZigBee (hormis les Xiaomi) sont faites pour gérer de l’éclairage. Elles suivent le protocole ZHA ou ZigBee 3.0 mais permettent surtout de faire du « commissionning » (appairage en direct Touch Link) avec les ampoules. En gros, on reste appuyé sur le bouton adéquat pendant X secondes à côté de l’ampoule pour l’associer.

La ZiGate vous permet déjà d’utiliser une télécommande Ikea pour piloter une ampoule Philips HUE, OSRAM ou autres …

Mais … vous avez été nombreux a être un peu frustrés de ne pas pouvoir les utiliser pour piloter autre chose que des ampoules compatibles comme des prises pilotées, les wall switch Xiaomi ou autres…

Voici comment détourner les télécommandes de leur utilisation initiale :

Votre note :

Click to rate this post!
[Total: 82 Average: 3.4]

 

Les deux exemples de télécommandes ZigBee

Comme je l’ai dit en introduction, je vais vous montrer comment détourner les télécommandes en m’appuyant sur les deux télécommandes les plus utilisées.

La télécommande Philips Hue (dont j’avais déjà parlé pour remettre à zéro toutes les ampoules ZigBee)

La télécommande Ikea Tradfri. (Fonctionne aussi avec le dimmer Ikea Tradfri …normalement)

Si ce n’est pas déjà fait, voici où vous procurer les télécommandes

Achats

La télécommande Philips Hue

telecommande_philips_hueTélécommande Philips HUE

 

Prix : 24.99 €

La télécommande Ikea Tradfri

tradfri-remote-controlTélécommande Ikea Tradfri

Prix : 12,95 €

Les deux télécommandes sont de très bonnes qualités et malgré la différence de prix… j’ai du mal à vous en conseiller une. Je vous laisse faire votre propre avis… ou essayer de me convaincre de l’une ou l’autre en commentaire 😉

Le fonctionnement des télécommandes

Dans le cas des deux télécommandes, il va vous falloir une ZiGate afin d’ouvrir un réseau ZigBee unique et appairer votre télécommande et le module que vous souhaitez contrôler.

Mais alors ? comment fonctionne ces télécommandes et pourquoi ne sont-elles pas interprétées par la ZiGate ?

Pour répondre à ces questions, je me suis muni de mon sniffer pour décoder les commandes.

Après avoir appairer les télécommandes, je me suis amusé à appuyer sur les différentes boutons pour voir ce qui se passe :

La commande ON/OFF

Pour la commande I ou 0 de la télécommande Hue et le bouton central de la télécommande Ikea Tradfri, nous avons a peu près le même résultat :

Toggle_ikea_tradfri

La première chose à remarquer est que l’action, sur le bouton de la télécommande, est envoyée à un groupe et non pas à un endpoint (device).

Qu’est-ce qu’un groupe ZigBee ?

En ZigBee, un groupe représente un ensemble de « device ». Il permet à une entité (télécommande ou coordinateur), avec une seule trame, de dialoguer avec plusieurs modules.

On pourrait comparer ça à une sorte de « broadcast ». On envoie la trame à un groupe et si le module appartient à ce groupe, il prend la commande sinon il l’ignore.

Ceci explique que la ZiGate ne reçoit pas la commande. En effet, la ZiGate étant un coordinateur, par définition, il n’appartient pas à un groupe de « device ».

La deuxième chose à observer est le Cluster – 0x0006 correspondant à la commande ON/OFF. Ce cluster est, en général, utilisé par tous les modules de type « actionneur ».

Les autres commandes

La commande « Level Control »

level control ikea tradfri

Capture télécommande Ikea Tradfri

Level_control_philips_hue

Capture télécommande Philips Hue

Ce cluster est utilisé, principalement, pour les ampoules afin de faire varier la luminosité. Pour le moment, je ne vois pas sur quel autre module la commande pourrait-être utilisée.

La commande « Scenes »

scenes_ikea_trafri

Capture télécommande Ikea Tradfri

scenes_philips_hue

Capture télécommande Philips Hue

Le cluster « Scenes » est aussi principalement utilisé pour l’éclairage car il permet de sauvegarder un état (luminosité, couleur, température, …) et de le rejouer en appuyant sur le bouton. Comme pour la commande précédente, je ne vois pas comment détourner cette commande sur un autre matériel.

Maintenant que l’on connait les actions transmises par les télécommandes et que l’on comprend mieux le fonctionnement général, voici la démarche à suivre pour augmenter le champ d’action d’une télécommande.

La procédure à suivre

Ce dont vous aurez besoin

Pour effectuer cette procédure, vous devez avoir:

  • 1 ZiGate
  • 1 télécommande ZigBee (Ikea ou Hue)
  • 1 ampoule compatible
  • 1 prise ZigBee compatible ou un interrupteur mural (par exemple)

La première chose à faire est d’appairer tous les modules ZigBee (télécommande, ampoule, interrupteur) sur votre ZiGate. Pour cela, je vous renvoie directement sur le lien suivant.

Pour effectuer la procédure, je vous propose d’utiliser l’utilitaire TestGUI disponible sur le Github.

test_gui

Récupérer les adresses des éléments à contrôler

Comme vous le savez, chaque module ZigBee est muni d’une « short address » lorsqu’il s’appaire à la ZiGate. Cette adresse changera à chaque appairage. C’est pour cette raison qu’il est important de le mettre de côté.

Vous pouvez utiliser le bouton « Get Devices List » dans l’onglet « Discover Devices » pour tout récupérer

short_address

Une fois effectué, nous allons assigner un groupe à la télécommande. Pour cela, il faut utiliser un matériel compatible ZLL (pour le commissioning) … Bref une ampoule ZigBee.

Munissez-vous de votre télécommande et maintenez appuyé I (Philips hue) ou le bouton link (Ikea – à l’arrière) pendant 10 secondes à côté de l’ampoule. L’ampoule se met à clignoter … le groupe est créé et associé à la télécommande.

Récupérer le groupe appartenant à la télécommande

Pour récupérer le groupe, il faut cliquer sur l’onglet « Group Cluster » de l’application puis entrer l’adresse de l’ampoule dans la ligne « Get Group » comme suit :

Group

La commande retourne tous les groupes associés à l’ampoule. Dans mon cas, le groupe des deux télécommandes. (Hé oui, on peut piloter une ampoule à partir de plusieurs télécommandes).

0x456C = Télécommande Philips Hue
0x7850 = Télécommande Ikea Tradfri

A ce stade, il ne reste plus qu’à associer le groupe au matériel compatible.

Associer le bon groupe au nouveau module

Dans mon cas, je souhaite associer un module wall switch de chez Xiaomi. Avant de lui assigner un groupe, je vérifie bien qu’il soit compatible en listant tous ces clusters :

Type: 0x8043 (Simple Descriptor Response)
SQN: 0xC8
Status: 0x00
Short Address: 0x2F05
Length: 30
EndPoint: 0x01
Profile ID: 0x0104 (ZigBee HA)
Device ID: 0x0051 (Generic – Smart Plug)
Input Cluster Count: 9
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0004 (General: Groups)
Cluster 2: Cluster ID: 0x0003 (General: Identify)
Cluster 3: Cluster ID: 0x0006 (General: On/Off)
Cluster 4: Cluster ID: 0x0010 (Unknown)
Cluster 5: Cluster ID: 0x0005 (General: Scenes)
Cluster 6: Cluster ID: 0x000A (General: Time)
Cluster 7: Cluster ID: 0x0001 (General: Power Config)
Cluster 8: Cluster ID: 0x0002 (General: Temperature Config)
Output Cluster Count: 2
Cluster 0: Cluster ID: 0x0019 (General: OTA)
Cluster 1: Cluster ID: 0x000A (General: Time)

Grâce à ces infos obtenus avec la commande « simple descriptor« , je sais que ce module est compatible car il gère les commandes ON/OFF et les groupes.

Maintenant il suffit d’aller dans l’onglet « Group Cluster » et remplir les étiquettes en face de « Add group » comme suit :

add_group

Le groupe n° 0x7850 est maintenant associé à la télécommande Ikea, à l’ampoule et à l’interrupteur mural Xiaomi.

Si vous ne souhaitez pas piloter l’ampoule (elle ne servait qu’à récupérer le groupe de la télécommande) vous pouvez la supprimer du groupe de la manière suivante.

remove_group

Voilà, l’ampoule n’appartient plus au groupe de la télécommande. Maintenant, votre télécommande Ikea ne pilote plus que l’interrupteur mural Xiaomi.

Voici le résultat !

Conclusion

Le réseau ZigBee et la ZiGate n’a pas encore dévoilé tous ses secrets. En effet, même si les actions d’une télécommande ZigBee ne sont pas directement visibles par la ZiGate, cette dernière permet, néanmoins, de piloter des ampoules, des prises pilotés ou autres actionneurs ZigBee.

Dans ce cas, la gestion des groupes est primordiale pour associer des nouveaux éléments ZigBee à une télécommande. La ZiGate, elle, permet simplement de gérer la sécurité et de créer les liens entre les différents modules.

En effet, même si après le paramétrage, la ZiGate ne fonctionne plus, toutes les associations entre votre télécommande et les modules seront encore opérationnelles. (Ce qui ne serait pas le cas, si la ZiGate interprétait les commandes).

Attention donc à la facilité ! Beaucoup d’entre vous aimerait que la ZiGate puisse interpréter et envoyer la commande à la box domotique. Mais il ne faut pas perdre de vue que dans certains cas, ce n’est pas forcément une bonne idée.

(Cependant, ça ne m’empêche pas de regarder comment le faire ;))

A bientôt !

Click to rate this post!
[Total: 82 Average: 3.4]

19 comments

  1. Bonjour,

    Chouette article, merci.
    Si la zigate et la box domotique ne voient pas la communication entre l’inter et le périphérique, il serait très utile que le périphérique reporte son status au zigate.
    Ainsi l’appli domotique pourrait au moins mettre son status à jour.

    A ce sujet, quelle est le meilleur plugin domotique zigate qui supporte l’interrogation des périphériques (pour connaître leur état) et qui est capable de configurer l’attribute reporting.
    Pour le moment j’suis un gros novice qui n’a pas eu le courage de se taper les docs, ce serait super d’avoir des infos/tutoriels pour implémenter cela dans les plugins.

    Dans les périphériques auxquels je pense il y a tous les périphériques qui ont leur propre inter/poussoire (plug osram par ex) et maintenant les lampes zigbee « commissionnées » directement pas un module de contrôle zigbee.

  2. Dommage, c’était pour moi l’un des principale avantages de la ZiGate, pouvoir commander n’importe quel composant via home-assistant (composant non ZigBee), en utilisant la ZiGate comme récepteur ZigBee.

    Est-il impossible de simuler un composant via la ZiGate qui pourrait être adressé directement par la télécommande?

  3. Bonjour,

    Cela veut il dire que le bouton xiaomi ne remonte pas sur ma box domotique et est donc bridée à commander des module zigbee, ou bien est il diffèrent dès bouton Ikea et Philips ?

    1. Bonjour poudi8,
      Non, les bouton Xiaomi remonte bien l’info par la ZiGate. Je m’en sert avec home-assistant et l’info est bien délivré, les multi-cliques sont également supporté.

    2. J’aimerais bien que l’auteur eclaircisse certains points moi aussi. 🙂

      le bouton xiaomi il peut parler directement avec ta box domotique.

      quant à la zigate, peut-elle adhérer au groupe afin de recevoir ses actions ?

      question annexe, serait-il possible d’avoir un firmware qui permette d’être zigate avec l’option sniffer sans reflasher ?

  4. Hello,

    Inspiring post 😉 after reading it, I’m trying to setup zigbee group instead of using home assistant for managing switch group (expecting smaller delay between click and light turn on).

    I’m trying to setup in group Xiaomi Wall Switch and Xiaomi Wireless Switch. The first one simple descriptor has input cluster groups and it’s possible to add group how it was described in post. Second device has output cluster groups and groups commands don’t work. As I understand output cluster is client, so it’s not server which can receive command, so expected behavior. Additionally wireless switch is battery device, so it’s waiting for commands. Just after pairing there is 20sec in which device respond for command like simple descriptor.

    Is it possible that wireless switch has static group and I need to sniff it and add to wall switch? (Zigbee as a sniffer doesn’t work for me in VirtualBox on Mac :-/, probably baudrate problem)

  5. Bravo pour le projet et l’investissement énorme qu’il y a derrière.
    C’est dommage que la Zigate ne puisse pas remonter les infos à la box/au RPI.
    Cela limite donc les usages aux périphériques Zigbee uniquement entre eux.
    J’attends justement une prise en charge des remontées d’infos des périphériques afin d’utiliser la télécommande Philips HUE pour commander des ampoules Yeelight par exemple (qui ne sont pas Zibgee).

  6. Bonjour,
    je suis tout nouveau dans le domaine de la domotique. J’utilise Domoticz et j’aimerai piloter mes ampoules Tradfri Ikea grâce à la télécommande de la même marque (celle de votre démo).
    Mes ampoules et la télécommande sont appairées à Domoticz. Je parviense à controler les ampoules manuellement depuis Domoticz mais pas avec la télécommande. Après quelques requêtes Google, j’ai donc atterri ici.

    Pour la procédure que vous décrivez ici, il faut brancher la Zigate au PC si je comprends bien. Les changements apportés resteront valides une fois la Zigate reconnectée au Raspberry ?

  7. Merci beaucoup pour cette article !
    Y-a-t-il un moyen de se débrouiller pour appairer la télécommande sur un raspberry Pi (j’ai la version PiZigate qui se branche sur les ports gpio d’un RPI) ? Et donc sans utiliser l’utilitaire WIndows que vous présentez pour l’appariement ?

  8. Entre les télécommandes Philips Hue et Ikea Tradfri, l’Ikea Tradfri offre une fonctionnalité que la Hue n’offre pas, on peut associer les ampoules directement avec la télécommande et aussi associer les ampoules avec Jeedom, avec la télécommande Hue, c’est soit l’un soit l’autre mais pas les deux en même temps. La télécommande Ikea est compatible ZLL – Commissioning ( https://zigate.fr/ikea-tradfri-telecommande-dimmer-clusters/ ) pas la télécommande Hue par contre les ampoules Ikea et Hue le sont. va comprendre….
    Donc si vous intégrez ces télécommandes dans Jeedom, avec l’Ikea si Jeedom ou la Zigate sont HS, la télécommande fonctionne encore pas la Hue car il faut obligatoirement Jeedom et la Zigate en état de marche

  9. Salut,
    Quand je fais mon « Get Group » dans mon « Group Cluster » tel qu’indiqué, c’est-à-dire avec l’adresse de mon ampoule (Ikéa) sur laquelle est appairée une télécommande Philips qui semble aussi être reconnue sur Zigate précédemment (et avec Src EP=1, Dest EP=0b, Group ID=0), je n’obtiens pas l’affichage des groupes tels qu’indiqués sur la copie d’écran du tuto, alors que ma télécommande commande bien mon ampoule. Une idée pour me débloquer ?
    J’obtiens un Attribute Report 0x8102 et non un Group Report comme attendu…

  10. So far, so good. Zigate is working fine in Domoticz.
    TestGUI installed on my desktop.
    I understand your explanation about adresses and groups.
    But no data for the: « button Get Devices List  » in the « tab Discover Devices  » to recover all.
    What I am doing wrong? Where to find the device list?
    Is this the DevicConf.txt?
    How to import in TestGUI?

  11. Goal data for the « Get button Devices List » in the « Discover Devices tab » to recover all => has to be
    NO data for the « Get button Devices List » in the « Discover Devices tab » to recover all

  12. All the best for 2020. No one can help me how to go further on please?
    Can someone give me an advice how to get data in TestGUI?
    I realy want to find things out for myself, but i’am stuck now.
    Where and how to run TestGUI?

  13. Bonjour,
    Cette limite de remontée des actions de télécommandes Ikea/Phillips limitant la réutilisation de ces interrupteurs pour des scénarios jeedom (ou autres) plus larges est-elle toujours d’actualité ?

  14. Bonjour,

    désolé de déterrer le sujet, mais je cherche une réponse depuis plusieurs jours

    je lis la phrase suivante :
    « La commande retourne tous les groupes associés à l’ampoule. Dans mon cas, le groupe des deux télécommandes. (Hé oui, on peut piloter une ampoule à partir de plusieurs télécommandes). »

    Quand vous dites piloter une ampoule à partir de plusieurs télécommande, vous voulez dire par là, que 2 télécommandes peuvent communiquer « en direct » (même si la passerelle est down) ?

Leave a Reply

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.