UNPKG

@shadman-a/homebridge-my-ac

Version:

A Homebridge plugin for controlling/monitoring LG ThinQ devices via LG ThinQ platform.

133 lines (98 loc) 5.79 kB
<p align="center"> <img src="https://raw.githubusercontent.com/homebridge/branding/latest/logos/homebridge-wordmark-logo-vertical.png" width="150"> </p> # Homebridge LG ThinQ [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins) [![npm](https://img.shields.io/npm/v/homebridge-lg-thinq/latest?label=latest)](https://www.npmjs.com/package/homebridge-lg-thinq) [![npm](https://img.shields.io/npm/dt/homebridge-lg-thinq)](https://www.npmjs.com/package/homebridge-lg-thinq) [![join-discord](https://badgen.net/badge/icon/discord?icon=discord&label=homebridge-lg-thinq)](https://discord.gg/wEfQpCDtS7) ## Overview A Homebridge plugin for controlling/monitoring LG ThinQ device via their ThinQ platform. ⚠️ This library works with v2 of the LG ThinQ API. But some v1 device may backward compatible, please check table [Implementation Status](#implementation-status) below. A plugin for interacting with the "LG ThinQ" system, which can control new LG smart device. API used in this plugin is not official, I reversed from their "LG ThinQ" mobile app. ## Installation ``` npm i -g homebridge-lg-thinq ``` # Configuration > ✔️ I highly recommend using [homebridge-config-ui-x](https://github.com/oznu/homebridge-config-ui-x#readme) to make these changes. 1. Navigate to the Plugins page in [homebridge-config-ui-x](https://github.com/oznu/homebridge-config-ui-x). 2. Click the **Settings** button for the LG ThinQ plugin. 3. Login to your LG account 4. Add or remove which devices you want 5. Restart Homebridge for the changes to take effect. > ⚠️ Or you can manual edit it, add json below to config.json (not recommend) ```json { "auth_mode": "token", "refresh_token": "**refresh*token**", "username": "lg username", "password": "lg password", "country": "US", "language": "en-US", "thinq1": false, "devices": [ { "id": "device id" } ], "platform": "LGThinQ" } ``` - `auth_mode` Required. You can choose between `token` and `account` - `refresh_token` Required if `auth_mode` = `token`. The `refresh_token` of your account. - `username` Required if `auth_mode` = `account`. LG thinQ account - `password` Required if `auth_mode` = `account`. LG thinQ password - `country` Required. Your account [country alpha-2 code](https://www.countrycode.org/), e.g., US for the USA. - `language` Required. Your account language code, e.g., en-US, vi-VN. - `devices` List devices you want add to homebridge, leave it empty if you want add all devices. See [Wiki](https://github.com/nVuln/homebridge-lg-thinq/wiki/Wiki) for specific device configuration. - `thinq1` Optional. Enable thinq1 device support - `platform` value always `LGThinQ` ## Plugin Authorization Setting * See [Wiki - Plugin Authorization Setting](https://github.com/nVuln/homebridge-lg-thinq/wiki/Plugin-Authorization-Setting) ## Device specific configuration * See [Wiki - Device Configuration](https://github.com/nVuln/homebridge-lg-thinq/wiki/Device-Configuration) ## Implementation Status | *Device* | *Implementation* | *Status* | *Control* | *Thinq2* | *Thinq1* | |----------------| --- | --- | --- | --- | --- | | Refrigerator | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Air Purifier | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Washer & Dryer | ✔️ | ✔️ | 🚫 | ✔️ | ✔️ | | Dishwasher | ✔️ | ✔️ | 🚫 | ✔️ | 🚫 | | Dehumidifier | ✔️ | ✔️ | ⚠️ | ✔️ | 🚫 | | AC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Oven | ✔️ | ✔️ | ✔️ | ⚠️ | ⚠️ | | Microwave | ✔️ | ✔️ | ✔️ | ⚠️ | ⚠️ | for more device support please open issue request. ## Contributors ✨ - Special thank to [carlosgamezvillegas](https://github.com/carlosgamezvillegas) for implementing Oven & Microwave device support. More detail in [#87](https://github.com/nVuln/homebridge-lg-thinq/issues/87) ## Support If you have a question, please [start a discussion](https://github.com/nVuln/homebridge-lg-thinq/discussions/new) or leave a message at [discord channel](https://discord.gg/wEfQpCDtS7). If you would like to report a bug, please [open an issue](https://github.com/nVuln/homebridge-lg-thinq/issues/new/choose). ## Accessory Settings in the Home App HomeKit does not allow plugins to expose custom settings in the gear icon of an accessory. Any plugin-specific configuration must be set in Homebridge (for example via Homebridge Config UI X). When a plugin needs user-adjustable options in the Home app, the typical workaround is to expose those options as extra switches or custom characteristics on the accessory. This plugin does not currently create additional services for configuration, so options like device IDs or polling intervals still need to be managed from the Homebridge UI. To quickly toggle Energy Saver or Fan mode from the Home app without additional services, the Heater/Cooler target state values are repurposed: **Auto** enables Energy Saver mode and **Heat** activates Fan mode. When the AC is in Fan mode, the accessory reports **Idle** for `CurrentHeaterCoolerState` so the Home app reflects that no cooling is taking place. ## CLI Usage ``` $ thinq Usage: thinq [options] [command] Options: -c, --country <type> Country code for account (default: "US") -l, --language <type> Language code for account (default: "en-US") -h, --help display help for command Commands: login <username> <password> Obtain refresh_token from LG account auth Obtain refresh_token from account logged by Google Account, Apple ID help [command] display help for command ```