LGwebOS binding not working since latest TV Firmware update

Hi,

OH3.4.2
webOS v5.5.0-11

After performing FW update of my TV the lgwebos:WEBOSTV thing was offline.
I have removed the thing, run discovery and readded the thing, but thats not fixing the issue.
Within the new thing, there is no access key and no mac address (both were in the thing-config before I removed the old thing for testing).
There is no prompt on the TV to accept any connection.

I have set the log to trace:

2023-10-13 18:25:49.862 [DEBUG] [ebos.internal.handler.LGWebOSHandler] - Initializing handler for thing lgwebos:WebOSTV:347e3ed0-ff76-9deb-11fc-c239f697637d
2023-10-13 18:25:49.865 [TRACE] [ebos.internal.handler.LGWebOSHandler] - Handler initialized with config WebOSConfiguration [host=xxx, port=3000, key.length=0, macAddress=null]
2023-10-13 18:25:49.867 [DEBUG] [bos.internal.handler.LGWebOSTVSocket] - setState new DISCONNECTED - current DISCONNECTED
2023-10-13 18:25:49.870 [DEBUG] [bos.internal.handler.LGWebOSTVSocket] - Connecting to: ws://xxx:3000
2023-10-13 18:25:49.878 [TRACE] [bos.internal.handler.LGWebOSTVSocket] - Connection Error
java.io.EOFException: HttpConnectionOverHTTP@3ce209::SocketChannelEndPoint@f8696e{l=/xxx:41640,r=/xxx:3000,ISHUT,fill=-,flush=-,to=2/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@3ce209(l:/xxx:41640 <-> r:/xxx:3000,closed=false)=>HttpChannelOverHTTP@179147a(exchange=HttpExchange@123227a{req=WebSocketUpgradeRequest[GET / HTTP/1.1]@6ea77d[TERMINATED/null] res=HttpResponse[null 0 null]@1880287[PENDING/null]})[send=HttpSenderOverHTTP@db1908(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@efcf9b{s=START}],recv=HttpReceiverOverHTTP@1b3c134(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:385) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1620) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:269) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:185) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:80) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:172) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.46.v20220331]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2023-10-13 18:25:49.882 [DEBUG] [ebos.internal.handler.LGWebOSHandler] - Connection failed - error: HttpConnectionOverHTTP@3ce209::SocketChannelEndPoint@f8696e{l=/xxx:41640,r=/xxx:3000,ISHUT,fill=-,flush=-,to=2/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@3ce209(l:/xxx:41640 <-> r:/xxx:3000,closed=false)=>HttpChannelOverHTTP@179147a(exchange=HttpExchange@123227a{req=WebSocketUpgradeRequest[GET / HTTP/1.1]@6ea77d[TERMINATED/null] res=HttpResponse[null 0 null]@1880287[PENDING/null]})[send=HttpSenderOverHTTP@db1908(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@efcf9b{s=START}],recv=HttpReceiverOverHTTP@1b3c134(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]

Can you check the useTLS configuration parameter?

It should default to true, but it seems like it may be false for you. At least worth checking.

Unfortunately no luck with useTLS parameter.
I change from

UID: lgwebos:WebOSTV:347e3ed0-ff76-9deb-11fc-c239f697637d
label: EG Wohnzimmer Fernseher
thingTypeUID: lgwebos:WebOSTV
configuration:
  host: xxx

to

UID: lgwebos:WebOSTV:347e3ed0-ff76-9deb-11fc-c239f697637d
label: EG Wohnzimmer Fernseher
thingTypeUID: lgwebos:WebOSTV
configuration:
  host: xxx
  useTLS: true

The thing remains offline with the following log:

2023-10-13 21:52:40.803 [DEBUG] [bos.internal.handler.LGWebOSTVSocket] - setState new DISCONNECTED - current DISCONNECTED
2023-10-13 21:52:40.807 [DEBUG] [bos.internal.handler.LGWebOSTVSocket] - Connecting to: ws://192.168.58.136:3000
2023-10-13 21:52:40.819 [TRACE] [bos.internal.handler.LGWebOSTVSocket] - Connection Error
java.io.EOFException: HttpConnectionOverHTTP@164a0d::SocketChannelEndPoint@980361{l=/xxx:52168,r=/xxx:3000,ISHUT,fill=-,flush=-,to=3/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@164a0d(l:/xxx:52168 <-> r:/xxx:3000,closed=false)=>HttpChannelOverHTTP@2379b9(exchange=HttpExchange@17beed0{req=WebSocketUpgradeRequest[GET / HTTP/1.1]@1d18210[TERMINATED/null] res=HttpResponse[null 0 null]@17e1f00[PENDING/null]})[send=HttpSenderOverHTTP@b350e7(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@2627cf{s=START}],recv=HttpReceiverOverHTTP@1c0e359(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:385) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1620) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:269) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:185) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:80) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:172) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.46.v20220331]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2023-10-13 21:52:40.829 [DEBUG] [ebos.internal.handler.LGWebOSHandler] - Connection failed - error: HttpConnectionOverHTTP@164a0d::SocketChannelEndPoint@980361{l=/xxx:52168,r=/xxx:3000,ISHUT,fill=-,flush=-,to=3/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@164a0d(l:/xxx:52168 <-> r:/xxx:3000,closed=false)=>HttpChannelOverHTTP@2379b9(exchange=HttpExchange@17beed0{req=WebSocketUpgradeRequest[GET / HTTP/1.1]@1d18210[TERMINATED/null] res=HttpResponse[null 0 null]@17e1f00[PENDING/null]})[send=HttpSenderOverHTTP@b350e7(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@2627cf{s=START}],recv=HttpReceiverOverHTTP@1c0e359(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]

I just recognized that I’m not on OH3.4.2 but in OH3.4.1 and the useTLS parameter was newly introduced in 3.4.2

I tested with latest version 4.0.3 and it’s working fine.
Thanks for your help

1 Like

Yes, since you stated that you were running 3.4.2 already and also set the useTLS parameter (which didn’t exist before 3.4.2), I did not have any other suggestions. :wink:

1 Like