Heat Pumping

It was somewhat of a letargic week, especially if you consider that in the quasi-apocalyptic reality we now live temperatures above 40oC have become the new normal. So I spent some time investigating my office air conditioner.

Although there are a bazillion hacks out there for multiple Mitsubishi devices, mine is a newer model (MSZ AP25-50VGK) where Mitsubishi seems to have gone out of their way to make it harder to tweak.

Spoiler: if you are looking for an AC brand that gets modern home automation, Mitsubishi isn’t it.

Ironically, mine actually has a Wi-Fi module, which I refused to configure since it is tied to their MELCloud service, and I refuse to rely on anything outside my LAN for home automation.

The module sits inside the indoor unit and seems to plug in to a UART port similar to the CN105 connector used by most hacks, but things aren’t as easy as they seem.

For starters, the service manual has some inconsistencies–it shows a CN105 connector on one of the diagrams:

The CN105 is shown here, but nowhere else.

However, the service manual is consistent in what regards the CN110

…and it is identified in the testing diagram:

Test points diagram, where only the CN110 is identified.

So it’s not outside the realm of feasibility that I might still use it.

Passive-Agressive Control

However, it’s not that easy. I found the MSZ AP25-50VGK almost downright hostile where it regards taking any sort of control over it.

Comparatively to what I’ve seen regarding other models, it is harder to reach the logic board and get to the CN110 connector the Wi-Fi module is plugged into.

Even with the service manual at hand, I ended up deciding against it and decided to explore the Wi-Fi unit itself.

The Module

The PCB inside the module (half blurry, apologies)

The outside of the box has a QR code to assist with configuration, a default SSID and key, and an indication that the thing takes 12.7V–which is interesting because the pinout seems to be the same as the CN105 connector used in other hacks and the cable only has 4 wires going into the 5-pin connector, skipping the wire that would have carried 5V in the CN105 pinout.

So I assume the CN110 connector uses the same pinout, but can’t readily wire up an without a voltage regulator and an equivalent connector (neither of which I have handy at the moment). I would have loved to be able to confirm the pinout without a doubt, but the ultra-thick PCB used makes tracing circuitry a pain.

From a software perspective, the module itself seems to be a dead end. You can put it in AP mode and access http://192.168.11.1/network to associate it manually to your Wi-Fi (with, I should say, a much worse experience than, say, a Tasmota device), but it then seems to resolve and connect directly to Mitsubishi’s cloud services – and exposes zero usable functionality on the LAN, which is archaic in these days of HomeKit and SmartThings.

Weirder still, it throws up a 401 if I try to talk to /network on it, and does not seem to have any other useful URLs.

I briefly considered setting up one of my OpenWRT routers to do MITM tracing on it, but eventually decided to just factory reset the module and unplug it.

As to their cloud service, it goes against all the usual basic usability rules:

  • It requires you create an account to even use the app.
  • It requires you to register your devices before you can use them.
  • There is absolutely no way to control the device solely via the LAN.

Plus their “apps” seem to just wrap their mobile site into a frame, which is why I am ranking this as one of the most user-hostile IoT solutions I ever fiddled with.

Seeing (Infra)Red

Since replacing the module was a bit too much hassle, I turned to Tasmota-IR to see if I could at least control it via a custom IR blaster.

This has always been a troublesome approach given the way ACs send out “update packets” and not simple IR codes, but it has worked with our older Sharp ACs in the past, so I was willing to try it. I hooked up a simple NPN transistor pull-down for an IR LED, flashed Tasmota-IR on a Wemos D1, and tried controlling the heat pump that way.

But none of the currently supported IR protocols worked–and hooking up an IR receiver alongside made it pretty obvious that my AC remote uses a different protocol. And yes, I tried the Daikin protocols as well–I wrote a little script and tried all the ones supported.

So thank you, Mitsubishi, for not exposing or documenting any open protocols on your devices and foisting MELCloud onto your customers instead.

I don’t suppose replacing the Wi-Fi module with something that is actually HomeKit-compatible will ever happen (that would be an add-on I would actually pay for), so I will likely take another stab at the CN110 connector later…