Horizon Media Box binding Java NullPointer error

30.12.2018
Hi all,

I have installed the latest build of Openhab on a PI 1 under Openhabian.

I am successfully using the Samsung:tv binding however I am failing to get the Horizon Media Box binding to work.

Here is my items file:

Items

(I renamed power to Video_power after this snapshot)

The below log shows all from ramping up the server until the Horizon item is recieving the power off command.
The command is given by Alexa and apparently recieved and understood by the OH server as per the last events entry.

I have configured Horizon as per the description of the binding including the rule querying the IP to set the status o the item, which is working.

There are posts in this forum about a fix of the timeout value to avoid blacklisting, but this fix is already incorporated in this build, so that is not the issue.

Any idea what may still be wrong?

I am pretty new to this so please excuse anything stupid that I might have done.

Cheers
Wolfgang


2018-12-30 17:55:02.629 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel

2018-12-30 17:55:03.602 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to ' '.

2018-12-30 17:55:05.921 [INFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder

2018-12-30 17:55:38.699 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = <removed>, base URL = xxx)

2018-12-30 17:56:57.748 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.items'

2018-12-30 17:57:22.519 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007

2018-12-30 17:57:43.201 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.rules'

2018-12-30 17:57:48.347 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.sitemap'

2018-12-30 17:57:51.119 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.things'

==&gt; /var/log/openhab2/events.log &lt;==

2018-12-30 17:57:51.859 [.ItemChannelLinkAddedEvent] - Link 'TV_Mute-samsungtv:tv:livingroom:mute' has been added.

2018-12-30 17:57:51.909 [.ItemChannelLinkAddedEvent] - Link 'TV_Volume-samsungtv:tv:livingroom:volume' has been added.

2018-12-30 17:57:51.953 [.ItemChannelLinkAddedEvent] - Link 'TV_Off-samsungtv:tv:livingroom:power' has been added.

==&gt; /var/log/openhab2/openhab.log &lt;==

2018-12-30 17:58:01.114 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at xxx

2018-12-30 17:58:01.172 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at xxx

2018-12-30 17:58:13.519 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui

2018-12-30 17:59:01.809 [hingStatusInfoChangedEvent] - 'samsungtv:tv:livingroom' changed from UNINITIALIZED to INITIALIZING

2018-12-30 17:59:02.201 [vent.ItemStateChangedEvent] - Video_power changed from OFF to ON

2018-12-30 17:59:02.570 [hingStatusInfoChangedEvent] - 'samsungtv:tv:livingroom' changed from INITIALIZING to OFFLINE

2018-12-30 17:59:04.320 [vent.ItemStateChangedEvent] - TV_Off changed from NULL to OFF

2018-12-30 17:59:04.570 [hingStatusInfoChangedEvent] - 'samsungtv:tv:livingroom' changed from OFFLINE to ONLINE

2018-12-30 17:59:04.752 [vent.ItemStateChangedEvent] - TV_Off changed from OFF to ON

2018-12-30 17:59:06.770 [vent.ItemStateChangedEvent] - TV_Volume changed from NULL to 9

2018-12-30 17:59:08.509 [vent.ItemStateChangedEvent] - TV_Mute changed from NULL to ON

2018-12-30 18:02:12.629 [ome.event.ItemCommandEvent] - Item 'Video_power' received command OFF

2018-12-30 18:02:12.675 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/Video_power] {item=Video_power, bridgemarker=true, command=OFF, timestamp=1546189332582} | {org.osgi.service.event.EventHandler}={service.id=357, service.bundleid=207, service.scope=bundle, event.topics=openhab/command/*, livingroom.host=192.168.0.243, service.pid=org.openhab.horizon, component.name=org.openhab.binding.horizon.binding, component.id=209} | Bundle(org.openhab.binding.horizon_1.13.0 [207])]

java.lang.NullPointerException: null

at org.openhab.binding.horizon.internal.HorizonBinding.internalReceiveCommand(HorizonBinding.java:94) ~[?:?]

at org.openhab.core.binding.AbstractBinding.receiveCommand(AbstractBinding.java:94) ~[?:?]

at org.openhab.core.events.AbstractEventSubscriber.handleEvent(AbstractEventSubscriber.java:45) ~[?:?]

at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415) [3:org.apache.karaf.services.eventadmin:4.2.1]

at org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82) [3:org.apache.karaf.services.eventadmin:4.2.1]

at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104) [3:org.apache.karaf.services.eventadmin:4.2.1]

at org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166) [3:org.apache.karaf.services.eventadmin:4.2.1]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

2018-12-30 18:02:13.459 [WARN ] [io.openhabcloud.internal.CloudClient] - Jetty request 3207939 failed: null

2018-12-30 18:02:13.539 [WARN ] [io.openhabcloud.internal.CloudClient] - Response Failure: null

Hi Wolfgang,

short question regarding the Samsung TV Binding.

I have the problem that OH is showing changes for the volume I did by remote control, but I can’t change the volume of the TV from OH.

following files I am using:

.thing

Thing samsungtv:tv:wohnzimmer "Samsung Smart TV" @ "Wohnzimmer" [ hostName="IP-Adress", port=55000, refreshInterval=1000 ]

.items file (just the relevant part)

Dimmer SamsungTV_Volume "Samsung TV - LautstÀrke Àndern" {channel="samsungtv:tv:wohnzimmer:volume"}
Switch SamsungTV_Mute "Samsung TV - Stumm" {channel="samsungtv:tv:wohnzimmer:mute"}

sitemap is locking like this:

log files:

019-01-01 15:39:15.273 [ome.event.ItemCommandEvent] - Item 'SamsungTV_Volume' received command 40
2019-01-01 15:39:15.285 [nt.ItemStatePredictedEvent] - SamsungTV_Volume predicted to become 40
2019-01-01 15:39:15.301 [vent.ItemStateChangedEvent] - SamsungTV_Volume changed from 25 to 40

But the TV is still has still the same volume.

If I change the volume of the TV by remote control the following lock file is generated:

2019-01-01 15:37:22.434 [vent.ItemStateChangedEvent] - SamsungTV_Mute changed from ON to OFF
2019-01-01 15:37:24.496 [vent.ItemStateChangedEvent] - SamsungTV_Volume changed from 24 to 27
2019-01-01 15:37:25.539 [vent.ItemStateChangedEvent] - SamsungTV_Volume changed from 27 to 30
2019-01-01 15:37:27.609 [vent.ItemStateChangedEvent] - SamsungTV_Volume changed from 30 to 27
2019-01-01 15:37:28.660 [vent.ItemStateChangedEvent] - SamsungTV_Volume changed from 27 to 25

Do you have any idea why I can’t control the volume or what I could change?

Thank you in advance.

Kindly,
Woogi

Hi Woogi,

I assume that

in your thing-declaration is just a placeholder because you did not want to show the real IP-address that you have used.

The declaration is looking similar to mine.
I am also quite new to this. I will test a bit tonight when I am back home.

Hi Wolfgang,

thank you for your reply, but it is just a placeholder. So I have there sth. written in my config. I guess else I wouldn’t receive any feedback from the TV which I do, I just can’t control it.

Thank you so far.

Kindly,

My files looks similar to yours, so I have no idea why it is not working for you. Did you allow external control by openHab on your TV?

Hi Wolfgang,

Yes remote control is activated, but it is just a Button, so I can‘t enter sth. like OH etc.

Cheers,
Woogi

Maybe I found sth. interesting.

I added the TV now by Paper UI and am getting completely different channels:

image

The upper one is the paperUI added one with a tv:xxxxx number value, the lower one I defined with .things file contains Wohnzimmer as I found in the community here. At which position in the thing file do I have to enter this 20sth. long number? I didn’t find a position even in the paper ui. It is just there in the channels. Any hints?

thanks,
Woogi