Contribution - LG ThinQ Binding

Hi Nemer, Is it possible to add Canada Country: “country”: “CA”, “language”: “en-CA” please.

It’s not necessary. Please, see this post for more details:

If you have some problem, let me know.

Hi folks. This topic became too big and generic. It’s been quite complicated to handle the subtopics about specific devices supported by this binding in just one generic topic.
Thus, I kindly ask you guys to follow the following new topics related to the specific devices, leaving this main topic just to general/core binding issues and claim for new devices support:
LG Thinq Air Conditioners:

LG Thinq Washer/Dryers:

LG Thinq Fridges:

Regards !

1 Like

Hi there,

I have successfully added the binding:
358 │ Active │ 80 │ 3.4.3.202303141750 │ openHAB Add-ons :: Bundles :: LG Thinq Binding

Successfully added the bridge with custom country and language and bridge can go online.
Successfully added my portable air condiiton and cab go online.

But when I check my log, I got the following msg every 10 secs:

2023-03-28 00:12:32.218 [ERROR] [handler.LGThinQAirConditionerHandler] - Unexpected Error gettinf ACCapability Capabilities

org.openhab.binding.lgthinq.internal.errors.LGThinqApiException: Error parsing capability registry

	at org.openhab.binding.lgthinq.lgservices.LGThinQAbstractApiClientService.getCapability(LGThinQAbstractApiClientService.java:257) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler.getCapabilities(LGThinQAbstractDeviceHandler.java:207) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAirConditionerHandler.updateDeviceChannels(LGThinQAirConditionerHandler.java:103) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAirConditionerHandler.updateDeviceChannels(LGThinQAirConditionerHandler.java:1) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler.updateThingStateFromLG(LGThinQAbstractDeviceHandler.java:304) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler$UpdateThingStateFromLG.run(LGThinQAbstractDeviceHandler.java:282) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at java.lang.Thread.run(Thread.java:829) [?:?]

Caused by: org.openhab.binding.lgthinq.internal.errors.LGThinqException: Course node not present in Capability Json Descriptor

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.AbstractWasherDryerCapabilityFactory.create(AbstractWasherDryerCapabilityFactory.java:71) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.WasherDryerCapabilityFactoryV1.create(WasherDryerCapabilityFactoryV1.java:42) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.AbstractWasherDryerCapabilityFactory.create(AbstractWasherDryerCapabilityFactory.java:1) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.CapabilityFactory.create(CapabilityFactory.java:86) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.LGThinQAbstractApiClientService.getCapability(LGThinQAbstractApiClientService.java:253) ~[bundleFile:?]

	... 11 more

Any idea ?

Thanks.

Patrick

Will you also be looking into the heat pump ? See my posts above, thanks.

Try a new version I uploaded in my repository. It was a bug, but I probably forgot to update the binary in the repository.

Sorry I just missed your post. I’m finishing remote start for Washer V1 right now. After that, I will focus on your device, OK ?

Regards

Sure, thanks.

Thanks for the reply.
Updated to the latest version:

358 │ Active │ 80 │ 3.4.3.202303201227 │ openHAB Add-ons :: Bundles :: LG Thinq Binding

Tried restart the bundle itself and the whole openhab service already
But seems the error still there every 10 secs.

2023-03-28 13:46:54.653 [ERROR] [handler.LGThinQAirConditionerHandler] - Unexpected Error gettinf ACCapability Capabilities

org.openhab.binding.lgthinq.internal.errors.LGThinqApiException: Error parsing capability registry

	at org.openhab.binding.lgthinq.lgservices.LGThinQAbstractApiClientService.getCapability(LGThinQAbstractApiClientService.java:257) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler.getCapabilities(LGThinQAbstractDeviceHandler.java:207) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAirConditionerHandler.updateDeviceChannels(LGThinQAirConditionerHandler.java:103) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAirConditionerHandler.updateDeviceChannels(LGThinQAirConditionerHandler.java:1) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler.updateThingStateFromLG(LGThinQAbstractDeviceHandler.java:304) [bundleFile:?]

	at org.openhab.binding.lgthinq.internal.handler.LGThinQAbstractDeviceHandler$UpdateThingStateFromLG.run(LGThinQAbstractDeviceHandler.java:282) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at java.lang.Thread.run(Thread.java:829) [?:?]

Caused by: org.openhab.binding.lgthinq.internal.errors.LGThinqException: Course node not present in Capability Json Descriptor

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.AbstractWasherDryerCapabilityFactory.create(AbstractWasherDryerCapabilityFactory.java:71) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.WasherDryerCapabilityFactoryV1.create(WasherDryerCapabilityFactoryV1.java:42) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.devices.washerdryer.AbstractWasherDryerCapabilityFactory.create(AbstractWasherDryerCapabilityFactory.java:1) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.model.CapabilityFactory.create(CapabilityFactory.java:86) ~[bundleFile:?]

	at org.openhab.binding.lgthinq.lgservices.LGThinQAbstractApiClientService.getCapability(LGThinQAbstractApiClientService.java:253) ~[bundleFile:?]

I’m not sure if it’s a problem with the binding:
I run my heatpump with fancoils, allowed it to be able to cool down to 5° (disabled the anti condensation feature). I can set down to 5° on the app. When I try on the other hand with the binding, it reverts back to 17°, which I believe is the lowest (standard) anti-condensation temperature.

hello,i just got my new Refrigerator and add it in the thinq lg app.After that the fridge showed up in my inbox and i add it allright.
i got


and 3 channels ,fridge temp,freezer temp and Temp_Unit string channel.I link the temp items and shows 4.0 C for the freezer and 5.0 for the fridge.These values never change…what is wrong?Isn’t that Refrigerator supported?

AFAIK they are the setpoint temperature, not measured temperature.

nope ,setpoint temps are 3C and -18C …

I did some debugging on my fridge a few months back, and for my model it apparently was setpoint. Also did add a channel for door status, but not sure if the change has been factored in yet; Thinq fridge improvements by seime · Pull Request #1 · nemerdaud/openhab-addons · GitHub

Cheers

No, it’s not been included yet, Arne. Actually, it’s under go to the new release. I’m trying to finish the Washer implementation. I was faced to a particular situation that Washer/Dryers has some Dynamic Groups and Cannels depending on the Remote Start configuration. It’s a kind of complex device to implement and it’s consuming a lot of my time. Hopefully I’m in the end, doing some tests and as soon as it’s ready we can analise better the Fridge device as well

1 Like

restarting openhab fixed it,now it shows the right setpoint temps.They cant be changed through openhab but when i change them from LG app they update to the right ones.I am SO disappointed from LG…I cant believe that wifi new model fridge does not show the current temperature but only the setpoint ones!

Hi guys, I uploaded a new version of the binding with the following new features:

  • Dynamic features (channels) for WM/Dryer remote start: when you configure the course and enable remote start (with standby off), the a Group called (Remote Start) will come up with the parameterized features (rinse, spin, temperature, etc) depending on the Course capability defined and supported by the device.
  • To start the WM in remote start function, just put in ON the Remote Start/Stop switch
  • Fixed support for Portable Air Conditioners
  • Fixed support for custom Zoned Date/Time. For some cases, in some countries/languages, OH can’t parse the date/time for the binding cousing erros to present Remaining and Delay time.

OBS: The remote start for VW/Dryer V1 was not implemented yet. It’s a little more complicated because needs to create a bitmap to send. It’s a TODO for now.

3 Likes

Guys,
I released a new version of the binding, with some fixes in WM & Dryer and the merge with Fridge improvements provided by @seime.

OBS: It’s always a good practice to processed with a security backup before updating the binding, because it’s still WIP.

Regards.

Hi, @jpalo. I fixed textual configuration missing in the binding. Now you can configure it textually. An example:

Bridge lgthinq:bridge:WiremockThinqBridge-text [ username="fakeusers", password="fakepassword", language="--", country="--", manualLanguage="PT", manualCountry="pt-BR", poolingIntervalSec=600 ] {
 Thing 201 washer [ model_url_info="https://objectcontent.lgthinq.com/f0f433e7-4f52-459c-b91f-505ca46ff84f?hdnts=exp=1729667409~hmac=c87b9a3e030e499d977e58ae57b02dc4fb656afb046ae39341e974d60cad6e49a", 
                                device_id="washer-0002-5772", platform_type="thinq2" ]

But look, as I said, some needed information is not public. It’s discovered after you get the bridge configured, and the bridge access LG API and get hidden information of the device, like model_url_info and device_id. I really don’t know that textually configure is viable or useful.

Regards.

1 Like

Hi, folks. I provided the current WIP binding for the OH4 & OH3 versions in my workspace (thanks @hmerk). Currently I’m still testing with OH3, because in my environment I have custom automations that uses blockly, javascript and… the worst… it’s a 32bits raspeberian and currently has no java17 version available for it. But, in a near future I will reinstall and upgrade to OH4, but still providing distributions for OH3&4.

Regards

1 Like