// ESP32 · CN105 · MQTT · 100 % LOCAL

Rendez votre clim Mitsubishi locale.

Un ESP32, un câble à 5 broches et un firmware ESPHome suffisent pour piloter chauffage, froid, consigne et ventilation via MQTT — sans dépendre du cloud constructeur.

Guide indépendant, sans affiliation. ESPHome 2026.4 ou plus récent.

MitsubishiPort CN105
UART · 2400 baud · 8E1
ESP32ESPHome natif
ONLINE
Wi‑Fi · MQTT Discovery
Votre brokerHome Assistant · Node‑RED · autre
LOCAL

// LE RÉSULTAT

Une télécommande locale, ouverte et réparable

La télécommande infrarouge continue de fonctionner. L’ESP32 lit l’état réel de l’unité intérieure et publie une entité climate automatiquement découverte par Home Assistant.

4fils utiles côté CN105
1flash initial en USB‑C
0cloud constructeur requis
01

Pilotage complet

Marche/arrêt, chaud, froid, déshumidification, ventilation, consigne, vitesse et volet selon le modèle.

02

MQTT standard

Découverte Home Assistant et topics utilisables depuis Node‑RED, Jeedom ou votre propre automatisation.

03

Mises à jour OTA

Le câble USB‑C sert au premier flash. Les versions suivantes passent par le Wi‑Fi, sans rouvrir le split.

// 01 — QUOI ACHETER

Une liste courte. Pas de kit propriétaire.

Choisissez une carte USB‑C avec des broches accessibles, un câble JST PA 2,0 mm correctement serti et une vraie alimentation secteur isolée.

Meilleur prix

ESP32‑WROOM‑32 DevKit USB‑C

Le choix économique. Cherchez exactement une carte 30 broches avec USB‑C, CP2102 ou CH340 et GPIO25/26 sérigraphiées.

  • Éviter les cartes sans marque ni schéma
  • Vérifier que le câble USB transporte les données
  • Configuration YAML : board: esp32dev
Très compact

Seeed Studio XIAO ESP32‑C3

Minuscule et USB‑C. À choisir si la place est critique, en adaptant les broches du YAML.

  • D6 / GPIO21 = TX
  • D7 / GPIO20 = RX
  • Soudure des headers nécessaire selon version
Voir le brochage ↗
Le bon câble

JST PAP‑05V‑S vers Dupont femelle, 5 fils

Requête d’achat recommandée : « PA 2.0 mm PAP vers Dupont 2.54 mm femelle, 5 broches, 26 AWG, 20 cm ». Le boîtier CN105 est un JST PA au pas de 2,0 mm ; la partie Dupont femelle se branche sur les headers mâles de l’ESP32.

Les couleurs changent selon le vendeur. Repérez les broches 1 à 5, jamais « le fil rouge » ou « le fil vert ».

Référence PAP‑05V‑S ↗

// ALIMENTATION 5 V ISOLÉE

Deux options sérieuses

Le module doit accepter 230 V AC en entrée, fournir 5 V DC et rester enfermé dans un compartiment ou boîtier isolant adapté.

RECOM RAC05‑05SK Compact, 5 W, isolation renforcée. À intégrer sur un petit PCB protégé avec bornier et distances d’isolement correctes. Fiche fabricant ↗
Mean Well HDR‑15‑5 5 V / 2,4 A sur rail DIN. Plus volumineux, mais idéal si un coffret électrique proche peut l’accueillir proprement. Fiche fabricant ↗

// 02 — COMMENT CÂBLER

Deux circuits, deux niveaux de risque

Le CN105 transporte la logique de commande. S1/S2 transporte le secteur. Ils doivent rester physiquement séparés et ne se rejoignent qu’à travers la sortie isolée 5 V de l’alimentation.

230 V : installation hors tension obligatoire. Coupez au disjoncteur, contrôlez l’absence de tension et faites réaliser la reprise S1/S2 par une personne compétente. Ne travaillez jamais dans le split alimenté.

ZONE 230 V AC

S1230 V entre S1/S2
S2230 V entre S1/S2
S3Communication — interdit
ENTRÉE AC ALIMENTATION
ISOLÉE
SORTIE 5 V DC
ISOLATION GALVANIQUE

ZONE BASSE TENSION

ESP32
5V / USB← 5 V
GND← GND
GPIO25 RX← TX clim
GPIO26 TX→ RX clim
CN105
112 V — non connecté
2GND
35 V — non connecté
4TX unité → RX ESP
5RX unité ← TX ESP

La règle TX/RX

On croise toujours les données : TX de la clim vers RX de l’ESP32, puis TX de l’ESP32 vers RX de la clim.

!

S1 et S2 uniquement

Si le manuel du modèle et l’électricien l’autorisent, l’entrée de l’alimentation isolée se raccorde entre S1 et S2 au bornier. S3 n’est ni un neutre ni une alimentation auxiliaire : c’est la communication avec l’unité extérieure.

Jamais deux 5 V

Débranchez l’alimentation du split avant de remettre l’USB‑C. Ne reliez pas simultanément deux sources 5 V au même rail sans circuit de sélection prévu pour cela.

Gardez l’antenne dehors

Ne coincez pas l’ESP32 derrière une tôle ou contre l’échangeur. Placez l’antenne hors du caisson métallique, loin des câbles secteur.

Niveaux logiques : quand ajouter un adaptateur 3,3 V / 5 V ?

Les montages CN105 directs fonctionnent sur de nombreuses unités avec la réception ESP32 tirée vers 3,3 V. Mais les variantes de cartes existent. Vérifiez le manuel de service et mesurez la ligne au repos. Si votre unité présente une sortie logique poussée à 5 V, intercalez un adaptateur de niveau adapté avant l’entrée ESP32. Ne comptez pas sur la tolérance 5 V : elle n’est pas garantie par Espressif.

// 03 — LAISSER L’IA PRÉPARER ET FLASHER

Branchez l’USB‑C. Collez ce prompt.

Codex et Claude Code peuvent travailler dans le dossier local, créer les fichiers, détecter le port série, installer ESPHome dans un environnement isolé, valider, compiler et flasher.

Terminal — Codex
mkdir clim-cn105 && cd clim-cn105
codex
PROMPT PRÊT À COLLER Installation complète et vérifiée
Tu travailles dans un dossier neuf et un ESP32 est connecté en USB-C à cet ordinateur.

Objectif : créer, valider, compiler puis flasher un firmware ESPHome qui pilote une climatisation Mitsubishi Electric par son port CN105 et l’expose en MQTT avec Home Assistant Discovery.

Matériel par défaut :
- ESP32-WROOM-32 DevKit USB-C, configuration ESPHome `board: esp32dev`
- TX ESP32 = GPIO26, relié au RX de la clim (CN105 broche 5)
- RX ESP32 = GPIO25 avec pull-up interne, relié au TX de la clim (CN105 broche 4)
- GND ESP32 relié au GND CN105 (broche 2)
- CN105 broches 1 et 3 non connectées, car l’ESP32 reçoit un 5 V externe isolé

Contraintes firmware :
1. Utilise ESPHome 2026.4 ou plus récent et le composant natif `mitsubishi_cn105`, pas un composant externe GitHub.
2. Configure l’UART à 2400 bauds, 8 bits, parité EVEN, 1 bit de stop.
3. Désactive la sortie série du logger avec `baud_rate: 0` pour ne jamais polluer l’UART CN105.
4. Active MQTT avec authentification, Home Assistant Discovery, `idf_send_async: true`, `log_topic: null` et `reboot_timeout: 0s`.
5. N’ajoute pas `api:` : cette installation est MQTT uniquement.
6. Active l’OTA ESPHome, le point d’accès de secours et `safe_mode`.
7. Ne place aucun secret dans le YAML principal. Crée `secrets.yaml`, `secrets.example.yaml` et un `.gitignore` qui exclut `secrets.yaml` et `.esphome/`.
8. Demande-moi le SSID, le mot de passe Wi-Fi, l’adresse du broker, le port, l’utilisateur et le mot de passe MQTT au moment où tu en as besoin. Ne réaffiche jamais les mots de passe ensuite.

Procédure attendue :
- Identifie le port série USB sans supposer son nom.
- Vérifie la version locale d’ESPHome. Si elle est trop ancienne, installe la version actuelle dans un environnement Python isolé dans le projet.
- Crée `mitsubishi-cn105-mqtt.yaml` et les fichiers de secrets.
- Exécute `esphome config`, puis compile.
- Montre-moi le port détecté et demande une confirmation juste avant le premier flash USB.
- Flashe l’ESP32, ouvre les logs et vérifie le démarrage, le Wi-Fi et la connexion MQTT.
- Si le CN105 n’est pas encore branché, considère `NOT CONNECTED` comme normal et donne-moi la checklist de câblage hors tension.
- Termine par les commandes exactes pour les futures mises à jour OTA et pour afficher les logs.

Ne touche pas au secteur, ne suppose pas les couleurs du câble CN105 et signale clairement que S1/S2 portent environ 230 V AC et que S3 est réservé à la communication de l’unité extérieure.

Pourquoi cela fonctionne : les outils locaux voient le dossier, le terminal et le port série. Codex peut inspecter les fichiers et exécuter les outils installés depuis le répertoire du projet ; Claude Code suit le même modèle local depuis la commande claude.

Documentation Codex CLI ↗ Documentation Claude Code ↗

// 04 — LE YAML DE BASE

Lisible, minimal, MQTT uniquement

Le fichier téléchargeable utilise le composant CN105 intégré à ESPHome depuis la version 2026.4.

mitsubishi-cn105-mqtt.yaml
Télécharger
esphome:
  name: clim-mitsubishi-cn105
  friendly_name: Clim Mitsubishi CN105
  min_version: 2026.4.0

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:
  level: INFO
  baud_rate: 0

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: none
  ap:
    ssid: "Clim CN105 secours"
    password: !secret fallback_password

captive_portal:

mqtt:
  broker: !secret mqtt_broker
  port: !secret mqtt_port
  username: !secret mqtt_username
  password: !secret mqtt_password
  topic_prefix: clim-mitsubishi-cn105
  discovery: true
  discovery_retain: true
  discovery_object_id_generator: device_name
  discover_ip: false
  reboot_timeout: 0s
  idf_send_async: true
  log_topic: null

ota:
  - platform: esphome
    password: !secret ota_password

safe_mode:
  num_attempts: 3

uart:
  id: cn105_uart
  tx_pin: GPIO26
  rx_pin:
    number: GPIO25
    mode:
      input: true
      pullup: true
  baud_rate: 2400
  data_bits: 8
  parity: EVEN
  stop_bits: 1

climate:
  - platform: mitsubishi_cn105
    id: clim_mitsubishi
    name: "Climatisation"
    uart_id: cn105_uart
    update_interval: 1s
    current_temperature_min_interval: 60s
    supported_swing_modes: VERTICAL
    visual:
      min_temperature: 16
      max_temperature: 31
      temperature_step: 0.5

// 05 — INSTALLER ET UTILISER

Du câble USB‑C à Home Assistant

  1. 01

    Flashez sur table

    L’ESP32 est relié uniquement au Mac ou au PC par USB‑C. Ne branchez encore ni CN105 ni alimentation du split.

  2. 02

    Laissez l’agent valider

    Collez le prompt. L’agent crée les fichiers, exécute esphome config, compile, demande le port série puis flashe.

  3. 03

    Préparez MQTT

    Le broker Mosquitto doit être joignable depuis le Wi‑Fi de la clim. Activez l’intégration MQTT de Home Assistant et créez un compte dédié au module.

  4. 04

    Coupez le split

    Disjoncteur ouvert, absence de tension contrôlée : raccordez l’alimentation isolée sur S1/S2, puis le câble CN105 en suivant les numéros de broches.

  5. 05

    Remettez sous tension

    Après le démarrage, Home Assistant découvre automatiquement une nouvelle entité de climatisation. Testez d’abord marche/arrêt et lecture de température.

  6. 06

    Mettez à jour en OTA

    Les changements suivants passent par le Wi‑Fi avec esphome run mitsubishi-cn105-mqtt.yaml. Inutile de reconnecter l’USB‑C.

Si la clim ne répond pas

NOT CONNECTED

Inversez uniquement TX et RX dans le YAML ou sur les deux fils de données. Ne touchez pas au GND ni à l’alimentation.

ESP32 hors ligne

Sortez l’antenne du caisson métallique, vérifiez le 5 V sous charge et rapprochez temporairement un point d’accès Wi‑Fi.

Pas d’entité dans HA

Vérifiez l’intégration MQTT, le préfixe de découverte homeassistant et les droits du compte MQTT.

Valeurs incohérentes

Confirmez 2400 bauds et 8E1. Certaines unités utilisent 9600 bauds : ne changez qu’après consultation du manuel.

// SOURCES ET LIMITES

Documentation vérifiable, installation à adapter

Les variantes Mitsubishi sont nombreuses. Le manuel de service de votre référence d’unité intérieure reste prioritaire sur ce guide.

Contenu sous licence CC BY 4.0 — attribution : Julien Robert. Ni Mitsubishi Electric, ni ESPHome, ni les fabricants cités ne sponsorisent ce guide.

Copié dans le presse-papiers