En suivant différents tuto et en lisant beaucoup de sujet sur Home Assistant, j’ai décidé de me lancer dans le hack du boitier Vindriktning de chez IKEA. Non sans peine je suis parvenu à le faire reconnaître par ESPHome (problème de détection du wifi). Maintenant j’ai compris comment faire. Malheureusement je n’ai pas de remonté d’infos, cela me marque indisponible. Je sais que mon capteur fonctionne, je l’ai testé. Pensant que cela pouvait venir du modèle de mon ESP32 j’ai essayé avec deux modèle différent: un D1Mini et un S2Mini. Le résultat est identique.
Je ne comprends pas pourquoi et je ne vois pas où j’ai pu faire une erreur.
Voici les logs
J’espère que l’un d’entre vous sera me dire l’erreur que j’ai commis.
Merci d’avance
NFO ESPHome 2026.1.5
INFO Reading configuration /config/esphome/qualite-air-bureau.yaml...
INFO Starting log output from 192.168.1.116 using esphome API
INFO Successfully resolved qualite-air-bureau @ 192.168.1.116 in 0.000s
INFO Successfully connected to qualite-air-bureau @ 192.168.1.116 in 0.145s
INFO Successful handshake with qualite-air-bureau @ 192.168.1.116 in 0.323s
[15:00:34.710][I][app:210]: ESPHome version 2026.1.5 compiled on 2026-02-17 14:31:04 +0100
[15:00:34.716][I][app:217]: ESP32 Chip: ESP32-S2 r1.0, 1 core(s)
[15:00:34.716][C][logger:316]: Logger:
[15:00:34.716][C][logger:316]: Max Level: DEBUG
[15:00:34.716][C][logger:316]: Initial Level: DEBUG
[15:00:34.726][C][logger:322]: Log Baud Rate: 115200
[15:00:34.726][C][logger:322]: Hardware UART: USB_CDC
[15:00:34.746][C][logger:332]: Task Log Buffer Size: 768 bytes
[15:00:34.746][C][uart.idf:238]: UART Bus 0:
[15:00:34.750][C][uart.idf:152]: RX Pin: GPIO6
[15:00:34.750][C][uart.idf:243]: RX Buffer Size: 256
[15:00:34.750][C][uart.idf:243]: RX Full Threshold: 8
[15:00:34.750][C][uart.idf:243]: RX Timeout: 2
[15:00:34.756][C][uart.idf:249]: Baud Rate: 9600 baud
[15:00:34.756][C][uart.idf:249]: Data Bits: 8
[15:00:34.756][C][uart.idf:249]: Parity: NONE
[15:00:34.756][C][uart.idf:249]: Stop bits: 1
[15:00:34.761][C][pm1006:017]: PM1006:
[15:00:34.767][C][pm1006:016]: PM2.5 'Particulate Matter 2.5µm Concentration'
[15:00:34.767][C][pm1006:016]: State Class: 'measurement'
[15:00:34.767][C][pm1006:016]: Unit of Measurement: 'µg/m³'
[15:00:34.767][C][pm1006:016]: Accuracy Decimals: 2
[15:00:34.768][C][pm1006:026]: Device Class: 'pm25'
[15:00:34.773][C][pm1006:030]: Icon: 'mdi:blur'
[15:00:34.797][C][pm1006:452]: Update Interval: never
[15:00:34.797][C][captive_portal:128]: Captive Portal:
[15:00:34.803][C][wifi:1304]: WiFi:
[15:00:34.803][C][wifi:1304]: Local MAC: 80:65:99:49:35:80
[15:00:34.803][C][wifi:1304]: Connected: YES
[15:00:34.810][C][wifi:1037]: IP Address: 192.168.1.116
[15:00:34.810][C][wifi:1048]: SSID: 'Freebox-C07003'[redacted]
[15:00:34.810][C][wifi:1048]: BSSID: 3A:07:16:C0:0E:00[redacted]
[15:00:34.810][C][wifi:1048]: Hostname: 'qualite-air-bureau'
[15:00:34.810][C][wifi:1048]: Signal strength: -41 dB ▂▄▆█
[15:00:34.810][C][wifi:1048]: Channel: 5
[15:00:34.810][C][wifi:1048]: Subnet: 255.255.255.0
[15:00:34.810][C][wifi:1048]: Gateway: 192.168.1.254
[15:00:34.810][C][wifi:1048]: DNS1: 1.1.1.1
[15:00:34.810][C][wifi:1048]: DNS2: 1.0.0.1
[15:00:34.816][C][esphome.ota:075]: Over-The-Air updates:
[15:00:34.816][C][esphome.ota:075]: Address: qualite-air-bureau.local:3232
[15:00:34.816][C][esphome.ota:075]: Version: 2
[15:00:34.831][C][esphome.ota:082]: Password configured
[15:00:34.831][C][safe_mode:021]: Safe Mode:
[15:00:34.831][C][safe_mode:021]: Successful after: 60s
[15:00:34.831][C][safe_mode:021]: Invoke after: 10 attempts
[15:00:34.831][C][safe_mode:021]: Duration: 300s
[15:00:34.841][C][safe_mode:038]: Bootloader rollback: support unknown
[15:00:34.859][C][web_server.ota:231]: Web Server OTA
[15:00:34.859][C][api:221]: Server:
[15:00:34.859][C][api:221]: Address: qualite-air-bureau.local:6053
[15:00:34.859][C][api:221]: Listen backlog: 4
[15:00:34.859][C][api:221]: Max connections: 8
[15:00:34.863][C][api:228]: Noise encryption: YES
[15:00:34.910][C][mdns:177]: mDNS:
[15:00:34.910][C][mdns:177]: Hostname: qualite-air-bureau`
J’avais vue ca mais j’avais cru comprendre que ce n’était pas nécessaire.
C’est écrit :
Dans l’usage courant, avec le VINDRIKTNING d’IKEA contrôlant toujours le capteur pm1006, il n’y a pas d’intervalle de mise à jour, et cette implémentation captera passivement tout ce que le MCU VINDRIKTNING a demandé au capteur.
De toute façon je vais essayer avec la ligne de code à mettre en plus et je dirai ce que cela donne.
Après avoir voulu changer le code et mettre update_interval: 20s cela me demande d’indiquer le tx_pin. tx_pin sur lequel je n’ai pas de fil soudé.
J’ai donc essayé en supprimant la dernière partie du code soit cette partie là.
J’ai enfin trouvé ce qui ne fonctionnait pas. C’est le capteur qui dysfonctionne. Je l’ai testé seul en le branchant sur une alimentation stabilisée et le ventilateur ne tourne pas.
Problème résolu