sman591 / homebridge-lg-thinq-ac

Homebridge plugin for LG ThinQ-enabled portable air conditioner
Apache License 2.0
53 stars 16 forks source link

Window AC with Thinq1 does not work #7

Closed jakemauer closed 4 years ago

jakemauer commented 4 years ago

Hi there!

I have an LG LW1019IVSM window AC unit that uses the LG Thinq app. How can I be useful in helping to get it working with this plugin? I'm happy to provide any sorts of logs or test API endpoints etc.

All I've done so far is install and set up the plugin on my homebridge docker container but all I get are 400 errors in the log from the LG API endpoints.

Thanks for your work on this!

sman591 commented 4 years ago

Hey! Happy to try to get this working.

For debug mode: start with homebridge -D or go to the /settings Homebridge settings page in the UI to turn it on and restart

jakemauer commented 4 years ago

Yes I can definitely log in and get all the right URLs and access keys. I'll get you debug logs in a jiff.

jakemauer commented 4 years ago

Here we go. I removed a lot of non-config/LG Thinq related stuff. But anything LGThinq was left in.

[5/19/2020, 1:29:21 PM] [HB Supervisor] Started Homebridge v1.1.0 with PID: 3882
[5/19/2020, 1:29:21 PM] Loaded config.json with 0 accessories and 6 platforms.
[5/19/2020, 1:29:21 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-dummy@0.4.1
[5/19/2020, 1:29:22 PM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-dyson-link@2.5.2
homebridge API version: 2.6
[5/19/2020, 1:29:22 PM] Registering platform 'homebridge-dyson-link.DysonPlatform'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-frigidaire@1.0.7
[5/19/2020, 1:29:22 PM] Registering platform 'homebridge-frigidaire.Frigidaire'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-harmonyhub-plugin@0.5.6
[5/19/2020, 1:29:22 PM] Registering platform 'homebridge-harmonyhub-plugin.HarmonyHub'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-lg-thinq-ac@0.3.4
[5/19/2020, 1:29:22 PM] Registering platform 'homebridge-lg-thinq-ac.LgThinqAirConditioner'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:22 PM] Loaded plugin: homebridge-ps4-waker-platform@1.0.3
[5/19/2020, 1:29:22 PM] Registering platform 'homebridge-ps4-waker-platform.PS4WakerPlatform'
[5/19/2020, 1:29:22 PM] ---
[5/19/2020, 1:29:23 PM] Loaded plugin: homebridge-synology@0.3.1
[5/19/2020, 1:29:23 PM] Registering accessory 'homebridge-synology.Synology'
[5/19/2020, 1:29:23 PM] ---
[5/19/2020, 1:29:23 PM] Loaded plugin: homebridge-config-ui-x@4.19.0
[5/19/2020, 1:29:23 PM] Registering platform 'homebridge-config-ui-x.config'
[5/19/2020, 1:29:23 PM] ---
[5/19/2020, 1:29:23 PM] Loading 6 platforms...
[5/19/2020, 1:29:23 PM] [LgThinqAirConditioner] Initializing LgThinqAirConditioner platform...
[5/19/2020, 1:29:23 PM] [LgThinqAirConditioner] Finished initializing platform: undefined
[5/19/2020, 1:29:23 PM] [Config] Initializing config platform...
[5/19/2020, 1:29:23 PM] [Config] Running in Service Mode
[5/19/2020, 1:29:23 PM] [LgThinqAirConditioner] Executed didFinishLaunching callback
[5/19/2020, 1:29:24 PM] [LgThinqAirConditioner] Initiating auth with provided redirect URL

[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] dashboardResponse {
  resultCode: '0000',
  result: {
    langPackCommonVer: '74.2',
    langPackCommonUri: 'https://objectstore.lgthinq.com/7abfc907-9e11-4c9e-bd2a-8397c1bb68de?Expires=1652233492&Signature=c99IXC4EDJiPSudULmVf8fRHISWPkCLWMdNiDQ97EwCF8It5fsIa7EMxM~wFaQRjN1KIrvKfKw9rXX3J~R8k8TkUs6N1f0NDxoQkvZUwA5ftKmTL9ZULpOJmdw8uVXa2Ue~Q0EhPXNjvz1xxxfPs6vGUNJGJUrjI~ms7g50-kUpzJ6z~OPjgJ1dKpeKS1LN2AIyYjFRZGRjt~3ksAOiCAlGw57PySbTXWlzQloUshrGnX-zhwhFffCmu5f2-swn2ae4oI5qTtUCwVay3ssFSGWdpx7bHRpurMOFOXa~tUVMsCW3cj0sl6zFx~mZAxuII2grITDHEql2cAxZsb6iz5Q__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ',
    item: [ [Object] ],
    group: []
  }
}
[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] Discover found 1 total devices
[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] Registering new accessory: Air Conditioner
[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] Getting device status d27bb3f0-7149-11d3-80af-2c2bf9fa5d73
[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] Starting refresh interval (set to 1 minutes)
[5/19/2020, 1:29:26 PM] [LgThinqAirConditioner] Renewing monitoring d27bb3f0-7149-11d3-80af-2c2bf9fa5d73
(node:3882) UnhandledPromiseRejectionWarning: Error: Request failed with status code 400
    at createError (/homebridge/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/homebridge/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/homebridge/node_modules/homebridge-lg-thinq-ac/node_modules/axios/lib/adapters/http.js:236:11)
    at IncomingMessage.emit (events.js:322:22)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:3882) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:3882) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐     
    │ 130-42-150 │     
    └────────────┘     

[5/19/2020, 1:29:27 PM] Homebridge is running on port 51826.
[5/19/2020, 1:29:27 PM] [LgThinqAirConditioner] device response {
  resultCode: '0000',
  result: {
    modelName: 'WIN_056905_WW',
    subModelName: '',
    deviceType: 401,
    deviceCode: 'AI01',
    alias: 'Air Conditioner',
    deviceId: 'd27bb3f0-7149-11d3-80af-2c2bf9fa5d73',
    fwVer: '2.6.2_RTOS_3K',
    imageUrl: 'ac_home_window_airconditioner_img.png',
    ssid: 'sardinha',
    macAddress: '2c:2b:f9:fa:5d:73',
    networkType: '02',
    timezoneCode: 'America/Los_Angeles',
    timezoneCodeAlias: 'USA/Los_Angeles',
    utcOffset: -8,
    utcOffsetDisplay: '-08:00',
    dstOffset: -7,
    dstOffsetDisplay: '-07:00',
    curOffset: -7,
    curOffsetDisplay: '-07:00',
    sdsGuide: '{"deviceCode":"AI01"}',
    newRegYn: 'N',
    remoteControlType: '',
    online: false,
    platformType: 'thinq1',
    regDt: 20200506182932,
    modelProtocol: 'STANDARD',
    order: 0,
    drServiceYn: 'N',
    regDtUtc: '20200507012932',
    tclcount: 0
  }
}
[5/19/2020, 1:29:27 PM] [LgThinqAirConditioner] device response.result.snapshot undefined
[5/19/2020, 1:29:27 PM] [LgThinqAirConditioner] Error during interval update TypeError: Cannot read property 'airState.operation' of undefined
[5/19/2020, 1:29:31 PM] [Config] Homebridge must be running in insecure mode to control accessories
sman591 commented 4 years ago

Hmm online: false and platform: thinq1 make this sound similar to #4, though I’m surprised the LW1019IVSM model isn’t on Thinq2.

Have you tried the other LG “aircon” Homebridge plug-in? I think that works with Thinq1 out of the box. Otherwise we’ll need to get the thinq1 API working in parallel to thinq2 here

jakemauer commented 4 years ago

I've tried but I've run into all sorts of issues with it in my Docker environment on my Synology NAS. I'm trying to get it set up on my main computer to see if I can get it to work at all as a baseline before I continue to debug the Docker Homebridge setup.

In either case I'm absolutely willing to help you map out the Thinq1 API, or whatever is necessary to get this very quiet hunk of junk working with Homebridge.

jvmo commented 4 years ago

Hi sman591 first I want to thank you for this LG Homebridge plug-in is the fastest and the easy to work with on the Web

I start from version 0.3.1 and I also have LG LW1019IVSM window AC unit, but went I upgrade to version 0.3.4 error 400 show up only after trying to use the home-kit AC tile

I downgrade to version 0.3.1 for now. Also I see is a Thinq1, Thinq2 API problem

The LG LW1019IVSM window AC have the same remote like the LP1419IVSM AC

also the LG LW1019IVSM home-kit AC tile show: off, cool, heat, auto and went you scroll down fan speed.

please I rely what to buy you a coffee

on PI Zero W Homebridge: Version 1.1.0 Node.js Version | v12.16.3 Npm Version | v6.14.4

sman591 commented 4 years ago

@jvmo to confirm, the plugin was working for you on version 0.3.1?

0.3.2 introduced new countryCode and languageCode config parameters. If you add these to your config, does it work? (US and en-US were the previous defaults) -- you can also see the README for updated instructions

jvmo commented 4 years ago

The configuration works good as you described on page

Meaning like after installing the plug-in we need to restart homebridge to get the URL

Version 0.3.2 also recognize the configurations and also the last version the configurations is no A problem in my case.

Trust me you made it so easy for the system to recognize it no one else have like that

Error 400 Show up when I start using the tile in home-kit to change the temperature

The logs stated Error on the inputs

On version 0.3.1 I want to set the temperature to 75 it take just two seconds to show on the unit but if I want to to set temperature to 65 I realize that don’t respond

But and then if you set the temperature on the tile to 90 The temperature on the AC unit set to 60

And if you set the temperature on the tile to 80 show up on the AC unit to 65

And after you put this temperatures that show up in the AC unit the home-kit tile recognize The new temperature that you set last And fix his self to the stage of the last temperature

OK let me explain this one more time 80 on the tile = AC set to 65

AC set to 65 = tile shows 80 but then change to 65

On the last version If I try to change the temperature every error 400 comes out And lose the real time stage And homebridge Recognize the problem

Send me the info so I can buy a coffee

On May 19, 2020, at 10:50 PM, Stuart Olivera notifications@github.com wrote:

 @jvmo to confirm, the plugin was working for you on version 0.3.1?

0.3.2 introduced a new countryCode and languageCode, if you add these to your config, does it work? (US and en-US were the previous defaults)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

sman591 commented 4 years ago

@jvmo This sounds like it may be a different issue than what @jakemauer reported here. I've opened #9, could we continue discussion there?

jakemauer commented 4 years ago

@sman591 Before I forget, should I redact anything from the log I posted?

sman591 commented 4 years ago

@jakemauer Logs look clean, no need to redact. Good thinking though!

For ThinQ1 — have you used a tool like Charles Proxy before?

jvmo commented 4 years ago

With the new version definitely everything looks so clean

Remember now we are using the new homepage image

I dish out the another homebridge

On May 20, 2020, at 12:15 AM, Stuart Olivera notifications@github.com wrote:

 @jakemauer Logs look clean, no need to redact. Good thinking though!

For ThinQ1 — have you used a tool like Charles Proxy before?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

sman591 commented 4 years ago

@jakemauer Actually, do you mind if we merge this with #4? It looks like this is the same issue, and it’d be great to figure it out together in a single discussion thread

jvmo commented 4 years ago

Good

On May 20, 2020, at 12:20 AM, Stuart Olivera notifications@github.com wrote:

 Actually, do you mind if we merge this with #4? It looks like this is the same issue, and it’d be great to figure it out together in a single discussion thread

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

jakemauer commented 4 years ago

Closing to merge with #4