MaxvandeLaar / homey-webos-plus

Improved LG WebOS integration for Homey
GNU General Public License v3.0
27 stars 11 forks source link

TV marked as Off when screensaver is running #20

Closed jonasvekeman closed 4 years ago

jonasvekeman commented 4 years ago

Hi

Thanks for this app, it works great for my LG TV (LG OLED55C9PLA). The only thing I've noticed is that when the TV turns on it's screensaver (e.g. when I get a call whiling watching TV), the TV is marked as off in Homey. It doesn't look I can turn off the screensaver due to OLED protection.

I'm unaware if you can make a distinction between powered off and screensaver mode but I'm happy to assist you in testing if need be.

Let me know if you need more (debugging) information.

Best regards, Jonas

MaxvandeLaar commented 4 years ago

@jonasvekeman Hmm interesting, if the state 'screen saver' is detected it is handled as 'on'. It is possible your tv is sending another state than I am expecting. If you can debug the app for me and check what 'state' and 'process' it is sending to the app I can change the logic accordingly.

You can debug the app by running homey app run instead of homey app install to see the logging. Keep open the terminal and make the tv turn its screen saver on. You should watch for something like _powerStateListener: Power state changed ...and _powerStateListener: Called timeout ... log lines to find the state and process the tv is in. If you could send me this information that would help a lot.

Thanks

OllemGit commented 4 years ago

I checked yesterday and can confirm my OLED tv is also reporting 'screen saver' state as off.

jonasvekeman commented 4 years ago

@MaxvandeLaar Thanks for the reply. I'll do the debugging tonight or tomorrow and get back to you. Do I need to uninstall the app first?

jonasvekeman commented 4 years ago

Hi @MaxvandeLaar

I did a test with the screen saver, this is the output of the debug logging:

2020-05-19 16:58:02 [log] [ManagerDrivers] [webos_plus] [0] _handleResponse: ssap://com.webos.service.tvpower/power/getPowerState
2020-05-19 16:58:02 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Power state changed { returnValue: true,
  state: 'Active',
  processing: 'Request Screen Saver' }
2020-05-19 16:58:02 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Set timeout to 2000 ms and check the state
2020-05-19 16:58:03 [log] [ManagerDrivers] [webos_plus] [0] _handleResponse: ssap://com.webos.service.tvpower/power/getPowerState
2020-05-19 16:58:03 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Reset timer
2020-05-19 16:58:03 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Power state changed { returnValue: true, state: 'Screen Saver' }
2020-05-19 16:58:03 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Set timeout to 2000 ms and check the state
2020-05-19 16:58:05 [log] [ManagerDrivers] [webos_plus] [0] _powerStateListener: Called timeout screen saver null
2020-05-19 16:58:05 [log] [ManagerDrivers] [webos_plus] [0] powerStateListener: received on
2020-05-19 16:58:05 [log] [ManagerDrivers] [webos_plus] [0] powerStateListener: received off
MaxvandeLaar commented 4 years ago

@jonasvekeman Thanks, I figured out why this is happening. I think this will fix it https://github.com/MaxvandeLaar/homey-webos-plus/releases/tag/v2.2.1

jonasvekeman commented 4 years ago

First test proves to be succesfull, thank you very much.

MaxvandeLaar commented 4 years ago

👍 No problem