I’ve put together a first cut of a binding that integrates with Mitsubishi Electric’s MHK2 wireless controller for split systems. These are systems that allow access using Mitsubishi’s Kumo Cloud mobile app. I’ve been testing it out with the unit installed on my SVZ/MVZ series ducted air handler and the results are promising. It should work with other systems using this controller connected to the CN105 port on the air handler or indoor unit.
Supported features include fetching current mode, set points, temperature, humidity, fan speed and vane direction. Mode, set points, fan speed and vane direction can be set as well.
The binding discovers devices by connecting to a Kumo Cloud account. Internet access is only required for initial discovery, all control happens over a local API. The binding can be configured on a per-account basis to keep associated device ip addresses synced if they happen to change, such as a DHCP server handing out a different address. I do recommend, however, that each device be given a static address using a DHCP reservation. As a good IOT security practice, I also suggest blocking internet communication with the device at a firewall once everything is set up, for extra access control (though obviously this would prevent using the Kumo Cloud app for control).
Different Mitsubishi units support different features, and the binding currently discovers and accomodates most of those supported by a given unit (ie, is heat mode available, fan speeds, etc). There are a few TODO items related to this but they are mostly related to hiding channels and limiting temperature ranges and should not affect basic operation. These devices commonly have somewhat sketchy reliability, so the binding does attempt to retry requests in case the WIFI signal is poor or the module is restarting itself.
I’ve prepared a test release (tested on openhab 4.0.2) if anyone would like to try it out. Comments and suggestions are always welcome!
Installation and setup:
Simply drop the jar in your openhab addons/ directory. The binding should install itself automatically.
Add a Mitsubishi Kumo Cloud Account thing from the inbox and provide your Kumo Cloud username and password. The binding should then log in and discover any devices associated with your account.
If your devices do not have static (reserved) addresses, you should make sure the option to keep addresses updated is turned on. This will cause the binding to periodically check the cloud account to see if a given device’s address has changed.
Any discovered devices will be added to your inbox. Simply create things and then use whatever process you normally would to set up your things for your home.
I’ve not tested this binding on any of the vast array of split systems that Mitsubishi supports for Kumo Cloud. I’m hopeful that things will work, but your mileage may vary. I’m certainly commited to getting things working wherever possible.
The API this binding uses was reverse engineered by a number of people, and has not been made officially public by Mitsubishi Electric. It could be changed in the future and may not be possible keep the binding working. For this reason, it’s probably a smart idea to not allow your devices to communicate with the “mother ship” in case a future update breaks things.
Because of the way the authentication information is provided for each device, its not really possible to use config files to create individual devices.
Current TODO list:
- handle station (headless) devices properly
- confirm working with devices other than MVZ/SVZ
- dynamic channel creation based on supported features
- handle temperature limits advertised by device
- RSSI channel for signal strength