{"id":3876,"date":"2025-05-14T08:00:37","date_gmt":"2025-05-14T06:00:37","guid":{"rendered":"https:\/\/domo.rem81.com\/?p=3876"},"modified":"2026-01-12T20:47:20","modified_gmt":"2026-01-12T19:47:20","slug":"ha-controlez-votre-climatiseur-daikin-avec-un-esp32-d1-mini-et-esphome","status":"publish","type":"post","link":"https:\/\/domo.rem81.com\/index.php\/2025\/05\/14\/ha-controlez-votre-climatiseur-daikin-avec-un-esp32-d1-mini-et-esphome\/","title":{"rendered":"HA-Contr\u00f4lez votre climatiseur Daikin avec un ESP32-D1-MINI et ESPHome (Obsol\u00e8te)"},"content":{"rendered":"\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Update:<\/h1>\n\n\n\n<p>Je ne maintiens plus cet article car je n&rsquo;utilise plus cette solution. En effet depuis peu j&rsquo;utilise cette int\u00e9gration, plus facile \u00e0 mettre en oeuvre: <a href=\"https:\/\/github.com\/jwillemsen\/daikin_onecta\">https:\/\/github.com\/jwillemsen\/daikin_onecta<\/a><\/p>\n\n\n\n<p>l&rsquo;inconv\u00e9nient est que l&rsquo;on passe par le cloud mais je m&rsquo;en contente.<\/p>\n\n\n\n<p>Pour ceux qui persisterait, il semblerait que le depot <a href=\"https:\/\/github.com\/asund\/esphome-daikin-s21\">https:\/\/github.com\/asund\/esphome-daikin-s21<\/a> soit mieux maintenu!<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p>Dans cet article, je vous explique comment utiliser un <strong>ESP32-D1-MINI<\/strong> pour piloter un climatiseur Daikin via l\u2019interface S21, en int\u00e9grant le tout dans Home Assistant avec <strong>ESPHome<\/strong>. Ce projet utilise un module <strong>MP1584<\/strong> pour g\u00e9rer l\u2019alimentation et permet de contr\u00f4ler la temp\u00e9rature, surveiller les capteurs, et assurer une communication stable. Suivez ce guide pour reproduire ce projet sur votre syst\u00e8me domotique.<\/p>\n\n\n\n<p>Les climatiseurs Daikin \u00e9quip\u00e9s d\u2019une interface S21 peuvent \u00eatre contr\u00f4l\u00e9s via une connexion UART. Avec un <strong>ESP32-D1-MINI<\/strong>, un abaisseur de tension <strong>MP1584<\/strong>, et ESPHome, vous pouvez transformer votre climatiseur en un appareil connect\u00e9, pilotable depuis Home Assistant. Ce projet est \u00e9conomique et parfait pour ajouter des fonctionnalit\u00e9s intelligentes \u00e0 votre climatisation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Pr\u00e9requis<\/h1>\n\n\n\n<p>Avant de commencer, assurez-vous d\u2019avoir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un <strong>ESP32-D1-MINI<\/strong> (bas\u00e9 sur un ESP32-WROOM-32).<\/li>\n\n\n\n<li>Un climatiseur Daikin avec une interface S21 (connecteur avec VCC, GND, TX, RX).<\/li>\n\n\n\n<li>Un module <strong>MP1584<\/strong> (abaisseur de tension) pour alimenter l\u2019ESP32.<\/li>\n\n\n\n<li>R\u00e9sistances : 2 x 1.2k\u03a9 (pour limiter le courant des signaux UART, si n\u00e9cessaire).<\/li>\n\n\n\n<li>Une LED avec une r\u00e9sistance de 2k\u03a9 (connect\u00e9e aux sorties du MP1584 pour indiquer la tension).<\/li>\n\n\n\n<li>Un acc\u00e8s Wi-Fi et une IP statique r\u00e9serv\u00e9e (ici, <code>192.168.0.179<\/code>).<\/li>\n\n\n\n<li><strong>ESPHome<\/strong> install\u00e9 et configur\u00e9 sur votre serveur.<\/li>\n\n\n\n<li>Les identifiants Wi-Fi stock\u00e9s comme secrets dans ESPHome (<code>wifi<\/code> et <code>mdpwifi<\/code>).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Raccordement<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Sch\u00e9ma:<\/h2>\n\n\n\n<p>Voici le sch\u00e9ma ajust\u00e9 pour connecter l\u2019ESP32-D1-MINI au climatiseur Daikin :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ESP32-D1-MINI<\/strong> :<\/li>\n\n\n\n<li><strong>GPIO3 (TX)<\/strong> : Transmission UART vers le climatiseur.<\/li>\n\n\n\n<li><strong>GPIO1 (RX)<\/strong> : R\u00e9ception UART depuis le climatiseur.<\/li>\n\n\n\n<li><strong>Climatiseur Daikin (S21)<\/strong> :<\/li>\n\n\n\n<li><strong>TX<\/strong> \u2192 GPIO1 (RX) de l\u2019ESP32 (via une r\u00e9sistance de 1.2k\u03a9 si n\u00e9cessaire pour limiter le courant).<\/li>\n\n\n\n<li><strong>RX<\/strong> \u2192 GPIO3 (TX) de l\u2019ESP32 (via une r\u00e9sistance de 1.2k\u03a9 si n\u00e9cessaire).<\/li>\n\n\n\n<li><strong>GND<\/strong> : Reli\u00e9 au GND de l\u2019ESP32.<\/li>\n\n\n\n<li><strong>VCC (5V)<\/strong> : Non connect\u00e9 directement \u00e0 l\u2019ESP32 (3.3V), voir alimentation ci-dessous.<\/li>\n\n\n\n<li><strong>Module MP1584 (abaisseur de tension)<\/strong> :<\/li>\n\n\n\n<li>Entr\u00e9e : Connect\u00e9e \u00e0 une source 5V (par exemple, via le connecteur S21 ou une alimentation externe).<\/li>\n\n\n\n<li>Sortie : R\u00e9gl\u00e9e \u00e0 3.3V pour alimenter l\u2019ESP32-D1-MINI (broche <code>3V3<\/code>).<\/li>\n\n\n\n<li><strong>LED<\/strong> : Connect\u00e9e entre la sortie positive (3.3V) et la sortie n\u00e9gative (GND) du MP1584, avec une r\u00e9sistance de 2k\u03a9, pour indiquer la pr\u00e9sence de tension.<\/li>\n\n\n\n<li><strong>Alimentation<\/strong> :<\/li>\n\n\n\n<li>L\u2019ESP32-D1-MINI est aliment\u00e9 en 3.3V via la broche <code>3V3<\/code>, fournie par le MP1584.<\/li>\n\n\n\n<li>Le MP1584 peut \u00eatre aliment\u00e9 par une source 5V (par exemple, le VCC du connecteur S21 ou une alimentation externe).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"349\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-23.png\" alt=\"\" class=\"wp-image-3878\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-23.png 621w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-23-300x169.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Brochage de l\u2019ESP32-D1-MINI<\/strong> <\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GPIO1 (U0 TX)<\/strong> : Transmission UART.<\/li>\n\n\n\n<li><strong>GPIO3 (U0 RX)<\/strong> : R\u00e9ception UART.<\/li>\n\n\n\n<li><strong>3V3<\/strong>, <strong>GND<\/strong> : Alimentation et masse.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"692\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-22.png\" alt=\"\" class=\"wp-image-3877\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-22.png 960w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-22-300x216.png 300w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-22-768x554.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Configuration ESPHome<\/h1>\n\n\n\n<p>Voici le fichier YAML complet pour configurer l\u2019ESP32-D1-MINI avec ESPHome. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>substitutions:\n  device_name: \"esp179-daikin-clim-salon\"\n  friendly_name: esp179\n  adress_ip: \"192.168.0.179\"\n  time_timezone: \"Europe\/Paris\"\n\nesphome:\n  name: ${device_name}\n\nesp32:\n  board: esp32dev  # ESP32-D1-MINI (ESP32-WROOM-32)\n  framework:\n    type: arduino\n\n# Enable Home Assistant API\napi:\n\nota:\n  platform: esphome\n\nwifi:\n  networks:\n    - ssid: !secret wifi\n      password: !secret mdpwifi\n  reboot_timeout: 5min\n  manual_ip:\n    static_ip: ${adress_ip}\n    gateway: 192.168.0.254\n    subnet: 255.255.255.0\n\ncaptive_portal:\n\nweb_server:\n  port: 80\n\nlogger:\n  baud_rate: 0  # D\u00e9sactive le logger UART pour lib\u00e9rer GPIO1 et GPIO3\n\nexternal_components:\n  - source: github:\/\/joshbenner\/esphome-daikin-s21@main\n    components: &#091; daikin_s21 ]\n\nuart:\n  - id: s21_uart\n    tx_pin: GPIO3  # UART0 TX\n    rx_pin: GPIO1  # UART0 RX\n    baud_rate: 2400\n    data_bits: 8\n    parity: EVEN\n    stop_bits: 2\n\ndaikin_s21:\n  tx_uart: s21_uart\n  rx_uart: s21_uart\n\nclimate:\n  - name: \"${friendly_name} Clim salon\"\n    platform: daikin_s21\n    visual:\n      temperature_step: 1.0\n    room_temperature_sensor: room_temp\n\nbinary_sensor:\n  - platform: status\n    name: \"${friendly_name}_Status\"\n\nsensor:\n  - platform: daikin_s21\n    inside_temperature:\n      name: \"${friendly_name} Temperature Unite interieure\"\n    outside_temperature:\n      name: \"${friendly_name} Temperature Echangeur Exterieure\"\n    coil_temperature:\n      name: \"${friendly_name} Temperature Serpentin Unite Int\"\n    fan_speed:\n      name: \"${friendly_name} Vitesse Ventilateur\"\n  - platform: homeassistant\n    id: room_temp\n    entity_id: sensor.temperature_salon_zb\n    unit_of_measurement: \u00b0C\n\nswitch:\n  - platform: restart\n    name: \"${friendly_name} Restart\"<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Explication des sections cl\u00e9s<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Substitutions<\/strong> : Variables comme <code>device_name<\/code> et <code>adress_ip<\/code> pour simplifier la configuration.<\/li>\n\n\n\n<li><strong>Wi-Fi<\/strong> : IP statique (<code>192.168.0.179<\/code>) pour une connexion stable.<\/li>\n\n\n\n<li><strong>UART et Daikin S21<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilise GPIO3 (TX) et GPIO1 (RX) pour communiquer avec le climatiseur via le protocole S21.<\/li>\n\n\n\n<li>Param\u00e8tres : 2400 bauds, parit\u00e9 paire, 2 bits d\u2019arr\u00eat.<\/li>\n<\/ul>\n\n\n\n<p>Composant externe: <a href=\"https:\/\/github.com\/joshbenner\/esphome-daikin-s21\">https:\/\/github.com\/joshbenner\/esphome-daikin-s21<\/a><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Climate<\/strong> : Contr\u00f4le du climatiseur dans Home Assistant, avec un capteur de temp\u00e9rature ambiante externe (<code>sensor.temperature_salon_zb<\/code>).<\/li>\n\n\n\n<li><strong>Capteurs<\/strong> : Temp\u00e9rature int\u00e9rieure, ext\u00e9rieure, serpentin, et vitesse du ventilateur.<\/li>\n\n\n\n<li><strong>OTA et Web Server<\/strong> : Mises \u00e0 jour \u00e0 distance et interface web pour la gestion.<\/li>\n\n\n\n<li><strong>Logger<\/strong> : D\u00e9sactiv\u00e9 (<code>baud_rate: 0<\/code>) pour lib\u00e9rer GPIO1 et GPIO3.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Installation<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Configurez le module MP1584<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Ne pas raccorder l&rsquo;ESP32 sans avoir r\u00e9gl\u00e9 le MP1584 \u00e0 3.3V auparavant<\/li>\n\n\n\n<li>Connecter le climatiseur au PCB sans l&rsquo;ESP32<\/li>\n\n\n\n<li>R\u00e9glez la sortie du MP1584 \u00e0 3.3V (utilisez un multim\u00e8tre pour ajuster la tension).<\/li>\n\n\n\n<li>La LED s\u2019allume pour indiquer la pr\u00e9sence de tension.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>T\u00e9l\u00e9versez le firmware<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Copiez le YAML dans ESPHome.<\/li>\n\n\n\n<li>Compilez et t\u00e9l\u00e9versez sur l\u2019ESP32-D1-MINI via USB ou OTA.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Connectez l\u2019ESP32 au climatiseur<\/strong> (si pas d\u00e9ja fait avec un PCB):\n<ul class=\"wp-block-list\">\n<li><strong>GPIO3 (TX)<\/strong> \u2192 RX du climatiseur (via une r\u00e9sistance de 1.2k\u03a9 si n\u00e9cessaire pour limiter le courant).<\/li>\n\n\n\n<li><strong>GPIO1 (RX)<\/strong> \u2192 TX du climatiseur (via une r\u00e9sistance de 1.2k\u03a9 si n\u00e9cessaire).<\/li>\n\n\n\n<li>Reliez le GND de l\u2019ESP32 au GND du climatiseur.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Carte Home Assistant<\/h1>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"352\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-25.png\" alt=\"\" class=\"wp-image-3881 size-full\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-25.png 432w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-25-300x244.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<pre class=\"wp-block-code\"><code>type: thermostat\nentity: climate.esp179_clim_salon\nfeatures:\n  - type: climate-hvac-modes\n    hvac_modes:\n      - \"off\"\n      - heat_cool\n      - cool\n      - heat\n      - fan_only\n      - dry\n<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"427\" height=\"299\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-26.png\" alt=\"\" class=\"wp-image-3883 size-full\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-26.png 427w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-26-300x210.png 300w\" sizes=\"auto, (max-width: 427px) 100vw, 427px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<pre class=\"wp-block-code\"><code>type: entities\nentities:\n  - entity: sensor.esp179_temperature_echangeur_exterieure\n  - entity: sensor.esp179_temperature_serpentin_unite_int\n  - entity: sensor.esp179_temperature_unite_interieure\n  - entity: sensor.esp179_vitesse_ventilateur\n  - entity: binary_sensor.esp179_status\ntitle: Esp179-Daikin-Clim-Salon<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">R\u00e9sultat attendu<\/h1>\n\n\n\n<p>Une fois configur\u00e9, votre climatiseur Daikin sera contr\u00f4lable depuis Home Assistant :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ajustez la temp\u00e9rature cible.<\/li>\n\n\n\n<li>Surveillez les temp\u00e9ratures (int\u00e9rieure, ext\u00e9rieure, serpentin) et la vitesse du ventilateur.<\/li>\n\n\n\n<li>V\u00e9rifiez l\u2019\u00e9tat de la connexion et red\u00e9marrez l\u2019ESP32 si n\u00e9cessaire.<\/li>\n\n\n\n<li>La LED connect\u00e9e au MP1584 s\u2019allume pour confirmer que l\u2019ESP32 est correctement aliment\u00e9 en 3.3V.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p>Ce projet montre comment un ESP32-D1-MINI, aliment\u00e9 par un module MP1584, peut transformer votre climatiseur Daikin en un appareil connect\u00e9, gr\u00e2ce \u00e0 ESPHome et Home Assistant. Avec une configuration simple et une alimentation stable, vous pouvez d\u00e9sormais contr\u00f4ler votre climatisation depuis votre syst\u00e8me domotique. Essayez ce projet, partagez vos id\u00e9es et vos retours en commentaire!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update: Je ne maintiens plus cet article car je n&rsquo;utilise plus cette solution. En effet depuis peu j&rsquo;utilise cette int\u00e9gration, plus facile \u00e0 mettre en oeuvre: https:\/\/github.com\/jwillemsen\/daikin_onecta l&rsquo;inconv\u00e9nient est que &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[74,17],"class_list":["post-3876","post","type-post","status-publish","format-standard","hentry","category-homeassistant","tag-daikin","tag-esphome"],"_links":{"self":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/comments?post=3876"}],"version-history":[{"count":12,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3876\/revisions"}],"predecessor-version":[{"id":4269,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3876\/revisions\/4269"}],"wp:attachment":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/media?parent=3876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/categories?post=3876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/tags?post=3876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}