homebridge-lg-airco
Version:
Homebridge plugin to control a Smart Thinq enabled LG airco unit. Makes use of WideQ => https://github.com/sampsyo/wideq
63 lines (52 loc) • 3.84 kB
Markdown
This Homebridge plugin allows control over a Smart Thinq enabled LG Airco unit.
To install this plugin simple type `sudo npm install homebridge-lg-airco -g --unsafe-perm=true`.
Next open the config.json that contains your Homebridge configuration and add a block like the following one to the accessories array:
```json
{
"accessory": "LgAirCooler",
"name": "LG Airco",
"deviceId": "OPTIONAL_DEVICE_ID",
"model": "AC RAC_056905_WW",
"country": "BE",
"language": "en-UK",
"maxCoolingTemp": 26,
"minCoolingTemp": 18,
"maxHeatingTemp": 30,
"minHeatingTemp": 5,
"updateInterval": 60000,
"debug": false,
"dummy": false
}
```
The accessory name has to be `LgAirCooler` to link to the plugin.
The `name` field is for the display name in the HomeKit app.
The `deviceId` field is the device id for you cooler, optional, only provide this if you have more than one AC unit! instructions below how to obtain it!
The `country` field is the 2 letter country code (XX) of the chosen country of your LG SmartThinq account.
The `language` field is the 4 letter language code (xx-XX) of the chosen language of your LG SmartThinq account.
The `model` field is the model of the AC unit being used. This value is used to show in the information section.
The `maxCoolingTemp` field is the maximum settable temperature when in COOLING mode.
The `minCoolingTemp` field is the minimum settable temperature when in COOLING mode.
The `maxHeatingTemp` field is the maximum settable temperature when in HEATING mode.
The `minHeatingTemp` field is the minimum settable temperature when in HEATING mode.
The `updateInterval` field is the interval that is used to fetch new state data from the AC unit. In milliseconds!
The `debug` field is the boolean that enables or disables debug logging, set this to false unless collecting logs.
The `dummy` field is the boolean that enables mocking out the LG API and will instead use a dummy AC unit with no network calls, only for development & testing!
The initial state will be fetched shortly after booting your Homebridge instance.
After that an update of the state is performed every minute.
## Requirements
- A SmartThinq compatible LG airco unit (Tested with an PC12SQ NSJ)
- Registered through the V1 LG API!!! V2 API is NOT YET supported!!!
## Setup guide
- Open a terminal on the device where you installed this plugin and type: `cd "$(npm root -g)" && cd homebridge-lg-airco/resources/wideq`
- Your terminal should navigate to the folder, if any error comes up the plugin was not installed correctly!
- Make sure requests has been installed, if not execute: `sudo python3 -m pip install requests`
- Execute the command `python3 example.py -c country-code -l language-code -p path-to-wideq-file-in-homebridge-folder` where you should replace `country-code`, `language-code` and `path-to-homebridge-folder` with the respective values.
For example: `python3 example.py -c BE -l en-UK -p /home/pi/.homebridge/wideq_state.json`
- Make sure the wideq_state.json does not exist yet! If the file is corrupted, delete it before executing the command again!
- Follow the instructions on the screen, and paste the resulting URL back into the terminal.
The command will now print out a list of all known devices for your account. If wanted select the one you want and paste the value in the `config.json` file at the `deviceId` field of the corresponding accessory definition.
It will also generate a file in which the session is stored in the Homebridge folder.
- The plugin is now fully ready to be used in Homebridge!
This code makes use of the `WideQ` library, more information [here](https://github.com/sampsyo/wideq).
Some changes have been made to the included version of the WideQ library.