Lost in OpenHAB2

I have a nice OpenHAB 1.8 configuration working.
I have tried OpenHAB 2 a few times now and every time I get further.
Now I have a bunch of z-wave things discovered and I created items with them.
BUT I have no clue how to get anything to be controlled. Neither Habmin2 nor any of the other interfaces are intuitive or easily discoverable.
Can someone help me get a sitemap going?

I may seem like an idiot to some of you, but I am really stuck.

1 Like

I am not at my my openHAB system right now, but will try to help. You need to link a function of the zwave device (thing) to an item.

Example follows:

Find the item file under the conf directory, I think there is also a directory called items. Add an item into the file or decide to use an existing item, e.g. dimmer.

Then under HABmin2 open the zwave device configration and then set up a link for a function e.g. brightness to the item in the item file.

Save the device configuration and then go and test it is the Basic UI.

Hope this helps,
Mike

p.s. I need to change my thinking from “device” to “thing” :wink:

I did not add any item via a configuration file by hand. I was able however to add an item via the habmin2 interface.
Once I’ve done that, however, the Basic UI only shows me things, not items. So does the classic UI. That’s where I am stuck.
When I click on a ‘thing’ either in the class or basic UI, I get an empty page with a title. Nothing else.

Sorry, as I said I was away from my system, so used incorrect terms which may have confused things…

In HABmin2 go to things, then click on the thing you want to work with.

Then go to channel, for example Brightness if using a dimmer (or switch if using a switch item) and create a link from this channel to an item.

Then in the UI try operating the item.

The above works in my case. I am currently testing 4 z wave devices for development purposes for my new home.

I would send some screen shots, but I have not worked out how to do that on this forum yet. Good luck!!

Cheers,
Mike

You can just copy and past images into the forum editor. For example…

It’s probably a good idea to keep the images as small as possible.

I can create a link from the channel to an item. But none of the interfaces show the items as actionnable.

Eventually I went into demo mode and it created a sitemap, so now I have some real group into which I can put items.
But they still cannot be controlled. One hint might be the icon I get when looking at things. All my Z-Wave devices appear with a red X next to them like this:

The only exception is tthe Z-Wave controler which has a green check mark.

There is an issue with the Z-Wave binding that was resolved in an update last night. Have a look though this post:

Take a look here - http://www.cd-jackson.com/index.php/openhab/habmin

Sitemaps in OH2 are exactly the same as OH1 - it’s not changed at all

Chris,
I did all that is described. Now I removed all the z-wave things and re-introduced them after a restart.
But I still cannot do anything with the item I created. The demo sitemap shows the item I created with pairing the brightness channel of my office dimmer. But changing its level has no effect whatsoever.
Also I gather that the item file is replaced by a database file, when using Habmin2 to add an item?
I added the item with its name in Habmin2 to a copy of my old sitemap and opened that sitemap. The item shows, but again has absolutely no effect.

In the log I see:

Cannot retrieve item ‘OfficeDimmer’ for widget org.eclipse.smarthome.model.sitemap.Slider

Though that item shows in the item list of habmin2.
Is there a configuration missing so that those items in the database are found by the UIs?

What do you mean by this? I don’t use item files - everything is maintained by the system, but nothing should be ‘replaced’ either. If you define items in an item file, then that’s where they stay.

I would recommend not using item files, but it’s up to you of course. Many things will not work though if you are statically defining items.

No.

The error message I got was due to a mis-spelling of the item in HABmin2. That’s fixed but still to no avail. :frowning:

Now I see a new message that is probably at the root of my issues:

2016-04-20 12:42:50.742 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - Controller handler not found. Cannot handle command without ZWave controller.

Strange, given that the ZWave controller shows up in the list of things as well as the dimmer I added.
Making this message stranger, the ZWave controller is definitely doing this, as shown in this log:

2016-04-20 12:53:32.970 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 55: Got an error while sending data. Resending message.
2016-04-20 12:53:37.974 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 55: Timeout while sending message. Requeueing - 0 attempts left!
2016-04-20 12:53:37.977 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 55: Got an error while sending data. Resending message.
2016-04-20 12:53:38.496 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘OfficeDImmer’ received command INCREASE
2016-04-20 12:53:38.506 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - Controller handler not found. Cannot handle command without ZWave controller.

I think the first thing to work out is why the device is timing out… I would recommend grabbing a debug log to see what it shows, although it may be the device has connectivity problems (since this is the main reason for timeouts).

Under OpenHAB 1.8.2 there are no such issues. For example Node 55 shows up in the log:

2016-04-20 15:13:32.860 [DEBUG] [b.z.i.protocol.ZWaveController:620 ]- Enqueueing message. Queue length = 1
2016-04-20 15:13:32.857 [DEBUG] [WaveController$ZWaveSendThread:1268]- NODE 55: Sending REQUEST Message = 01 0A 00 13 37 03 32 01 10 25 5A 8E
2016-04-20 15:13:32.866 [DEBUG] [eController$ZWaveReceiveThread:1481]- Receive Message = 01 04 01 13 01 E8
2016-04-20 15:13:32.867 [DEBUG] [eController$ZWaveReceiveThread:1405]- Receive queue ADD: Length=1
2016-04-20 15:13:32.868 [DEBUG] [b.z.i.protocol.ZWaveController:1163]- Receive queue TAKE: Length=0
2016-04-20 15:13:32.869 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ]- Assembled message buffer = 01 04 01 13 01 E8
2016-04-20 15:13:32.869 [DEBUG] [b.z.i.protocol.ZWaveController:1164]- Process Message = 01 04 01 13 01 E8
2016-04-20 15:13:32.870 [DEBUG] [b.z.i.protocol.ZWaveController:192 ]- Message: class = SendData (0x13), type = Response (0x01), payload = 01
2016-04-20 15:13:32.870 [DEBUG] [b.z.i.p.s.SendDataMessageClass:38 ]- NODE 55: Sent Data successfully placed on stack.
2016-04-20 15:13:32.931 [DEBUG] [eController$ZWaveReceiveThread:1481]- Receive Message = 01 07 00 13 5A 00 00 06 B7
2016-04-20 15:13:32.932 [DEBUG] [eController$ZWaveReceiveThread:1405]- Receive queue ADD: Length=1
2016-04-20 15:13:32.932 [DEBUG] [b.z.i.protocol.ZWaveController:1163]- Receive queue TAKE: Length=0
2016-04-20 15:13:32.932 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ]- Assembled message buffer = 01 09 00 13 5A 00 00 06 00 00 B9
2016-04-20 15:13:32.933 [DEBUG] [b.z.i.protocol.ZWaveController:1164]- Process Message = 01 09 00 13 5A 00 00 06 00 00 B9
2016-04-20 15:13:32.933 [DEBUG] [b.z.i.protocol.ZWaveController:192 ]- Message: class = SendData (0x13), type = Request (0x00), payload = 5A 00 00 06
2016-04-20 15:13:32.933 [DEBUG] [b.z.i.p.s.SendDataMessageClass:74 ]- NODE 55: SendData Request. CallBack ID = 90, Status = Transmission complete and ACK received(0)

Maybe, but there’s not a lot of point in providing a log for OH1 when the problem is with OH2 :wink:. I have no idea what is happening without a log - sorry.

Well true, but it was to say that it’s unlikely the device has connectivity problems.
Where are the zwave logs in OpenHAB 2?

/userdata/logs

Only two files there: events.log and openhab.logs. I guess the zwave log is saved to the latter. You might find some info in here:

2016-04-20 12:51:14.058 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 54: Node found
2016-04-20 12:51:14.058 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 55: Node found
2016-04-20 12:51:14.058 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 56: Node found
2016-04-20 12:51:14.059 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 57: Node found
2016-04-20 12:51:14.059 [INFO ] [age.SerialApiGetInitDataMessageClass] - ZWave Controller using Controller API
2016-04-20 12:51:14.060 [INFO ] [age.SerialApiGetInitDataMessageClass] - ZWave Controller is Primary Controller
2016-04-20 12:51:14.068 [INFO ] [age.SerialApiGetInitDataMessageClass] - ------------Number of Nodes Found Registered to ZWave Controller------------
2016-04-20 12:51:14.069 [INFO ] [age.SerialApiGetInitDataMessageClass] - # Nodes = 48
2016-04-20 12:51:14.069 [INFO ] [age.SerialApiGetInitDataMessageClass] - ----------------------------------------------------------------------------
2016-04-20 12:51:14.153 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 9: Initialising Thing Node…
2016-04-20 12:51:14.155 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Initialising Thing Node…
2016-04-20 12:51:14.159 [INFO ] [me.event.ThingStatusInfoChangedEvent] - ‘zwave:serial_zstick:3303bfee’ changed from OFFLINE to ONLINE
2016-04-20 12:51:14.167 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured during notification about bridge status change on thing ‘zwave:device:3303bfee:node28’: null
java.lang.NullPointerException
at org.openhab.binding.zwave.handler.ZWaveThingHandler.initialiseNode(ZWaveThingHandler.java:155)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.bridgeStatusChanged(ZWaveThingHandler.java:422)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.eclipse.smarthome.core.thing.internal.ThingManager$13.run(ThingManager.java:820)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_66-internal]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_66-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_66-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_66-internal]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_66-internal]
2016-04-20 12:51:14.168 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured during notification about bridge status change on thing ‘zwave:device:3303bfee:node9’: null
java.lang.NullPointerException
at org.openhab.binding.zwave.handler.ZWaveThingHandler.initialiseNode(ZWaveThingHandler.java:155)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.bridgeStatusChanged(ZWaveThingHandler.java:422)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.eclipse.smarthome.core.thing.internal.ThingManager$13.run(ThingManager.java:820)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_66-internal]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_66-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_66-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_66-internal]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_66-internal]
2016-04-20 12:51:15.525 [WARN ] [tocol.commandclass.ZWaveCommandClass] - NODE 56: Unsupported command class SCENE_CONTROLLER_CONF
2016-04-20 12:51:15.609 [WARN ] [zwave.handler.ZWaveControllerHandler] -
2016-04-20 12:51:15.683 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 22: Device could not be resolved to a thingType! 011A:0102:0201::1.4
2016-04-20 12:51:15.692 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 16: Device could not be resolved to a thingType! 011A:0102:0201::2.2
2016-04-20 12:51:15.711 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 27: Device could not be resolved to a thingType! 011A:0102:0201::1.4

Lots of repetitions of the same massages for many nodes then

2016-04-20 12:51:16.564 [INFO ] [smarthome.event.InboxUpdatedEvent ] - Discovery Result with UID ‘zwave:device:3303bfee:node19’ has been updated.
2016-04-20 12:51:16.611 [INFO ] [smarthome.event.InboxUpdatedEvent ] - Discovery Result with UID ‘zwave:device:3303bfee:node13’ has been updated.
2016-04-20 12:51:16.656 [INFO ] [smarthome.event.InboxUpdatedEvent ] - Discovery Result with UID ‘zwave:device:3303bfee:node14’ has been updated.
2016-04-20 12:51:16.718 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Initialising Thing Node…
2016-04-20 12:51:16.719 [INFO ] [me.event.ThingStatusInfoChangedEvent] - ‘zwave:device:3303bfee:node28’ changed from OFFLINE to ONLINE
2016-04-20 12:51:16.721 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling thing updated at ThingHandler 'org.openhab.binding.zwave.handler.ZWaveThingHandler@4a1f2b30: java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_66-internal]
at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_66-internal]
at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:179)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:72)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:56)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingManager.thingUpdated(ThingManager.java:515)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:218)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:141)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:1)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.updated(AbstractRegistry.java:102)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:57)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutUpdatedElement(AbstractProvider.java:82)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.update(AbstractManagedProvider.java:134)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at org.eclipse.smarthome.config.discovery.internal.PersistentInbox.add(PersistentInbox.java:199)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at org.eclipse.smarthome.config.discovery.internal.PersistentInbox.thingDiscovered(PersistentInbox.java:280)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl$1.run(DiscoveryServiceRegistryImpl.java:224)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl$1.run(DiscoveryServiceRegistryImpl.java:1)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at java.security.AccessController.doPrivileged(Native Method)[:1.8.0_66-internal]
at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.thingDiscovered(DiscoveryServiceRegistryImpl.java:221)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at org.eclipse.smarthome.config.discovery.AbstractDiscoveryService.thingDiscovered(AbstractDiscoveryService.java:253)[92:org.eclipse.smarthome.config.discovery:0.8.0.201604180906]
at org.openhab.binding.zwave.discovery.ZWaveDiscoveryService.deviceAdded(ZWaveDiscoveryService.java:227)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveControllerHandler.deviceAdded(ZWaveControllerHandler.java:362)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveControllerHandler.ZWaveIncomingEvent(ZWaveControllerHandler.java:334)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:536)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInitNodeThread.run(ZWaveController.java:460)[159:org.openhab.binding.zwave:2.0.0.201604190102]
Caused by: java.lang.NullPointerException
at org.openhab.binding.zwave.handler.ZWaveThingHandler.initialiseNode(ZWaveThingHandler.java:155)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.bridgeStatusChanged(ZWaveThingHandler.java:422)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.initialize(ZWaveThingHandler.java:132)[159:org.openhab.binding.zwave:2.0.0.201604190102]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.thingUpdated(BaseThingHandler.java:161)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingManager$5.call(ThingManager.java:519)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.thing.internal.ThingManager$5.call(ThingManager.java:1)[101:org.eclipse.smarthome.core.thing:0.8.0.201604180906]
at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:170)[95:org.eclipse.smarthome.core:0.8.0.201604180906]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_66-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_66-internal]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_66-internal]
2016-04-20 12:51:16.750 [INFO ] [smarthome.event.ThingUpdatedEvent ] - Thing ‘zwave:device:3303bfee:node28’ has been updated.
2016-04-20 12:51:16.823 [INFO ] [smarthome.event.InboxUpdatedEvent ] - Discovery Result with UID ‘zwave:device:3303bfee:node15’ has been updated.
2016-04-20 12:51:16.852 [INFO ] [smarthome.event.InboxUpdatedEvent ] - Discovery Result with UID ‘zwave:device:3303bfee:node21’ has been updated.

Note that Node 28 which seems to be triggering exception is the one I have attached to an item for my testing.

I guess this isn’t a debug log, and I also don’t see the timeout message that you wanted me to look in to so I can’t comment too much on the reported issue.

The message about device not being resolved to a type means the device isn’t in the database, so it would be good if you could add it?