[Tuto] Programmer (flasher) clef Zigbee ConBee2

Flasher une clef neuve ou une clef récalcitrante

En préambule général, s’assurer que les conditions suivantes sont remplies pour ôter tout doute sur le dysfonctionnement de la clef ConBee2 :

  • Clef Conbee2 éloignée de la box domotique en la branchant sur une petite rallonge USB (50 cm suffisent)
  • Clef Conbee2 non branchée sur un port USB 3 (à cause des interférences générées par les USB 3 de certains RPI ou box domotiques)
  • Alimentation de la box délivre au moins 1A de plus que la consommation en mode stabilisé de la box (càd qu’il faut avoir une alimentation autre que par le port mini USB dans le cas d’un RPI qui n’est pas suffisante pour tout alimenter, voir par exemple carte Raspberry Pi Expansion Board pour cela.
  • OS Debian minimum : à adapter selon le plug in zigbee utilisé sur la box domotique (pas d’importance pour le flash sur PC)

Lorsque le firmware de la clef ConBee2 est incorrectement flashé il y a des déco/reco intempestives, le firmware est illisible depuis Debian ou depuis Phoscon ou la clef est non connectable depuis un PC Win10 sous deCONZ GUI…

  1. Arrêter le démon Deconz (ou celui du plug in gérant le zigbee) de la box domotique puis débrancher la clef ConBee2 et la passer sur PC Win10

  2. installer l’application deCONZ pour Win10 ici ( Index of /win/ télécharger la dernière version stable ) si pas déjà fait puis naviguer jusqu’au répertoire bin qui doit être ici
    C:\Program Files (x86)\deCONZ\bin
    ou là
    C:\Users\ton_user\AppData\Local\deCONZ\bin
    selon le cas

NB : entre les versions 2.14.0 et 2.18.0 de deconz, l’application GCFFlasher n’est plus installée en même temps que deCONZ. Dans une telle situation il faut donc installer la version 2.13.04 (puis faire une mise à jour cette application) ou une version stable plus récente que la 2.18.0 pour que GCFFlasher soit installé.

  1. Depuis le dossier bin ouvrir une Invite de commandes en mode administrateur (dans l’Explorateur Windows Shift + Clic droit dans une zone libre du dossier bin et sélectionner « Ouvrir la fenêtre de commande ici » dans le menu contextuel) puis taper la commande suivante sans la valider pour l’instant
    GCFFLasher -l (ou ./GCFFlasher -l sous PowerShell)

  2. Brancher la Conbee2 sur un port USB2 du PC Win10 et dès que le petit son du PC qui essaie de monter la clef est audible, valider la commande précédente pour récupérer le port sur lequel la ConBee2 est connectée

  3. Noter le port USB sur lequel est branchée la ConBee2 et relever le numéro de port COMx retourné par la commande de l’étape 4

  4. Télécharger ici la dernière version du firmware ConBee2 qui se trouve sur le site de Dresden ici Index of /deconz-firmware/ et la placer dans le répertoire ‹ firmware › au même niveau que le répertoire bin (avec le navigateur de fichier Windows)

  5. Débrancher la clef ConBee2 du PC

  6. Dans la fenêtre Invite de commandes ouverte à l’étape 3 taper la commande suivante, sans la valider pour l’instant (bien sur utiliser ici le nom de fichier tel que téléchargé à l’étape 6)
    GCFFlasher -d COMx -t 60 -r 10 -f ../firmware/deCONZ_ConBeeII_0x26780700.bin.GCF
    ou dans la cas où la fenêtre Invite de commandes est une fenêtre PowerShell
    ./GCFFlasher -d COMx -t 60 -r 10 -f ../firmware/deCONZ_ConBeeII_0x26780700.bin.GCF

en remplaçant x par la valeur retournée à l’étape 5

  1. Rebrancher la ConBee2 sur le PC sur le même port USB qu’à l’étape 4 puis valider la commande précédente

  2. Attendre que la fenêtre affiche que l’opération de flash est OK

  3. Rebrancher la ConBee2 sur la box domotique.

Ce qui suit ne s’applique que si le plug in Deconz est celui utilisé pour la gestion Zigbee sous Jeedom
Les étapes suivantes sont à faire si l’application deCONZ sur la box domotique n’est pas à jour où n’a pas été installée.

  1. Sur la box domotique depuis la page de configuration de Deconz cliquer sur Lancer dans la partie Installation Deconz Local (attention à ne pas confondre avec la partie du firmware)

  2. Relancer le démon Deconz sur la box domotique

Les étapes suivantes sont à réaliser si la clef Conbee2 n’a pas été correctement découverte au préalable

  1. Dans la page du plug in Deconz de Jeedom lancer la découverte de la clef. Attendre que celle-ci s’affiche dans la liste des Gateways

  2. Lancer la récupération de clef API. Pour cela voir la documentation du plugin Deconz qui explique comment faire avec l’aide de Phoscon.

  3. Redémarrer le démon de Deconz voire la box domotique. Commencer les appairages depuis Phoscon (Phoscon peut parfois juste signaler que l’appairage a été fait sans pour autant afficher l’équipement). Une fois fait, passer sous Deconz Jeedom et faire une synchronisation ; les équipements appairés avec Phoscon s’affichent alors.

Voilà C’est fini.

Edit 31/08/2022 : version firmware à jour : 0x26780700
Les évolutions firmware sont listées ici :

Depuis la version deconz 2.18.2, l’outil GCFFlasher est installé de nouveau en même temps que l’application deCONZ.

Pour flasher sur Mac c’est ici :

27 « J'aime »

Merci pour ce tuto :+1:

Tuto qui tombe à pic.
Donc première chose à faire dès que je reçois ma clé avant de la mettre sur jeedom.

Sauf si elle est déjà correctement programmée :wink:

1 « J'aime »

Pour ceux qui n’ont pas de windows méthode avec packages.

Verifiez la présence de la clef conbee II
lsusb
Bus 00X Device 0YY: ID 1cf1:0030 Dresden Elektronik

Installation de deconZ (si pas déjà fait)

sudo gpasswd -a $USER dialout
wget -O - http://phoscon.de/apt/deconz.pub.key | sudo apt-key add -
sudo sh -c "echo 'deb http://phoscon.de/apt/deconz $(lsb_release -cs) main' > /etc/apt/sources.list.d/deconz.list"
sudo apt update
sudo apt install deconz

FLASH DE LA CLEF
Stop des services deconz

sudo systemctl stop deconz
sudo systemctl stop deconz-gui 

Vérifier et téléchargez la dernière version de conbee II

http://deconz.dresden-elektronik.de/deconz-firmware/

Version du moment : deCONZ_ConBeeII_0x26680700.bin.GCF

Positionnez vous dans le dossier ou vous avez télécharger le fichier a flasher

Ajuster sur la ligne ci-dessous le device /dev/ttyACMX
ls /dev/ttyA* (pour vérifier)

sudo GCFFlasher_internal -t 60 -d /dev/ttyACM0 -f deCONZ_ConBeeII_0x26680700.bin.GCF

Relancez vos services si besoin selon l’usage :

sudo systemctl start deconz (Headless version), ou
sudo systemctl start deconz-gui (GUI version)

Voilà amusez vous bien

Cette méthode Dresden ne fonctionne hélas que si :

  • il n’y a pas déjà un process deCONZ lancé par ailleurs autrement que par les services Debian ,qui tourne sur la machine Debian sinon gare aux accès collisions sur la ConBee2
  • si la clef n’est pas affublée d’un problème de flashage antérieur

auxquels cas il faut :

  • arrêter toutes les applis et process qui peuvent avoir des accès à la ConBee2
  • ne brancher la clef que juste avant de lancer la commande
sudo GCFFlasher_internal -t 60 -R 10 -d /dev/ttyACM0 -f deCONZ_ConBeeII_0x26680700.bin.GCF

qui grâce à l’option -R x va tenter jusqu’à concurrence de x fois de flasher la clef.

1 « J'aime »

bonjour
petite question en attente de réceptionner ma clé Conbee2

conseillez vous dès réception de faire sa mise à jour (via Windows 10 si j ai bien compris)?
à l’avenir, si de nouveaux périphériques sont compatibles, doit on faire la mise à jour de la clé ? si oui, via Windows ?

enfin y a t il un tuto pour ajouter /configurer des appareils car j’ai lu la doc, lu plusieurs posts ici mais ce n est pas bien clair, notamment pour des appareils couplés à un interrupteur (du style Ikéa) ? car certains passent par windows pour coupler le matériel, d autres passent par jeedom exclusivement ?
j avoue pour moi tout cela est flou…

Je ne conseille de faire la mise à jour firmware que si il y a un pb dans le fonctionnement du réseau.

Les mises à jour firmware de la ConBee2 ne sont que très exceptionnellement liées à une compatibilité d’équipement et réciproquement.
Cette compatibilité d’équipement (au sens prise en charge par) est quasiment toujours liée à l’application deCONZ et plus particulièrement à son interface avec Jeedom REST API.
C’est cette application qu’il faut mettre à jour régulièrement.
Les mises à jours et ce qu’elles incluent sont ici : Releases · dresden-elektronik/deconz-rest-plugin · GitHub
De la même manière si un équipement n’est pas encore compatible on peut faire leur demande de prise en charge sur ce même site (en respectant à la lettre le template de renseignement des infos demandées).

Pour terminer la mise à jour de cette application deCONZ se fait :

  • de manière préférentielle depuis la page de configuration du plug in Deconz en cliquant sur Lancer de Installation Deconz Local (attention à ne pas se tromper avec la mise à jour du firmware)
  • de manière alternative en suivant ce tuto ici :
    [TUTO] Mise à jour manuelle deCONZ
1 « J'aime »

Merci Yves, je comprends mieux désormais, je pensais naïvement que la mise à jour du Firmware comprenait justement l’update de nouveaux modules ; en fait ce sont 2 choses distinctes.

pour les associations, il semble plus cohérent de tout passer directement par jeedom, non ?

Si par association tu veux parler des appairages ou inclusions d’un équipement sur le réseau Zigbee, oui tu peux le faire depuis Jeedom/Deconz. Mais il est plus facile et plus visuel de le faire depuis Phoscon

Le mot association peut aussi avoir une autre signification similaire à celle qui existe en Z-Wave càd le lien direct de N vers P équipements Zigbee sans passer par une box domotqiue ou un coordinateur. En Zigbee cela s’appelle le binding. Jeedom ne propose pas encore (hélas) cette fonctionalité. Il faut pour cela passer par l’application Phoscon 2016, ou l’application deCONZ GUI ou bien encore par une application smartphone type Hue Essentials .
Voir ici pour cela : [TUTO] Groupes et binding avec Phoscon ou Hue Essentials- Deconz

C’est bien ce que fait :

Non ?

Et a moins d’être dans un bash je ne voir pas pourquoi relancer 10 fois une commande dans une procédure manuel ?

Ne vaut t’il pas mieux regarder le message et en déduire les actions a faire ?

Le sudo systemctl stop deconz ne vas pas arrêter les process mais uniquement les services. Donc la si un process deconz est actif il le restera. de même un process deconz non lancé par un service continuera d’être lancé.

Relancer 10 fois ou plus (je conseille souvent 100) permet en fait d’établir de manière plus certaine (au sens probabilité) une communication entre la clef et la box qui flashe en cas de pb de communication entre les deux à cause de la clef . Parfois ça se joue à qq 10 èmes de seconde et relancer à la main la commande ne permet pas de le faire aussi rapidement que le fera la machine.
Si la clef est mal programmée ou a des soucis, la vraie difficulté est de déterminer si le port est vraiment ttyACM0. Y’a vice, hélas, c’est là qu’est l’os (La Grande vadrouille).

Sinon oui pour un flash standard d’une clef nominale il n’y a besoin ni de l’option -R x ni de l’option -t y et de juste bien arrêter les process qui communiquent sur le port de la clef. Comme ces options ne coutent rien (en temps et en technique) autant les appliquer systématiquement ça renforce la certitude de bien faire la programmation.

En conclusion je préconise lorsque l’on ne peut pas faire la programmation firmware autrement que via la box domotique :

  • d’arrêter le démon Deconz
  • de vérifier par un sudo pas -ax | grep deconz qu’aucun process deconz ne tourne (sinon faire un sudo kill -9 n°process)
  • d’arrêter d’éventuels services qui pourraient lancer deconz, sudo systemctl stop deconz
  • de lancer la commande sudo GCFFlasher_internal -t 60 -R 10 -d /dev/ttyACMx -f deCONZ_ConBeeII_0x26680700.bin.GCF après avoir débranché/rebranché la clef sur le port USB correspondant à ACMx (x étant donné par la commande sudo GCFFlasher_internal -l)
  • de patienter et d’admirer ou de pleurer en fonction du résultat
  • de relancer le service sudo systemctl start deconz
  • de redémarrer le démon Deconz.

Je vais essayer d’étayer le tuto avec ce cas ainsi que de compléter avec une programmation faite depuis une machine Debian

1 « J'aime »

C’est pas forcement sur la box domotique que ça peut se passer …

Mais n’hésite pas à commenter, pour moi c’était une 1ere expérience avec conbee2 j’ai donc pas forcement tout vu !

et je voulait juste éviter le M de gafam

1 « J'aime »

Très juste. la formulation serait putôt Sur la machine sur laquelle est installée la ConBee2 et sur laquelle s'exécute potentiellement l'application (processus) deconz (Headless ou GUI).

Le cas où la machine est une Debian stand alone sans deconz j’assimile cela à une machine sans problème particulier.

Pour une machine VM je n’oserai pas de tuto car la manière de mapper les ports physiques et virtuels est trop variable et trop instable (changeante dans le temps). Je pars du principe que celleux ( :wink: ) qui ont des VM doivent avoir les compétences pour traiter ces cas hyper spécifiques.

Salut Yves
c es encore un peu flou pour moi
voici pour ma clé les dernieres infos :

et via phoscon

pour être à jour (cf phoscon) devrais je procéder à une mise à jour via Windows 10 ou cela peut être fait via
Configuration du plugin Deconz : "Installation Deconz local : Installation Lancer "
merci

Par win10 de préférence.

merci Yves encore une fois !

@Yves19 Merci j’ai mis ma clé à jour sans encombre :wink:
je viens enfin de la mettre en service Et j’ai reussi à appairer mon inter legrand. Il y a que le dimmer que j’arrive pas à controler.

Merci pour ce tuto clair et précis.
Grâce à vous ma clé Conbee II fonctionne comme avant :wink:
Merci à @Yves19 de m’avoir répondu un dimanche.

Bonne continuation…
Eric

1 « J'aime »