Lire les "prises" CHACON avec un ESP32 + CC1101

Il y a quelques années, j’avais appris à piloter mes prises CHACON via un ARDUINO UNO avec 1 émetteur FS1000A 433mhz (avec un fil électrique soudé pour l’antenne) et un 1 récepteur XY-MK-5V 433mhz (avec un fil électrique soudé pour l’antenne).

Pour apprendre encore de nouvelles choses, j’ai décidé de comprendre la RECUPERATION d’information de trames 433mhz via MQTT, en passant par un ESP32 et d’un CC1101 (émetteur récepteur 433mhz), toujours en utilisant les prises 433Mhz CHACON et leur télécommande.
Le but de ce tuto est donc bien de RECEPTIONNER les informations de la télécommande via l’ESP32 et le CC1101 et de pouvoir les utiliser via MQTT (et HOME ASSISTANT), mais pas EMETTRE vers les prises (je verrai si je fais cela par la suite)

MATERIELS ET SOFT

  • un ESP32 VROOM DEV
  • un CC1101
  • un câble USB DATA (et pas uniquement d’alimentation…souvent les erreurs viennent de là)
  • Des fils pour câbler
  • Home assistant sur RASPBERRY avec MQTT (Mosquito)
  • De la patience…

EPS32 - MQTT : INSTALLATION FIRMWARE
Après beaucoup de tests et de recherches, voici la meilleure solution (à mon goût) : openMQTTGateway (OMG) via ce firmware : OMG_ESP32_Pilight-CC1101.

D’autres firmwares d’OMG ont été testés mais impossible d’en trouver un qui permet de faire la réception et l’émission en même temps.
Les firmwares de type « all received » permettent de recevoir beaucoup d’information d’appareil 433mhz mais cela est très fouilli car de nombreux appareils émettent (station météo, pneu de voiture, vieux stores, …).

  • Suivre les instructions d’installation (mais les grandes lignes se trouvent ci-dessous):
    Chercher un wifi avec le nom « ESP32… », se connecter dessus. Cela va ouvrir une page WEB : celle de la configuration de l’ESP32.
    Configurer le code d’accès PASSWORD GATEWAY puis sauvé (ne pas tout faire en même temps)
    Rouvrir le mode WEB de l’ESP32 et configurer le WIFI de la maison avec le mot de passe par la suite
    Débranché puis rebranché le ESP32 sur le wifi de la maison
    Chercher son adresse IP via votre box et se connecter sur son adresse IP.
    Ouvrir l’espace de configuration web de l’ESP32 via:
    identifiant : admin (celui ci ne se change pas, il est obligatoirement celui ci
    mot de passe : celui rentré dans PASSWORD GATEWAY.

Si impossible de se connecter, il peut être nécessaire de mettre à zéro l’ESP32 en utilisant des commandes python (trouvable sur n’importe quel forum)

CC1101 : CABLAGE SUR L’ESP32 VROOM DEV
Débrancher l’ESP32 puis faire le cablage du module C1101 sur l’ESP32 en utilisant les infos ci-dessous.
Les couleurs correspondent aux câblages des photos

Numérotation des broches vs cablage en partant du CC1101 vers l’ESP32
GND n°1 (fil NOIR) → GND
SI MOSI n°6 (fil BLEU) → GPIO 23 (INPUT)
SO MISO n°7 (fil VERT) → GPIO 19 (OUTPUT)
SCLK n°5 (fil BLANC) → GPIO 18
CSN CS n°4 (fil ORANGE) → GPIO 5
GDO0 IRQ n°3 (fil JAUNE) → GPIO 12
GDO2 n°8 (fil VIOLET) → GPIO 27
VCC n°2 (fil ROUGE) → 3.3V (très important, pas du 5V !!!)




TEST : PREPARATION
Il faut que l’ANTENNE DU CC1101 SOIT A LA VERTICALE pour ce que cela fonctionne pour récupérer les informations.
Mais il faut viser sur l’antenne pour recevoir les informations, si on tourne la télécommande à l’opposé de l’antenne de CC1101, on ne reçoit rien.

TEST : LECTURE VIA ARDUINO ID
Pour ce test, l’ESP32+CC1101 doit être branché sur l’ordinateur ou la tablette ayant l’arduino ID d’installé dessus.

  • Installer la librairie SmartRC-CC1101 pour lire les trames.
  • Ouvrir le SERIAL MONITOR et choisir 115200 baud.
  • Cliquer sur les boutons de la télécommande, les informations devraient apparaître.

Exemple d’informations reçues en cliquant sur un bouton ON puis OFF:
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »: {« id »:8585010,« unit »:0,« state »:« on »},« protocol »:« smartwares_switch »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« on »},« protocol »:« arctech_switch »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« up »},« protocol »:« arctech_screen »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« on »},« protocol »:« arctech_dimmer »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« opened »},« protocol »:« arctech_contact »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« off »},« protocol »:« smartwares_switch »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« off »},« protocol »:« arctech_switch »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« down »},« protocol »:« arctech_screen »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« off »},« protocol »:« arctech_dimmer »,« value »:« 8585010 »,« repeats »:2,« status »:2}
N: [ OMG->MQTT ] topic: home/OMG_ESP32_Pilight-CC1101/PilighttoMQTT msg: {« message »:{« id »:8585010,« unit »:0,« state »:« closed »},« protocol »:« arctech_contact »,« value »:« 8585010 »,« repeats »:2,« status »:2}

TEST : LECTURE VIA HOME ASSISTANT (avec MQTT)
Brancher l’ensemble ESP32+CC1101 sur n’importe quelle prise USB libre (ordinateur, box, …) ou sur une prise de courant avec un adapteur USB/220v.
En toute logique, en ayant branché l’ensemble ESP32+CC1101 sur une alimentation, vous devriez voir apparaître dans HOME ASSSISTANT - PARAMETRE - APPAREILS ET SERVICES - APPAREILS, un nouvel appareil qui s’appelle OMG_ESP32_Pilight-CC1101.
En cliquant dessus vous pourrez accéder à plein d’information.
Comme vous avez cliqué sur l’appareil, en passant maintenant sur ACTIVITE (menu principal de HOME ASSISTANT), vous pourrez voir les différentes informations en cliquant sur la télécommande CHACON.

Exemple d’informations reçues en cliquant sur un bouton ON puis OFF:
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ closed ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ off ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ down ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ off ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ opened ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ on ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ up ›}
OMG_ESP32_Pilight-CC1101 gatewayPilight a changé en {‹ id ›: 8585010, ‹ unit ›: 0, ‹ state ›: ‹ on ›}

TEST : RESULTAT
La réception se passe correctement avec 4 informations réceptionnées en cliquant sur un bouton en même temps. A priori cela vient du protocole de réception PILIGHT.

CONCLUSION
Après avoir passé beaucoup de temps pour tout comprendre (installer le bon firmware d’OMG, câbler correctement le CC1101, paramétrer correctement l’ESP32,…), je suis assez déçu par :

  • la qualité de la réception des données : il faut orienter la télécommande sur l’antenne. Bon c’est utile pour récupérer les données et éventuellement pouvoir les utiliser par la suite en créant un système ESP32+CC1101 qui émettent les bonnes trames.
  • l’impossibilité d’installer sur un ESP32 pour cette télécommande CHACON un bon firmware qui permette de réceptionner et d’émettre en même temps.

Mais j’aurais appris plein de choses…et c’était le but !
En espérant que cela puisse vous servir.