Mitsubishi MELCLOUD integration with Home Assistant

Apologies if this is covered in this mammoth thread and I didn’t use the correct search terms.
Is there potential for any local integration or is it all via MELCloud APIs?

Are there any other brands of Air Source Heat Pump that off local integrations for Home Assistant?

There is…i think it’s THIS page.

Thank you. Will investigate.

Hello, I’m newbie here. Playing with melcloud integration. Tried NodeRed but still cannot achieve my goal. Could you tell me how to set water_heater to force_hot_water mode so pump will heat boiler once and switch to auto afterwards?

I recently got my new air to water heatpump, Mitsubishi Ecodan installed. It also has a wifi module so I quickly signed up for their Melcloud service. The app is truly horrible but at least it integrates with HA quite easily. However, I have seen other people with Mitsubishi heatpumps being able to see compressor freqencies in HA. Anyone know how to get this sensor data? Is it perhaps only on certain models?

These are ones I have:

Funny enough, I too experience bad COP, I only get about 2. I’m actually calling my installer tomorrow, I think something is wrong with my pump. It turns on and off all the time. And its not defrosting.
Energy consumption for my entire house. Only heatpump and fridge running;


The temps:

You need to have a procon to read out much more information. See esphome/ecodan at main · clandmeter/esphome · GitHub.

As it has nothing to do with Home Assistant this is not the place to look for information about that. But your flow temperature is too high or your heat pump minimum power is to high to be distributed in the house at this moment of your flow rate is too low.

I see, then I might look into that someday!

Ah yes, sorry. I also believe the flow is a bit low, I only have 9-10l/minute on the max setting, 5. I also suspect that the pump is to big for our house /heating needs. I guess this means that the compressor will break quite quickly because of all the starts and stops.

Just found this: https://www.mitsubishi-les.info/database/servicemanual/files/201803_ATW_DATABOOK.pdf

which has “everything”, incl. recommended water flow rates on page 322/430

@vilppuvuorinen

https://www.mitsubishi-les.info/database/servicemanual/files/201803_ATW_DATABOOK.pdf on page 326/430 describes 2 methods.

Ah yes I know. The issue is that I don’t know how to solve it.

I just tried this and i could get some more data out. but I am not sure about the update fequency. I set it to fetch data every 60 seconds but it does not seem to update that often.

That can be correct. kWh sensors update only once a day. Depending on the settings of your heat pump the flow and return temperatures, frequency can be quite stable as well.

hello,
has anyone had issues with receiving firmware for the Melcloud wifi-adapter?

I have recently got 5 units (MSZ-EF & MSZ-LN), all with wifi.
Four units have received the firmware update (the one that changes the communication from happening every 1 minute, to happening in realtime).
A 5th unit stubbornly stays on the old firmware. I never get the update proposed in Melcloud app for that one, and I can’t find a way to provoke the update myself. (my installer has no idea, and Mitsubishi tells me to talk to my installer). Any help really appreciated. (apologies, I realize this isn’t about home-assistant).

PS: for the updated units, the response of https://app.melcloud.com/Mitsubishi.Wifi.Client/User/ListDevices includes “FirmwareAppVersion: 37000”; and for the 5th one, it has 34000 value.

If there is a repeater in between this could be the problem. I had the same with 3 units 1 of them doesn’t update, after switching the repeater off and put the router near by side the Update finished.

In case someone is also struggling with the MelCloud, here is something with pictures to follow.
Who wants can paste this code into the cnfiguration.yaml or into the sensors.yaml.

Short explanation:
id = id of the device; in my case marked by XXXXX
buildingID = BuildingID; in my case marked by YYYYY
X-MitsContextKey = X-MitsContextKey; in my case marked by TTTTTTTTTTTTTTT

These three codes must be replaced by your own.
You can find them as follows:
Open Firefox => go to the Melcloud page => enter your credentials, before logging in press the F12 key on your keyboard => in the opened command line click on networkanalys see attached pictures.

sensor:
  - platform: rest
    name: heat_pump_api
    resource: https://app.melcloud.com/Mitsubishi.Wifi.Client/user/ListDevices?id=XXXXX&buildingID=YYYYY
    method: GET
    headers: 
        X-MitsContextKey: 'TTTTTTTTTTTTTTTTTTTTT'
    value_template: "OK"
    scan_interval: 60
    json_attributes_path: "$..Devices[?(@.DeviceID==XXXXX)].Device"
    json_attributes:
      - CurrentEnergyConsumed
      - DailyHeatingEnergyConsumed
      - DailyHotWaterEnergyConsumed
      - DailyEnergyConsumedDate
      - HeatPumpFrequency
      - DefrostMode
  - platform: template
    sensors:
      heat_pump_power:
        friendly_name: "Heat Pump Power"
        # availability_template: "{{ is_state('sensor.heat_pump_api', 'OK') }}"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'CurrentEnergyConsumed') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'CurrentEnergyConsumed') }}"
        device_class: power
        unit_of_measurement: "kW"
        unique_id: 010320231
      heat_pump_daily_heating_energy_consumed:
        friendly_name: "Daily Heating Energy"
        # availability_template: "{{ is_state('sensor.heat_pump_api', 'OK') }}"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'DailyHeatingEnergyConsumed') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'DailyHeatingEnergyConsumed') }}"
        device_class: energy
        unit_of_measurement: "kWh"
        unique_id: 010320232
      heat_pump_daily_hot_water_energy_consumed:
        friendly_name: "Daily Hot Water Energy"
        # availability_template: "{{ is_state('sensor.heat_pump_api', 'OK') }}"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'DailyHotWaterEnergyConsumed') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'DailyHotWaterEnergyConsumed') }}"
        device_class: energy
        unit_of_measurement: "kWh"
        unique_id: 010320233
      heat_pump_daily_energy_consumed:
        friendly_name: "Daily Heat Pump Energy"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'DailyHotWaterEnergyConsumed') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'DailyHeatingEnergyConsumed') + state_attr('sensor.heat_pump_api', 'DailyCoolingEnergyConsumed') + state_attr('sensor.heat_pump_api', 'DailyHotWaterEnergyConsumed') }}"
        device_class: energy
        unit_of_measurement: "kWh"
        unique_id: 010320234
      heat_pump_frequency:
        friendly_name: "Heat Pump Frequency"
        # availability_template: "{{ is_state('sensor.heat_pump_api', 'OK') }}"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'HeatPumpFrequency') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'HeatPumpFrequency') }}"
        device_class: frequency
        unit_of_measurement: "Hz"
        unique_id: 010320235
      heat_pump_defrost_mode:
        friendly_name: "Heat Pump Defrost"
        # availability_template: "{{ is_state('sensor.heat_pump_api', 'OK') }}"
        availability_template: >-
          {{ (states("sensor.heat_pump_api") not in ["unknown", "unavailable"]) and (state_attr('sensor.heat_pump_api', 'DefrostMode') != None) }}
        value_template: "{{ state_attr('sensor.heat_pump_api', 'DefrostMode') }}"
        device_class: aqi
        unit_of_measurement: ""
        unique_id: 010320236
3 Likes

Aren’t some of those values useless like frequency when it only updates once a day?

In my system, they are polled every 60 seconds.