Anyone Integrated a Mr. Cool Ductless w/ WiFi?

Appreciate that
I have tried it but it doesnt work for me
It shows one device and I dont know which one is it and when try to control it all devices doesnt reapone for it
I think I missing something here

@be_adamant the underlying driver does not support multiple devices. It is hardcoded to pick the first device only. Which one that is you would need to figure out experimentally!

Please file an issue against: or
to start a conversation about adding multi device support.

It is interesting that you aren’t seeing any responses on your devices. It is possible that the smartcielo payloads are slightly different to the MRCOOL device. To investigate further you may want to run homebridge in debug mode or file an issue on my github.

I just post it :+1:

I made a python script to just pull the device status. I’m not concerned with remote control, but I was hoping to do datalogging so I could plot it and see how frequently the AC is running, etc.

Here is my code:

Unfortunately there is almost no useful telemetry data provided. How is there so little useful data is such a large json blob? :frowning:

Here is what I get:

  "isTurboDisplay": 1, 
  "deviceName": "Upstairs", 
  "deviceTypeVersion": "BI03", 
  "blockMessage": "Unblocked", 
  "latEnv": {
    "temp": "25.0", 
    "humidity": "0.0"
  "macAddress": "2CF4323E87FE", 
  "isOnceSyncedState": 0, 
  "userId": "<redacted>", 
  "deviceStatus": "1", 
  "turboFailureAttempts": "0", 
  "broadcastName": "SmartHVAC_BI03_3E87FE", 
  "createdAt": "1595173640", 
  "deviceImageUrl": null, 
  "isFaren": 0, 
  "latestAction": {
    "turbo": "off", 
    "uirules": "default:default:vanish", 
    "ontimestamp": "1595173723", 
    "temp": "24", 
    "timestamp": "1595182402", 
    "startTurboTimestamp": "1595173640", 
    "light": null, 
    "swing": "pos3", 
    "deviceStatus": "on", 
    "statustimestamp": 1595173643, 
    "endTurboTimestamp": "1595173640", 
    "power": "on", 
    "mode": "auto", 
    "moderules": "default:default:auto", 
    "fanspeed": "auto"
  "fwVersion": "2.4.2,2.4.1", 
  "deviceType": "BREEZ-I", 
  "deviceSettings": {
    "defaultImage": null, 
    "downtbpower": null, 
    "screenDisplayValue": null, 
    "tbenabled": null, 
    "tbsensitivity": null, 
    "transmitterValue": null, 
    "brightnessValue": null
  "applianceID": 1664, 
  "turbo": "off:on", 
  "latestBucketError": "0", 
  "fpFailureAttempts": "0", 
  "isEnergyDevice": 0, 
  "applianceType": "AC", 
  "wifiName": "<redacted>", 
  "deviceId": "o34fPD", 
  "groupId": "-1", 
  "deviceFilterDuration": "0", 
  "isBlocked": 0, 
  "deviceFilterFlag": 1, 
  "isScreenLess": 0, 
  "isFreezePointDisplay": 1, 
  "lastAction": null, 
  "turboConfig": "default,default:Turbo:heat,cool,auto:temp,swing,light:0:1", 
  "myRules": [], 
  "applianceSubtype": 1, 
  "freezePointConfig": "heat,FP,10,FP:FP:heat:swing,light:1", 
  "deviceTimeZone": "-7:0"

I was really hoping to observe the duty cycle and power level. Since this is an inverter-style heat pump air conditioner, the compressor should be able to ramp up or down rather than traditional compressor systems that are either fully on or fully off. Unfortunately there is no indication of current compressor power level, or even whether it is running at all!

Thats great :smiley:
I managed to make a python code to connect to websocket ,send commands and get devices list.
but I am totally beginner in Pyhton (in fact this is my first code after Hello World in Python ) so I am trying hard to use ASYNCIO to change my code from regular request to Asyncio but find it hard and need more time to do it :smiley:

1 Like

That is really awesome work. I have no clue in python or I’d love to help. I’m just really interested in getting this working for Home Assistant also.

I just installed my AC and would LOVE to see it on my dashboard!

Thank you very much for working on this! Being new to HA has been a HUGE learning curve but I’m hoping to get it figured out soon :slight_smile:
Again, Thank you!

I would also love to see this! Mr Cool is great. Pretty new to HA, but I’ve managed to get just about everything I could ever want running, besides my HVAC. Anything I can do to help keep this ball rolling!

I’m also new to HA and just trying to learn but this is just about the only big thing that I don’t have running through HA :slight_smile: I’m still hoping someone has done it or will figure it out. I know it’s not cool just sitting here waiting for someone else to do the work but until I understand this all better I know it won’t be me LOL.

Well I just came across if you have a MR Cool unit and you use Smartthings you can in fact integrate it in HA! I have it in smartthings working and now HA sees it…but what to do with it now is another mystery I’ll have to solve LOL

1 Like

I have installed nicholasrobinson/node-smartcielo-http but homebridge is giving me this error below.

Any ideas?

[SmartCielo] TypeError: Cannot read property 'getAttribute' of null
    at getAppUserAndSessionId (/homebridge/node_modules/homebridge-smartcielo/node_modules/node-smartcielo/SmartCielo.js:127:64)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Promise.all (index 0)

So all the integrations here are using an IR remote controlling thermostat adapter, yeah?

For the Mitsubishi Mr Slim series, an enterprising person managed to reverse engineer the communication protocol of the hardwire port where their wireless module plugs in, and there is now local control for them via about $10 of wires and a wemos mini wifi -> serial adapter.

Has anyone tried to do something similar for the Mr Cool units?

Vilord, this integration is for the wifi-connected lcd smart thermostat. I have been unable to get get it to work with my Mr Cool, however.

The Mr Slim’s hardware port is a rs485/modbus and I have yet to find rs485 or other hardware serial port on my Mr Cool yet.

I hooked up the wifi device in my Mr Cool a few days ago, now I see that it uses the Cielo Smart platform through wifi.

I might poke around at Muhammed’s code to see if I can use it for an integration.

Another option would be to combine nicholasrobinson’s code with a node mqtt library to create a mrcool2mqtt addon

I installed a wemos d1 clone in one of my Mr Slims, and I noticed that both the Mr Slim and the Mr Cool showed up on my router as ESP-xxxxxx (where the x’s are the last 6 of the MAC address).
So apparently the wifi usb thing that comes with the Mr Cool also runs on an ESP chip. Not necessarily useful, but it might be an interesting project to crack open that wifi USB dongle and see what’s in it and capture the signal that’s running over the RX/TX pins of the ESP chip… see if it can be reverse engineered…

Did a little more digging, and it appears that the Mr. Cool units are rebranded Midea ACs (there are a half dozen brands that all use Midea… this is true for microwave ovens as well).
I’m going to give this project a try, since I already have a bag of spare ESPs.
But the short version is that apparently (if the above and linked information is accurate) the USB dongle doesn’t actually talk USB… it talks 9600 baud 5v serial over the USB pins.

well…to be specific, usb is a universal serial bus…but this dongle uses RS-232 over an usb connector :yum:

Yes, what you said :smiley:

Following up, this ^^ works great with the Mr. Cool’s.

Has anyone worked on getting this working? I have two units and would like to get them integrated.

Willing to help out in any way.

yes…confirmed by vilord in message above yours:

but also here:

I was hoping via their api. Might have to go the esp route.