KidSquid
(The Squid)
November 27, 2020, 6:36pm
1
I thought I would use some of the downtime to install the Samsung TV binding. Immediately after the installation completed all of my Z-Wave devices went offline with the error message - Bridge Offline
I’ve noticed a bunch of UPNP errors in the KARAF console.
Are the bindings incompatible or is there a fix somewhere I did not find?
Thanks,
Squid
jwiseman
(Mr. Wiseman (OH 4.2 Snapshot on Pi4))
November 27, 2020, 8:35pm
2
This has been an issue for over a year now. The only Samsung binding that works pretty consistently is this one 2.4 RC1.
https://openhab.jfrog.io/openhab/webapp/#/home
Search using this --> * samsungtv-2.4.0.RC1 * <-- remove the spaces before/after the *'s
I’m running jupnp 2.5.2, I’m assuming the version your running will work fine.
Keep in mind, basic functionality is with 2.4 RC1 based on the model of your SamsungTV.
Best, Jay
An attempt to fix is below:
opened 02:52PM - 22 Jun 20 UTC
closed 01:30PM - 01 Jul 20 UTC
bug
Following on from an issue where I believed by RFXCom was causing problems - I r… an a thread capture when the system locked up. I found that the root cause of the lockup was a thread coming from the SamsungTV binding.
## Current Behavior
So - seemly at random, but now (I believe) related to one of my TV's being turned off - the RFXCom binding would appear to stop responding. The root cause of this appears to be a lock on the device discovery functions in OpenHab - which in turn are caused by a thread attempting to handle an exception in the SamsungTV Binding.
## Possible Solution
The only solution was to restart Openhab (although I'll admit I didn't try reloading the samsungtv binding).
## Steps to Reproduce (for Bugs)
Reproduction is very tricky - the situation is apparently random and might be timing related.
## Your Environment
* Version used: OpenHab 2.5.4 and 2.5.5
* Environment name and version: RPi 3B running latest version of Raspbian
##Thread traces:
Lots of threads all blocked awaiting a lock on org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl@1c74af8 - owned by upnp-main-504.
upnp-main-504 - is blocked on java.lang.Object@87d58f owned by ESH-httpClient-samtungtv-3825
ESH-httpClient-samtungtv-3825 is waiting on a countdownlatch which, for some reason, isn't completing.
File holding the thread traces:
[shellthread.txt](https://github.com/openhab/openhab-addons/files/4813896/shellthread.txt)
Stack trace for that thread:
```
"ESH-httpClient-samtungtv-3825" Id=3825 in WAITING on lock=java.util.concurrent.CountDownLatch$Sync@101ecb1
at java.base@11.0.7/jdk.internal.misc.Unsafe.park(Native Method)
at java.base@11.0.7/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.base@11.0.7/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
at java.base@11.0.7/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1039)
at java.base@11.0.7/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
at java.base@11.0.7/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
at org.eclipse.jetty.io.ManagedSelector.doStop(ManagedSelector.java:143)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
- locked java.lang.Object@1e8cfa8
at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:201)
at org.eclipse.jetty.io.SelectorManager.doStop(SelectorManager.java:281)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
- locked java.lang.Object@eae3e5
at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:201)
at org.eclipse.jetty.client.AbstractConnectorHttpClientTransport.doStop(AbstractConnectorHttpClientTransport.java:70)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
- locked java.lang.Object@15a5c6b
at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:201)
at org.eclipse.jetty.client.HttpClient.doStop(HttpClient.java:268)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
- locked java.lang.Object@11fc90b
at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:201)
at org.eclipse.jetty.websocket.client.WebSocketClient.doStop(WebSocketClient.java:371)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
- locked java.lang.Object@87d58f
at org.openhab.binding.samsungtv.internal.protocol.RemoteControllerWebSocket.closeConnection(RemoteControllerWebSocket.java:201)
at org.openhab.binding.samsungtv.internal.protocol.RemoteControllerWebSocket.close(RemoteControllerWebSocket.java:210)
at org.openhab.binding.samsungtv.internal.service.RemoteControllerService.connectionError(RemoteControllerService.java:490)
at org.openhab.binding.samsungtv.internal.protocol.WebSocketRemote.onWebSocketError(WebSocketRemote.java:83)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onError(JettyListenerEventDriver.java:133)
at org.eclipse.jetty.websocket.client.WebSocketUpgradeRequest.handleException(WebSocketUpgradeRequest.java:538)
at org.eclipse.jetty.websocket.client.WebSocketUpgradeRequest.onComplete(WebSocketUpgradeRequest.java:519)
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:198)
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:190)
at org.eclipse.jetty.client.HttpExchange.notifyFailureComplete(HttpExchange.java:269)
at org.eclipse.jetty.client.HttpExchange.abort(HttpExchange.java:240)
at org.eclipse.jetty.client.HttpConversation.abort(HttpConversation.java:149)
at org.eclipse.jetty.client.HttpRequest.abort(HttpRequest.java:768)
at org.eclipse.jetty.client.HttpDestination.abort(HttpDestination.java:453)
at org.eclipse.jetty.client.HttpDestination.failed(HttpDestination.java:234)
at org.eclipse.jetty.client.AbstractConnectionPool$1.failed(AbstractConnectionPool.java:140)
at org.eclipse.jetty.util.Promise$Wrapper.failed(Promise.java:136)
at org.eclipse.jetty.client.HttpClient$1$1.failed(HttpClient.java:612)
at org.eclipse.jetty.client.AbstractConnectorHttpClientTransport.connectFailed(AbstractConnectorHttpClientTransport.java:138)
at org.eclipse.jetty.client.AbstractConnectorHttpClientTransport$ClientSelectorManager.connectionFailed(AbstractConnectorHttpClientTransport.java:188)
at org.eclipse.jetty.io.ManagedSelector$Connect.failed(ManagedSelector.java:812)
at org.eclipse.jetty.io.ManagedSelector.processConnect(ManagedSelector.java:245)
at org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:61)
at org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processSelected(ManagedSelector.java:533)
at org.eclipse.jetty.io.ManagedSelector$SelectorProducer.produce(ManagedSelector.java:395)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:360)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:184)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
at org.eclipse.jetty.io.ManagedSelector$$Lambda$311/0x5f047628.run(Unknown Source)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
```
Best, Jay
KidSquid
(The Squid)
November 27, 2020, 9:15pm
3
So I went back and installed the RC1 version of the binding and attempted to connect POWER as a test.
2020-11-27 15:08:18.157 [WARN ] [tv.internal.handler.SamsungTvHandler] - Channel 'samsungtv:tv:5ff632c2_3028_4d43_b9bb_9681550441c3:power' not supported
So I’m assuming this binding cannot control POWER to my Samsung 2020 tv?
jwiseman
(Mr. Wiseman (OH 4.2 Snapshot on Pi4))
November 27, 2020, 9:37pm
4
KidSquid:
cannot control POWER
Correct, some of my tvs work and some others do not based on year/model.
Some can turn on but not off and off and not on.
Best, Jay
KidSquid
(The Squid)
November 28, 2020, 1:47am
5
Gotcha -
Out of curiosity do you know If the developer has abandoned the binding? A year with reported issues.not addressed kinda sounds that way…or are they holding out till OH3 is released?
Thanks,
Squid
jwiseman
(Mr. Wiseman (OH 4.2 Snapshot on Pi4))
November 28, 2020, 2:02am
6
KidSquid:
developer has abandoned
I think so. The github thread talks about it may be tied to upnp? Sonos is affected also when using the latest Samsung binding.
Kinda sucks since Samsung TVs are so widely used.
Best, Jay