JobDoesburg / homebridge-mhi-wfrac

A homebridge plugin for Mitshubishi WF-RAC aircos (using the Smart M-Air app)
Apache License 2.0
0 stars 0 forks source link
air-conditioning homebridge-plugin mitsubishi-heavy-industries wf-rac

Homebridge MHI WF-RAC

verified-by-homebridge npm npm

This is a Homebridge plugin for Mitsubishi WF-RAC air conditioners controlled by the Smart M-Air app. This plugin exposes three services to HomeKit as one device: a thermostat service for HEATing and COOLing (or AUTO), a fan (additional to the thermostat, or standalone for FAN mode), and a dehumidifier. The devices are automatically discovered on the local network (using mDNS bonjour).

Prerequisites

  1. Smart M-Air App Configuration: First, configure the devices with the Smart M-Air app according to the normal instructions provided by Mitsubishi.
  2. Homebridge Setup: Ensure you have Homebridge installed and set up on your system.

Installation

  1. Install the Plugin: Install this plugin using Homebridge Config UI X or via the command line.

    npm install -g homebridge-mhi-wfrac
  2. Update Homebridge Configuration: Update your Homebridge config.json file with the platform configuration, setting the Operator ID that corresponds to your Smart M-Air app.

Operator ID

You will need to set the Operator ID of the app you configured. The Operator ID is a UUID that is randomly generated by the Smart M-Air app and registered as a remote control device to your air conditioner.

To find the Operator ID, you can do a simple curl request to the air conditioner's IP address.

curl http://<air-conditioner-ip>:51443/beaver/command -d '{"apiVer":"1.0","command":"getAirconStat","deviceId":"<deviceName>","operatorId":"1234567890","timestamp":1722259820}'

This will return a JSON response with the current status of the air conditioner, including a remoteList array with the Operator ID(s) that are registered to the air conditioner. Notice that for getting the device status, you also need to provide a operatorId in the request, but it can be any random string. Also, the timestamp can be any number, but it must be a valid UNIX timestamp. For setting the status of the air conditioner, you will need to use the Operator ID that is registered to the air conditioner and a valid recent timestamp.

In the future, it would be possible to register the homebridge plugin as a separate remote control device on first discovery, but for now, you will need to use the Operator ID of the Smart M-Air app.

Specific Homekit behavior

Limitations

Contributing

We welcome contributions to this project. If you have an idea for a new feature or have found a bug, please open an issue or submit a pull request.

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for details.

Acknowledgements

This plugin was developed taking inspiration from the https://github.com/edwinvdpol/com.mhi.wfrac Homey app by Edwin van der Pol.