123, I just noticed your post at the bottom of page 10. Doh!
Please take a look at the onChangeScripts I've modified and post under downloads if you are happy with the changes or modify as you see fit; I very much trust your expert programming skills over my non-expert skills
I've learned a lot from you and appreciate your due diligence on this driver. Hopefully someday I write a Premise Z-Wave handbook with screen shots, but I've been traveling a lot lately and dont' have the time right now. However, I did include documentation to post under the downloads section in a word file that should be enough for an experienced user to understand the driver. I pulled the information in the word file from this forum.
I've modified the OnChangeOnNewData and OnChangeInterfaceFailure scripts and added a new EnableAutoDiscovery property under the Discovery class.
OnChangeOnNewData now handles flow differently depending on the type of command sent (discovery, scenes, on/off/dim, etc... as previously discussed).
OnChangeInterfaceFailure now calls the ResetPort method and sets the appropriate events, but only if a certain number of interface failures have not occurred. If a max number of interface failures is reached, the user must manually reset device polling and the serial port.
Enable Auto Discovery This property will ensure objects under the Devices container remain static even if the primary z-wave controller says to update the VRC0P/RZC0P. It turns out that the ControlThink USB stick will force the devices to be found by the VRC0P upon an update to the VRC0P! This is pretty neat, but only if you expect it to happen. The default value for EnableAutoDiscovery is false and it's used under OnChangeOnNewData in the form of a flag. I didn't want to give Discovery devices free automatic reign because if a node failed and update devices removed it from the VRC0P, the device could be deleted and the binding with the home object removed.