Hack Sonoff Zbbridge-pro et Esphome

Nico Écris par Nico
  6 min de lecture

Cet Article a été vu ... fois

Hack Sonoff Zbbridge-pro et Esphome

Il n’est plus à présenter, déjà deux ans que le Sonoff ZBbridge-pro est sortie, c’est une passerelle de contrôle tout en un (zigbee-wifi-bluetooth), exclusivement dédiés aux produits de la marque Sonoff. Mais grâce à ce tuto tu pourras l’utiliser avec ZHA ou Zigbee2mqtt. Tu trouveras sur internet plusieurs discussions qui te permettront de faire fonctionner le ZBbridge-pro dans Home Assistant, mais en installant un firmware Tasmota. Après quelques recherches j’ai pu hacker le ZBbridge-pro directement avec un Firmware Esphome et ainsi faire fonctionner la clé Zigbee cc2652 avec ZHA ou Zigbee2mqtt le tout très facilement.

Passerelle déportée zigbee 3.0 cc2652p, wifi et bluetooth

ZBBridge Pro

Par Sonoff

Passerelle déportée zigbee 3.0 cc2652p, wifi et bluetooth

Prérequis

Présentation du ZBbridge-pro

Merci à Itead de m’avoir fourni ce module, tu pourras te rendre compte que le ZBbridge-pro dispose d’un emballage tout à fait ordinaire et aux couleurs emblématiques de la marque Sonoff. Pas de fioritures, une notice, un cable usb et un micro-module ZBbridge-pro.

présentation du Sonoff ZBbridge-pro et présentation du circuit imprimé

Cette passerelle Sonoff ZBbridge-pro coûte entre 20 et 30 euros, elle a l’avantage d’être déporté d’utiliser le wifi, bluetooth et Zigbee 3.0, ce qui en fait une mini passerelle tout en un.

Ne perdons pas de temps et passons au Hack.

Injection du code Esphome

Comme écris plus haut ce tuto te permet de faire une intégration parfaite dans Home-Assistant grâce au module esphome.

Commence par connecter le ZBbridge-pro en usb à l’aide d’un module Uart/ftdi. Pour accéder au circuit imprimé et afin de pouvoir connecter le Ftdi il faudra enlever les 4 mini-pads qui cachent les visses. Ensuite rien de plus simple connecte le ftdi suivant le tableau ci-dessous:

branchement ftdi sur Sonoff ZBbridge-pro pour esphome
Sonoff ZB Bridge PROFTDI programmer
3V3Vcc/3.3v
GNDGND
RXTX
TXRX
GPIO00GND (on power on)

Ensuite crée un nouveau device dans l’onglet esphome ( attention le nom du module $devicename doit être tout attaché sans trait d’union ) et colle le code ci-dessous en adaptant les mots de passe.

substitutions:
  devicename: zbbridge
  friendly_name: zb-bridge-pro

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: ${devicename}_ap
    password: !secret zbbridge_ap_password

captive_portal:

ota:
  password: !secret zbbridge_ota_password
  
packages:
  remote-packages:
    url: https://github.com/haade-administrator/zbbridge-pro.git
    ref: main
    refresh: 0s
    files: [
      esphome/esphome.yaml,
      esphome/binary_sensor.yaml,
      esphome/bluetooth.yaml,
      esphome/light.yaml,
      esphome/output.yaml,
      esphome/rtttl.yaml,
      esphome/sensor.yaml,
      esphome/output.yaml,
      esphome/switch.yaml,
      esphome/text_sensor.yaml,
      esphome/uart.yaml,
      esphome/stream_server.yaml,
   ]  

external_components:
  - source: github://oxan/esphome-stream-server

Le dépôt github ne s’est pas fait tout seul je me suis fortement inspiré du dépôt Github source: Intégration Zbbridge-pro Giancky79

Il ne te reste plus qu’à valider le code et à pousser le tout sur le Sonoff ZBbridge-pro.

Une fois uploadé dernière étape d’intégration Esphome, rendez-vous dans les applications et configure ton device esphome, clic sur le lien ci-dessous.

Ouvrez votre instance Home Assistant et affichez une intégration.

Rendu du module dans esphome:

À l’heure ou j’écris ce post tu auras accès à toutes les infos nécessaires, si tu ne désires pas utiliser le tracker du bluetooth qui est activé par défaut copie ces lignes de codes dans le modules esphome

esp32_ble_tracker:
  scan_parameters:
    active: false
rendu de la passerelle Sonoff ZBbridge-pro dans esphome

Quelles sont les infos qui remontent dans esphome:

  • zb_bridge_pro_fw_update ( switch reset et upload du firmware )
  • zb_bridge_pro_uptime_readable (temps de lecture)
  • température interne
  • adresse ip
  • adress mac
  • le voltage de la batterie interne

et bien d’autres encore …

Configuration ZHA

Si tu souhaites utiliser la clé zigbee dans zha, ilte reste à configurer la clé comme sur les captures ci-dessous, clic sur le lien ci-dessous pour te rendre directement dans la config de la clé:

Ouvrez votre instance Home Assistant et affichez une intégration.

Ensuite ouvre une seconde page et va dans l’intégration esphome en cliquant sur le lien ci-dessous:

Homeassistant configure integration

clic sur le bouton tout en haut zbbridge firmware update et lorsque la led passe au vert confirme l’intégration de la clé dans ZHA, si tu rencontres un soucis clic à nouveau sur le firmware update de esphome (la manip du toggle firmware update est la même pour mettre à jour le firmware de la clé zigbee). J’espère que ces infos sont assez claires à ton sens sinon contacte moi.

socket://[your_address_ip]:6638 // dans mon cas 192.168.1.217
baudrate: 115200
target: sofware

ou 

socket://[devicename.local]:6638 // remplace le device name par le nom de substitution dans mon cas **zbbridge**
baudrate: 115200
target: software

J’ai fait une vidéo d’intégration de la clé zigbee dans zha avec un défaut d’intégration. Pour ce faire prépare l’adresse de la clé, ensuite enclanche le switch fx dans esphome et configure la clé rapidement, sinon relance l’opération et ça le fera. “ uniquement valable avec le firmware d’origine.

Si tu upgrades avec le dernier firmware la découverte dans ZHA se fera sans avoir besoin de cliquer sur le switch fw.

Méthode de connection et de fonctionnement de la clé cc2652 zigbee du zbbridge-pro dans ZHA

Ci-dessous le fonctionnement lumineux après activation du switch. Le voyant vert te permet de savoir quand intégrer ou faire la mise à jour du firmware:

Fonctionnement du switch firmware zigbee dans esphome

Configuration zigbee2mqtt

La configuration dans Z2M est légèrement différente cor tu feras un appel par tcp et non par socket

Va dans le fichier configuration.yaml du dossier zigbee2mqtt et modifie les lignes suivante:

Ps: si tu ne sais pas comment modifier les fichiers dans HA installe le module File Editor en cliquant sur le lien ci-dessous:

Homeassistant supervisor addons ingress
serial:
  port: tcp://[your_address_ip]:6638
  adapter: auto

Upgrade du firmware zigbee 3.0

Par défaut le firmware date de septembre 2022. Tu trouveras le firmware sur le github Zigbee2mqtt prend bien la version launchpad

Z-stack zigbee2mqtt firmware launchpad cc2652p

Pour mettre à jour le firmware de la clé zigbee cc2652p suis le readme du dépot Haade dédié à ce tuto installation du dernier firmware Zigbee

Si tu n’y arrives pas n’hésite pas à m’écrire

Documents Sonoff ZBbridge-pro

Passerelle déportée zigbee 3.0 cc2652p, wifi et bluetooth

ZBBridge Pro

Par Sonoff

Passerelle déportée zigbee 3.0 cc2652p, wifi et bluetooth

specification du Sonoff ZBbridge-pro

Conclusion

Voilà un moyen simple de faire une intégration d’une clé ZBbridge-pro dans home-assistant avec un firmware Esphome. L’avantage de cette clé zigbee est facilement déportable car liée en wifi, tu pourras utiliser le sniffer BLE ( bluetooth 4.2) et la fameuse clé cc2652 zigbee 3.0, un tout en un.

Vote:
Nico

Nico

Membre fondateur du site Haade, un passionné de domotique avec toutes les astuces qui vont biens.

commentaires