OpenProfalux : piloter ses volets Profalux 868Mhz dans HA avec un ESP32 à 15 € (sans passerelle)

J'ai 5 volets Profalux 868 MHz (télécommande MAI-EMPX) et je voulais les mettre dans Home Assistant sans acheter de passerelle DEVMEL AirSend ni tirer de fils dans les coffres. Résultat : OpenProfalux, un firmware ESP32 + CC1101 open-source.

Le principe : cloner une télécommande, pas casser la crypto

Les Profalux sont en KeeLoq (rolling code). J'ai chassé la clé constructeur pendant des jours... avant de découvrir que le moteur accepte le rejeu d'une trame captée, même après usage de la vraie télécommande. Donc aucune clé n'est nécessaire : on capture les trames ▲/■/▼ d'une télécommande, on les nomme, et on les rejoue depuis Home Assistant.

Ce que ça fait

  • Cover Home Assistant par volet (MQTT discovery) : ouvrir / fermer / stop / position
  • UI web embarquée : apprentissage, calibration, moniteur RF
  • Suivi de position même quand on utilise la vraie télécommande
  • Sauvegarde des trames de référence + OTA

Matériel (~15 €)

Un ESP32 (type M5Stack ATOM Lite) + un module CC1101 868 MHz (attention, pas 433).

Liens

Version PCB (sans soudure)

Pour ceux que le fer à souder rebute, une carte PCB prête à l'emploi (ESP32-S3 + CC1101, SMA, port mikroBUS) est en préparation. La doc DIY ci-dessus reste la voie principale et open-source.

:backhand_index_pointing_right: Liste d'attente (aucune vente, je jauge l'intérêt) : isno.fr - liste d'attente

Bonjour Olivier77,

Quel boulot ! félicitations pour ce travail remarquable. J'ai des volets Profalux également mais actuellement gérés avec la Airsend Duo. L'inconvénient est qu'il manque le retour d'état sur la position des volets. Je vais donc essayer d'utiliser ta méthode. Pas trop l'habitude d'utiliser le M5Stack ATOM Lite mais ça sera l'occasion. Pour la câblage, tout est clair sur ta page par contre pour le flash, c'est plus ambigu pour moi. Comment flasher depuis un Pc ?

Bonjour Lecanard38,

Alors effectivement le moteur ne donne aucun retour d'état, ce que j'essai de faire c'est de faire une calibration initiale (encore en phase de test, chez moi), puis de capté mes propres commandes émise et les stop qui suivent, il faut évidemment aussi avoir les trames qui passes par tes télécommandes et capté par la radio en 868Mhz, sinon tu auras des décalage...

Pour la doc tu trouveras des info plus précises sur mon site dédié a ca isno.fr, surtout si tu vois des info pas claire me le dire, je l'ai écrit, mais une revue externe serait la bienvenue !

En fait l'arnaque (c'est un grand mot), c'est que nos volets sont en keeloq, donc un cryptage asser violent est indécryptable a cause de ces 528 tours de cryptage...

Ce que j'ignorais c'est que normalement, dans ce cryptage tu as un compteur pour dire tiens c'est 1 ou 500 eme commande que le volet ignore completement, en plus dans ce cryptage tu as l'action que le volet doit faire HAUT, BAS, STOP, et le volet ne fait que décrypté cette info puis l'applique.

Je ne suis qu'au début concernant le développement du module, si tu as des questions, des features, n'hésite pas !

Cordialement,

P.S: on peut décrypter cette clé, si on a 65535 trame d'une même télécommande (l'original, pas le replay, et je n'ai pas de télécommande, que je peux tuer avec des soudures pour l'instant, plus simple et de replay un stop).

J'ai une télécommande qui était connecté avec Esphome. C'est une télécommande général, donc elle pilote tous les volets. On peut peut être faire en sorte qu'elle appui 65535 fois sur stop avec une automatisation HA ...

En espérant que ce soit le même protocole car les mienne c'est des Franciaflex mais reconnu en Profalux par la Airsend. Je l'ai désossée et j'ai récupéré les 3 fils monte/baisse/stop

Re,

le plus simple c'est que tu m'envoi quelques trames, de ta télécommande, si tu peux.

Pour airSend duo, il fait parti de mes revert concernant la partie profalux (ils n'ont pas la clé de décryptage, mais il gère plein de marque différente), pour comprendre le fonctionnement, si je ne trompe pas, lors de la phase d'onboarding, il a du te demandé juste d'appuyer sur chaque bouton de chaque télécommande ou tu voulais commandé les volets, si c'est le cas, on serait sur de la répétition de code crypté.

@+

oui c'est ça, juste appui sur les 3 boutons. Pour l'instant je vais faire ton montage et prog. Je n'ai pas regardé ton prog dans le détail mais si il affiche quelque part les trames reçu, je te les enverrai. Et comme je te le disais, je peux en générer autant que je veux avec la telecommande d'origine en la pilotant depuis HA

Je viens de capturé quelques trames, et voici a quoi ressemble l'interface sur l'esp32 ! ce sont des vrai trames avec le vrai code hopping crypté (donc limite tu peux controlé ce volet !)

Parfait, je reviens vers toi dès que j'ai assemblé tout ça. J'ai commandé le CC1101 868 MHz et le M5stack. Je reçois tout ça mercredi et je m'y mets...

petite précision si tu met des pin header sur le cc1101, fait attention ce sont des pas de 2.0 pas 2.54 !

j'ai refait un peu mieux que la 1ere version ou j'avais soudé (mal), les fils sur le CC1101, j'ai mis des pin header avec un pas de 2.0 puis, j'ai pris des dupont et j'ai viré la partie noir, j'ai resseré le petit connecteur avec une pince plate, puis pour séparé electriquement j'ai mis du scotch que j'avais sous la main, ca donne ca !

Bravo pour ton travail, je suis actuellent sur airsend duo aussi. Volet profalux,somfy rts somfy io, nice, velux

En attendant les composants, j'ai trouvé ça pour la connectique : https://www.amazon.fr/dp/B0BGQ3VL31?ref=ppx_yo2ov_dt_b_fed_asin_title.

Ca devrait résoudre le problème délicat de soudure des dupont sur le CC1101.

Salut!

J'ai soudé un pin header, sur ma dernière version au pas de 2.0mm, ta solution bien, élégante, mais il faut mettre des dupond au bout pour pouvoir le connecter au m5stack (a moins que tu est une meilleur idée !)

@+

J'ai reçu les composants. Par contre je vois une incohérence dans ton schéma sur la page isno.fr - OpenProfalux .

Si je suis ce qui est noté avec les couleurs, on a par exemple le fil blanc noté CS qui se trouve à la 3ème position en partant du haut de la photo alors les brochages que j'ai vu ça correspondrait plutôt à GDO2. D'ailleurs, sur ta dernière photo sur le forum, il est bien tout en haut ce qui est correct.

Pour faire simple, si on suit à la lettre ce qui est noté sur le site isno.fr, on n'est pas bon. Tu me corrige si je me trompe.

Ca mériterais peut-être de joindre une photo du brochage de ce module afin de clarifier tout ça.

Salut,

Bien vu sur mon montage effectivement le blanc et orange sont inversé, mais de mémoire sur cette page le montage est ok :

Je le rajoute des que possible pour plus de clarté !

Merci pour le retour.

Bonjour,

Félicitations @Olivier77 pour ce super projet.
J'ai flashé le firmware openprofalux-devkit-full.bin sur un esp32-wroom-32 et j'ai cablé le cc1101 dessus.
J'arrive à le joindre à mon wifi et mon broker mqtt par contre je n'arrive pas à récupérer de trames de mes télécommandes profalux.
je n'ai pas d'erreur dans les logs au boot. Quand j'écoute des trames j'ai juste dans les logs :
rmt: hw buffer too small, received symbols truncated
Voici les logs :

[14:34:05]I (31) boot: ESP-IDF v5.2.2 2nd stage bootloader
[14:34:05]I (31) boot: compile time Aug 19 2026 00:06:56
[14:34:05]I (31) boot: Multicore bootloader
[14:34:05]I (35) boot: chip revision: v3.0
[14:34:05]I (39) boot.esp32: SPI Speed      : 40MHz
[14:34:05]I (44) boot.esp32: SPI Mode       : DIO
[14:34:05]I (48) boot.esp32: SPI Flash Size : 4MB
[14:34:05]I (53) boot: Enabling RNG early entropy source...
[14:34:05]I (58) boot: Partition Table:
[14:34:05]I (62) boot: ## Label            Usage          Type ST Offset   Length
[14:34:05]I (69) boot:  0 nvs              WiFi data        01 02 00009000 00004000
[14:34:05]I (77) boot:  1 otadata          OTA data         01 00 0000d000 00002000
[14:34:05]I (84) boot:  2 phy_init         RF data          01 01 0000f000 00001000
[14:34:05]I (92) boot:  3 ota_0            OTA app          00 10 00010000 00180000
[14:34:05]I (99) boot:  4 ota_1            OTA app          00 11 00190000 00180000
[14:34:05]I (106) boot:  5 storage          Unknown data     01 82 00310000 000f0000
[14:34:05]I (114) boot: End of partition table
[14:34:05]I (118) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=54010h (344080) map
[14:34:05]I (245) esp_image: segment 1: paddr=00064038 vaddr=3ffb0000 size=0400ch ( 16396) load
[14:34:05]I (251) esp_image: segment 2: paddr=0006804c vaddr=40080000 size=07fcch ( 32716) load
[14:34:05]I (264) esp_image: segment 3: paddr=00070020 vaddr=400d0020 size=c94e8h (824552) map
[14:34:05]I (547) esp_image: segment 4: paddr=00139510 vaddr=40087fcc size=110d4h ( 69844) load
[14:34:05]I (587) boot: Loaded app from partition at offset 0x10000
[14:34:05]I (587) boot: Disabling RNG early entropy source...
[14:34:05]I (599) cpu_start: Multicore app
[14:34:05]I (608) cpu_start: Pro cpu start user code
[14:34:05]I (608) cpu_start: cpu freq: 160000000 Hz
[14:34:05]I (608) cpu_start: Application information:
[14:34:05]I (611) cpu_start: Project name:     openprofalux
[14:34:05]I (616) cpu_start: App version:      v0.1.0-1-g3356fcb
[14:34:05]I (622) cpu_start: Compile time:     Aug 19 2026 00:06:51
[14:34:05]I (628) cpu_start: ELF file SHA256:  dda77dede...
[14:34:05]I (634) cpu_start: ESP-IDF:          v5.2.2
[14:34:05]I (638) cpu_start: Min chip rev:     v0.0
[14:34:05]I (643) cpu_start: Max chip rev:     v3.99 
[14:34:05]I (648) cpu_start: Chip rev:         v3.0
[14:34:05]I (653) heap_init: Initializing. RAM available for dynamic allocation:
[14:34:05]I (660) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
[14:34:05]I (666) heap_init: At 3FFD3688 len 0000C978 (50 KiB): DRAM
[14:34:05]I (672) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
[14:34:05]I (678) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
[14:34:05]I (685) heap_init: At 400990A0 len 00006F60 (27 KiB): IRAM
[14:34:05]I (693) spi_flash: detected chip: generic
[14:34:05]I (696) spi_flash: flash io: dio
[14:34:05]I (701) main_task: Started on CPU0
[14:34:05]I (705) main_task: Calling app_main()
[14:34:05]I (708) main: ╔══════════════════════════════════════════╗
[14:34:05]I (722) main: ║ OpenProfalux firmware — target=external
[14:34:05]I (728) main: ╚══════════════════════════════════════════╝
[14:34:05]I (805) main: device=openprofalux wifi_ssid=Mon_SSID mqtt=mqtt://192.168.0.7
[14:34:05]I (807) profalux: Identite DEVMEL slot 54: serial=0x00036067 idx=53 counter=239 (avance/anti-replay)
[14:34:05]I (813) gpio: GPIO[5]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[14:34:05]I (821) gpio: GPIO[4]| InputEn: 1| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[14:34:05]I (844) cc1101: PARTNUM=0x00 (=expected 0x00) MARCSTATE=0x01 (0x01=IDLE)
[14:34:06]I (1146) cc1101: TX SELFTEST: MARCSTATE post-STX=0x13, pendant modulation=0x13 (0x13=TX porteuse ON, 0x01=IDLE=rien)
[14:34:06]I (1147) main: TX SELFTEST OK : la puce emet (MARCSTATE=TX).
[14:34:06]I (1154) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 
[14:34:07]I (2007) cc1101: RX PROBE bruit: RSSI -102..-86 dBm, 0 evt RMT en 800ms (moins d'evt = moins de bruit/flood)
[14:34:07]I (2125) shutters: spiffs mount: ESP_OK
[14:34:07]W (2173) shutters: load_ring: pas de fichier (rien a charger)
[14:34:07]I (2174) radio: RX permanent demarre (arbitrage RX/TX par mutex, fenetre 250 ms)
[14:34:07]I (2177) radio: ecoute permanente ON (case UI 'capture toutes les trames')
[14:34:07]I (2184) shutters: init : 0 volets, 0 telecommandes, ecoute permanente=ON
[14:34:07]I (2192) radio: ecoute permanente ON (case UI 'capture toutes les trames')
[14:34:07]I (2201) shutters: log_frames=1
[14:34:07]I (2207) wifi:wifi driver task: 3ffde50c, prio:23, stack:6656, core=0
[14:34:07]I (2236) wifi:wifi firmware version: 3e0076f
[14:34:07]I (2237) wifi:wifi certification version: v7.0
[14:34:07]I (2237) wifi:config NVS flash: enabled
[14:34:07]I (2237) wifi:config nano formating: disabled
[14:34:07]I (2242) wifi:Init data frame dynamic rx buffer num: 32
[14:34:07]I (2247) wifi:Init static rx mgmt buffer num: 5
[14:34:07]I (2251) wifi:Init management short buffer num: 32
[14:34:07]I (2255) wifi:Init dynamic tx buffer num: 32
[14:34:07]I (2259) wifi:Init static rx buffer size: 1600
[14:34:07]I (2264) wifi:Init static rx buffer num: 10
[14:34:07]I (2267) wifi:Init dynamic rx buffer num: 32
[14:34:07]I (2272) wifi_init: rx ba win: 6
[14:34:07]I (2275) wifi_init: tcpip mbox: 32
[14:34:07]I (2279) wifi_init: udp mbox: 6
[14:34:07]I (2283) wifi_init: tcp mbox: 6
[14:34:07]I (2287) wifi_init: tcp tx win: 5760
[14:34:07]I (2291) wifi_init: tcp rx win: 5760
[14:34:07]I (2295) wifi_init: tcp mss: 1440
[14:34:07]I (2299) wifi_init: WiFi IRAM OP enabled
[14:34:07]I (2304) wifi_init: WiFi RX IRAM OP enabled
[14:34:07]I (2314) phy_init: phy_version 4791,2c4672b,Dec 20 2023,16:06:06
[14:34:07]I (2392) wifi:mode : sta (xx:xx:xx:xx:xx:xx)
[14:34:07]I (2393) wifi:enable tsf
[14:34:07]I (2399) wifi:Set ps type: 0, coexist: 0
[14:34:07]
[14:34:07]I (2400) wifi: STA started, SSID=Mon_SSID (power-save OFF)
[14:34:07]I (2421) wifi:new:<7,0>, old:<1,0>, ap:<255,255>, sta:<7,0>, prof:1
[14:34:07]I (2423) wifi:state: init -> auth (b0)
[14:34:07]I (2431) wifi:state: auth -> assoc (0)
[14:34:07]I (2439) wifi:state: assoc -> run (10)
[14:34:07]I (2469) wifi:connected with Mon_SSID, aid = 26, channel 7, BW20, bssid = xx:xx:xx:xx:xx:xx
[14:34:07]I (2470) wifi:security: WPA2-PSK, phy: bgn, rssi: -56
[14:34:07]I (2477) wifi:pm start, type: 0
[14:34:07]
[14:34:07]I (2478) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
[14:34:07]I (2496) wifi:<ba-add>idx:0 (ifx:0, xx:xx:xx:xx:xx:xx), tid:6, ssn:1, winSize:64
[14:34:07]I (2548) wifi:AP's beacon interval = 102400 us, DTIM period = 1
[14:34:07]I (2569) wifi:<ba-add>idx:1 (ifx:0, xx:xx:xx:xx:xx:xx), tid:0, ssn:1, winSize:64
[14:34:08]I (3487) wifi: Got IP: 192.168.0.54
[14:34:08]I (3489) esp_netif_handlers: sta ip: 192.168.0.54, mask: 255.255.255.0, gw: 192.168.0.1
[14:34:09]I (3904) mdns_mem: mDNS task will be created from internal RAM
[14:34:09]I (3926) web_ui: HTTP UI demarree
[14:34:09]I (3929) mqtt: MQTT started, broker=mqtt://192.168.0.7
[14:34:09]I (3931) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[14:34:09]I (3934) main: PRET. Bouton ATOM (G39) = burst appairage. Identite serial=0x00036067 counter=239.
[14:34:09]I (3957) mqtt: Connected to broker
[14:34:09]I (3980) shutters: HA discovery publiee pour 0 cover(s), device=openprofalux
[14:34:09]I (4007) mqtt: RX topic=openprofalux/listen/state len=2
[14:34:09]I (4041) mqtt: RX topic=openprofalux/listen/state len=2
[14:34:52]E rmt: hw buffer too small, received symbols truncated
[14:34:55]E rmt: hw buffer too small, received symbols truncated
[14:35:00]E rmt: hw buffer too small, received symbols truncated
[14:35:11]E rmt: hw buffer too small, received symbols truncated
[14:35:17]E rmt: hw buffer too small, received symbols truncated

Aurais-tu une idée de l'origine du problème ?

Oui tu as pris target external, en gros celui d'un devkit pas du m5stack, a moins que tu ne soit pas sur le m5 stack

je ne suis pas sur le m5stack mais sur un esp32 standard (esp32-wroom-32) c'est pour cela que j'ai pris target external

ok vérifie ton cablage devrait-être comme ca :

CC1101 ESP32-WROOM-32
VCC 3.3 V (pas 5 V)
GND GND
SCK GPIO 18
MOSI (SI) GPIO 23
MISO (SO) GPIO 19
CSN GPIO 5
GDO0 GPIO 4
GDO2 non connecté

Merci pour ces infos, c'est bien mon câblage. Je l'utilisais sur un autre projet pour écouter un compteur d'eau en 868Mhz.

J'ai retrouvé un atom lite que je viens de câbler avec le cc01 et flasher avec la target m5stack_atom.

J'ai les mêmes logs. Toujours des "rmt: hw buffer too small, received symbols truncated" quand je capture des trames mais rien de plus et pas d'erreur au boot.

[15:58:25]I (31) boot: ESP-IDF v5.2.2 2nd stage bootloader
[15:58:25]I (31) boot: compile time Aug 21 2026 12:25:54
[15:58:25]I (31) boot: Multicore bootloader
[15:58:25]I (36) boot: chip revision: v1.0
[15:58:25]I (40) boot.esp32: SPI Speed      : 40MHz
[15:58:25]I (44) boot.esp32: SPI Mode       : DIO
[15:58:25]I (49) boot.esp32: SPI Flash Size : 4MB
[15:58:25]I (53) boot: Enabling RNG early entropy source...
[15:58:25]I (59) boot: Partition Table:
[15:58:25]I (62) boot: ## Label            Usage          Type ST Offset   Length
[15:58:25]I (70) boot:  0 nvs              WiFi data        01 02 00009000 00004000
[15:58:25]I (77) boot:  1 otadata          OTA data         01 00 0000d000 00002000
[15:58:25]I (85) boot:  2 phy_init         RF data          01 01 0000f000 00001000
[15:58:25]I (92) boot:  3 ota_0            OTA app          00 10 00010000 00180000
[15:58:25]I (99) boot:  4 ota_1            OTA app          00 11 00190000 00180000
[15:58:25]I (107) boot:  5 storage          Unknown data     01 82 00310000 000f0000
[15:58:25]I (115) boot: End of partition table
[15:58:25]I (119) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=54000h (344064) map
[15:58:25]I (245) esp_image: segment 1: paddr=00064028 vaddr=3ffb0000 size=0400ch ( 16396) load
[15:58:25]I (252) esp_image: segment 2: paddr=0006803c vaddr=40080000 size=07fdch ( 32732) load
[15:58:25]I (265) esp_image: segment 3: paddr=00070020 vaddr=400d0020 size=c94d8h (824536) map
[15:58:25]I (547) esp_image: segment 4: paddr=00139500 vaddr=40087fdc size=110c4h ( 69828) load
[15:58:25]I (587) boot: Loaded app from partition at offset 0x10000
[15:58:25]I (587) boot: Disabling RNG early entropy source...
[15:58:25]I (599) cpu_start: Multicore app
[15:58:25]I (608) cpu_start: Pro cpu start user code
[15:58:25]I (608) cpu_start: cpu freq: 160000000 Hz
[15:58:25]I (608) cpu_start: Application information:
[15:58:25]I (611) cpu_start: Project name:     openprofalux
[15:58:25]I (617) cpu_start: App version:      v0.1.0-1-g5bf5cbe
[15:58:25]I (622) cpu_start: Compile time:     Aug 21 2026 12:25:46
[15:58:25]I (628) cpu_start: ELF file SHA256:  959125cdb...
[15:58:25]I (634) cpu_start: ESP-IDF:          v5.2.2
[15:58:25]I (639) cpu_start: Min chip rev:     v0.0
[15:58:25]I (643) cpu_start: Max chip rev:     v3.99 
[15:58:25]I (648) cpu_start: Chip rev:         v1.0
[15:58:25]I (653) heap_init: Initializing. RAM available for dynamic allocation:
[15:58:25]I (660) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
[15:58:25]I (666) heap_init: At 3FFD3688 len 0000C978 (50 KiB): DRAM
[15:58:25]I (672) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
[15:58:25]I (679) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
[15:58:25]I (685) heap_init: At 400990A0 len 00006F60 (27 KiB): IRAM
[15:58:25]I (693) spi_flash: detected chip: gd
[15:58:25]I (696) spi_flash: flash io: dio
[15:58:25]I (701) main_task: Started on CPU0
[15:58:25]I (705) main_task: Calling app_main()
[15:58:25]I (708) main: ╔══════════════════════════════════════════╗
[15:58:25]I (722) main: ║ OpenProfalux firmware — target=m5stack_atom
[15:58:25]I (728) main: ╚══════════════════════════════════════════╝
[15:58:25]I (808) main: device=openprofalux wifi_ssid=Mon_SSID mqtt=mqtt://192.168.0.7
[15:58:25]I (810) profalux: Identite DEVMEL slot 54: serial=0x00036067 idx=53 counter=2 (avance/anti-replay)
[15:58:25]I (817) gpio: GPIO[22]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[15:58:25]I (825) gpio: GPIO[25]| InputEn: 1| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[15:58:25]I (848) cc1101: PARTNUM=0x00 (=expected 0x00) MARCSTATE=0x01 (0x01=IDLE)
[15:58:26]I (1150) cc1101: TX SELFTEST: MARCSTATE post-STX=0x13, pendant modulation=0x13 (0x13=TX porteuse ON, 0x01=IDLE=rien)
[15:58:26]I (1151) main: TX SELFTEST OK : la puce emet (MARCSTATE=TX).
[15:58:26]I (1158) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 
[15:58:27]E rmt: hw buffer too small, received symbols truncated
[15:58:27]I (2010) cc1101: RX PROBE bruit: RSSI -102..-76 dBm, 1 evt RMT en 800ms (moins d'evt = moins de bruit/flood)
[15:58:27]I (2132) shutters: spiffs mount: ESP_OK
[15:58:27]W (2181) shutters: load_ring: pas de fichier (rien a charger)
[15:58:27]I (2181) radio: RX permanent demarre (arbitrage RX/TX par mutex, fenetre 250 ms)
[15:58:27]I (2184) radio: ecoute permanente ON (case UI 'capture toutes les trames')
[15:58:27]I (2192) shutters: init : 0 volets, 0 telecommandes, ecoute permanente=ON
[15:58:27]I (2199) radio: ecoute permanente ON (case UI 'capture toutes les trames')
[15:58:27]I (2208) shutters: log_frames=1
[15:58:27]I (2214) wifi:wifi driver task: 3ffde488, prio:23, stack:6656, core=0
[15:58:27]I (2243) wifi:wifi firmware version: 3e0076f
[15:58:27]I (2243) wifi:wifi certification version: v7.0
[15:58:27]I (2244) wifi:config NVS flash: enabled
[15:58:27]I (2244) wifi:config nano formating: disabled
[15:58:27]I (2248) wifi:Init data frame dynamic rx buffer num: 32
[15:58:27]I (2253) wifi:Init static rx mgmt buffer num: 5
[15:58:27]I (2257) wifi:Init management short buffer num: 32
[15:58:27]I (2262) wifi:Init dynamic tx buffer num: 32
[15:58:27]I (2266) wifi:Init static rx buffer size: 1600
[15:58:27]I (2270) wifi:Init static rx buffer num: 10
[15:58:27]I (2274) wifi:Init dynamic rx buffer num: 32
[15:58:27]I (2279) wifi_init: rx ba win: 6
[15:58:27]I (2282) wifi_init: tcpip mbox: 32
[15:58:27]I (2286) wifi_init: udp mbox: 6
[15:58:27]I (2290) wifi_init: tcp mbox: 6
[15:58:27]I (2293) wifi_init: tcp tx win: 5760
[15:58:27]I (2298) wifi_init: tcp rx win: 5760
[15:58:27]I (2302) wifi_init: tcp mss: 1440
[15:58:27]I (2306) wifi_init: WiFi IRAM OP enabled
[15:58:27]I (2311) wifi_init: WiFi RX IRAM OP enabled
[15:58:27]I (2321) phy_init: phy_version 4791,2c4672b,Dec 20 2023,16:06:06
[15:58:27]I (2400) wifi:mode : sta (xx:xx:xx:xx:xx:xx)
[15:58:27]I (2401) wifi:enable tsf
[15:58:27]I (2408) wifi:Set ps type: 0, coexist: 0
[15:58:27]
[15:58:27]I (2409) wifi: STA started, SSID=Mon_SSID (power-save OFF)
[15:58:27]I (2416) wifi:new:<7,0>, old:<1,0>, ap:<255,255>, sta:<7,0>, prof:1
[15:58:27]I (2418) wifi:state: init -> auth (b0)
[15:58:27]I (2438) wifi:state: auth -> assoc (0)
[15:58:27]I (2446) wifi:state: assoc -> run (10)
[15:58:27]I (2479) wifi:connected with Mon_SSID, aid = 32, channel 7, BW20, bssid = 04:42:1a:da:d2:b0
[15:58:27]I (2480) wifi:security: WPA2-PSK, phy: bgn, rssi: -70
[15:58:27]I (2487) wifi:pm start, type: 0
[15:58:27]
[15:58:27]I (2487) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
[15:58:27]I (2502) wifi:<ba-add>idx:0 (ifx:0, xx:xx:xx:xx:xx:xx), tid:6, ssn:1, winSize:64
[15:58:27]I (2525) wifi:AP's beacon interval = 102400 us, DTIM period = 1
[15:58:28]I (2989) wifi:<ba-add>idx:1 (ifx:0, xx:xx:xx:xx:xx:xx), tid:0, ssn:1, winSize:64
[15:58:28]I (3497) wifi: Got IP: 192.168.0.33
[15:58:28]I (3499) esp_netif_handlers: sta ip: 192.168.0.33, mask: 255.255.255.0, gw: 192.168.0.1
[15:58:28]I (3913) mdns_mem: mDNS task will be created from internal RAM
[15:58:28]I (3951) web_ui: HTTP UI demarree
[15:58:29]I (3961) mqtt: MQTT started, broker=mqtt://192.168.0.7
[15:58:29]I (3962) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
[15:58:29]I (3965) main: PRET. Bouton ATOM (G39) = burst appairage. Identite serial=0x00036067 counter=2.
[15:58:29]I (3987) mqtt: Connected to broker
[15:58:29]I (4019) shutters: HA discovery publiee pour 0 cover(s), device=openprofalux
[15:58:29]I (4046) mqtt: RX topic=openprofalux/listen/state len=2
[15:58:29]I (4080) mqtt: RX topic=openprofalux/listen/state len=2
[15:59:05]E rmt: hw buffer too small, received symbols truncated
[15:59:29]I (63958) main: State published: counter=2 last=HEARTBEAT
[15:59:33]E rmt: hw buffer too small, received symbols truncated