Without using proprietary hardware or proprietary apps (MelCloud)
Recently I moved into a house with ducted ACs. It has on official wall thermostat like this:
Press enter or click to view image in full size
I can control it’s mode (heath, dry, cool) and the fan mode (high, medium, low) but the problem is that I have to click those buttons physically…
I’m lazy enough to want some refreshing (or warm during winters) air in my face directly when I’m on the sofa or in the bed without having to get up and click the button.
SEZ-M60DA2, ~2022) controlled only by an official wired wall thermostat without wifi.It’s the reverse-engineered Mitsubishi protocol, now maintained as an ESPHome external component.
Or the native ESPHome component:
Press enter or click to view image in full size
Same core but a bit less features (but way easier to install).
Both of them allows us to have:
Mitsubishi cannot update the units remotely, so our configuration should remain valid (the units don’t have Wi-Fi connectivity) .
What CN105 gives instead: it is the same service port the manufacturer’s own Wi-Fi adapter uses, so you get the native protocol: setpoint, mode, fan, room temperature as the unit measures it…. And it works alongside the wall controller rather than replacing it.
A blank ESP32 has no firmware and no Wi-Fi configured so the board plugs into the machine running the browser, not the machine running Home Assistant.
If you have properly installed Home Assistant (HA OS or Supervised as Core or Docker installations do not have add-on store) then it’s easy as you can install the ESPHome add-on then:
Espressif ESP32-C6-DevKitM-1(if you have bought the same board as myself)ssid and password) once and it automatically writes them to /config/esphome/secrets.yamlNow you can use the native ESPHome version
Press enter or click to view image in full size
Or do a custom install of the ESPHome external component
If you have chosen the same board as myself, it’s as easy as copy-pasting this pre-configured YAML, into the editor of the device in ESPHome Builder:
Press enter or click to view image in full size
After the first USB flash the board is on Wi-Fi and Home Assistant (HA) auto-discovers it . Every later update is over the air (done from HA if the YAML lives in the add-on).
From the official docs: https://esphome.io/components/climate/mitsubishi_cn105/#cn105-pinout
In my specific case with the colors of the cable that I bought:
──────────┬───────────┬─────────────┬────────────────────┐
│ Cable │ Pin CN105 │ Signal │ ESP32 (board) │
├──────────┼───────────┼─────────────┼────────────────────┤
│ blue │ 1 │ 12 V │ ⛔ NEVER CONNECT │
├──────────┼───────────┼─────────────┼────────────────────┤
│ green │ 2 │ GND │ GND │
├──────────┼───────────┼─────────────┼────────────────────┤
│ yellow │ 3 │ 5 V │ VIN │
├──────────┼───────────┼─────────────┼────────────────────┤
│ black │ 4 │ TX │ RX2 = GPIO16 │
├──────────┼───────────┼─────────────┼────────────────────┤
│ red │ 5 │ RX │ TX2 = GPIO17 │
└──────────┴───────────┴─────────────┴────────────────────┘First, search where your unit is installed and dismantle the tape then locate the CN-105 port:
It’s a bit tricky to fit the CN-105 cable in, but once you have it in place, you just need to press it down. You have to do it with confidence.
Press enter or click to view image in full size
Mount the ESP32 OUTSIDE the metal control box (it is a Faraday cage).
You can control your AC from your mobile phone using Home Assistant, giving you access to the same features that are available on the physical wall thermostat and much more.
off, cool, heat, dry, fan_only, auto, heat_cool) and 6 fan speeds.You can also create your own Home Assistant automations, such as turning the AC on at specific times or when the room reaches a certain temperature.
If you use the repository directly, you also get new features that aren’t available on the official thermostat (some examples of the most useful ones):
No Error), not a raw numberA step-by-step guide to using an ESP32 board to connect your Mitsubishi AC to Home Assistant, keeping your data local instead of sending it to external servers, while also gaining access to useful sensors such as energy consumption (kWh) and temperature.
I have written this article as a tutorial for my future self and as a guide if it could be helpful for someone.