Mitsubishi CN105 maintenant en natif dans ESPHome

Bonjour à tous,

Pour ceux qui ont des Clims/PAC Mitsubishi connectées par ESPHome au travers du port CN105, la Version 2026.4 de ESPHome vient de l’ajouter en natif, plus besoin de passer par un repo Git ou une autre librairie externe, tout est directement inclus.

SI jamais certains se posent la question, j’ai migré ma clim qui était basée sur un github.
La mise à jour OTA est passée sens problème.

La config est plutôt basique:

uart:
  id: ac_uart
  tx_pin: GPIO1
  rx_pin: GPIO3
  data_bits: 8
  baud_rate: 2400
  parity: EVEN
  stop_bits: 1

climate:
  - platform: mitsubishi_cn105
    name: "Clim Salon"
    uart_id: ac_uart
    update_interval: 10s

En revanche cette version ne gère pas encore les modes swing et direction du flux d’air. Une PR est en cours sur github pour ajouter toutes ces options.

Superbe nouvelle, je n’aurais pas déjà des modules locaux que j’aurai sauté dessus pour en faire un avec un ESP.

Merci pour l’info c’est intéressent

Une comparaison entre la version esphome native et celle d’echavet est disponible là :

Bonne journée

La version esphome native semble donc actuellement une implémentation minimaliste !

Oui clairement, c’est le minimum pour le moment, mais au final y’a ce qui est vraiment utile.

Le comparo partagé par @roumano le montre bien:

Merci pour l’info.

Pour l’instant sans le support d’un capteur de température externe je reste sur la verison d’EChavet

Bonjour,

merci pour ce sujet super intéressant, j'étais justement entrain de domotiser mes clims.
J'ai 3 splits Mitsubishi. En lisant quelques tutos ici et la, j'ai acheté des ESP32-S3 comme ceci :

J'ai branché un cable avec le connecteur qui va bien sur les ports CN105 selon l'ordre suivant :

port 2 du connecteur vers le GND
port 3 : vers le +5V
port 4 : GPIO 18
port 5 : GPIO 17

J'ai ensuite flashé l'ESP avec le code suivant et ESP Home :

Board: ESP32-S3 DevKitC-1 (Espressif)

Definition: definitions/boards/esp32-s3-devkitc-1/manifest.yaml

# Definition: definitions/boards/esp32-s3-devkitc-1/manifest.yaml

esphome:
  name: clim-mitsubishi-hugo
  friendly_name: Clim Mitsubishi Hugo

esp32:
  variant: esp32s3
  flash_size: 8MB
  framework:
    type: esp-idf

logger:
  level: VERBOSE

api:
  encryption:
    key: "BfSrGM9R0n98g9awS5TDrbVyy1R77PHNdlt1K3+gZUg="

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: clim-mitsubishi Fallback Hotspot
    password: "fhPTi3aUwC4g"

captive_portal:

uart:
  id: ac_uart
  tx_pin: GPIO17
  rx_pin: GPIO18
  data_bits: 8
  baud_rate: 2400
  parity: EVEN
  stop_bits: 1

climate:
  - platform: mitsubishi_cn105
    name: "Clim Salon"
    uart_id: ac_uart
    update_interval: 10s

Malheureusement, après l'upload, la carte répond au ping, apparaît dans HA :

mais si je clique sur "cool" par exemple, voici les logs :

[17:14:43.566\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:45.567\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:45.572\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:47.551\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:47.554\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:48.012\]\[V\]\[climate:049\]: 'Clim Salon' - Setting
[17:14:48.018\]\[V\]\[climate:053\]: Mode: COOL
[17:14:49.557\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:49.559\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:51.571\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:51.672\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:53.552\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:53.555\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:55.552\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout
[17:14:55.555\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: ReadTimeout -> Connecting
[17:14:57.568\]\[V\]\[mitsubishi_cn105.driver:169\]: Did transition: Connecting -> ReadTimeout

On dirait donc qu'il reste bloqué sur "Eteint" comme si les 2 ne communiquaient pas.... Quelqu'un a une idée ? Merci d'avance

Salut,

As tu bien inversé les deux cables Rx/Tx? c'est souvent le pb

@+

je ne peux plus les inverser phyisquement, vu que c'est soudé, mais logiciellement, je peux inverser GPIO17 et 18, et cela ne change rien :frowning:

Salut,

Les RX/TX semblent tout de même pas bon si j'en crois ce que tu as écrit.
Côté ESP ça devrait être:
Pin 4: Rx donc GPIO 18
Pin 5: TX donc GPIO 17

Je ne sais pas ce que tu as soudé, mais il est très possible que tu aies une inversion.
Ce n'est pas possible de les inverser dans la config, la fonction Rx/Tx c'est lié au port au niveau matériel.

Merci Alex, tu as raison. Je me suis trompé dans mon post originel


j'ai bien le pin4 sur GPIO18 et le 5 sur le GPIO17, je vais editer

Après des jours de tests / recherches, j'ai trouvé la solution :
J'ai remplacé

      tx_pin: GPIO17
      rx_pin: GPIO18

par

      tx_pin: GPIO17
      rx_pin:
        number: GPIO18
        mode:
           input: true
           pullup: true

J'éspère que çà aidera certains.