Those Mitsubishi wifi units are VERY expensive. For a lot less you can make your own.
It is already communicating with MQTT so I think implementation should be possible. (I was going to say easy, but that word should never be used by non programmers).
Hi everyone, I have written an implementation targeting the MAC-568IF-E Wi-Fi adaptor.
It does not require connectivity to the MELVIEW or MELCLOUD services, and instead uses the local ECHONET-lite feature available on the module. This module works on Home Assistant v0.96 or later.
Getting Started
Installation - if previously installed versions prior to 3.0.1 (mitsubishi component)
Delete ‘mitsubishi’ from your ‘custom_components’ directory
Remove references to ‘mitsubishi’ from ‘configuration.yaml’
Installation - Home Assistant
Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
If you do not have a custom_components directory (folder) there, you need to create it.
In the custom_components directory (folder) create a new folder called echonetlite.
Download all the files from the custom_components/echonetlite/ directory (folder) in this repository.
Place the files you downloaded in the new directory (folder) you created.
Restart Home Assistant and clear your browser cache
Go to configuration → integrations → ADD INTEGRATION.
Select the echonetlite integration. Enter your IP address in the host field, and give the platform a name.
Platform should automatically configure ‘climate’, and depending on your system will automatically configure ‘sensor’ and ‘select’.
If you have additional HVACs to configure then repeat step 4.
Make sure you enable the ECHONET Lite service in the official Mitsubishi AU/NZ Wifi App.
This is great news and good work. Regrettably, I don’t think those of us on the MelCloud Mitsubishi system can make it work. I was using o0Zz component until he apparently gave up on development, and it does not work anymore for me.
I’m not sure those of us in Europe with Ecodans, MrSlims, etc, using Mitsubishi’s WiFi adapter on the Melcloud ecosystem, can even activate Echonet Lite service (truth be told, I don’t even know what Echonet is). Anyway, I tried and failed. Just in case it can be of any help, here’s the error log when I point your platform to one of my A/C Melcloud Wifi systems. Thanks!
Error while setting up platform mitsubishi
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
SLOW_SETUP_MAX_WAIT, loop=hass.loop)
File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
return fut.result()
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/climate/mitsubishi.py", line 28, in setup_platform
None, None, None, 'cool', None, None, None, None)
File "/config/custom_components/climate/mitsubishi.py", line 71, in __init__
self._target_temperature = data['set_temperature']
KeyError: 'set_temperature'
Do you know what sort of Wifi Adaptor your system has?
In the Mitsubishi application on my phone, I had to explicitly enable the ECHONET lite service. ECHONET is an old-school Japanese control protocol which runs on the LAN. Ill send a screen capture of my app setting I had to enable on ‘Mitsubishi WiFi control’
I think MELCloud must be their current remote service. My adaptor is MAC-568IF-E. Look in the settings under your wifi app and see if you have an options like this:
The WiFi adaptors I use for MelCloud are model MAC-567IF-E.
I thing the whole system is cloud-based. In fact, when you change any setting, there is a small delay until the unit receives the command. The app makes no mention of Echonet. Any thoughts?
Yeah I did some more digging and it looks like the ECHONET feature is only available on in MAC-568IF-E series. I’ll look into this MELCLOUD thing some more. It sucks they make folk to go to the cloud to control their co-located home HVAC systems, they should give people the option of local control as well. At least if my internet dies I can still control it from my Wifi anywhere in the house…
Also, I had a look at the MELCloud service too, my Australian account would not allow me to authenticate so it looks like Mitsubishi uses totally different APIs depending on what region you are in… Crazy!
I’ll clean up the library so it’s a bit more robust, and I’ll let you know if I have the time. It could be that the API has been updated so older python libraries won’t work anymore. MELCLOUD is definitely not available in AU/NZ so I will play around with the existing libraries some more… Hopefully you wont need to share you credentials
I created a fake account and could definitely log into the API. What is the issue you are having with the current app? You are using the o0Zz library right?
Yes, I was using o0Zz library and it actually worked well for a while, when I had only two a/c units in the house. Then I added three more units and an Ecodan for hot water/radiators, and o0Zz plugin never worked again. The Ecodan is also perfectly managed by Melcloud with the same basic functions: water on, heating on, temp, etc. Here’s the error log I get when I try to run it:
2018-11-28 07:01:39 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform melcloud
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
SLOW_SETUP_MAX_WAIT, loop=hass.loop)
File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
return fut.result()
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/climate/melcloud.py", line 574, in setup_platform
devices = mc.getDevicesList()
File "/config/custom_components/climate/melcloud.py", line 389, in getDevicesList
devices.append( MelCloudDevice(device["DeviceID"], device["BuildingID"], device["DeviceName"], self._authentication) )
File "/config/custom_components/climate/melcloud.py", line 151, in __init__
self._refresh_device_info()
File "/config/custom_components/climate/melcloud.py", line 179, in _refresh_device_info
self._temp_list.append(self._json["RoomTemperature"])
KeyError: 'RoomTemperature'
Scotty, are you sure about MELVIEW not being available in AU/NZ? I had my aircons installed last week and I use the MELVIEW app. I can’t register a MELCLOUD account (AU/NZ not available when trying to register MELCLOUD) (I’m in NZ)
Yeah I was confusing the two. You are right - MELVIEW is the AU/NZ app, whereas MELCLOUD is the EU based service… I haven’t looked into either of them much because I got the local Echonet-lite service running which means I didn’t need to talk to a cloud-based API. Having said that I am interested in continuing to develop my library - what AC/Wifi Combo do you use?