Mitsubishi AC with Wemos D1 Mini Pro

Update: I got it working with a D1 v2 without any problems.

So I have a Wemos D1 v3.0.0 and it appears to not talk to the unit at all. It is connected and on, it reports to HA fine but when I change things nothing happens. The logs are clean. I triple checked the TX and RX wires so not sure what is up… I do not have any resistors on it, just straight to the board like others. Is this just some odd issue with v3.0.0… Anyone else using a 3.0.0 board?

I see this in the logs, like it is doing something. The IR remote also does not show any differences in HA when I change there. Like there is no ability to talk to it…

[D][MitsubishiHeatPump:231]: control - Was HeatPump updated? YESe
[D][climate:262]: ‘Living Room Heat Pump’ - Sending state:e
[D][climate:265]: Mode: HEATe
[D][climate:267]: Action: IDLEe
[D][climate:270]: Fan Mode: AUTOe
[D][climate:273]: Swing Mode: VERTICALe
[D][climate:276]: Current Temperature: nan°Ce
[D][climate:282]: Target Temperature: 21.11°Ce

Wemos D1 v3.0.0 is missing a resistor compared to v2. Try getting your hands on a v2 and it will work. Two out of two worked without any issues over here. I have not figured out why a resistor has been removed. Either to save money or to support another use case.

Thanks! I bought some of these and the same issue… Do you happen to have a link to the ones you got? Super frustrating, may just buy the “official” version…

I can’t offer a link because I traded these with a friend who had to older ones laying around. Sorry!

Did you have any luck finding V2’s?

I am ordering a few from amzn to try out, which may have the same problem.
This post talks about desoldering / lifting pins from the USB chip after programming to get it to work. I might just do that, and hope I never have to reprogram them!

I purchased one of the actual units for the Kumo cloud. It was annoyingly expensive but the Kumo integration in home assistant works well enough for now so I am good. I have so many other projects to work on!

If you have a Wemos D1 Mini Pro or V3 you can fix the issue yourself with a small flat screwdriver. You need to lift a contact on the v3 or remove the resistor on the Pro. See the image I’ve created below. You will not be able to flash using USB anymore, so make sure to do that first. You can still use the pins to flash the device of course.

8ef4caa7-cbe3-4c7a-a9ca-9e6734b04560

It is easy to do and works 100%.

UPDATE 2021/01/26:
Just to complete my research, I’ve also ordered the cheapest ‘original’ D1 mini and they worked without any alterations Ali Express link. If you have the v3 or the Pro: fix them using the instructions above.

3 Likes

Got it working using nickrout code and Skipjack wiring diagram.
Many thanks to Geoff Davis, nickrout and Skipjack.

1 Like

Hey guys I am new to this - sketches to arduino. I am confused about the process and don’t know if the step by step guys I have found are accurate anymore. I was following this:

but the details in between and not understanding the sketches to arduino is an issue for me.

I think I have done the following:

Successfully added the library

I have the code from:

but I am a bit at a loss as to how this is supposed to work.

I can write the code to the unit but not sure it is working. Kinda stuck here and I will continue to play to find the next steps in early 2021 if anything has changed.

Thanks!

FYI - I got it working and connected to MQTT. Not sure really how or what but I installed the code via sketch with that library, then connected to the unit and setup my wifi SSID, and PSK. All seemed to work. I configured MQTT and it shows connected. I haven’t installed in the AC unit yet - but it appears to kinda work. It would be great if I could see the unit via the phone and see current temp and set points.

Also would be nice to set a dedicated IP - I realize I could do this with a DHCP reservation.

I just flashed and deployed my first (of 7) on the 6k unit in my guest bedroom.

I used these (very cheap v1 clone) boards, and they worked without any modification: https://www.amazon.com/gp/product/B08FQYZX37

As with @heffneil I followed Chris Davis’ blog:

Using the code from https://github.com/gysmo38/mitsubishi2MQTT

If you need to change from Celcius to Farenheit, don’t adjust the min/max until after a save/reboot, it will automatically scale them, and you’ll end up with range limits of like 142-190 degrees in HA.

My MSZ-GL06NA only supports heat/cool/dry/auto-changeover. Using this, I can now choose Fan Only as well. I have no idea if this actually keeps the outdoor unit off and just runs the fan, but if so our tenant (and I) will be very happy as she likes to run the heat with the window open just so she can get the white noise from the fan.

As a note @heffneil, once you plug the board into your indoor unit, a new button appears in the menu, Control, where you can see the status, turn it on and off, set the mode, temperature, vane options, etc. All without the annoying beeeeep that comes with the IR remote.

Cool! I still haven’t soldered my leads on. I have a unit in my Florida house I was going to test with but this is for my house up North to control the unit in an attic. I bought a bunch so making these is pretty trivial. For some reason, I found getting the software on the unit to be more trouble.

You have it figured out already, but for the next person that comes along, my steps for the software side were:
Once I got arduino installed, I had to add the ESP drivers by going to Preferences and adding this to Additional Boards Manager URLs: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Next, tools -> board -> boards manager, search for wemos, and add the ESP boards module
Then I selected tools -> board -> esp8266 boards -> LOLIN (WEMOS) D1 R2 & mini

Next I had to add the three libraries…
for the built in libraries: tools -> manage libraries, search for and install ArduinoJson and PubSubClient, and for the mitsubishi library:

cd ~/Documents/Arduino/libraries
git clone https://github.com/SwiCago/HeatPump

after that I restarted the IDE (probably not necessary) opened up the sketch from gysmo38, and ran Sketch -> Compile to make sure i didn’t miss anything.
When that worked, I plugged in one of my boards, picked it from the Tools -> Port -> usbserial-1410
Finally, Sketch -> Upload
When it said Upload Complete, the blue LED on the board was lit up, so I knew that it had worked and wifi was ready for configuration :slight_smile:

1 Like

I have a D1 mini flashed with gysmo38’s mitsubishi2mqtt working great on a MSZ-FH15NA wall unit. I followed the guide at https://chrdavis.github.io/hacking-a-mitsubishi-heat-pump-Part-2/). However, when I attach it to a SLZ-KA09NA ceiling cassette unit (which has a CN-105) it doesn’t recognize that it is attached, status remains disconnected). Does anybody have this working with an SLZ ceiling unit? Any thoughts? Thanks for any help…

How many volt is the CN-105 connector at the Mitsubishi AC? Mine gives 24 volt… So i cant use a standard esp8265 without a buckconverter

There are 5 pins in the CN105. In mine, I can pull 12v or 5v depending which pins I use.

Are you sure you’re looking at the right port?

That’s not to say every Mitsubishi will be the same.

That’s possible, though the CN105 port is meant to be used with the Mitsubishi-built external thermostat controls, and I find it unlikely they would have exactly the same port with the wrong voltages, otherwise they’d have contractors blowing up their $200 thermostat adapters.

Unless it’s a Mitsubishi Heavy Industries AC, which is a different company altogether…

This is a list of models/unit working Mitsubishi Heat Pumps via connector CN105 Unit types that work

1 Like