ControlThink Forums

Share ideas. Get support. Meet new friends.
Welcome to ControlThink Forums Sign in | Join | Help
in Search

Z-Wave PC SDK v1.2 -- download link and details

Last post 06-05-2007 10:54 AM by Chris Walker (CT). 0 replies.
Page 1 of 1 (1 items)
Sort Posts: Previous Next
  • 06-05-2007 10:54 AM

    Z-Wave PC SDK v1.2 -- download link and details

    Locked Reply Contact
    I am pleased to announce the release of the Z-Wave PC SDK v1.2.  This is a free upgrade for all Z-Wave PC SDK customers.

    The Z-Wave PC SDK is Z-Wave Certified software, and is interoperable with Z-Wave Certified products from other manufacturers.

    This new version includes many exciting new features, listed below.  To download the v1.2 installer, follow this download link:
    http://www.controlthink.com/downloads/zwavepcsdk/setup.exe

    IMPORTANT: The Z-Wave PC SDK requires a license key. If you do not have a license key, click here to order now.

    New features in v1.2:

    Support for AV Control Points and Satellite Receivers
    The following device types have been added to this release: ControlThink.ZWave.Devices.AVControlPoint and ControlThink.ZWave.Devices.Specific.SatelliteReceiver.  An example of the SatelliteReceiver type is the new Sirius Conductor Satellite Radio.

    The SatelliteReceiver class includes a new function, SendKeys.  This function works identically to the System.Windows.Forms.SendKeys function, and also includes an overload to send keycodes (for keys such as "channel up," etc.).

    Support for Multiposition Motors (windows shades and more)
    Window coverings are moving to a new, more capable device profile!  The new window shades (shipping soon!) will show up as ControlThink.ZWave.Devices.Specific.MultiPosition devices.  These work just like light switches, and give you the capability to raise/lower them from any remote!

    New Connect(IPEndPoint) Overload
    Pass in an IP endpoint (IP address and port), and connect to the network through a Z-Wave Ethernet Bridge.

    Device Names and Locations
    Some new devices (such as the Leviton Vizia RF and Cooper Aspire RF switches) support storing a name and location (up to 16 characters each) in the devices themselves.  For devices which support this feature, you can now use the ZWaveDevice.Name and ZWaveDevice.Location properties to set/get these values.

    Copy Scenes and Groups with New AddController Overloads
    AddController, TransferPrimaryRole, and CreateNewPrimaryController now accept ReplicationGroups and ReplicationScenes arrays as parameters.  Simply pass in an array of ReplicationGroups and/or ReplicationScenes, and they will be transferred to the target controller during controller replication.

    Receive Scenes and Groups with New ReceiveConfiguration Overload
    ReceiveConfiguration now accepts ReplicationGroups and ReplicationScenes arrays as passed-by-reference parameters.  Simply create an empty array of these types, and you'll receive any groups or scenes transferred to your USB stick during controller replication.

    Device Scene Functionality (including ramp rates)
    Some new devices (such as the Leviton Vizia RF and Cooper Aspire RF switches) support storing scene setup inside the devices themselves.  For example, you can configure all of your light switches and plug-in modules which support the Scene profile to all go to different levels at once.  You can also dim/brighten the devices at instant or variable ramp rates.  You can even use this Z-Wave feature to setup scenes that your computer can participate in--launching scene macros and the such using in-wall controllers and remote controls!

    To use the scene functionality, check out the ZWaveDevice.Scenes collection.  It will have 255 scenes (1-255), each of which have a few methods and properties: Activate(...), which activates the scene by number (and where you can overwrite the ramp rate during individual activations); Level specifies the level (1-99) that the device should go to when it is activated; DimmingDuration specifies the amount of time (0-127 seconds in 1 second increments, or 1-127 minutes in 1 minute increments) that it should take to arrive at the destination level.  This is great for home theaters and more...

    Scene Controller Configuration
    Set up your in-wall scene controllers (such as the Vizia RF one- and four-button scene controllers) with the new ZWaveDevice.Groups[x].SceneConfiguration property.  After you configure a scene in the target device(s), add those devices into the corresponding Group of your in-wall controller and then set the SceneConfiguration's Scene ID and optional DimmingDuration properties.  The buttons will now activate the specified scenes in those devices when you manually press them.

    SceneActivated Event
    This is a very exciting new feature.  If you associate your USB stick into an in-wall scene controller button, and set up a scene to be activated in the software, the SceneActivated event will be raised when that scene is activated!  You can also use the ZWaveDevice.Scenes[x].Activate() function to programatically activate scenes on another computer.

    The new ZWaveController.ActiveSceneID property accompanies these two new events as well.  When a scene is activated, this Byte value will be changed to the new scene ID automatically.  If your code changes "out" of a scene, be sure to update this Byte value to the appropriate Scene ID--either the new scene that you're exhibiting, or Byte.MinValue (0) if no scene is currently active.  If the ActiveSceneID property matches an incoming scene activation command, no SceneActivation event will be fired (since that scene is already active).

    Please be aware that Leviton's current one- and four-button scene and zone controllers only raise the SceneActivated event when the scene is activated.  These devices allow you to turn a scene "off," but that doesn't have any meaning to the PC so you won't get an event for the "off" state.  Also, the four-button zone controller will work in "scene controller" mode simply by setting the SceneConfiguration properties for the button in question.

    Leviton Enhanced 2-Way Feedback
    While previous builds included partial support for Leviton's Enhanced 2-Way Feedback, this build includes the first complete implementation.  Simply associate your Z-Wave USB stick into Group 1 of the switches and plug-in modules that you'd like to monitor, and you will automatically receive LevelChanged events whenever the device is adjusted manually.  Please note that this should only be done with always-on computers or Ethernet Gateways.

    Support for and Autodetection of Vizia RF Foyer
    The Connect() function will now automatically seek out a Vizia RF Foyer (Z-Wave Ethernet Bridge) on the local network and use it as its Z-Wave network connection if no compatible Z-Wave USB dongle was detected.

    New Exceptions: DeviceBusyException, CommandRejectedException, and CommandDelayedException
    These exceptions may be raised when:
    • DeviceBusyException -- a device is too busy to process the command.  If the TimeToWait timespan is zero, try again later; if the TimeToWait timespan is non-zero, wait that much time (or longer) before retrying.
    • CommandRejectedException -- a device has rejected the command (usually because it is in a "locked" state, where the command could cause unintended consequences)
    • CommandDelayedException -- a device is too busy to process the command, but has queued it up to process it later.
    Please note that these exceptions may be raised by the device a number of seconds after the command has already completed; in these cases, the exception will not be raised.  This exception should be used for convenience purposes and processed if received, but should not be relied on.  To verify that an operation actually suceeded, simply query the property in question after it has been set.

    AllOn, AllOff Functions
    The new AllOn/AllOff functions enable you to activate the "all on" or "all off" functionality in a Z-Wave device which supports it.  The "all on" and "all off" functions can be enabled or disabled in these devices by using the ZWaveDevice.AllOnEnabled and ZWaveDevice.AllOffEnabled properties.  This state (of supporting/not supporting these capabilities) is stored in the device and persisted automatically.

    Level Property and LevelChanged Event
    The PC SDK now supports the concept of a "level" like many other Z-Wave devices.  This level is represented as a virtual level in the software (a "virtual indicator" if you will).  You can change the level of the ZWaveController, for example, to 50.  And then you can call the ZWaveController.EmitDeviceInformation() function while setting up a scene in an Intermatic controller.  Now, when you press that button on the controller, you'll get the LevelChanged event in your software (unless the Level property is already set to that level).  This can be very useful for setting up macros, setting up "virtual 3-ways" with switches, etc.  The LevelChanged event does contain an OriginDevice property, so you even know what device changed your level.

    EmitDeviceInformation Function
    Mentioned in conjunction with the Level property, this function emits device information from your USB stick.  This is what happens when you press the program button on a plug-in module or turn on/off most light switches.  With this capability, you can associate your stationary USB stick with other devices, add it to groups/scenes in controllers, etc.

    Ping Function
    ZWaveDevice.Ping() can be used to "ping" a device and make sure that it is available and present in the network.  This is often useful to ensure that all devices are present in the network.

    Level Property Changes
    Previously, the Level property was disabled for many ZWaveDevices, and would throw a NotSupportedException.  The Z-Wave protocol specification has been updated to allow many device types to optionally implement the Level functionality.  So while there's no way to absolutely know if a device supports the Level property (in devices where this is optional), you will simply get a timeout exception now for devices which don't support Level functionality.  Please note that some devices can't have their Level changed, such as thermostats and some/all sensors--and in these cases, you'll still get a NotSupportedException.

    New HardReset Parameter: alwaysOnAndStationary
    If your USB stick is attached to a computer which moves in the network or is not always turned on, be sure to set the alwaysOnAndStationary parameter to False.  This will exclude your computer from the routing topology so that messages don't get slowed down trying to route through your computer when it is turned off.

    Enhanced Communication Reliability for Intermatic HA22 USB Stick
    Z-Wave communciation reliability should be enhanced for the Intermatic HA22 USB stick, reducing DeviceNotRespondingExceptions in the network.

    Intellisense Support
    Most of the classes, properties, methods, etc. now have built-in Intellisense support for easier coding in the Visual Studio Development Environment.

    Supported USB, RS232, and Ethernet Z-Wave Controllers
    • Intermatic HomeSettings HA22 USB Stick
    • Cooper Aspire RF USB and USB PRO Sticks
    • ACT ZCU000 (US) and ZCU010 (EU/UK) USB Controllers
    • Wayne-Dalton Z-Wave USB Stick
    • Leviton Vizia RF Foyer (Ethernet Bridge)
    • RS232 (Serial) Z-Wave PC Controllers
    • And many more...
    Chris
Page 1 of 1 (1 items)