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.
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”
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.
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.
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.
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).
Maybe, but there’s not a lot of point in providing a log for OH1 when the problem is with OH2 . I have no idea what is happening without a log - sorry.
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?