Reverse-engineered client for LG ThinQ v2 IoT devices
This is a reverse-engineered client for the LG ThinQ v2 IoT protocol.
If you are working with v1 devices, try wideq,
which inspired this project.
This is very much a work in progress.
There are no unit tests, there is no documentation, there is no defined API and
breaking changes are almost guaranteed to happen. Fun times!
This project uses poetry for dependency management.
To configure a development environment, run poetry install.
There is currently no documentation, but you can use example.py to demo the
codebase, and its code shows basic usage. The COUNTRY_CODE and LANGUAGE_CODE
environment variables should be set appropriately on first invocation in order
to bootstrap the client. These will be stored in state for future invocations.
Example:
poetry install
COUNTRY_CODE=US LANGUAGE_CODE=en-US poetry run python example.py
Example (Windows Powershell):
$env:COUNTRY_CODE=US
$env:LANGUAGE_CODE=en-US
poetry run python example.py
The example script will bootstrap the application state on first run, walking
you through the OAuth flow. If authentication succeeds, you should see a
display of basic account information and a list of your ThinQv2 devices. The
script will then begin dumping device events received via MQTT. Try turning
devices on/off or otherwise changing their state, and you should see raw events
being sent.
As this is an early stage prototype, no contribution guidelines are available,
but help is always welcome!