nVuln / homebridge-lg-thinq

A Homebridge plugin for controlling/monitoring LG ThinQ device via their ThinQ platform.
https://github.com/nVuln/homebridge-lg-thinq
Apache License 2.0
217 stars 48 forks source link

Support for Dehumidifier, Washer, & Dryer #4

Closed town3r closed 2 years ago

town3r commented 3 years ago

Is your feature request related to a problem? Please describe: Currently only supports Refrigerator and Air Purifiers. Other devices don't show up.

Describe the solution you'd like: Ability to monitor status & possibly control additional devices. ie

Describe alternatives you've considered: Looks like an older version (wideq) used to have the ability to do this. https://github.com/ssut/wideq-js

Additional context: Example of LG devices that you might be able to add support for from wideq-js: Device Implementation Status Control
Dehumidifier ✔️ ✔️ ✔️
AC ✔️ ⚠️ needs testing ⚠️ needs testing
Refrigerator ✔️ ✔️ ✔️
Dishwasher ✔️ ⚠️ needs testing
Dryer ✔️ ⚠️ needs testing
Washer ✔️ ⚠️ needs testing
nVuln commented 3 years ago

how about airState.notificationExt ? next time water tank is full, do not click to read notification on app (they will mark as read), just empty it on device and restart, let see if airState.notificationExt changed or not

town3r commented 3 years ago

Unfortunately, the "airState.miscFuncState.watertankLight":1 doesn't change to match the current state of the hardware.

But I think you might be right. From previous debug logs above Tank Full & Light On "airState.notificationExt":1 Tank Empty & Light Off "airState.notificationExt":0

New test: Full Tank alert = "airState.notificationExt":1 Didn't open app. Emptied tank & restarted homebridge = "airState.notificationExt":0

I do have a feeling that the notification might also be triggered if the humidity level gets too high like in my previous screenshot. Can't easily test that. But next time i have it off for a while and that alert pops up, I'll see if i can remember to check the debug logs.

I did notice this "airState.notification":256 any idea what 256 is related to?

town3r commented 3 years ago

Think you could tie the tank Full / Empty state to the public.hap.characteristic.water-level for dehumidifiers?

”9.128 Water Level” (page 234)

Property: Value UUID: 000000B5-0000-1000-8000-0026BB765291 Type: public.hap.characteristic.water-level Permissions: Paired Read, Notify Format: float Minimum Value: 0 Maximum Value: 100 Step Value: 1 Unit: percentage

nVuln commented 3 years ago

I did notice this "airState.notification":256 any idea what 256 is related to?

I guess this field is total notification of device, but maximum of this field is 1 byte = 256

If you wanna test, try remove all notification and see

town3r commented 3 years ago

I guess this field is total notification of device, but maximum of this field is 1 byte = 256 If you wanna test, try remove all notification and see Thanks! Gave it a try but the value remains the same at 256. All good.

lukebelz commented 3 years ago

The model number I ordered is UD501KOJ5. Hopefully that is the same but I figured it should should the same protocol, even if the models are slightly different. I’ll see what happens when it arrives this Friday.

town3r commented 3 years ago

The model number I ordered is UD501KOJ5. Hopefully that is the same but I figured it should should the same protocol, even if the models are slightly different. I’ll see what happens when it arrives this Friday.

Ahh yup! That's the same one I got. It's been great so far. Kinda loud but as you said thanks to @nVuln it works with HomeKit.

HomeKit ALL THE THINGS!

lukebelz commented 3 years ago

I agree, all things HomeKit! It drive me nuts how many things I want in HomeKit but there’s no support. So glad to see this one coming together. I may end up having to learn to write these plugins though.

Thanks again to both of you for all of this work!

nVuln commented 3 years ago

I already published test version v1.2.0-test.7, use water tank status based on airState.notificationExt, only 2 state FULL 100% or empty 0% hope it works

town3r commented 3 years ago

I already published test version v1.2.0-test.7, use water tank status based on airState.notificationExt, only 2 state FULL 100% or empty 0%

hope it works

Thanks! Think you could remove the light bulb object or is that attached to the new water tank state w/ the notificationExt as well?

nVuln commented 3 years ago

I already published test version v1.2.0-test.7, use water tank status based on airState.notificationExt, only 2 state FULL 100% or empty 0% hope it works

Thanks! Think you could remove the light bulb object or is that attached to the new water tank state w/ the notificationExt as well?

yup, lighbulb is removed in that version, just remove accessory cache how about IDLE status, it's correct ?

town3r commented 3 years ago

Ahh yeah I had to clear the cached accessory.

Tho after that idk what happened but I ended up having to reset the Homebridge accessory itself and re-add everything. ¯_(ツ)_/¯

Side note: when full tank alert popped.

HomeKit updated w/ water tank 100%

image

town3r commented 3 years ago

As for the idle state.

If it's dehumidifying it looks like this and says lowering to XX% image

Where if it's "idle" it just says Set to % image

At least I'm guessing. Not sure if it normally says "Dehumidifying", "Idle", or "Inactive"