I have a UE49NU8009 Model which is working fine with the latest binding I could find (2.5.0.201910150534). Thank you for this great binding!
That beeing said, I do have an issue with the URL channel.
I am trying to display a BlueIris video stream using the TV’s built in browser.
When I send this to the TV’s URL channel item
TV_URL.sendCommand("http://192.168.2.134:81/ui3.htm?maximize=1&cam=driveway")
I get these errors in the log.
The default video stream of BlueIrises server is displayed which is great, but it is not the URL that was asked for in the sendCommand.
2019-10-30 18:29:54.079 [ome.event.ItemCommandEvent] - Item 'TV_URL' received command http://192.168.2.134:81/ui3.htm?maximize=1&cam=driveway
2019-10-30 18:29:54.083 [nt.ItemStatePredictedEvent] - TV_URL predicted to become http://192.168.2.134:81/ui3.htm?maximize=1&cam=driveway
2019-10-30 18:29:54.100 [vent.ItemStateChangedEvent] - TV_URL changed from to http://192.168.2.134:81/ui3.htm?maximize=1&cam=driveway
==> /var/log/openhab2/openhab.log <==
2019-10-30 18:29:54.232 [WARN ] [tv.internal.protocol.WebSocketRemote] - WebSocketRemote: Error (java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data) in message: {"data":200,"event":"ed.apps.launch","from":"host"}
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:888) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:853) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:802) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:774) ~[21:com.google.gson:2.8.2.v20180104-1110]
at org.openhab.binding.samsungtv.internal.protocol.WebSocketRemote.onWebSocketText(WebSocketRemote.java:94) [287:org.openhab.binding.samsungtv:2.5.0.201910150534]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:150) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:319) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:201) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:226) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:255) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:581) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:434) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213) ~[?:?]
... 33 more
I suspected that the part after the “?” in the URL string caused the errors, so I tried a simpler URL
TV_URL.sendCommand("http://192.168.2.134:81/ui3.htm")
Didn’t make any difference, see erros below. Any ideas how to fix this?
2019-10-30 19:01:16.499 [ome.event.ItemCommandEvent] - Item 'TV_URL' received command http://192.168.2.134:81/ui3.htm
2019-10-30 19:01:16.503 [nt.ItemStatePredictedEvent] - TV_URL predicted to become http://192.168.2.134:81/ui3.htm
2019-10-30 19:01:16.520 [vent.ItemStateChangedEvent] - TV_URL changed from http://192.168.2.134:81/ui3.htm?maximize=1&cam=driveway to http://192.168.2.134:81/ui3.htm
==> /var/log/openhab2/openhab.log <==
2019-10-30 19:01:16.540 [WARN ] [tv.internal.protocol.WebSocketRemote] - WebSocketRemote: Error (java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data) in message: {"data":200,"event":"ed.apps.launch","from":"host"}
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:888) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:853) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:802) ~[21:com.google.gson:2.8.2.v20180104-1110]
at com.google.gson.Gson.fromJson(Gson.java:774) ~[21:com.google.gson:2.8.2.v20180104-1110]
at org.openhab.binding.samsungtv.internal.protocol.WebSocketRemote.onWebSocketText(WebSocketRemote.java:94) [287:org.openhab.binding.samsungtv:2.5.0.201910150534]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:150) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:319) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:201) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:226) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:255) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:581) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:434) [97:org.eclipse.jetty.websocket.common:9.4.18.v20190429]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [80:org.eclipse.jetty.io:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) [92:org.eclipse.jetty.util:9.4.18.v20190429]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 12 path $.data
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213) ~[?:?]
... 33 more