Click or drag to resize

ZWManager Class

The main public interface to OpenZWave.
Inheritance Hierarchy
SystemObject
  OpenZWaveZWManager

Namespace:  OpenZWave
Assembly:  OpenZWave (in OpenZWave.dll) Version: 255.255.255.255
Syntax
public sealed class ZWManager

The ZWManager type exposes the following members.

Properties
  NameDescription
Public propertyStatic memberInstance
Gets a reference to the single ZWManager instance
Top
Methods
  NameDescription
Public methodActivateScene
Activate given scene to perform all its actions.
Public methodAddAssociation
Adds a node to an association group.
Public methodAddDriver(String)
Creates a new driver for a Z-Wave controller.
Public methodAddDriver(String, ZWControllerInterface)
Creates a new driver for a Z-Wave controller.
Public methodAddNode
Start the Inclusion Process to add a Node to the Network.
Public methodAddSceneValue(Byte, ZWValueId, Boolean)
Add a bool Value ID to an existing scene.
Public methodAddSceneValue(Byte, ZWValueId, Byte)
Add a byte Value ID to an existing scene.
Public methodAddSceneValue(Byte, ZWValueId, Int16)
Add a 16-bit signed integer Value ID to an existing scene.
Public methodAddSceneValue(Byte, ZWValueId, Int32)
Add a 32-bit signed integer Value ID to an existing scene.
Public methodAddSceneValue(Byte, ZWValueId, Single)
Add a decimal Value ID to an existing scene.
Public methodAddSceneValue(Byte, ZWValueId, String)
Add a string Value ID to an existing scene.
Public methodAddSceneValueListSelection(Byte, ZWValueId, Int32)
Add the selected item list Value ID to an existing scene (as a integer).
Public methodAddSceneValueListSelection(Byte, ZWValueId, String)
Add the selected item list Value ID to an existing scene (as a string).
Public methodAssignReturnRoute
Ask a Node to update its update its Return Route to the Controller
Public methodCancelControllerCommand
Cancels any in-progress command running on a controller.
Public methodClearSwitchPoints
Clears all switch points from the schedule.
Public methodCreateButton
Create a handheld button id.
Public methodCreateNewPrimary
Create a new primary controller when old primary fails. Requires SUC.
Public methodCreateScene
Create a new Scene passing in Scene ID
Public methodDeleteAllReturnRoutes
Ask a Node to delete all Return Route.
Public methodDeleteButton
Delete a handheld button id.
Public methodDestroy
Deletes the Manager and cleans up any associated objects.
Public methodDisablePoll
Disable the polling of a device's state.
Public methodEnablePoll(ZWValueId)
Enable the polling of a device's state.
Public methodEnablePoll(ZWValueId, Byte)
Enable the polling of a device's state.
Public methodGetAllScenes
Public methodGetAssociations
Public methodGetControllerInterfaceType
Obtain controller interface type
Public methodGetControllerNodeId
Get the node ID of the Z-Wave controller.
Public methodGetControllerPath
Obtain controller interface path
Public methodGetLibraryTypeName
Get a string containing the Z-Wave API library type used by a controller.
Public methodGetLibraryVersion
Get the version of the Z-Wave API library used by a controller.
Public methodGetLoggingState
Gets the current library logging state.
Public methodGetMaxAssociations
Gets the maximum number of associations for a group.
Public methodGetNodeBasic
Get a node's "basic" type.
Public methodGetNodeClassInformation
Public methodGetNodeGeneric
Get a node's "generic" type.
Public methodGetNodeLocation
Get the location of a node.
Public methodGetNodeManufacturerId
Get the manufacturer ID of a device.
Public methodGetNodeManufacturerName
Get the manufacturer name of a device.
Public methodGetNodeMaxBaudRate
Get the maximum baud rate of a node's communications
Public methodGetNodeName
Get the name of a node.
Public methodGetNodeNeighbors
Public methodGetNodeProductId
Get the product ID of a device.
Public methodGetNodeProductName
Get the product name of a device.
Public methodGetNodeProductType
Get the product type of a device.
Public methodGetNodeQueryStage
Get whether the node's query stage as a string
Public methodGetNodeSecurity
Get the security byte for a node. Bit meanings are still to be determined.
Public methodGetNodeSpecific
Get a node's "specific" type.
Public methodGetNodeType
Get a human-readable label describing the node.
Public methodGetNodeVersion
Get the version number of a node
Public methodGetNumGroups
Gets the number of association groups reported by this node.
Public methodGetNumScenes
Gets the number of scenes that have been defined.
Public methodGetNumSwitchPoints
Get the number of switch points defined in a schedule.
Public methodGetPollIntensity
Get the polling intensity of a device's state.
Public methodGetPollInterval
Get the time period between polls of a node's state.
Public methodGetSceneLabel
Returns a label for the particular scene.
Public methodGetSendQueueCount
Get count of messages in the outgoing send queue.
Public methodGetSucNodeId
Get the node ID of the Static Update Controller.
Public methodGetSwitchPoint
Public methodGetValueAsBool
Public methodGetValueAsByte
Public methodGetValueAsInt
Public methodGetValueAsShort
Public methodGetValueAsString
Public methodGetValueHelp
Gets a help string describing the value's purpose and usage.
Public methodGetValueLabel
Gets the user-friendly label for the value.
Public methodGetValueListItems
Public methodGetValueListSelection(ZWValueId, Int32)
Public methodGetValueListSelection(ZWValueId, String)
Public methodGetValueListValues
Public methodGetValueUnits
Gets the units that the value is measured in.
Public methodGetVersionAsString
Get the Version Number of OZW as a string
Public methodHasNodeFailed
Check if the Controller Believes a Node has Failed.
Public methodHealNetwork
Heal network by requesting node's rediscover their neighbors.
Public methodHealNetworkNode
Heal network node by requesting the node rediscover their neighbors.
Public methodInitialize
Creates the Manager singleton object.
Public methodIsBridgeController
Query if the controller is using the bridge controller library.
Public methodIsNodeAwake
Get whether the node is awake or asleep
Public methodIsNodeBeamingDevice
Get whether the node is a beam capable device.
Public methodIsNodeFailed
Get whether the node is working or has failed
Public methodIsNodeFrequentListeningDevice
Get whether the node is a frequent listening device that goes to sleep but can be woken up by a beam. Useful to determine node and controller consistency.
Public methodIsNodeInfoReceived
Get whether the node information has been received
Public methodIsNodeListeningDevice
Get whether the node is a listening device that does not go to sleep.
Public methodIsNodeRoutingDevice
Get whether the node is a routing device that passes messages to other nodes.
Public methodIsNodeSecurityDevice
Get the security attribute for a node. True if node supports security features.
Public methodIsNodeZWavePlus
Is this a ZWave+ Supported Node?
Public methodIsPolled
Determine the polling of a device's state.
Public methodIsPrimaryController
Query if the controller is a primary controller.
Public methodIsStaticUpdateController
Query if the controller is a static update controller.
Public methodIsValuePolled
Test whether the value is currently being polled.
Public methodIsValueReadOnly
Test whether the value is read-only.
Public methodIsValueSet
Test whether the value has been set.
Public methodLogDriverStatistics
Sends current driver statistics to the log file
Public methodPressButton
Starts an activity in a device.
Public methodReceiveConfiguration
Receive network configuration information from primary controller. Requires secondary.
Public methodRefreshNodeInfo
Trigger the fetching of fixed data about a node.
Public methodRefreshValue
Refreshes the specified value from the Z-Wave network.
Public methodReleaseButton
Stops an activity in a device.
Public methodRemoveAssociation
Removes a node from an association group.
Public methodRemoveDriver
Removes the driver for a Z-Wave controller, and closes the serial port.
Public methodRemoveFailedNode
Remove a Failed Device from the Z-Wave Network
Public methodRemoveNode
Remove a Device from the Z-Wave Network
Public methodRemoveScene
Remove an existing Scene.
Public methodRemoveSceneValue
Remove the Value ID from an existing scene.
Public methodRemoveSwitchPoint
Remove a switch point from the schedule.
Public methodReplaceFailedNode
Replace a failed device with another.
Public methodReplicationSend
Send information from primary to secondary
Public methodRequestAllConfigParams
Request the values of all known configurable parameters from a device.
Public methodRequestConfigParam
Request the value of a configurable parameter from a device.
Public methodRequestNetworkUpdate
Update the controller with network information from the SUC/SIS.
Public methodRequestNodeDynamic
Trigger the fetching of just the dynamic value data for a node.
Public methodRequestNodeNeighborUpdate
Ask a Node to update its Neighbor Tables
Public methodRequestNodeState
Trigger the fetching of session and dynamic value data for a node.
Public methodResetController
Hard Reset a PC Z-Wave Controller.
Public methodSceneExists
Check if a Scene ID is defined.
Public methodSceneGetValueAsBool
Public methodSceneGetValueAsByte
Public methodSceneGetValueAsInt
Public methodSceneGetValueAsShort
Public methodSceneGetValueAsString
Public methodSceneGetValueListSelection(Byte, ZWValueId, Int32)
Public methodSceneGetValueListSelection(Byte, ZWValueId, String)
Public methodSceneGetValues
Public methodSendNodeInformation
Send a NIF frame from the Controller to a Node.
Public methodSetChangeVerified
Sets a flag indicating whether value changes noted upon a refresh should be verified. If so, the library will immediately refresh the value a second time whenever a change is observed. This helps to filter out spurious data reported occasionally by some devices.
Public methodSetConfigParam
Set the value of a configurable parameter in a device.
Public methodSetLogFileName
Sets the current library log file name to a new name
Public methodSetLoggingState
Sets the library logging state.
Public methodSetNodeLocation
Set the location of a node.
Public methodSetNodeManufacturerName
Set the manufacturer name of a device.
Public methodSetNodeName
Set the name of a node.
Public methodSetNodeProductName
Set the product name of a device.
Public methodSetPollIntensity
Set the frequency of polling (0=none, 1=every time through the list, 2-every other time, etc)
Public methodSetPollInterval
Set the time period between polls of a node's state.
Public methodSetSceneLabel
Sets a label for the particular scene.
Public methodSetSceneValue(Byte, ZWValueId, Boolean)
Set a bool Value ID to an existing scene's ValueID
Public methodSetSceneValue(Byte, ZWValueId, Byte)
Set a byte Value ID to an existing scene's ValueID
Public methodSetSceneValue(Byte, ZWValueId, Int16)
Set a 16-bit integer Value ID to an existing scene's ValueID
Public methodSetSceneValue(Byte, ZWValueId, Int32)
Set a 32-bit signed integer Value ID to an existing scene's ValueID
Public methodSetSceneValue(Byte, ZWValueId, Single)
Set a decimal Value ID to an existing scene's ValueID
Public methodSetSceneValue(Byte, ZWValueId, String)
Set a string Value ID to an existing scene's ValueID
Public methodSetSceneValueListSelection(Byte, ZWValueId, Int32)
Set the list selected item Value ID to an existing scene's ValueID (as a integer).
Public methodSetSceneValueListSelection(Byte, ZWValueId, String)
Set the list selected item Value ID to an existing scene's ValueID (as a string).
Public methodSetSwitchPoint
Set a switch point in the schedule.
Public methodSetValue(ZWValueId, Boolean)
Sets the state of a bool.
Public methodSetValue(ZWValueId, Byte)
Sets the value of a byte.
Public methodSetValue(ZWValueId, Int16)
Sets the value of a 16-bit signed integer.
Public methodSetValue(ZWValueId, Int32)
Sets the value of a 32-bit signed integer.
Public methodSetValue(ZWValueId, Single)
Sets the value of a decimal.
Public methodSetValue(ZWValueId, String)
Sets the value from a string, regardless of type.
Public methodSetValueLabel
Sets the user-friendly label for the value.
Public methodSetValueListSelection
Sets the selected item in a list.
Public methodSoftReset
Soft Reset a PC Z-Wave Controller.
Public methodSwitchAllOff
Switch all devices off.
Public methodSwitchAllOn
Switch all devices on.
Public methodTestNetwork
Test network.
Public methodTestNetworkNode
Test network node.
Public methodTransferPrimaryRole
Add a new controller to the network and make it the primary.
Public methodWriteConfig
Saves the configuration of a PC Controller's Z-Wave network to the application's user data folder.
Top
Events
  NameDescription
Public eventNotificationReceived
Event fired when a notification is received from the controller or a node
Top
Remarks

A singleton class providing the main public interface to OpenZWave. The Manager class exposes all the functionality required to add Z-Wave support to an application. It handles the sending and receiving of Z-Wave messages as well as the configuration of a Z-Wave network and its devices, freeing the library user from the burden of learning the low-level details of the Z-Wave protocol.

All Z-Wave functionality is accessed via the Manager class. While this does not make for the most efficient code structure, it does enable the library to handle potentially complex and hard-to-debug issues such as multi-threading and object lifespans behind the scenes. Application development is therefore simplified and less prone to bugs.

There can be only one instance of the Manager class, and all applications will start by calling Manager::Create static method to create that instance. From then on, a call to the Manager::Get static method will return the pointer to the Manager object. On application exit, Manager::Destroy should be called to allow OpenZWave to clean up and delete any other objects it has created.

Once the Manager has been created, a call should be made to Manager::AddWatcher to install a notification callback handler. This handler will receive notifications of Z-Wave network changes and updates to device values, and is an essential element of OpenZWave.

Next, a call should be made to Manager::AddDriver for each Z-Wave controller attached to the PC. Each Driver will handle the sending and receiving of messages for all the devices in its controller's Z-Wave network. The Driver will read any previously saved configuration and then query the Z-Wave controller for any missing information. Once that process is complete, a DriverReady notification callback will be sent containing the Home ID of the controller, which is required by most of the other Manager class methods.

[After the DriverReady notification is sent, the Driver will poll each node on the network to update information about each node. After all "awake" nodes have been polled, an "AllAwakeNodesQueried" notification is sent. This is when a client application can expect all of the node information (both static information, like the physical device's capabilities, session information (like [associations and/or names] and dynamic information (like temperature or on/off state) to be available. Finally, after all nodes (whether listening or sleeping) have been polled, an "AllNodesQueried" notification is sent.]

See Also