Version 5.2.900 is posted. This is the first beta heading towards 5.3. I think that the beta cycle will be fairly short this time, since the primary new feature is a driver, though there will be various smaller improvements of course.
This being a first beta, obviously be sure to let the installer do a backup for you, in case you need to back it out. You should always do that of course, but just a reminder.
So this is primarily to get a first look at the new Z-Wave driver out there for folks to evaluate. This is fresh bits, so it's always possible that it may just utterly not work for some folks due to some silly unforeseen reason that we'll have to figure out. And it doesn't have a lot of built in unit support yet. The big purpose of getting it out there initially is to get folks to gather data for us so that we can add more support. A big advantage of this driver over previous Z-Wave drivers is that, if we have support for it built in, we can auto-identify the device and configure it for you. So there will be a lot less fiddling about than before for those units.
There are also generic handlers as well, which you can use in the meantime to deal with various common types of units. Here is a little preview video (the one that was posted in the support section a week ago or so) to give you an idea of how it works:
https://www.youtube.com/watch?v=S5sDybb5ZrY
Let's keep speculative discussion of the driver here, and I'll just update that driver when new versions are released that have reached some new level of usefulness and such. I don't want that other thread to get full of stuff that is immediately invalidated by the next drop.
Some basic things to know:
1. It uses an Aeon Z-Stick (Gen-5) and it works as a secondary controller.
2. So you have to have a primary controller still. A good choice would be the Lutron Vizia RF software with their own Vizia USB stick. It's a good choice because it only does anything when you are running the software and only does anything then when you tell it to. It's not like, say, Smartthings which some folks have used for a master, which probably assumes it owns the Z-Wave network and may interfere with our driver.
3. To add our driver to the network you just include it just like any other Z-Wave device. If you add or remove units on the master, run the inclusion process again on our driver to pick up the changes.
4. Each unit that the driver knows about will be in some particular state at any given time. The goal is to get them to Ready state where they are up and going. Some discussion of the states is provided below.
5. There is a main options menu button, for things applicable to the whole driver, and each unit in the list has a drop down (the down arrow on the left column) for unit specific operations.
6. The driver, for those units it has knowledge of and auto-ids, will send out configuration info automatically. For those you use with a generic handler you have to at least add the driver to the appropriate association group in the unit so that the driver will get notifications of state changes, and possibly set up the config parameters. The driver has dialog boxes to do these things.
7. This driver, like the previous one, does not poll. It only supports two way for devices that support associations. Others will only be able to be supported one way (outgoing commands.)
8. Battery powered units are always a special case (except for locks which support beaming and don't really act like battery powered units.) Any time the driver needs to do any interaction with a battery powered unit you must wake it up. That doesn't mean wave your hand for a motion detector. It means waking it up, which either means pushing some button or taking the batteries out and putting them back in. There are lots of informational popups in the driver to help you do the right thing, so read them. The driver will queue up outgoing msgs to battery powered units and send them when it wakes up.
9. Once a unit has been auto-identified or you manually id it for us, the only way to change that type is to use the 'force rescan' option on that unit. That will force it to go back to scratch and try to auto-id its unit hardware, or go back to waiting for you to select another type.
10. Don't randomly select unit types, since you can make a mess of things and really slow down the response of the driver. If you aren't sure, ask.
11. There's no thermostat support yet in the driver. I'll get to that here soon.
12. As with all things done in AI tabs, you have to save changes to make them take effect, so you are always just making local configuration changes. Of course some commands are talking directly to the units themselves but those are not configuration changes. So manually setting associations and config params, or forcing a rescan of a unit isn't configuration stuff.
Unit States
Each unit is in some state. Here is a brief discussion of them. Obviously this will be in the formal docs when we get to that point.
- Failed. The information the driver got for the unit last time it checked is in conflict with what it got now. So it is offline until you force it to rescan and get it back happy.
- Disable. You can disable units so that the driver will not use them. It may be causing problems or something.
- WaitDevInfo. We cannot auto-id the unit, or it is battery powered so we've not yet been able to try. If it is battery powered, then make it wake up and the driver will attempt to id it.
- WaitApprove. Once units have been auto-id'd, they will be in wait approve state. There is a 'Approve New Units' option to approve them. They will then continue forward.
- GetNodeInfo, GetClasses, GetWhatever... These are all states where the driver is trying to get information from the unit to figure out what it is. Or, at least to gather the information required to help us add support for it.
- GetInitVals. It has been correctly setup and is now trying to get initial values for its fields.
- Ready. It has gotten initial values and is ready for use.
The only ones you have to react to are WaitDevInfo, where you have to either wake up a battery powered unit so we can id it, or tell us what it is. Or WaitApprove, where you need to approve those units. Or Failed, where you probably need to rescan it. Or perhaps it did not respond to the initial query for node info and is assumed dead until you force it to rescan. The other states are moved forward through by the driver.
Gathering Info
To get information for us to use to add support, don't select a unit type yet. First use the drop down for that unit and select the Show Unit Info option. That gets us information about the unit (only useful if it has gotten past the GetXXX states though.) It has an option to save to a file. You can send us that file.
The other thing is the trace file. In the main Options menu are options to manage the trace file. You can turn it off (the default when the driver is installed) or set it to various levels. We'll tell you what to do if we need information. You can flush it out, so that you can see the output so far without actually closing it. And you can reset it so that it will start capturing info again from that point, which is useful to gather targeted info. You can set it back to Off to close it and leave it intact so that you can send us the file. It will be in:
[cqc]\CQCData\Server\Data\ZWaveUSB3S\
There will be a trace.txt file there if you have enabled it. It's just plain text, so you can open it in a text editor if you want to see it. It will probably be mostly gibberish to you. But it provides lots of information that lets us know what information is passing back and forth. So we can tell what msgs units are sending out, how they are responding to stuff we send, etc... Once enabled it will generally show zero size until you close it. But if you use the flush command you can still see what has been written so far. The text editor has to open it such that it doesn't request exclusive access if the file is still open for use.
That's also where the Z-Wave configuration file is stored. BTW, the client interface provides you with a 'save config' option so that you can save it somewhere if you want, without having to go to the server to find it.
Anyhoo, there it is. Those folks with modules that we don't support yet (which is basically everyone) let's start gathering data. There's a small set of stuff already supported, which represent a reasonably diverse collection of types of units. Once you've gotten us some info, you can select a generic handler for some of the stuff that we have them for so far and start getting some good use out of the driver.
Be prepared to throw away everything you do with this first version (and probably the next few), since we might find something that requires a significant change of some sort and can't afford to write code to bring forward beta installations of it. Hopefully not, but it could happen. Of course, once we get a lot more units supported, doing that won't be nearly so hard.