OH2 Z-Wave refactoring and testing... and SECURITY

My log shows some warnings:

2018-07-14 21:33:08.622 [WARN ] [ve.internal.protocol.ZWaveController] - NODE 4: Restore from config: Error. Data invalid, ignoring config.
2018-07-14 21:33:08.639 [WARN ] [ve.internal.protocol.ZWaveController] - NODE 24: Restore from config: Error. Data invalid, ignoring config.
2018-07-14 21:33:08.642 [WARN ] [ve.internal.protocol.ZWaveController] - NODE 35: Restore from config: Error. Data invalid, ignoring config.
2018-07-14 21:33:14.168 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 33: Invalid item type defined (DecimalType). Assuming DecimalType
2018-07-14 21:33:14.368 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 43: Invalid item type defined (DecimalType). Assuming DecimalType
2018-07-14 21:33:14.704 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 34: Invalid item type defined (DecimalType). Assuming DecimalType

For the first three messages itā€™s unclear for me what config the binding is talking about. Is it node.xml or something else? Maybe good point to add to the message what config it is related to.

About the last three warnings i suppose a DecimalType was expected and a DecimalType is supplied ? So this is wrong? I really donā€™t know how to read this.

node 33 and 34 are Coolcam PIR motion sensors (with lux sensor) and the channel is bound to a number item. The value does show up right on basicUI.

What youā€™re seeing looks to be related to thisā€¦

1 Like

It means that the initialisation is incomplete. I will remove this as itā€™s not something the user needs to worry about.

There will be an update tomorrow to fix this.

Cool, will update and provide feedback if needed.

About the initialisation. The nodes are battery devices and are connected for several days, shouldnā€™t the initialisation be done allready? Or is this done every time after a openhab restart?

Edit: Another question, if persistence is setup should the channel value be persisted after polling?

Would there be any benefit for me to also include a Vera Plus as a secondary controller now that Iā€™m re-including my network - or would it only mess things up?

Normally, yes - so long as the wakeup interval is set. The binding should set this when the device is first initialised, and after this the device should wake at the wakeup interval you have set in the controller (I think it defaults to once per hour).

There is an ā€œinitialisationā€ every time the binding starts, but assuming the initialisation was previously completed, then it should be short. When the binding first initialises a device, it reads all the service information, and configures a load of stuff. After that, it stores it in the XML files, and reloads this on startup. Then it just reads data it considers is dynamic on startup (this is stuff like temperature, switch state etc) so that it can update the GUI.

Up to you really - Iā€™m not sure there is a lot of benefit unless you are using your Vera for some reason still? It shouldnā€™t mess things up (too much!), but it is worth noting that some features in ZWave will only work with one controller, so the Vera may reconfigure some settings when may stop OH being able to make configuration changes.

Thanks,

Iā€™ll skip extra controller
Use Z-Way (Iā€™m running Z-Wave.me RaZberry board on rpi) to include all devices.
Copy the security key to OpenHAB.
and add all things, wait like 24h for initialisation and hope for a working system again!

Is there any way with OpenHAB Z-Wave Binding to do a network backup to avoid this happening again?

Thanks for all your support!

Not at the moment. Itā€™s something I do plan to add, soonish, but there are a few other issues that are more important at the moment as I want to get the dev branch merged to masterā€¦

oh dear - tried restarting and I now have 14 nodes offline. Log here.

I fear this is something horribly wrong with my system, and not the binding - otherwise presumably everyone else would be seeing something similarā€¦

may try backing up the zwave network and restoring onto a new zstick

I see lots of rejected by controller messages.

What version of the binding are you running? By any chance are you running OH on a fast computer?

Perhaps you could try using the version of the binding that introduces a delay when commands are rejected by the controller.

Edit: Iā€™m running the version from post #3161. Before this version, I was seeing many nodes offline and tons of rejected by controller messages in my logs.

The latest version from the link at the top of this thread now includes this.

Ok, thanks. I wasnā€™t sure that made it in there yet.

But, heā€™s likely not running that version since thereā€™s no delay between transmissions when he gets a rejected by controller response. WDYT?

It hadnā€™t - I only just added it :wink: .

Agreed - heā€™s not. This can be seen as there is no delay between retries. It would definitely help to update to the latest, and if there are still issues, provide another log.

:+1:

Iā€™m on the version from post #3161. Is it worth me installing the version from post #1 (i.e. are there any other goodies in there?).

thanks - Iā€™ve just updated to the new version. It is indeed a fairly fast computer - an i5 4200. To date the speed has been a big advantage over the raspberry pi I started out with. Funny if it thatā€™s the source of the problemā€¦

@mhilbush was it you I was discussing an issue relating to initialisation where a command class was marked as a control class? I canā€™t find the reference, but I thought it was related to minimote initialisation, but I canā€™t find it here or on the other thread.

Iā€™ve just updated the link to now not initialise classes that are marked as control classes - this should fix that issue but it would be good to check.

I updated to the new version and then had every zwave device offline; restarting the binding and OH didnā€™t help, but rebooting did.

I now have every wired device back online except one; Iā€™ll give it a few hours and post a log if it hasnā€™t come back to life.

many thanks Chris and Mark!

1 Like

Yes, I think we had that discussion in an email, IIRC. And, yes, it was related to the Minimote.

Iā€™ll check out the new version.

I also was wondering about how you handle the ADD_NODE_STATUS_ADDING_CONTROLLER response when including a controller. It didnā€™t look like you were processing (i.e. adding as supported) the command classes that are reported in that message (similar to the NIF). That was a couple weeks back, so Iā€™m not sure if that has changed in the binding.

Edit: This seemed to manifest in the device being initialized with no supported command classes, hence it shows up as an unknown device (because MANUFACTURER_SPECIFIC is not added as a supported command class).

Edit: Here was an example.

Sweet! Glad that has helped.

Edit: Seems like we now have more evidence that the holdoff delay is important when running on fast computers.

1 Like