Mitsubishi MELCLOUD integration with Home Assistant

It was on melcloud page.

@gekkekoe Will the Atom Lite (C008) work? It has G26 and G32 at the connector instead of G1 and G2…

It’s the only one I can find around…

51Qqq-hHoZL.AC_SX679

@uspino yes should work, the hy2.0-4p (= grove plug) uses 5v, that’s whats the cn105 is giving (it also gives 12v, but that’s not needed). basically all m5stack boards that have grove plug should just work (the level shifter from 5v → 3.3v is included)

you need to adjust the 2 following parts in the yaml
change

packages:
  remote_package:
    url: https://github.com/gekkekoe/esphome-ecodan-hp/
    ref: main
    refresh: always
    files: [ 
            confs/esp32s3.yaml, # confs/esp32.yaml, for regular board
            confs/zone1.yaml,
            ## enable if you want to use zone 2
            #confs/zone2.yaml, 
           ]

to (you could also enable zone 2 if you have it)

packages:
  remote_package:
    url: https://github.com/gekkekoe/esphome-ecodan-hp/
    ref: main
    refresh: always
    files: [ 
            confs/esp32.yaml, 
            confs/zone1.yaml,
            ## enable if you want to use zone 2
            #confs/zone2.yaml, 
           ]

you probable should try the regular esp32.yaml

and set pins:

ecodan:
  id: ecodan_instance
  rx_pin: GPIO2
  tx_pin: GPIO1

to

ecodan:
  id: ecodan_instance
  rx_pin: GPIO26
  tx_pin: GPIO32

If it does not work or if you are having issues, feel free to open an issue on my github, I’ll try my best to assist. report back if it worked, then I will included the board as tested.

1 Like

Thanks, I’ll report back in a few days. I’m tired of MelCloud poor reliability.

still not working. The split looks correctly connected to melcloud server (no err - 2 orange lights every 5 secs) but still not controllable through mecloud app or HA

2 Likes

As found in this thread, the temporary solution to get MELCloud to work is to set DNS locally either via your router or Pi-Hole or similar.
I’ve added this DNS IP to my Pihole and it works immediately:
production.receiver.melcloud.com 52.49.107.93

2 Likes

Adguard:

1 Like

Hello, FYI MELCloud is starting to work again.
See here.

2 Likes

I have Wemos D1 minis lying around. They are ESP8266 and it seems not to compile for that. It’s missing a bunch of FreeRTOS task stuff. Is this something you could fix or should I just buy an ESP32?

I could probably make it work, but It’s much easier and cheaper to get one of these. The repo supports esp32 or esp32-s3. no need to do anything just convert one connector. Get one of these AtomS3 Lite ESP32S3 Dev Kit | m5stack-store and follow instructions on GitHub - gekkekoe/esphome-ecodan-hp: ESPHome Ecodan heatpump
I’m using those as ref boards for development. It should cost you give or take 10$.

Ooft the shipping is more than the board… I’ll keep looking.

Thanks very much for developing this and sharing it :grin:

any esp32 will do (but probably need soldering). Check if you have a local m5stack distributor near by.

Thanks so much @gekkekoe

I got an Atom S3 lite as you suggested from The Pi Hut, arrived in 2 days. I couldn’t find the CN105 connector so I just cut off the MelCloud module and with some rudimentary soldering skills I’m now up and running with esphome :slight_smile: Seems to work as advertised and now I have more monitoring of the pump, too!

Let me know if there is any feedback, development or testing you need help with.

Thanks again!

Bye Melcloud… It’s been great.

I’m very happy with the latest Firmware Update from F1p:
https://github.com/F1p/Mitsubishi-CN105-Protocol-Decode/releases

So I made the jump into @gekkekoe ESP32 implementation and I have to say I regret having waited so long to do it. With pre-made Grove cables and PAP-05V-S connectors (no soldering needed - just use a pin to get the wire out and put it in) and an Atom S3 Lite, the total cost is around 9 dollars/euros. And it’s so great to see the commands execute instantly! And all info available, including energy!

I built the ESPHome from the Home Assistant add-on; all I had to do is put in my WiFi credentials. The only (minor) issue is the Ecodan appearing as being ON when I first turned on the circuit breaker after plugging the Atom. Turned it off in HA, and when turned back on the Ecodan did in fact turned on. I’m hoping the switch reading won’t be incorrect if the power eventually goes off and on.

But anyway, take it from a long time MelCloud user (I used REST API calls before the integration was available so I could integrate into Home Assistant): just do it.

Thanks @gekkekoe, and hopefully someone will come up with a similar solution for Air Conditioning units.

@bwduncan hmm :slight_smile: yeah so I updated my github with parts to order, so should be really easy now. Did not realize that these parts are not that known. you can order the connector to fix the wifi adapter :stuck_out_tongue:

@uspino the power state is remembered and it should set it to the correct value once it detects it. Could be that it was lagging. When the power goes off and on again, give it a little time, should detect it.

Me and F1p (he found sever control, I reversed the prohibit commands) even got the prohibit setting working. But you need to be in server control mode. To enable this, you can un-comment one of the lines. See my github. It’s for those that need/wants to set prohibits themself. But if you don’t need that, then the default is fine. If you need zone 2 support, also un comment one of the lines and zone 2 is supported.

The automation folder has some handy scripts for home assistant, have a look at it. (setting dhw setpoint on legionella run and estimating output power based on flow, feed, return temps)

As for the airco units:
Actually the m5stack will also work for the airco units, just need to put the correct software on it. There are several projects for airco units. Should not be that hard if you use the m5stacks. I don’t have the airco units, so cannot test it.

1 Like

On my climate i have a strange power-on issue, too: sometimes it won’t connect to HA after power-on or OTA update. So i solved it by monitoring HA’s climate attribute “current temperature” inside esphome module (i created homeassistant sensor in esphome) - if it’s “unavailable” in HA then module hits a reboot, so perhaps you can do something similar with your device:

sensor:
  - platform: homeassistant
    name: "climate connection"
    id: climate_connection    
    entity_id: climate.bedroom
    attribute: current_temperature

  # Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time
    on_time:
      seconds: 0 #triggered every minute
      then:
        - lambda: |-
                ESP_LOGW("A/C connection: ", "checking...");       
        - if:
            condition:
              lambda: |-
                return id(climate_connection).state >0;
            then:
               - lambda: |-
                  ESP_LOGW("A/C connection: ", "connected.");   
            else:
              - lambda: |-
                  ESP_LOGW("A/C connection: ", "disconnected, rebooting!");
              - button.press:              
                  id: climate_bedroom_reboot  

button:
  - platform: restart
    id: climate_bedroom_reboot
    name: Climate bedroom reboot

@uspino @bwduncan new update available. user configs have been separated, so you probably need to adjust the main yaml a bit. (added a lot of new goodies, might be interesting for you guys)

@gekkekoe Thanks! I’m away on a trip, I’ll get on it next Monday

Hello
Perhaps it’s a little bit.late, but I have the same behaviour with my ecodan.
Did the installer give you any explanation?
Because as far as I know it’s because of a problem with a sensor, when it’s on cooling mode, but Mitsubishi does not recognice the error
If flow and return temparature, are very close, the start stops ocurrs, because the sensor is close to the water tank that is warm, so sensor detects hot. Then Starts, then cool liquid go throw the sensor, so stop…

An example

Perhaps is good to know if anyone have also seen this behaviour, becuase it’s related with live of the compressor.

Best regards