Mitsubishi MELCLOUD integration with Home Assistant

Headsup for users of my esphome implementation. We (me and David Woodhouse) have proxy mode working with the heishamon board (but should work on all esp32 with some levelshifters). We still need to do some testing, but you can run the esp and the melcloud wifi adapter together. You can even change setting from the esp. It needs a bit more testing and will be merged to main after testing.
more info about heishamon: https://www.tindie.com/products/thehognl/heishamon-communication-pcb/
current experimental impl: GitHub - gekkekoe/esphome-ecodan-hp at proxy

2 Likes

It has been merged, see img folder for schematics. mini howto: esphome-ecodan-hp/proxy.md at main Ā· gekkekoe/esphome-ecodan-hp Ā· GitHub

1 Like

I know this is an old one but had the same problem and found the solution. The UI generates incorrect code, it should be:

action:

  • action: water_heater.set_temperature
    metadata: {}
    data:
    temperature: 53
    target:
    entity_id: water_heater.john_xxx
  • action: water_heater.set_operation_mode
    metadata: {}
    data:
    operation_mode: force_hot_water
    target:
    entity_id: water_heater.john_xxx

This is just great. Iā€™ll try in a few days. I guess unless I can find a male, wired CN105 connector, the only option is cutting and soldering the WiFi adapter cableā€¦

https://www.digikey.nl/nl/products/detail/jst-sales-america-inc/B05B-PASK-1/926741

cn105 is just a standard B05B-PASK-1 socket

I lost my job so I need something to do, thought I would test ESP!

There are several projects on github and some are refrenced in this thread. Any recommendations on which project to try out? Im quite new to ESP in general but happy to learn!

Depends on what you would like to have. If you want to keep the melcloud running, then my project is the only option currently: GitHub - gekkekoe/esphome-ecodan-hp: ESPHome Ecodan heatpump

Another option thatā€™s has comparable features is GitHub - F1p/Mitsubishi-CN105-Protocol-Decode: Mitsubishi Ecodan Air Source Heat Pumps CN105 Protocol to MQTT for Home Assistant

But the hardware is mostly the same, and you can try different firmwares. I would recommend the m5stack atom s3 lite from my project page (or heishamon v5 if you need proxy) as hardware.

1 Like

Thanks for the info! :slight_smile: The parts are cheap, about 9 euro but 18 euro in shipping, ouch :smiley: Gonna see if i can find parts somewhere else but great work on your guide/readme!

If I get it running, I might contribute a swedish translation, the least I can do. :slight_smile:

yeah you might find a local m5stack supplier in Swedenā€¦ also digikey has free shipping if you order more than 50 euros

@gekkekoe In the wiring instructions for S3 Atom Lite with proxy you say

Select the esp32s3-atoms3.yaml as configuration in ecodan-esphome.yaml . Build and flash the firmware

but thereā€™s no esp32s3-atoms3.yaml file in confs. Since Iā€™m now using ā€˜esp32s3.yamlā€™ for my S3 Atom Lite, should I use the one named ā€˜ esp32s3-proxy.yamlā€™? Thanks

correct, I will fix the docs :slight_smile: (fixed, and also added ftc controller firmware & date time)

I get this error when validatingā€¦

uart: [source /data/packages/224a9af1/confs/esp32s3-proxy.yaml:26]
  - id: uart_ecodan
    rx_pin: 
      number: 2
      mode: 
        input: True
        pullup: True
        output: False
        open_drain: False
        pulldown: False
      inverted: False
      ignore_pin_validation_error: False
      ignore_strapping_warning: False
      drive_strength: 20.0
    tx_pin: 
      number: 1
      mode: 
        output: True
        input: False
        open_drain: False
        pullup: False
        pulldown: False
      inverted: False
      ignore_pin_validation_error: False
      ignore_strapping_warning: False
      drive_strength: 20.0
    baud_rate: 2400
    parity: EVEN
    stop_bits: 1
    rx_buffer_size: 256
    data_bits: 8
  - id: uart_proxy
    rx_pin: 
      
      Cannot resolve pin name 'GPI38' for board esp32-s3-devkitc-1.
      number: GPI38
      mode: 
        input: True
        pullup: True
    tx_pin: 
      
      Cannot resolve pin name 'GPI39' for board esp32-s3-devkitc-1.
      number: GPI39
      mode: 
        output: True

GPIO38 and 39, I think I made an small error there. Iā€™ve fixed it and test compiled it, should be okay now

@uspino did you get it working in the end?

No, but probably my fault because I couldnā€™t properly fit four jumper wires into the Atom S3 connector (they do fit into the CN105 female connector in the WiFi module), Iā€™ll go back at it in a few days and see how I solve itā€¦

You can also do something like esphome-ecodan-hp/confs/m5stack-atom-lite-proxy.md at 0bb97fa26a5e6c7c842f4928a795005d1cdc1889 Ā· gekkekoe/esphome-ecodan-hp Ā· GitHub (user contribution)

This is a great find, I was just about to write and ask about parallel usage of MelCloud unit with custom ESP board and unfortunately it is not yet supported.

ClimaControl is a good example that this is most likely doable, similar ā€œpassthroughā€ ESP boards setups are used in for example: GitHub - visualapproach/WiFi-remote-for-Bestway-Lay-Z-SPA: Hack - ESP8266 as WiFi remote control for Bestway Lay-Z spa Helsinki

If SwiCago flashed unit is running between the MelCloud and CN105, it should be able to work as a proxy.

1 Like

I was frustrated with the lack of features in the MELcloud integration and stumbled upon Sensibo Air Pro. Essentially it is an IR blaster that is designed specifically for heat pumps etc and links into HA pretty seamlessly.

Not being a hardware techie, it was aa no brainer for me and i have not looked back

Is it just me or is melcloud not sending current data since around 17:00 UTC 30.10.2024?

So I have restarted the HeatPump (disconnected the power for ~ 10s), but issue remains. From what I can see. HP is connected on wifi, also it responds if I use its IP in the browser. But somehow from melcloud I still get data from few days ago, also I canā€™t do any action (e.g. heat DHW now)ā€¦

Anyway can someone help me how to change additional sensors from REST to use json that was obtained by the integration? If I remember correctly @trozman or @vilppuvuorinen mentioned that but I canā€™t find the example now.