Contents
Intro
Dans cet article, je vous explique comment utiliser un ESP32-D1-MINI pour piloter un climatiseur Daikin via l’interface S21, en intégrant le tout dans Home Assistant avec ESPHome. Ce projet utilise un module MP1584 pour gérer l’alimentation et permet de contrôler la température, surveiller les capteurs, et assurer une communication stable. Suivez ce guide pour reproduire ce projet sur votre système domotique.
Les climatiseurs Daikin équipés d’une interface S21 peuvent être contrôlés via une connexion UART. Avec un ESP32-D1-MINI, un abaisseur de tension MP1584, et ESPHome, vous pouvez transformer votre climatiseur en un appareil connecté, pilotable depuis Home Assistant. Ce projet est économique et parfait pour ajouter des fonctionnalités intelligentes à votre climatisation.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un ESP32-D1-MINI (basé sur un ESP32-WROOM-32).
- Un climatiseur Daikin avec une interface S21 (connecteur avec VCC, GND, TX, RX).
- Un module MP1584 (abaisseur de tension) pour alimenter l’ESP32.
- Résistances : 2 x 1.2kΩ (pour limiter le courant des signaux UART, si nécessaire).
- Une LED avec une résistance de 2kΩ (connectée aux sorties du MP1584 pour indiquer la tension).
- Un accès Wi-Fi et une IP statique réservée (ici,
192.168.0.179
). - ESPHome installé et configuré sur votre serveur.
- Les identifiants Wi-Fi stockés comme secrets dans ESPHome (
wifi
etmdpwifi
).
Raccordement
Schéma:
Voici le schéma ajusté pour connecter l’ESP32-D1-MINI au climatiseur Daikin :
- ESP32-D1-MINI :
- GPIO3 (TX) : Transmission UART vers le climatiseur.
- GPIO1 (RX) : Réception UART depuis le climatiseur.
- Climatiseur Daikin (S21) :
- TX → GPIO1 (RX) de l’ESP32 (via une résistance de 1.2kΩ si nécessaire pour limiter le courant).
- RX → GPIO3 (TX) de l’ESP32 (via une résistance de 1.2kΩ si nécessaire).
- GND : Relié au GND de l’ESP32.
- VCC (5V) : Non connecté directement à l’ESP32 (3.3V), voir alimentation ci-dessous.
- Module MP1584 (abaisseur de tension) :
- Entrée : Connectée à une source 5V (par exemple, via le connecteur S21 ou une alimentation externe).
- Sortie : Réglée à 3.3V pour alimenter l’ESP32-D1-MINI (broche
3V3
). - LED : Connectée entre la sortie positive (3.3V) et la sortie négative (GND) du MP1584, avec une résistance de 2kΩ, pour indiquer la présence de tension.
- Alimentation :
- L’ESP32-D1-MINI est alimenté en 3.3V via la broche
3V3
, fournie par le MP1584. - Le MP1584 peut être alimenté par une source 5V (par exemple, le VCC du connecteur S21 ou une alimentation externe).

Brochage de l’ESP32-D1-MINI
- GPIO1 (U0 TX) : Transmission UART.
- GPIO3 (U0 RX) : Réception UART.
- 3V3, GND : Alimentation et masse.

Configuration ESPHome
Voici le fichier YAML complet pour configurer l’ESP32-D1-MINI avec ESPHome.
substitutions:
device_name: "esp179-daikin-clim-salon"
friendly_name: esp179
adress_ip: "192.168.0.179"
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
esp32:
board: esp32dev # ESP32-D1-MINI (ESP32-WROOM-32)
framework:
type: arduino
# Enable Home Assistant API
api:
ota:
platform: esphome
wifi:
networks:
- ssid: !secret wifi
password: !secret mdpwifi
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
captive_portal:
web_server:
port: 80
logger:
baud_rate: 0 # Désactive le logger UART pour libérer GPIO1 et GPIO3
external_components:
- source: github://joshbenner/esphome-daikin-s21@main
components: [ daikin_s21 ]
uart:
- id: s21_uart
tx_pin: GPIO3 # UART0 TX
rx_pin: GPIO1 # UART0 RX
baud_rate: 2400
data_bits: 8
parity: EVEN
stop_bits: 2
daikin_s21:
tx_uart: s21_uart
rx_uart: s21_uart
climate:
- name: "${friendly_name} Clim salon"
platform: daikin_s21
visual:
temperature_step: 1.0
room_temperature_sensor: room_temp
binary_sensor:
- platform: status
name: "${friendly_name}_Status"
sensor:
- platform: daikin_s21
inside_temperature:
name: "${friendly_name} Temperature Unite interieure"
outside_temperature:
name: "${friendly_name} Temperature Echangeur Exterieure"
coil_temperature:
name: "${friendly_name} Temperature Serpentin Unite Int"
fan_speed:
name: "${friendly_name} Vitesse Ventilateur"
- platform: homeassistant
id: room_temp
entity_id: sensor.temperature_salon_zb
unit_of_measurement: °C
switch:
- platform: restart
name: "${friendly_name} Restart"
Explication des sections clés
- Substitutions : Variables comme
device_name
etadress_ip
pour simplifier la configuration. - Wi-Fi : IP statique (
192.168.0.179
) pour une connexion stable. - UART et Daikin S21 :
- Utilise GPIO3 (TX) et GPIO1 (RX) pour communiquer avec le climatiseur via le protocole S21.
- Paramètres : 2400 bauds, parité paire, 2 bits d’arrêt.
Composant externe: https://github.com/joshbenner/esphome-daikin-s21
- Climate : Contrôle du climatiseur dans Home Assistant, avec un capteur de température ambiante externe (
sensor.temperature_salon_zb
). - Capteurs : Température intérieure, extérieure, serpentin, et vitesse du ventilateur.
- OTA et Web Server : Mises à jour à distance et interface web pour la gestion.
- Logger : Désactivé (
baud_rate: 0
) pour libérer GPIO1 et GPIO3.
Installation
- Configurez le module MP1584 :
- Ne pas raccorder l’ESP32 sans avoir réglé le MP1584 à 3.3V auparavant
- Connecter le climatiseur au PCB sans l’ESP32
- Réglez la sortie du MP1584 à 3.3V (utilisez un multimètre pour ajuster la tension).
- La LED s’allume pour indiquer la présence de tension.
- Téléversez le firmware :
- Copiez le YAML dans ESPHome.
- Compilez et téléversez sur l’ESP32-D1-MINI via USB ou OTA.
- Connectez l’ESP32 au climatiseur (si pas déja fait avec un PCB):
- GPIO3 (TX) → RX du climatiseur (via une résistance de 1.2kΩ si nécessaire pour limiter le courant).
- GPIO1 (RX) → TX du climatiseur (via une résistance de 1.2kΩ si nécessaire).
- Reliez le GND de l’ESP32 au GND du climatiseur.
Carte Home Assistant

type: thermostat
entity: climate.esp179_clim_salon
features:
- type: climate-hvac-modes
hvac_modes:
- "off"
- heat_cool
- cool
- heat
- fan_only
- dry

type: entities
entities:
- entity: sensor.esp179_temperature_echangeur_exterieure
- entity: sensor.esp179_temperature_serpentin_unite_int
- entity: sensor.esp179_temperature_unite_interieure
- entity: sensor.esp179_vitesse_ventilateur
- entity: binary_sensor.esp179_status
title: Esp179-Daikin-Clim-Salon
Résultat attendu
Une fois configuré, votre climatiseur Daikin sera contrôlable depuis Home Assistant :
- Ajustez la température cible.
- Surveillez les températures (intérieure, extérieure, serpentin) et la vitesse du ventilateur.
- Vérifiez l’état de la connexion et redémarrez l’ESP32 si nécessaire.
- La LED connectée au MP1584 s’allume pour confirmer que l’ESP32 est correctement alimenté en 3.3V.
Conclusion
Ce projet montre comment un ESP32-D1-MINI, alimenté par un module MP1584, peut transformer votre climatiseur Daikin en un appareil connecté, grâce à ESPHome et Home Assistant. Avec une configuration simple et une alimentation stable, vous pouvez désormais contrôler votre climatisation depuis votre système domotique. Essayez ce projet, partagez vos idées et vos retours en commentaire!