# LG ThinQ Binding for openHAB

This binding integrates the LG ThinQ cloud API with openHAB, enabling monitoring and control of several LG home appliances from both the ThinQ 1.0 and ThinQ 2.0 platforms.

It provides a standardized, robust, and officially aligned implementation following openHAB add-on guidelines.


# ⚠️ Compatibility Notice for Users Migrating from Unofficial or Legacy Versions

# Migration from Non-Official or Pre-5.0 LG ThinQ Bindings

If you are currently using any unofficial, manually installed, or forked version of the LG ThinQ binding --- particularly any version older than 5.0 --- please be aware that direct upgrade to the official binding distributed via the openHAB Add-on Store is not supported.

Major structural changes were introduced in the official version, including:

  • Standardization and renaming of channels\
  • Reorganization of metadata\
  • New Thing IDs\
  • Updated discovery and bridge flow\
  • Conformance to openHAB's add-on development guidelines

Because of these differences, Things created by older bindings are not compatible and cannot be migrated automatically.

# Required Migration Steps

To migrate successfully:

  1. Delete all existing LG ThinQ Things, including:

    • The LG ThinQ Bridge\
    • All discovered LG ThinQ devices
  2. Install the official LG ThinQ binding from the openHAB Add-on Store.

  3. Create a new LG ThinQ Bridge Thing using the official binding.

  4. Allow auto-discovery to detect your devices again and re-add them.

# What Can Be Preserved?

Your Items do NOT need to be deleted.

You may:

  • Keep all existing Items\
  • Re-link each Item to its corresponding new channel once devices are rediscovered

This allows you to preserve UI pages, sitemaps, HABPanels, and automation rules.


# Supported Things

This binding support several devices from the LG ThinQ Devices V1 & V2 line. All devices require a configured Bridge. See the table bellow:

Thing ID Device Name Versions Special Functions Commands Obs
air-conditioner-401 Air Conditioner V1 & V2 Filter and Energy Monitoring All features in LG App, except Wind Direction
dishwasher-204 Dish Washer V2 None None Provide only some channels to follow the cycle
dryer-tower-222 Dryer Tower V1 & V2 None All features in LG App (including remote start) LG has a WasherDryer Tower that is 2 in one device.
When this device is discovered by this binding, it's recognized as 2 separated devices Washer and Dryer
washer-tower-221 Washer Tower V1 & V2 None All features in LG App (including remote start) LG has a WasherDryer Tower that is 2 in one device.
When this device is discovered by this binding, it's recognized as 2 separated devices Washer and Dryer
washer-201 Washer Machine V1 & V2 None All features in LG App (including remote start)
dryer-202 Dryer Machine V1 & V2 None All features in LG App (including remote start)
fridge-101 Refrigerator V1 & V2 None All features in LG App
heatpump-401HP Heat Pump V1 & V2 None All features in LG App

# cloud-account Bridge

This binding has a Bridge responsible for discovering and registering LG Things. Thus, adding the Bridge (LGThinq GW Bridge) is the first step in configuring this Binding. The following parameters are available to configure the Bridge and to link to your LG Account as well:

Bridge Parameter Label Description Obs
language User Language More frequent languages used If you choose other, you can fill Manual user language (only if your language was not pre-defined in this combo
country User Country More frequent countries used If you choose other, you can fill Manual user country (only if your country was not pre-defined in this combo
manualLanguage Manual User Language The acronym for the language (PT, EN, IT, etc)
manualCountry Manual User Country The ISO 3166-1 alpha-2 country code, e.g. GB, US, BR (use GB — not UK — for the United Kingdom; the country must match the one your LG account was created in)
username LG User name The LG user's account (normally an email)
password LG Password The LG user's password
pollingIntervalSec Polling Discovery Interval It is the time (in seconds) that the bridge waits to try to fetch the devices registered to the user's account and, if it finds some new device, will show it as available to link. Please, choose a long time greater than 300 seconds.
alternativeServer Alt Gateway Server Only used if you have some proxy to the LG API Server or for Mock Tests

# Discovery

This Binding has auto-discovery for the supported LG Thinq devices. Once LG Thinq Bridge has been added, LG Thinq devices linked to your account will be automatically discovered and displayed in the openHAB Inbox.

# Thing Configuration

All the configurations are pre-defined by the discovery process. But you can customize to fine-tune the device's state polling process. See the table below:

Parameter Description Default Value Supported Devices
pollingPeriodPowerOffSeconds Seconds to wait to the next polling when device is off. Useful to save up i/o and cpu when your device is not working. If you use only this binding to control the device, you can put higher values here. 10 All
pollingPeriodPowerOnSeconds Seconds to wait to the next polling for device state (dashboard channels) 10 All
pollingExtraInfoPeriodSeconds Seconds to wait to the next polling for Device's Extra Info (energy consumption, remaining filter, etc) 60 Air Conditioner and Heat Pump
pollExtraInfoOnPowerOff If enables, extra info will be fetched in the polling process even when the device is powered off. It's not so common, since extra info are normally changed only when the device is running. Off Air Conditioner and Heat Pump

# Channels

# Air Conditioner

Most, but not all, LG ThinQ Air Conditioners support the following channels:

# Dashboard Channels

channel # channel type description
target-temperature Target Temperature Number:Temperature Defines the desired target temperature for the device
current-temperature Temperature Number:Temperature Read-Only channel that indicates the current temperature informed by the device
fan-speed Fan Speed Number This channel let you choose the current label value for the fan speed (Low, Medium, High, Auto, etc.). These values are pre-configured in discovery time.
op-mode Operation Mode Number (Labeled) Defines device's operation mode (Fan, Cool, Dry, etc). These values are pre-configured at discovery time.
power Power Switch Define the device's Power state.
cool-jet Cool Jet Switch Switch Cool Jet ON/OFF
auto-dry Auto Dry Switch Switch Auto Dry ON/OFF
energy-saving Energy Saving Switch Switch Energy Saving ON/OFF
fan-step-up-down Fan VDir Number Define the fan vertical direction's mode (Off, Upper, Circular, Up, Middle Up, etc)
fan-step-left-right Fan HDir Number Define the fan horizontal direction's mode (Off, Lefter, Left, Circular, Right, etc)

# More Information Channel

channel # channel type description
extra-info-collector Enable Extended Info Collector Switch Enable/Disable the extra information collector to update the bellow channels
current-energy Current Energy Number:Energy The Current Energy consumption in Kwh
remaining-filter Remaining Filter Number:Dimensionless Percentage of the remaining filter

# Heat Pump

LG ThinQ Heat Pump supports the following channels

# Heat Pump Channels

channel # channel type description
target-temperature Target Temperature Number:Temperature Defines the desired target temperature for the device
min-temperature Minimum Temperature Number:Temperature Minimum temperature for the current operation mode
max-temperature Maximum Temperature Number:Temperature Maximum temperature for the current operation mode
current-temperature Temperature Number:Temperature Read-Only channel that indicates the current temperature informed by the device
op-mode Operation Mode Number (Labeled) Defines device's operation mode (Fan, Cool, Dry, etc). These values are pre-configured at discovery time.
power Power Switch Define the device's Current Power state.
air-water-switch Air/Water Switch Switch Switch the heat pump operation between Air or Water

# Heat Pump More Information Channel

channel # channel type description
extra-info-collector Enable Extended Info Collector Switch Enable/Disable the extra information collector to update the bellow channels
current-energy Current Energy Number:Energy The Current Energy consumption in Kwh

# Washer Machine

LG ThinQ Washer Machine supports the following channels

# Washer Machine Dashboard Channels

channel # channel type description
state Washer State String General State of the Washer
power Power Switch Define the device's Current Power state.
previous-state Previous State String Previous operation state reported by LG ThinQ
process-state Process State String States of the running cycle
course Course String Course set up to work
temperature-level Temperature Level String Temperature level supported by the Washer (Cold, 20, 30, 40, 50, etc.)
door-lock Door Lock Switch Display if the Door is Locked.
rinse Rinse String The Rinse set program
spin Spin String The Spin set option
delay-time Delay Time String Delay time programmed to start the cycle
remain-time Remaining Time String Remaining time to finish the course
stand-by Stand By Mode Switch If the Washer is in stand-by-mode
rs-flag Remote Start Switch If the Washer is in remote start mode waiting to be remotely started

# Washer Machine Remote Start Option

These channels are always present, but a remote start only works while it is enabled on the washer (rs-flag is ON).

channel # channel type description
rs-start-stop Remote Start/Stop Switch ON starts the washer
rs-course Course to Run String (Selection) Course to use for the remote start
rs-temperature-level Temperature Level String (Selection) Temperature for the remote start
rs-spin Spin String Spin speed for the remote start
rs-rinse Rinse String Rinse option for the remote start

When remote start gets enabled on the washer, these channels take over its current settings once. After that they keep your values, also while the washer is in stand-by. Changing rs-course doesn't change the other channels. A washer in stand-by must be woken up by sending ON to stand-by before the remote start.

# Dryer Machine

LG ThinQ Dryer Machine supports the following channels

# Dryer Machine Dashboard Channels

channel # channel type description
power Power Switch Define the device's Current Power state.
state Dryer State String General State of the Washer
previous-state Previous State String Previous operation state reported by LG ThinQ
process-state Process State String States of the running cycle
course Course String Course set up to work
temperature-level Temperature Level String Temperature level supported by the Washer (Cold, 20, 30, 40, 50, etc.)
child-lock Child Lock Switch Display if the Door is Locked.
dry-level Dry Level Course String Dry level set to work in the course
delay-time Delay Time String Delay time programmed to start the cycle
remain-time Remaining Time String Remaining time to finish the course
stand-by Stand By Mode Switch If the Washer is in stand-by-mode
rs-flag Remote Start Switch If the Washer is in remote start mode waiting to be remotely started

# Dryer Machine Remote Start Option

These channels are always present, but a remote start only works while it is enabled on the dryer (rs-flag is ON).

channel # channel type description
rs-start-stop Remote Start/Stop Switch ON starts the dryer
rs-course Course to Run String (Selection) Course to use for the remote start

# Dryer/Washer Tower

LG ThinQ Dryer/Washer is recognized as 2 different things: Dryer & Washer machines. Thus, for this device, follow the paragraph's for Dryer Machine and Washer Machine

# Refrigerator

LG ThinQ Refrigerator supports the following channels

# Refrigerator Dashboard Channels

channel # channel type description
door-open Door Open Contact Advice if the door is opened
freezer-temperature Freezer Set Point Temperature Number:Temperature Temperature level chosen. This channel supports commands to change temperature
fridge-temperature Fridge Set Point Temperature Number:Temperature Temperature level chosen. This channel supports commands to change temperature
temp-unit Temp. Unit String Temperature Unit (°C/F). Supports command to change the unit
express-mode Express Freeze Switch Channel to change the express freeze function (ON/OFF/Rapid)
express-cool-mode Express Cool Switch Channel to switch ON/OFF express cool function
eco-friendly-mode Vacation Switch Channel to switch ON/OFF Vacation function (unit will work in eco mode)

# Refrigerator More Information

This Channel Group is reports useful information data for the device:

channel # channel type description
fresh-air-filter Fresh Air Filter String Shows the Fresh Air filter status (OFF/AUTO/POWER/REPLACE)
water-filter Water Filter String Shows the filter's used months

OBS: some versions of this device can not support all the channels, depending on the model's capabilities.

# Full Example

Example of how to configure a Thing.

# Example demo.things

Bridge lgthinq:cloud-account:MyLGThinqBridge [ username="user@registered.com", password="cleartext-password", language="en-US", country="US", pollingIntervalSec=600] {
   Thing air-conditioner-401 myAC [ modelUrlInfo="<ac-model-url>", deviceId="<device-id>", platformType="<platform-type>", modelId="<model-id>", deviceAlias="<MyAC>" ]
}

Until now, there is no way to easily obtain the values of ac-model-url, device-id, platform-type and model-id. So, if you really need to configure the LGThinq Thing textually, I suggest you to first add it with the UI discovery process through the LG Thinq Bridge, then after, copy these properties from the Thing created and complete the textual configuration.

Here are some examples on how to map the channels to items.

# Example demo.items

Switch               ACPower        "Power"                   <switch>  { channel="lgthinq:air-conditioner-401:myAC:dashboard#power" }
Number               ACOpMode       "Operation Mode"          <text>    { channel="lgthinq:air-conditioner-401:myAC:dashboard#op-mode" }
Number:Temperature   ACTargetTemp   "Target Temperature"      <text>    { channel="lgthinq:air-conditioner-401:myAC:dashboard#target-temperature" }
Number:Temperature   ACCurrTemp     "Temperature"             <text>    { channel="lgthinq:air-conditioner-401:myAC:dashboard#current-temperature" }
Number               ACFanSpeed     "Fan Speed"               <text>    { channel="lgthinq:air-conditioner-401:myAC:dashboard#fan-speed" }
Switch               ACCoolJet      "CoolJet"                 <switch>  { channel="lgthinq:air-conditioner-401:myAC:dashboard#cool-jet" }
Switch               ACAutoDry      "Auto Dry"                <switch>  { channel="lgthinq:air-conditioner-401:myAC:dashboard#auto-dry" }
Switch               ACEnSaving     "Energy Saving"           <switch>  { channel="lgthinq:air-conditioner-401:myAC:dashboard#emergy-saving" }
Number               ACFanVDir      "Vertical Direction"      <text>    { channel="lgthinq:air-conditioner-401:myAC:dashboard#fan-step-up-down" }

# Example demo.sitemap

All the channels already have StateDescription for the selection Channels. So, unless you want to rename theirs into demo.items, you can simply define as Selection that the default description of the values will be displayed.


sitemap demo label="Air Conditioner"
{
    Frame label="Dashboard" {
        Switch    item=ACPower
        Selection item=ACOpMode
        Selection item=ACTargetTemp
        Text      item=ACCurrTemp
        Selection item=ACFanSpeed
        Switch    item=ACCoolJet
        Switch    item=ACAutoDry
        Switch    item=ACEnSaving
        Selection item=ACFanSpeed
    }
}