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

I believe it was the reinitialize that pulled in the db updates. They were not pulled in after a restart. I used my NGD00Z for months after barrier_operator was changed to barrier_state and that change never showed up (lots of restarts). I’ll know for sure if the reinitialize pulls in the db update in an hour or so when my locks come up.

The reinitialise button itself does nothing in relation to the database. All it does is to set the initialisation state to the beginning, and to delete the XML file.

The thing definition is read in when the binding sets the thing type, which is after the manufacturer information is recovered (about 1/3 of the way through the initialisation). This is not performed on every restart - but sometimes.

The database configuration parameters are always updated without having to update the thing - they are largely independent.

Is it possible to manually initiate a network heal instead of waiting for it to do it at night?

I thought it was an option in the controller thing, but I’m not sure now? This mostly only updates the neighbors list - it probably doesn’t really help routing if you’re having routing problems.

Not in Habmin2, but would be nice :slight_smile:.

Does a binding restart initiate a heal, or is it just getting the neighbors from the device (INIT_NEIGHBORS)? After restarting the binding, devices report an updated Last Heal Time, at least for mains powered devices. Maybe that’s not accurate?

Yes - the same code is used at the end of the initialisation as used in the ‘heal’. As I keep saying though - the heal doesn’t really do a lot more than update the neighbors, and I wouldn’t expect it to help routing much (if at all).

Can you explain then what is the point of a heal? How do I know if I am experiencing routing issues and how would I then resolve them?

The heal will help provide some information regarding neighbors etc which is one of the indicators of a good network. It also sets up some routes between devices where two devices need to communicate directly, but the routing is managed by the controller itself.

In the medium term I hope to be able to add some new features to help with understanding the network and the RF links, but this will be a little while off yet.

How about for the 914TRL?

I’ve not personally updated the database on any devices. If you’ve added it, then it should be in there…

I did but you said you “needed add it to the database exporter”? https://github.com/openhab/org.openhab.binding.zwave/issues/650

Yes - I did that a couple of weeks back so that the error in the database was removed. It was just the exporter function so is common for all devices…

Great, thanks. I’ll give it a try.

Can you take a look and make sure I added the channel correctly: http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/283

I tried updating one of my locks to start (actually messed up and did a full exclusion / inclusion and I don’t see the raw channel.

Thanks.

I’m also not seeing the channel come in after a reinitialization, or deleting the Thing and adding it again. I’m going to try deleting in Habmin, then shutting down and deleting the Thing in the jsondb next.

Deleting the XMLs didn’t get the alarm_raw channel to come in either. I don’t know what else to try, other than excluding/including. But it sounds like that didn’t work for @rgerrans.

No, it didn’t

I saw the code and database entries over the weekend and tried it out. I added an “alarm_raw” channel type definition in _channels.xml and believe that is what caused it to work for me (if I understand how all the configuration works together).

@chris I also noticed that the type in the created JSON is mostly null since most of the lock alarm codes don’t have a specific type associated with them. I think we should use the raw alarm code/number instead of/in addition to the textual representation.

Which command class version are you referring to? For V3 (maybe V2) and above it should be (ie IS) very well defined so I guess you’re using V1? For V1 I agree it should use the numbers - unfortunately I put the V1 implementation together a bit too quick.

I’ll do an update tonight to add the channel.

Yeah, V1 codes from a kwickset lock.

Thanks!