OpenZWave::Manager Class Reference

The main public interface to OpenZWave. More...

`#include <Manager.h>`

## Public Types

typedef void(* | pfnOnNotification_t) (Notification const *_pNotification, void *_context)

## Friends

class | Driver
class | CommandClass
class | Group
class | Node
class | Value
class | ValueStore
class | ValueButton
class | Msg

## Construction

For creating and destroying the Manager singleton.
static Manager * | Create ()

Creates the Manager singleton object. The Manager provides the public interface to OpenZWave, exposing all the functionality required to add Z-Wave support to an application. There can be only one Manager in an OpenZWave application. An Options object must be created and Locked first, otherwise the call to Manager::Create will fail. Once the Manager has been created, call AddWatcher to install a notification callback handler, and then call the AddDriver method for each attached PC Z-Wave controller in turn. More...

static Manager * | Get ()
| Gets a pointer to the Manager object. More...
static void | Destroy ()
| Deletes the Manager and cleans up any associated objects. More...
static std::string | getVersionAsString ()
| Get the Version Number of OZW as a string. More...
static std::string | getVersionLongAsString ()
| Get the Version Number including Git commit of OZW as a string. More...
static ozwversion | getVersion ()
| Get the Version Number as the Version Struct (Only Major/Minor returned) More...

## Configuration

For saving the Z-Wave network configuration so that the entire network does not need to be polled every time the application starts.
void | WriteConfig (uint32 const _homeId)

Saves the configuration of a PC Controller's Z-Wave network to the application's user data folder. This method does not normally need to be called, since OpenZWave will save the state automatically during the shutdown process. It is provided here only as an aid to development. The configuration of each PC Controller's Z-Wave network is stored in a separate file. The filename consists of the 8 digit hexadecimal version of the controller's Home ID, prefixed with the string 'zwcfg_'. This convention allows OpenZWave to find the correct configuration file for a controller, even if it is attached to a different serial port, USB device path, etc. More...

Options * | GetOptions () const
| Gets a pointer to the locked Options object. More...

## Drivers

Methods for adding and removing drivers and obtaining basic controller information.
bool | AddDriver (string const &_controllerPath, Driver::ControllerInterface const &_interface=Driver::ControllerInterface_Serial)

Creates a new driver for a Z-Wave controller. This method creates a Driver object for handling communications with a single Z-Wave controller. In the background, the driver first tries to read configuration data saved during a previous run. It then queries the controller directly for any missing information, and a refresh of the list of nodes that it controls. Once this information has been received, a DriverReady notification callback is sent, containing the Home ID of the controller. This Home ID is required by most of the OpenZWave Manager class methods. More...

bool | RemoveDriver (string const &_controllerPath)
| Removes the driver for a Z-Wave controller, and closes the controller. Drivers do not need to be explicitly removed before calling Destroy - this is handled automatically. More...
uint8 | GetControllerNodeId (uint32 const _homeId)
| Get the node ID of the Z-Wave controller. More...
uint8 | GetSUCNodeId (uint32 const _homeId)
| Get the node ID of the Static Update Controller. More...
bool | IsPrimaryController (uint32 const _homeId)
| Query if the controller is a primary controller. The primary controller is the main device used to configure and control a Z-Wave network. There can only be one primary controller - all other controllers are secondary controllers. More...
bool | IsStaticUpdateController (uint32 const _homeId)
| Query if the controller is a static update controller. A Static Update Controller (SUC) is a controller that must never be moved in normal operation and which can be used by other nodes to receive information about network changes. More...
bool | IsBridgeController (uint32 const _homeId)
| Query if the controller is using the bridge controller library. A bridge controller is able to create virtual nodes that can be associated with other controllers to enable events to be passed on. More...
string | GetLibraryVersion (uint32 const _homeId)
| Get the version of the Z-Wave API library used by a controller. More...
string | GetLibraryTypeName (uint32 const _homeId)
| Get a string containing the Z-Wave API library type used by a controller. The possible library types are: More...
int32 | GetSendQueueCount (uint32 const _homeId)
| Get count of messages in the outgoing send queue. More...
void | LogDriverStatistics (uint32 const _homeId)
| Send current driver statistics to the log file. More...
Driver::ControllerInterface | GetControllerInterfaceType (uint32 const _homeId)
| Obtain controller interface type. More...
string | GetControllerPath (uint32 const _homeId)
| Obtain controller interface path. More...

## Polling Z-Wave devices

Methods for controlling the polling of Z-Wave devices. Modern devices will not require polling. Some old devices need to be polled as the only way to detect status changes.
int32 | GetPollInterval ()
| Get the time period between polls of a node's state. More...
void | SetPollInterval (int32 _milliseconds, bool _bIntervalBetweenPolls)

Set the time period between polls of a node's state. Due to patent concerns, some devices do not report state changes automatically to the controller. These devices need to have their state polled at regular intervals. The length of the interval is the same for all devices. To even out the Z-Wave network traffic generated by polling, OpenZWave divides the polling interval by the number of devices that have polling enabled, and polls each in turn. It is recommended that if possible, the interval should not be set shorter than the number of polled devices in seconds (so that the network does not have to cope with more than one poll per second). More...

bool | EnablePoll (ValueID const &_valueId, uint8 const _intensity=1)
| Enable the polling of a device's state. More...
bool | DisablePoll (ValueID const &_valueId)
| Disable the polling of a device's state. More...
bool | isPolled (ValueID const &_valueId)
| Determine the polling of a device's state. More...
void | SetPollIntensity (ValueID const &_valueId, uint8 const _intensity)
| Set the frequency of polling (0=none, 1=every time through the list, 2-every other time, etc) More...
uint8 | GetPollIntensity (ValueID const &_valueId)
| Get the polling intensity of a device's state. More...

## Node information

Methods for accessing information on individual nodes.
bool | RefreshNodeInfo (uint32 const _homeId, uint8 const _nodeId)

Trigger the fetching of fixed data about a node. Causes the node's data to be obtained from the Z-Wave network in the same way as if it had just been added. This method would normally be called automatically by OpenZWave, but if you know that a node has been changed, calling this method will force a refresh of all of the data held by the library. This can be especially useful for devices that were asleep when the application was first run. This is the same as the query state starting from the beginning. More...

bool | RequestNodeState (uint32 const _homeId, uint8 const _nodeId)
| Trigger the fetching of dynamic value data for a node. Causes the node's values to be requested from the Z-Wave network. This is the same as the query state starting from the associations state. More...
bool | RequestNodeDynamic (uint32 const _homeId, uint8 const _nodeId)
| Trigger the fetching of just the dynamic value data for a node. Causes the node's values to be requested from the Z-Wave network. This is the same as the query state starting from the dynamic state. More...
bool | IsNodeListeningDevice (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node is a listening device that does not go to sleep. More...
bool | IsNodeFrequentListeningDevice (uint32 const _homeId, uint8 const _nodeId)
| 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. More...
bool | IsNodeBeamingDevice (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node is a beam capable device. More...
bool | IsNodeRoutingDevice (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node is a routing device that passes messages to other nodes. More...
bool | IsNodeSecurityDevice (uint32 const _homeId, uint8 const _nodeId)
| Get the security attribute for a node. True if node supports security features. More...
uint32 | GetNodeMaxBaudRate (uint32 const _homeId, uint8 const _nodeId)
| Get the maximum baud rate of a node's communications. More...
uint8 | GetNodeVersion (uint32 const _homeId, uint8 const _nodeId)
| Get the version number of a node. More...
uint8 | GetNodeSecurity (uint32 const _homeId, uint8 const _nodeId)
| Get the security byte of a node. More...
bool | IsNodeZWavePlus (uint32 const _homeId, uint8 const _nodeId)
| Is this a ZWave+ Supported Node? More...
uint8 | GetNodeBasic (uint32 const _homeId, uint8 const _nodeId)
| Get the basic type of a node. More...
uint8 | GetNodeGeneric (uint32 const _homeId, uint8 const _nodeId)
| Get the generic type of a node. More...
uint8 | GetNodeSpecific (uint32 const _homeId, uint8 const _nodeId)
| Get the specific type of a node. More...
string | GetNodeType (uint32 const _homeId, uint8 const _nodeId)
| Get a human-readable label describing the node The label is taken from the Z-Wave specific, generic or basic type, depending on which of those values are specified by the node. More...
uint32 | GetNodeNeighbors (uint32 const _homeId, uint8 const _nodeId, uint8 **_nodeNeighbors)
| Get the bitmap of this node's neighbors. More...
string | GetNodeManufacturerName (uint32 const _homeId, uint8 const _nodeId)

Get the manufacturer name of a device The manufacturer name would normally be handled by the Manufacturer Specific command class, taking the manufacturer ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object. More...

string | GetNodeProductName (uint32 const _homeId, uint8 const _nodeId)

Get the product name of a device The product name would normally be handled by the Manufacturer Specific command class, taking the product Type and ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object. More...

string | GetNodeName (uint32 const _homeId, uint8 const _nodeId)

Get the name of a node The node name is a user-editable label for the node that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always be named, OpenZWave stores it with the node data, and provides access through this method and SetNodeName, rather than reporting it via a command class Value object. The maximum length of a node name is 16 characters. More...

string | GetNodeLocation (uint32 const _homeId, uint8 const _nodeId)
| Get the location of a node The node location is a user-editable string that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always report its location, OpenZWave stores it with the node data, and provides access through this method and SetNodeLocation, rather than reporting it via a command class Value object. More...
string | GetNodeManufacturerId (uint32 const _homeId, uint8 const _nodeId)

Get the manufacturer ID of a device The manufacturer ID is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the manufacturer ID is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data. More...

string | GetNodeProductType (uint32 const _homeId, uint8 const _nodeId)

Get the product type of a device The product type is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the product type is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data. More...

string | GetNodeProductId (uint32 const _homeId, uint8 const _nodeId)

Get the product ID of a device The product ID is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the product ID is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data. More...

void | SetNodeManufacturerName (uint32 const _homeId, uint8 const _nodeId, string const &_manufacturerName)

Set the manufacturer name of a device The manufacturer name would normally be handled by the Manufacturer Specific command class, taking the manufacturer ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object. More...

void | SetNodeProductName (uint32 const _homeId, uint8 const _nodeId, string const &_productName)

Set the product name of a device The product name would normally be handled by the Manufacturer Specific command class, taking the product Type and ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object. More...

void | SetNodeName (uint32 const _homeId, uint8 const _nodeId, string const &_nodeName)

Set the name of a node The node name is a user-editable label for the node that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always be named, OpenZWave stores it with the node data, and provides access through this method and GetNodeName, rather than reporting it via a command class Value object. If the device does support the Node Naming command class, the new name will be sent to the node. The maximum length of a node name is 16 characters. More...

void | SetNodeLocation (uint32 const _homeId, uint8 const _nodeId, string const &_location)

Set the location of a node The node location is a user-editable string that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always report its location, OpenZWave stores it with the node data, and provides access through this method and GetNodeLocation, rather than reporting it via a command class Value object. If the device does support the Node Naming command class, the new location will be sent to the node. More...

void | SetNodeOn (uint32 const _homeId, uint8 const _nodeId)
| Turns a node on This is a helper method to simplify basic control of a node. It is the equivalent of changing the level reported by the node's Basic command class to 255, and will generate a ValueChanged notification from that class. This command will turn on the device at its last known level, if supported by the device, otherwise it will turn it on at 100%. More...
void | SetNodeOff (uint32 const _homeId, uint8 const _nodeId)
| Turns a node off This is a helper method to simplify basic control of a node. It is the equivalent of changing the level reported by the node's Basic command class to zero, and will generate a ValueChanged notification from that class. More...
void | SetNodeLevel (uint32 const _homeId, uint8 const _nodeId, uint8 const _level)
| Sets the basic level of a node This is a helper method to simplify basic control of a node. It is the equivalent of changing the value reported by the node's Basic command class and will generate a ValueChanged notification from that class. More...
bool | IsNodeInfoReceived (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node information has been received. More...
bool | GetNodeClassInformation (uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, string *_className=NULL, uint8 *_classVersion=NULL)
| Get whether the node has the defined class available or not. More...
bool | IsNodeAwake (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node is awake or asleep. More...
bool | IsNodeFailed (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node is working or has failed. More...
string | GetNodeQueryStage (uint32 const _homeId, uint8 const _nodeId)
| Get whether the node's query stage as a string. More...
uint16 | GetNodeDeviceType (uint32 const _homeId, uint8 const _nodeId)
| Get the node device type as reported in the Z-Wave+ Info report. More...
string | GetNodeDeviceTypeString (uint32 const _homeId, uint8 const _nodeId)
| Get the node device type as reported in the Z-Wave+ Info report. More...
uint8 | GetNodeRole (uint32 const _homeId, uint8 const _nodeId)
| Get the node role as reported in the Z-Wave+ Info report. More...
string | GetNodeRoleString (uint32 const _homeId, uint8 const _nodeId)
| Get the node role as reported in the Z-Wave+ Info report. More...
uint8 | GetNodePlusType (uint32 const _homeId, uint8 const _nodeId)
| Get the node PlusType as reported in the Z-Wave+ Info report. More...
string | GetNodePlusTypeString (uint32 const _homeId, uint8 const _nodeId)
| Get the node PlusType as reported in the Z-Wave+ Info report. More...

## Values

Methods for accessing device values. All the methods require a ValueID, which will have been provided in the ValueAdded Notification callback when the the value was first discovered by OpenZWave.
string | GetValueLabel (ValueID const &_id)
| Gets the user-friendly label for the value. More...
void | SetValueLabel (ValueID const &_id, string const &_value)
| Sets the user-friendly label for the value. More...
string | GetValueUnits (ValueID const &_id)
| Gets the units that the value is measured in. More...
void | SetValueUnits (ValueID const &_id, string const &_value)
| Sets the units that the value is measured in. More...
string | GetValueHelp (ValueID const &_id)
| Gets a help string describing the value's purpose and usage. More...
void | SetValueHelp (ValueID const &_id, string const &_value)
| Sets a help string describing the value's purpose and usage. More...
int32 | GetValueMin (ValueID const &_id)
| Gets the minimum that this value may contain. More...
int32 | GetValueMax (ValueID const &_id)
| Gets the maximum that this value may contain. More...
bool | IsValueReadOnly (ValueID const &_id)
| Test whether the value is read-only. More...
bool | IsValueWriteOnly (ValueID const &_id)
| Test whether the value is write-only. More...
bool | IsValueSet (ValueID const &_id)
| Test whether the value has been set. More...
bool | IsValuePolled (ValueID const &_id)
| Test whether the value is currently being polled. More...
bool | GetValueAsBool (ValueID const &_id, bool *o_value)
| Gets a value as a bool. More...
bool | GetValueAsByte (ValueID const &_id, uint8 *o_value)
| Gets a value as an 8-bit unsigned integer. More...
bool | GetValueAsFloat (ValueID const &_id, float *o_value)
| Gets a value as a float. More...
bool | GetValueAsInt (ValueID const &_id, int32 *o_value)
| Gets a value as a 32-bit signed integer. More...
bool | GetValueAsShort (ValueID const &_id, int16 *o_value)
| Gets a value as a 16-bit signed integer. More...
bool | GetValueAsString (ValueID const &_id, string *o_value)
| Gets a value as a string. Creates a string representation of a value, regardless of type. More...
bool | GetValueAsRaw (ValueID const &_id, uint8 **o_value, uint8 *o_length)
| Gets a value as a collection of bytes. More...
bool | GetValueListSelection (ValueID const &_id, string *o_value)
| Gets the selected item from a list (as a string). More...
bool | GetValueListSelection (ValueID const &_id, int32 *o_value)
| Gets the selected item from a list (as an integer). More...
bool | GetValueListItems (ValueID const &_id, vector< string > *o_value)
| Gets the list of items from a list value. More...
bool | GetValueListValues (ValueID const &_id, vector< int32 > *o_value)
| Gets the list of values from a list value. More...
bool | GetValueFloatPrecision (ValueID const &_id, uint8 *o_value)
| Gets a float value's precision. More...
bool | SetValue (ValueID const &_id, bool const _value)
| Sets the state of a bool. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValue (ValueID const &_id, uint8 const _value)
| Sets the value of a byte. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValue (ValueID const &_id, float const _value)

Sets the value of a decimal. It is usually better to handle decimal values using strings rather than floats, to avoid floating point accuracy issues. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...

bool | SetValue (ValueID const &_id, int32 const _value)
| Sets the value of a 32-bit signed integer. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValue (ValueID const &_id, int16 const _value)
| Sets the value of a 16-bit signed integer. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValue (ValueID const &_id, uint8 const *_value, uint8 const _length)
| Sets the value of a collection of bytes. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValue (ValueID const &_id, string const &_value)
| Sets the value from a string, regardless of type. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | SetValueListSelection (ValueID const &_id, string const &_selectedItem)
| Sets the selected item in a list. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
bool | RefreshValue (ValueID const &_id)
| Refreshes the specified value from the Z-Wave network. A call to this function causes the library to send a message to the network to retrieve the current value of the specified ValueID (just like a poll, except only one-time, not recurring). More...
void | SetChangeVerified (ValueID const &_id, bool _verify)
| 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. More...
bool | GetChangeVerified (ValueID const &_id)
| determine if value changes 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. More...
bool | PressButton (ValueID const &_id)
| Starts an activity in a device. Since buttons are write-only values that do not report a state, no notification callbacks are sent. More...
bool | ReleaseButton (ValueID const &_id)
| Stops an activity in a device. Since buttons are write-only values that do not report a state, no notification callbacks are sent. More...

## Climate Control Schedules

Methods for accessing schedule values. All the methods require a ValueID, which will have been provided in the ValueAdded Notification callback when the the value was first discovered by OpenZWave.

The ValueType_Schedule is a specialized Value used to simplify access to the switch point schedule information held by a setback thermostat that supports the Climate Control Schedule command class. Each schedule contains up to nine switch points for a single day, consisting of a time in hours and minutes (24 hour clock) and a setback in tenths of a degree Celsius. The setback value can range from -128 (-12.8C) to 120 (12.0C). There are two special setback values - 121 is used to set Frost Protection mode, and 122 is used to set Energy Saving mode.

The switch point methods only modify OpenZWave's copy of the schedule information. Once all changes have been made, they are sent to the device by calling SetSchedule.

uint8 | GetNumSwitchPoints (ValueID const &_id)
| Get the number of switch points defined in a schedule. More...
bool | SetSwitchPoint (ValueID const &_id, uint8 const _hours, uint8 const _minutes, int8 const _setback)
| Set a switch point in the schedule. Inserts a new switch point into the schedule, unless a switch point already exists at the specified time in which case that switch point is updated with the new setback value instead. A maximum of nine switch points can be set in the schedule. More...
bool | RemoveSwitchPoint (ValueID const &_id, uint8 const _hours, uint8 const _minutes)
| Remove a switch point from the schedule. Removes the switch point at the specified time from the schedule. More...
void | ClearSwitchPoints (ValueID const &_id)
| Clears all switch points from the schedule. More...
bool | GetSwitchPoint (ValueID const &_id, uint8 const _idx, uint8 *o_hours, uint8 *o_minutes, int8 *o_setback)
| Gets switch point data from the schedule. Retrieves the time and setback values from a switch point in the schedule. More...

## SwitchAll

Methods for switching all devices on or off together. The devices must support the SwitchAll command class. The command is first broadcast to all nodes, and then followed up with individual commands to each node (because broadcasts are not routed, the message might not otherwise reach all the nodes).
void | SwitchAllOn (uint32 const _homeId)
| Switch all devices on. All devices that support the SwitchAll command class will be turned on. More...
void | SwitchAllOff (uint32 const _homeId)
| Switch all devices off. All devices that support the SwitchAll command class will be turned off. More...

## Configuration Parameters

Methods for accessing device configuration parameters. Configuration parameters are values that are managed by the Configuration command class. The values are device-specific and are not reported by the devices. Information on parameters is provided only in the device user manual.

An ongoing task for the OpenZWave project is to create XML files describing the available parameters for every Z-Wave. See the config folder in the project source code for examples.

bool | SetConfigParam (uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size=2)
| Set the value of a configurable parameter in a device. Some devices have various parameters that can be configured to control the device behavior. These are not reported by the device over the Z-Wave network, but can usually be found in the device's user manual. This method returns immediately, without waiting for confirmation from the device that the change has been made. More...
void | RequestConfigParam (uint32 const _homeId, uint8 const _nodeId, uint8 const _param)

Request the value of a configurable parameter from a device. Some devices have various parameters that can be configured to control the device behavior. These are not reported by the device over the Z-Wave network, but can usually be found in the device's user manual. This method requests the value of a parameter from the device, and then returns immediately, without waiting for a response. If the parameter index is valid for this device, and the device is awake, the value will eventually be reported via a ValueChanged notification callback. The ValueID reported in the callback will have an index set the same as _param and a command class set to the same value as returned by a call to Configuration::StaticGetCommandClassId. More...

void | RequestAllConfigParams (uint32 const _homeId, uint8 const _nodeId)
| Request the values of all known configurable parameters from a device. More...

## Groups

Methods for accessing device association groups.
uint8 | GetNumGroups (uint32 const _homeId, uint8 const _nodeId)
| Gets the number of association groups reported by this node In Z-Wave, groups are numbered starting from one. For example, if a call to GetNumGroups returns 4, the _groupIdx value to use in calls to GetAssociations, AddAssociation and RemoveAssociation will be a number between 1 and 4. More...
uint32 | GetAssociations (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 **o_associations)
| Gets the associations for a group. Makes a copy of the list of associated nodes in the group, and returns it in an array of uint8's. The caller is responsible for freeing the array memory with a call to delete []. More...
uint32 | GetAssociations (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation **o_associations)
| Gets the associations for a group. Makes a copy of the list of associated nodes in the group, and returns it in an array of InstanceAssociation's. The caller is responsible for freeing the array memory with a call to delete []. More...
uint8 | GetMaxAssociations (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx)
| Gets the maximum number of associations for a group. More...
string | GetGroupLabel (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx)
| Returns a label for the particular group of a node. This label is populated by the device specific configuration files. More...
void | AddAssociation (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance=0x00)
| Adds a node to an association group. Due to the possibility of a device being asleep, the command is assumed to succeed, and the association data held in this class is updated directly. This will be reverted by a future Association message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...
void | RemoveAssociation (uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance=0x00)
| Removes a node from an association group. Due to the possibility of a device being asleep, the command is assumed to succeed, and the association data held in this class is updated directly. This will be reverted by a future Association message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases. More...

## Notifications

For notification of changes to the Z-Wave network or device values and associations.
bool | AddWatcher (pfnOnNotification_t _watcher, void *_context)
| Add a notification watcher. In OpenZWave, all feedback from the Z-Wave network is sent to the application via callbacks. This method allows the application to add a notification callback handler, known as a "watcher" to OpenZWave. An application needs only add a single watcher - all notifications will be reported to it. More...
bool | RemoveWatcher (pfnOnNotification_t _watcher, void *_context)
| Remove a notification watcher. More...

## Controller Commands

Commands for Z-Wave network management using the PC Controller.
void | ResetController (uint32 const _homeId)
| Hard Reset a PC Z-Wave Controller. Resets a controller and erases its network configuration settings. The controller becomes a primary controller ready to add devices to a new network. More...
void | SoftReset (uint32 const _homeId)
| Soft Reset a PC Z-Wave Controller. Resets a controller without erasing its network configuration settings. More...
DEPRECATED bool | BeginControllerCommand (uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback=NULL, void *_context=NULL, bool _highPower=false, uint8 _nodeId=0xff, uint8 _arg=0)
| Start a controller command process. Most Controller Commands are implemented via Other Manager methods, you should only use this method if you need advanced control over a existing Controller Command or if a ControllerCommand is not implemented. More...
bool | CancelControllerCommand (uint32 const _homeId)
| Cancels any in-progress command running on a controller. More...

## Network Commands

Commands for Z-Wave network for testing, routing and other internal operations.
void | TestNetworkNode (uint32 const _homeId, uint8 const _nodeId, uint32 const _count)
| Test network node. Sends a series of messages to a network node for testing network reliability. More...
void | TestNetwork (uint32 const _homeId, uint32 const _count)
| Test network. Sends a series of messages to every node on the network for testing network reliability. More...
void | HealNetworkNode (uint32 const _homeId, uint8 const _nodeId, bool _doRR)
| Heal network node by requesting the node rediscover their neighbors. Sends a ControllerCommand_RequestNodeNeighborUpdate to the node. More...
void | HealNetwork (uint32 const _homeId, bool _doRR)
| Heal network by requesting node's rediscover their neighbors. Sends a ControllerCommand_RequestNodeNeighborUpdate to every node. Can take a while on larger networks. More...
bool | AddNode (uint32 const _homeId, bool _doSecurity=true)
| Start the Inclusion Process to add a Node to the Network. The Status of the Node Inclusion is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications. More...
bool | RemoveNode (uint32 const _homeId)
| Remove a Device from the Z-Wave Network The Status of the Node Removal is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications. More...
bool | RemoveFailedNode (uint32 const _homeId, uint8 const _nodeId)

Remove a Failed Device from the Z-Wave Network This Command will remove a failed node from the network. The Node should be on the Controllers Failed Node List, otherwise this command will fail. You can use the HasNodeFailed function below to test if the Controller believes the Node has Failed. The Status of the Node Removal is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications. More...

bool | HasNodeFailed (uint32 const _homeId, uint8 const _nodeId)
| Check if the Controller Believes a Node has Failed. This is different from the IsNodeFailed call in that we test the Controllers Failed Node List, whereas the IsNodeFailed is testing our list of Failed Nodes, which might be different. The Results will be communicated via Notifications. Specifically, you should monitor the ControllerCommand notifications. More...
bool | RequestNodeNeighborUpdate (uint32 const _homeId, uint8 const _nodeId)
| Ask a Node to update its Neighbor Tables This command will ask a Node to update its Neighbor Tables. More...
bool | AssignReturnRoute (uint32 const _homeId, uint8 const _nodeId)
| Ask a Node to update its update its Return Route to the Controller This command will ask a Node to update its Return Route to the Controller. More...
bool | DeleteAllReturnRoutes (uint32 const _homeId, uint8 const _nodeId)
| Ask a Node to delete all Return Route. This command will ask a Node to delete all its return routes, and will rediscover when needed. More...
bool | SendNodeInformation (uint32 const _homeId, uint8 const _nodeId)
| Send a NIF frame from the Controller to a Node. This command send a NIF frame from the Controller to a Node. More...
bool | CreateNewPrimary (uint32 const _homeId)
| Create a new primary controller when old primary fails. Requires SUC. This command Creates a new Primary Controller when the Old Primary has Failed. Requires a SUC on the network to function. More...
bool | ReceiveConfiguration (uint32 const _homeId)
| Receive network configuration information from primary controller. Requires secondary. This command prepares the controller to receive Network Configuration from a Secondary Controller. More...
bool | ReplaceFailedNode (uint32 const _homeId, uint8 const _nodeId)
| Replace a failed device with another. If the node is not in the controller's failed nodes list, or the node responds, this command will fail. You can check if a Node is in the Controllers Failed node list by using the HasNodeFailed method. More...
bool | TransferPrimaryRole (uint32 const _homeId)
| Add a new controller to the network and make it the primary. The existing primary will become a secondary controller. More...
bool | RequestNetworkUpdate (uint32 const _homeId, uint8 const _nodeId)
| Update the controller with network information from the SUC/SIS. More...
bool | ReplicationSend (uint32 const _homeId, uint8 const _nodeId)
| Send information from primary to secondary. More...
bool | CreateButton (uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid)
| Create a handheld button id. More...
bool | DeleteButton (uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid)
| Delete a handheld button id. More...

## Scene Commands

Commands for Z-Wave scene interface.
uint8 | GetNumScenes ()
| Gets the number of scenes that have been defined. More...
uint8 | GetAllScenes (uint8 **_sceneIds)
| Gets a list of all the SceneIds. More...
void | RemoveAllScenes (uint32 const _homeId)
| Remove all the SceneIds. More...
uint8 | CreateScene ()
| Create a new Scene passing in Scene ID. More...
bool | RemoveScene (uint8 const _sceneId)
| Remove an existing Scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, bool const _value)
| Add a bool Value ID to an existing scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, uint8 const _value)
| Add a byte Value ID to an existing scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, float const _value)
| Add a decimal Value ID to an existing scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, int32 const _value)
| Add a 32-bit signed integer Value ID to an existing scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, int16 const _value)
| Add a 16-bit signed integer Value ID to an existing scene. More...
bool | AddSceneValue (uint8 const _sceneId, ValueID const &_valueId, string const &_value)
| Add a string Value ID to an existing scene. More...
bool | AddSceneValueListSelection (uint8 const _sceneId, ValueID const &_valueId, string const &_value)
| Add the selected item list Value ID to an existing scene (as a string). More...
bool | AddSceneValueListSelection (uint8 const _sceneId, ValueID const &_valueId, int32 const _value)
| Add the selected item list Value ID to an existing scene (as a integer). More...
bool | RemoveSceneValue (uint8 const _sceneId, ValueID const &_valueId)
| Remove the Value ID from an existing scene. More...
int | SceneGetValues (uint8 const _sceneId, vector< ValueID > *o_value)
| Retrieves the scene's list of values. More...
bool | SceneGetValueAsBool (uint8 const _sceneId, ValueID const &_valueId, bool *o_value)
| Retrieves a scene's value as a bool. More...
bool | SceneGetValueAsByte (uint8 const _sceneId, ValueID const &_valueId, uint8 *o_value)
| Retrieves a scene's value as an 8-bit unsigned integer. More...
bool | SceneGetValueAsFloat (uint8 const _sceneId, ValueID const &_valueId, float *o_value)
| Retrieves a scene's value as a float. More...
bool | SceneGetValueAsInt (uint8 const _sceneId, ValueID const &_valueId, int32 *o_value)
| Retrieves a scene's value as a 32-bit signed integer. More...
bool | SceneGetValueAsShort (uint8 const _sceneId, ValueID const &_valueId, int16 *o_value)
| Retrieves a scene's value as a 16-bit signed integer. More...
bool | SceneGetValueAsString (uint8 const _sceneId, ValueID const &_valueId, string *o_value)
| Retrieves a scene's value as a string. More...
bool | SceneGetValueListSelection (uint8 const _sceneId, ValueID const &_valueId, string *o_value)
| Retrieves a scene's value as a list (as a string). More...
bool | SceneGetValueListSelection (uint8 const _sceneId, ValueID const &_valueId, int32 *o_value)
| Retrieves a scene's value as a list (as a integer). More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, bool const _value)
| Set a bool Value ID to an existing scene's ValueID. More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, uint8 const _value)
| Set a byte Value ID to an existing scene's ValueID. More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, float const _value)
| Set a decimal Value ID to an existing scene's ValueID. More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, int32 const _value)
| Set a 32-bit signed integer Value ID to an existing scene's ValueID. More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, int16 const _value)
| Set a 16-bit integer Value ID to an existing scene's ValueID. More...
bool | SetSceneValue (uint8 const _sceneId, ValueID const &_valueId, string const &_value)
| Set a string Value ID to an existing scene's ValueID. More...
bool | SetSceneValueListSelection (uint8 const _sceneId, ValueID const &_valueId, string const &_value)
| Set the list selected item Value ID to an existing scene's ValueID (as a string). More...
bool | SetSceneValueListSelection (uint8 const _sceneId, ValueID const &_valueId, int32 const _value)
| Set the list selected item Value ID to an existing scene's ValueID (as a integer). More...
string | GetSceneLabel (uint8 const _sceneId)
| Returns a label for the particular scene. More...
void | SetSceneLabel (uint8 const _sceneId, string const &_value)
| Sets a label for the particular scene. More...
bool | SceneExists (uint8 const _sceneId)
| Check if a Scene ID is defined. More...
bool | ActivateScene (uint8 const _sceneId)
| Activate given scene to perform all its actions. More...

## Statistics retrieval interface

Commands for Z-Wave statistics interface.
void | GetDriverStatistics (uint32 const _homeId, Driver::DriverData *_data)
| Retrieve statistics from driver. More...
void | GetNodeStatistics (uint32 const _homeId, uint8 const _nodeId, Node::NodeData *_data)
| Retrieve statistics per node. More...

## Detailed Description

The main public interface to OpenZWave.

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.]

## Member Typedef Documentation

## pfnOnNotification_t

typedef void(* OpenZWave::Manager::pfnOnNotification_t) (Notification const *_pNotification, void *_context)

## Member Function Documentation

## ActivateScene()

bool Manager::ActivateScene | ( | uint8 const | _sceneId | ) |

Activate given scene to perform all its actions.

Parameters

  _sceneId | The Scene ID.

Returns
  true if it is successful.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists

## AddAssociation()

void Manager::AddAssociation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx,
|  | uint8 const | _targetNodeId,
|  | uint8 const | _instance = `0x00`
| ) |  |

Adds a node to an association group. Due to the possibility of a device being asleep, the command is assumed to succeed, and the association data held in this class is updated directly. This will be reverted by a future Association message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations are to be changed.
  _groupIdx | One-based index of the group (because Z-Wave product manuals use one-based group numbering).
  _targetNodeId | Identifier for the node that will be added to the association group.
  _instance | Identifier for the instance that will be added to the association group.

See also
  GetNumGroups, GetAssociations, GetMaxAssociations, RemoveAssociation

## AddDriver()

bool Manager::AddDriver | ( | string const & | _controllerPath,
|  | Driver::ControllerInterface const & | _interface = `Driver::ControllerInterface_Serial`
| ) |  |

Creates a new driver for a Z-Wave controller. This method creates a Driver object for handling communications with a single Z-Wave controller. In the background, the driver first tries to read configuration data saved during a previous run. It then queries the controller directly for any missing information, and a refresh of the list of nodes that it controls. Once this information has been received, a DriverReady notification callback is sent, containing the Home ID of the controller. This Home ID is required by most of the OpenZWave Manager class methods.

Parameters

  _controllerPath | The string used to open the controller. On Windows this might be something like "\\.\COM3", or on Linux "/dev/ttyUSB0".

Returns
  True if a new driver was created, false if a driver for the controller already exists.

See also
  Create, Get, RemoveDriver

## AddNode()

bool Manager::AddNode | ( | uint32 const | _homeId,
|  | bool | _doSecurity = `true`
| ) |  |

Start the Inclusion Process to add a Node to the Network. The Status of the Node Inclusion is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications.

Results of the AddNode Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The Home ID of the Z-Wave network where the device should be added.
  _doSecurity | Whether to initialize the Network Key on the device if it supports the Security CC

Returns
  if the Command was sent successfully to the Controller

See also
  CancelControllerCommand

## AddSceneValue() [1/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | bool const | _value
| ) |  |

Add a bool Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the bool value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValue() [2/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | uint8 const | _value
| ) |  |

Add a byte Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the byte value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValue() [3/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | float const | _value
| ) |  |

Add a decimal Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the float value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValue() [4/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 const | _value
| ) |  |

Add a 32-bit signed integer Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the int32 value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValue() [5/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int16 const | _value
| ) |  |

Add a 16-bit signed integer Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the int16 value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValue() [6/6]

bool Manager::AddSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string const & | _value
| ) |  |

Add a string Value ID to an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the string value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValueListSelection() [1/2]

bool Manager::AddSceneValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string const & | _value
| ) |  |

Add the selected item list Value ID to an existing scene (as a string).

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the string value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddSceneValueListSelection() [2/2]

bool Manager::AddSceneValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 const | _value
| ) |  |

Add the selected item list Value ID to an existing scene (as a integer).

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the integer value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## AddWatcher()

bool Manager::AddWatcher | ( | pfnOnNotification_t | _watcher,
|  | void * | _context
| ) |  |

Add a notification watcher. In OpenZWave, all feedback from the Z-Wave network is sent to the application via callbacks. This method allows the application to add a notification callback handler, known as a "watcher" to OpenZWave. An application needs only add a single watcher - all notifications will be reported to it.

Parameters

  _watcher | pointer to a function that will be called by the notification system.
  _context | pointer to user defined data that will be passed to the watcher function with each notification.

Returns
  true if the watcher was successfully added.

See also
  RemoveWatcher, Notification

## AssignReturnRoute()

bool Manager::AssignReturnRoute | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Ask a Node to update its update its Return Route to the Controller This command will ask a Node to update its Return Route to the Controller.

Results of the AssignReturnRoute Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to update the device
  _nodeId | The NodeID of the Node.

Returns
  if the Command was send successfully to the Controller

See also
  CancelControllerCommand

## BeginControllerCommand()

bool Manager::BeginControllerCommand | ( | uint32 const | _homeId,
|  | Driver::ControllerCommand | _command,
|  | Driver::pfnControllerCallback_t | _callback = `NULL`,
|  | void * | _context = `NULL`,
|  | bool | _highPower = `false`,
|  | uint8 | _nodeId = `0xff`,
|  | uint8 | _arg = `0`
| ) |  |

Start a controller command process. Most Controller Commands are implemented via Other Manager methods, you should only use this method if you need advanced control over a existing Controller Command or if a ControllerCommand is not implemented.

Parameters

  _homeId | The Home ID of the Z-Wave controller.
  _command | The command to be sent to the controller.
  _callback | pointer to a function that will be called at various stages during the command process to notify the user of progress or to request actions on the user's part. Defaults to NULL. Callbacks are also sent via Notification mechanism with type of Notification::Type_ControllerCommand
  _context | pointer to user defined data that will be passed into to the callback function. Defaults to NULL.
  _highPower | used only with the AddDevice, AddController, RemoveDevice and RemoveController commands. Usually when adding or removing devices, the controller operates at low power so that the controller must be physically close to the device for security reasons. If _highPower is true, the controller will operate at normal power levels instead. Defaults to false.
  _nodeId | is the node ID used by the command if necessary.
  _arg | is an optional argument, usually another node ID, that is used by the command.

Returns
  true if the command was accepted and has queued to be executed.

See also
  CancelControllerCommand, HasNodeFailed, RemoveFailedNode, Driver::ControllerCommand, Driver::pfnControllerCallback_t,

Commands

- Driver::ControllerCommand_AddDevice - Add a new device or controller to the Z-Wave network.
- Driver::ControllerCommand_CreateNewPrimary - Create a new primary controller when old primary fails. Requires SUC.
- Driver::ControllerCommand_ReceiveConfiguration - Receive network configuration information from primary controller. Requires secondary.
- Driver::ControllerCommand_RemoveDevice - Remove a device or controller from the Z-Wave network.
- Driver::ControllerCommand_RemoveFailedNode - Remove a node from the network. The node must not be responding and be on the controller's failed node list.
- Driver::ControllerCommand_HasNodeFailed - Check whether a node is in the controller's failed nodes list.
- Driver::ControllerCommand_ReplaceFailedNode - Replace a failed device with another. If the node is not in the controller's failed nodes list, or the node responds, this command will fail.
- Driver:: ControllerCommand_TransferPrimaryRole - Add a new controller to the network and make it the primary. The existing primary will become a secondary controller.
- Driver::ControllerCommand_RequestNetworkUpdate - Update the controller with network information from the SUC/SIS.
- Driver::ControllerCommand_RequestNodeNeighborUpdate - Get a node to rebuild its neighbour list. This method also does RequestNodeNeighbors afterwards.
- Driver::ControllerCommand_AssignReturnRoute - Assign a network return route to a device.
- Driver::ControllerCommand_DeleteAllReturnRoutes - Delete all network return routes from a device.
- Driver::ControllerCommand_SendNodeInformation - Send a node information frame.
- Driver::ControllerCommand_ReplicationSend - Send information from primary to secondary
- Driver::ControllerCommand_CreateButton - Create a handheld button id.
- Driver::ControllerCommand_DeleteButton - Delete a handheld button id.

Callbacks

- Driver::ControllerState_Starting, the controller command has begun
- Driver::ControllerState_Waiting, the controller is waiting for a user action. A notice should be displayed to the user at this point, telling them what to do next. For the add, remove, replace and transfer primary role commands, the user needs to be told to press the inclusion button on the device that is going to be added or removed. For ControllerCommand_ReceiveConfiguration, they must set their other controller to send its data, and for ControllerCommand_CreateNewPrimary, set the other controller to learn new data.
- Driver::ControllerState_InProgress - the controller is in the process of adding or removing the chosen node. It is now too late to cancel the command.
- Driver::ControllerState_Complete - the controller has finished adding or removing the node, and the command is complete.
- Driver::ControllerState_Failed - will be sent if the command fails for any reason.
  Deprecated:
    This method has been depreciated in favour of the methods in the Network_Commands section

See also
  AddNode RemoveNode RemoveFailedNode HasNodeFailed RequestNodeNeighborUpdate AssignReturnRoute DeleteAllReturnRoutes SendNodeInformation CreateNewPrimary ReceiveConfiguration ReplaceFailedNode TransferPrimaryRole RequestNetworkUpdate ReplicationSend CreateButton DeleteButton

## CancelControllerCommand()

bool Manager::CancelControllerCommand | ( | uint32 const | _homeId | ) |

Cancels any in-progress command running on a controller.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  true if a command was running and was cancelled.

See also
  BeginControllerCommand

## ClearSwitchPoints()

void Manager::ClearSwitchPoints | ( | ValueID const & | _id | ) |

Clears all switch points from the schedule.

Parameters

  _id | The unique identifier of the schedule value.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  GetNumSwitchPoints, SetSwitchPoint, RemoveSwitchPoint

## Create()

Manager * Manager::Create | ( |  | ) |

static

Creates the Manager singleton object. The Manager provides the public interface to OpenZWave, exposing all the functionality required to add Z-Wave support to an application. There can be only one Manager in an OpenZWave application. An Options object must be created and Locked first, otherwise the call to Manager::Create will fail. Once the Manager has been created, call AddWatcher to install a notification callback handler, and then call the AddDriver method for each attached PC Z-Wave controller in turn.

Parameters

  _options | a locked Options object containing all the application's configurable option values.

Returns
  a pointer to the newly created Manager object, or NULL if creation failed.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_OPTIONS if the Options Class is not setup and Locked

See also
  Options, Get, Destroy, AddWatcher, AddDriver

## CreateButton()

bool Manager::CreateButton | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _buttonid
| ) |  |

Create a handheld button id.

Only intended for Bridge Firmware Controllers.

Results of the CreateButton Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | the ID of the Virtual Node
  _buttonId | the ID of the Button to create

Returns
  if the CreateButton Command was send successfully to the Controller

See also
  CancelControllerCommand

## CreateNewPrimary()

bool Manager::CreateNewPrimary | ( | uint32 const | _homeId | ) |

Create a new primary controller when old primary fails. Requires SUC. This command Creates a new Primary Controller when the Old Primary has Failed. Requires a SUC on the network to function.

Results of the CreateNewPrimary Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network

Returns
  if the CreateNewPrimary Command was send successfully to the Controller

See also
  CancelControllerCommand

## CreateScene()

uint8 Manager::CreateScene | ( |  | ) |

Create a new Scene passing in Scene ID.

Returns
  uint8 Scene ID used to reference the scene. 0 is failure result.

See also
  GetNumScenes, GetAllScenes, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## DeleteAllReturnRoutes()

bool Manager::DeleteAllReturnRoutes | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Ask a Node to delete all Return Route. This command will ask a Node to delete all its return routes, and will rediscover when needed.

Results of the DeleteAllReturnRoutes Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to update the device
  _nodeId | The NodeID of the Node.

Returns
  if the Command was send successfully to the Controller

See also
  CancelControllerCommand

## DeleteButton()

bool Manager::DeleteButton | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _buttonid
| ) |  |

Delete a handheld button id.

Only intended for Bridge Firmware Controllers.

Results of the DeleteButton Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | the ID of the Virtual Node
  _buttonId | the ID of the Button to delete

Returns
  if the DeleteButton Command was send successfully to the Controller

See also
  CancelControllerCommand

## Destroy()

void Manager::Destroy | ( |  | ) |

static

Deletes the Manager and cleans up any associated objects.

See also
  Create, Get

## DisablePoll()

bool Manager::DisablePoll | ( | ValueID const & | _valueId | ) |

Disable the polling of a device's state.

Parameters

  _valueId | The ID of the value to stop polling.

Returns
  True if polling was disabled.

## EnablePoll()

bool Manager::EnablePoll | ( | ValueID const & | _valueId,
|  | uint8 const | _intensity = `1`
| ) |  |

Enable the polling of a device's state.

Parameters

  _valueId | The ID of the value to start polling.
  _intensity,number | of polling for one polling interval.

Returns
  True if polling was enabled.

## Get()

static Manager* OpenZWave::Manager::Get | ( |  | ) |

inline static

Gets a pointer to the Manager object.

Returns
  pointer to the Manager object, or NULL if Create has not yet been called.

See also
  Create, Destroy

## GetAllScenes()

uint8 Manager::GetAllScenes | ( | uint8 ** | _sceneIds | ) |

Gets a list of all the SceneIds.

Parameters

  _sceneIds | is a pointer to an array of integers.

Returns
  The number of scenes. If zero, _sceneIds will be NULL and doesn't need to be freed.

See also
  GetNumScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## GetAssociations() [1/2]

uint32 Manager::GetAssociations | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx,
|  | uint8 ** | o_associations
| ) |  |

Gets the associations for a group. Makes a copy of the list of associated nodes in the group, and returns it in an array of uint8's. The caller is responsible for freeing the array memory with a call to delete [].

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations we are interested in.
  _groupIdx | One-based index of the group (because Z-Wave product manuals use one-based group numbering).
  o_associations | If the number of associations returned is greater than zero, o_associations will be set to point to an array containing the IDs of the associated nodes.

Returns
  The number of nodes in the associations array. If zero, the array will point to NULL, and does not need to be deleted.

See also
  GetNumGroups, AddAssociation, RemoveAssociation, GetMaxAssociations

## GetAssociations() [2/2]

uint32 Manager::GetAssociations | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx,
|  | InstanceAssociation ** | o_associations
| ) |  |

Gets the associations for a group. Makes a copy of the list of associated nodes in the group, and returns it in an array of InstanceAssociation's. The caller is responsible for freeing the array memory with a call to delete [].

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations we are interested in.
  _groupIdx | One-based index of the group (because Z-Wave product manuals use one-based group numbering).
  o_associations | If the number of associations returned is greater than zero, o_associations will be set to point to an array containing the IDs and instances of the associated nodes.

Returns
  The number of items in the associations array. If zero, the array will point to NULL, and does not need to be deleted.

See also
  GetNumGroups, AddAssociation, RemoveAssociation, GetMaxAssociations

## GetChangeVerified()

bool Manager::GetChangeVerified | ( | ValueID const & | _id | ) |

determine if value changes 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.

Parameters

  _id | The unique identifier of the value whose changes should or should not be verified.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  Manager::SetChangeVerified

## GetControllerInterfaceType()

Driver::ControllerInterface Manager::GetControllerInterfaceType | ( | uint32 const | _homeId | ) |

Obtain controller interface type.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

## GetControllerNodeId()

uint8 Manager::GetControllerNodeId | ( | uint32 const | _homeId | ) |

Get the node ID of the Z-Wave controller.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  the node ID of the Z-Wave controller.

## GetControllerPath()

string Manager::GetControllerPath | ( | uint32 const | _homeId | ) |

Obtain controller interface path.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

## GetDriverStatistics()

void Manager::GetDriverStatistics | ( | uint32 const | _homeId,
|  | Driver::DriverData * | _data
| ) |  |

Retrieve statistics from driver.

Parameters

  _homeId | The Home ID of the driver to obtain counters
  _data | Pointer to structure DriverData to return values

## GetGroupLabel()

string Manager::GetGroupLabel | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx
| ) |  |

Returns a label for the particular group of a node. This label is populated by the device specific configuration files.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations are to be changed.
  _groupIdx | One-based index of the group (because Z-Wave product manuals use one-based group numbering).

See also
  GetNumGroups, GetAssociations, GetMaxAssociations, AddAssociation

## GetLibraryTypeName()

string Manager::GetLibraryTypeName | ( | uint32 const | _homeId | ) |

Get a string containing the Z-Wave API library type used by a controller. The possible library types are:

- Static Controller
- Controller
- Enhanced Slave
- Slave
- Installer
- Routing Slave
- Bridge Controller
- Device Under Test

The controller should never return a slave library type. For a more efficient test of whether a controller is a Bridge Controller, use the IsBridgeController method.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  a string containing the library type.

See also
  GetLibraryVersion, IsBridgeController

## GetLibraryVersion()

string Manager::GetLibraryVersion | ( | uint32 const | _homeId | ) |

Get the version of the Z-Wave API library used by a controller.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  a string containing the library version. For example, "Z-Wave 2.48".

## GetMaxAssociations()

uint8 Manager::GetMaxAssociations | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx
| ) |  |

Gets the maximum number of associations for a group.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations we are interested in.
  _groupIdx | one-based index of the group (because Z-Wave product manuals use one-based group numbering).

Returns
  The maximum number of nodes that can be associated into the group.

See also
  GetNumGroups, AddAssociation, RemoveAssociation, GetAssociations

## GetNodeBasic()

uint8 Manager::GetNodeBasic | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the basic type of a node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's basic type.

## GetNodeClassInformation()

bool Manager::GetNodeClassInformation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _commandClassId,
|  | string * | _className = `NULL`,
|  | uint8 * | _classVersion = `NULL`
| ) |  |

Get whether the node has the defined class available or not.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _commandClassId | Id of the class to test for

Returns
  True if the node does have the class instantiated, will return name & version

## GetNodeDeviceType()

uint16 Manager::GetNodeDeviceType | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node device type as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's DeviceType

## GetNodeDeviceTypeString()

string Manager::GetNodeDeviceTypeString | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node device type as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's Device Type as a string.

## GetNodeGeneric()

uint8 Manager::GetNodeGeneric | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the generic type of a node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's generic type.

## GetNodeLocation()

string Manager::GetNodeLocation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the location of a node The node location is a user-editable string that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always report its location, OpenZWave stores it with the node data, and provides access through this method and SetNodeLocation, rather than reporting it via a command class Value object.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's location.

See also
  SetNodeLocation, GetNodeName, SetNodeName

## GetNodeManufacturerId()

string Manager::GetNodeManufacturerId | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the manufacturer ID of a device The manufacturer ID is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the manufacturer ID is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's manufacturer ID, or an empty string if the manufacturer specific command class is not supported by the device.

See also
  GetNodeProductType, GetNodeProductId, GetNodeManufacturerName, GetNodeProductName

Todo:
  Change the return to uint16 in 2.0 time frame

## GetNodeManufacturerName()

string Manager::GetNodeManufacturerName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the manufacturer name of a device The manufacturer name would normally be handled by the Manufacturer Specific command class, taking the manufacturer ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's manufacturer name.

See also
  SetNodeManufacturerName, GetNodeProductName, SetNodeProductName

## GetNodeMaxBaudRate()

uint32 Manager::GetNodeMaxBaudRate | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the maximum baud rate of a node's communications.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the baud rate in bits per second.

## GetNodeName()

string Manager::GetNodeName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the name of a node The node name is a user-editable label for the node that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always be named, OpenZWave stores it with the node data, and provides access through this method and SetNodeName, rather than reporting it via a command class Value object. The maximum length of a node name is 16 characters.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's name.

See also
  SetNodeName, GetNodeLocation, SetNodeLocation

## GetNodeNeighbors()

uint32 Manager::GetNodeNeighbors | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 ** | _nodeNeighbors
| ) |  |

Get the bitmap of this node's neighbors.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _nodeNeighbors | An array of 29 uint8s to hold the neighbor bitmap

## GetNodePlusType()

uint8 Manager::GetNodePlusType | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node PlusType as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's PlusType

## GetNodePlusTypeString()

string Manager::GetNodePlusTypeString | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node PlusType as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's PlusType as a string

## GetNodeProductId()

string Manager::GetNodeProductId | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the product ID of a device The product ID is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the product ID is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's product ID, or an empty string if the manufacturer specific command class is not supported by the device.

See also
  GetNodeManufacturerId, GetNodeProductType, GetNodeManufacturerName, GetNodeProductName

Todo:
  Change the return to uint16 in 2.0 time frame

## GetNodeProductName()

string Manager::GetNodeProductName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the product name of a device The product name would normally be handled by the Manufacturer Specific command class, taking the product Type and ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's product name.

See also
  SetNodeProductName, GetNodeManufacturerName, SetNodeManufacturerName

## GetNodeProductType()

string Manager::GetNodeProductType | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the product type of a device The product type is a four digit hex code and would normally be handled by the Manufacturer Specific command class, but not all devices support it. Although the value reported by this method will be an empty string if the command class is not supported and cannot be set by the user, the product type is still stored with the node data (rather than being reported via a command class Value object) to retain a consistent approach with the other manufacturer specific data.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the node's product type, or an empty string if the manufacturer specific command class is not supported by the device.

See also
  GetNodeManufacturerId, GetNodeProductId, GetNodeManufacturerName, GetNodeProductName

Todo:
  Change the return to uint16 in 2.0 time frame

## GetNodeQueryStage()

string Manager::GetNodeQueryStage | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node's query stage as a string.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  name of current query stage as a string.

## GetNodeRole()

uint8 Manager::GetNodeRole | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node role as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's user icon.

## GetNodeRoleString()

string Manager::GetNodeRoleString | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the node role as reported in the Z-Wave+ Info report.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's role type as a string

## GetNodeSecurity()

uint8 Manager::GetNodeSecurity | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the security byte of a node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's security byte

## GetNodeSpecific()

uint8 Manager::GetNodeSpecific | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the specific type of a node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's specific type.

## GetNodeStatistics()

void Manager::GetNodeStatistics | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | Node::NodeData * | _data
| ) |  |

Retrieve statistics per node.

Parameters

  _homeId | The Home ID of the driver for the node
  _nodeId | The node number
  _data | Pointer to structure NodeData to return values

## GetNodeType()

string Manager::GetNodeType | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get a human-readable label describing the node The label is taken from the Z-Wave specific, generic or basic type, depending on which of those values are specified by the node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  A string containing the label text.

## GetNodeVersion()

uint8 Manager::GetNodeVersion | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the version number of a node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  the node's version number

## GetNumGroups()

uint8 Manager::GetNumGroups | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Gets the number of association groups reported by this node In Z-Wave, groups are numbered starting from one. For example, if a call to GetNumGroups returns 4, the _groupIdx value to use in calls to GetAssociations, AddAssociation and RemoveAssociation will be a number between 1 and 4.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose groups we are interested in.

Returns
  The number of groups.

See also
  GetAssociations, GetMaxAssociations, AddAssociation, RemoveAssociation

## GetNumScenes()

uint8 Manager::GetNumScenes | ( |  | ) |

Gets the number of scenes that have been defined.

Returns
  The number of scenes.

See also
  GetAllScenes, RemoveAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## GetNumSwitchPoints()

uint8 Manager::GetNumSwitchPoints | ( | ValueID const & | _id | ) |

Get the number of switch points defined in a schedule.

Parameters

  _id | The unique identifier of the schedule value.

Returns
  the number of switch points defined in this schedule. Returns zero if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## GetOptions()

Options* OpenZWave::Manager::GetOptions | ( |  | ) | const

inline

Gets a pointer to the locked Options object.

Returns
  pointer to the Options object.

See also
  Create

## GetPollIntensity()

uint8 Manager::GetPollIntensity | ( | ValueID const & | _valueId | ) |

Get the polling intensity of a device's state.

Parameters

  _valueId | The ID of the value to check polling.

Returns
  Intensity, number of polling for one polling interval.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## GetPollInterval()

int32 Manager::GetPollInterval | ( |  | ) |

Get the time period between polls of a node's state.

## GetSceneLabel()

string Manager::GetSceneLabel | ( | uint8 const | _sceneId | ) |

Returns a label for the particular scene.

Parameters

  _sceneId | The Scene ID

Returns
  The label string.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, SetSceneLabel, SceneExists, ActivateScene

## GetSendQueueCount()

int32 Manager::GetSendQueueCount | ( | uint32 const | _homeId | ) |

Get count of messages in the outgoing send queue.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  a integer message count

## GetSUCNodeId()

uint8 Manager::GetSUCNodeId | ( | uint32 const | _homeId | ) |

Get the node ID of the Static Update Controller.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  the node ID of the Z-Wave controller.

## GetSwitchPoint()

bool Manager::GetSwitchPoint | ( | ValueID const & | _id,
|  | uint8 const | _idx,
|  | uint8 * | o_hours,
|  | uint8 * | o_minutes,
|  | int8 * | o_setback
| ) |  |

Gets switch point data from the schedule. Retrieves the time and setback values from a switch point in the schedule.

Parameters

  _id | The unique identifier of the schedule value.
  _idx | The index of the switch point, between zero and one less than the value returned by GetNumSwitchPoints.
  o_hours | a pointer to a uint8 that will be filled with the hours part of the switch point data.
  o_minutes | a pointer to a uint8 that will be filled with the minutes part of the switch point data.
  o_setback | a pointer to an int8 that will be filled with the setback value. This can range from -128 (-12.8C)to 120 (12.0C). There are two special setback values - 121 is used to set Frost Protection mode, and 122 is used to set Energy Saving mode.

Returns
  true if successful. Returns false if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  GetNumSwitchPoints

## GetValueAsBool()

bool Manager::GetValueAsBool | ( | ValueID const & | _id,
|  | bool * | o_value
| ) |  |

Gets a value as a bool.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a bool that will be filled with the value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Bool. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsByte()

bool Manager::GetValueAsByte | ( | ValueID const & | _id,
|  | uint8 * | o_value
| ) |  |

Gets a value as an 8-bit unsigned integer.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a uint8 that will be filled with the value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Byte. The type can be tested with a call to ValueID::GetType

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsFloat()

bool Manager::GetValueAsFloat | ( | ValueID const & | _id,
|  | float * | o_value
| ) |  |

Gets a value as a float.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a float that will be filled with the value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsInt()

bool Manager::GetValueAsInt | ( | ValueID const & | _id,
|  | int32 * | o_value
| ) |  |

Gets a value as a 32-bit signed integer.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to an int32 that will be filled with the value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Int. The type can be tested with a call to ValueID::GetType

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsRaw()

bool Manager::GetValueAsRaw | ( | ValueID const & | _id,
|  | uint8 ** | o_value,
|  | uint8 * | o_length
| ) |  |

Gets a value as a collection of bytes.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a uint8* that will be filled with the value. This return value will need to be freed as it was dynamically allocated.
  o_length | Pointer to a uint8 that will be fill with the data length.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Raw. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsShort()

bool Manager::GetValueAsShort | ( | ValueID const & | _id,
|  | int16 * | o_value
| ) |  |

Gets a value as a 16-bit signed integer.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to an int16 that will be filled with the value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Short. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsString, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueAsString()

bool Manager::GetValueAsString | ( | ValueID const & | _id,
|  | string * | o_value
| ) |  |

Gets a value as a string. Creates a string representation of a value, regardless of type.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a string that will be filled with the value.

Returns
  true if the value was obtained.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueListSelection, GetValueListItems, GetValueAsRaw

## GetValueFloatPrecision()

bool Manager::GetValueFloatPrecision | ( | ValueID const & | _id,
|  | uint8 * | o_value
| ) |  |

Gets a float value's precision.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a uint8 that will be filled with the precision value.

Returns
  true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems

## GetValueHelp()

string Manager::GetValueHelp | ( | ValueID const & | _id | ) |

Gets a help string describing the value's purpose and usage.

Parameters

  _id | The unique identifier of the value.

Returns
  The value help text.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## GetValueLabel()

string Manager::GetValueLabel | ( | ValueID const & | _id | ) |

Gets the user-friendly label for the value.

Parameters

  _id | The unique identifier of the value.

Returns
  The value label.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## GetValueListItems()

bool Manager::GetValueListItems | ( | ValueID const & | _id,
|  | vector< string > * | o_value
| ) |  |

Gets the list of items from a list value.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a vector of strings that will be filled with list items. The vector will be cleared before the items are added.

Returns
  true if the list items were obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueAsRaw

## GetValueListSelection() [1/2]

bool Manager::GetValueListSelection | ( | ValueID const & | _id,
|  | string * | o_value
| ) |  |

Gets the selected item from a list (as a string).

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a string that will be filled with the selected item.

Returns
  True if the value was obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListItems, GetValueAsRaw

## GetValueListSelection() [2/2]

bool Manager::GetValueListSelection | ( | ValueID const & | _id,
|  | int32 * | o_value
| ) |  |

Gets the selected item from a list (as an integer).

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to an integer that will be filled with the selected item.

Returns
  True if the value was obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListItems, GetValueAsRaw

## GetValueListValues()

bool Manager::GetValueListValues | ( | ValueID const & | _id,
|  | vector< int32 > * | o_value
| ) |  |

Gets the list of values from a list value.

Parameters

  _id | The unique identifier of the value.
  o_value | Pointer to a vector of integers that will be filled with list items. The vector will be cleared before the items are added.

Returns
  true if the list values were obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueAsRaw

## GetValueMax()

int32 Manager::GetValueMax | ( | ValueID const & | _id | ) |

Gets the maximum that this value may contain.

Parameters

  _id | The unique identifier of the value.

Returns
  The value maximum.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## GetValueMin()

int32 Manager::GetValueMin | ( | ValueID const & | _id | ) |

Gets the minimum that this value may contain.

Parameters

  _id | The unique identifier of the value.

Returns
  The value minimum.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## GetValueUnits()

string Manager::GetValueUnits | ( | ValueID const & | _id | ) |

Gets the units that the value is measured in.

Parameters

  _id | The unique identifier of the value.

Returns
  The value units.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## getVersion()

ozwversion Manager::getVersion | ( |  | ) |

static

Get the Version Number as the Version Struct (Only Major/Minor returned)

Returns
  the version struct representing the version

## getVersionAsString()

std::string Manager::getVersionAsString | ( |  | ) |

static

Get the Version Number of OZW as a string.

Returns
  a String representing the version number as MAJOR.MINOR.REVISION

## getVersionLongAsString()

std::string Manager::getVersionLongAsString | ( |  | ) |

static

Get the Version Number including Git commit of OZW as a string.

Returns
  a String representing the version number as MAJOR.MINOR.REVISION-gCOMMIT

## HasNodeFailed()

bool Manager::HasNodeFailed | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Check if the Controller Believes a Node has Failed. This is different from the IsNodeFailed call in that we test the Controllers Failed Node List, whereas the IsNodeFailed is testing our list of Failed Nodes, which might be different. The Results will be communicated via Notifications. Specifically, you should monitor the ControllerCommand notifications.

Results of the HasNodeFailed Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to test the device
  _nodeId | The NodeID of the Failed Node.

Returns
  if the RemoveDevice Command was send successfully to the Controller

See also
  CancelControllerCommand

## HealNetwork()

void Manager::HealNetwork | ( | uint32 const | _homeId,
|  | bool | _doRR
| ) |  |

Heal network by requesting node's rediscover their neighbors. Sends a ControllerCommand_RequestNodeNeighborUpdate to every node. Can take a while on larger networks.

Parameters

  _homeId | The Home ID of the Z-Wave network to be healed.
  _doRR | Whether to perform return routes initialization.

## HealNetworkNode()

void Manager::HealNetworkNode | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | bool | _doRR
| ) |  |

Heal network node by requesting the node rediscover their neighbors. Sends a ControllerCommand_RequestNodeNeighborUpdate to the node.

Parameters

  _homeId | The Home ID of the Z-Wave network to be healed.
  _nodeId | The node to heal.
  _doRR | Whether to perform return routes initialization.

## IsBridgeController()

bool Manager::IsBridgeController | ( | uint32 const | _homeId | ) |

Query if the controller is using the bridge controller library. A bridge controller is able to create virtual nodes that can be associated with other controllers to enable events to be passed on.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  true if it is a bridge controller, false if not.

## IsNodeAwake()

bool Manager::IsNodeAwake | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node is awake or asleep.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the node is awake

## IsNodeBeamingDevice()

bool Manager::IsNodeBeamingDevice | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node is a beam capable device.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if it is a beam capable node.

## IsNodeFailed()

bool Manager::IsNodeFailed | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node is working or has failed.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the node has failed and is no longer part of the network

## IsNodeFrequentListeningDevice()

bool Manager::IsNodeFrequentListeningDevice | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

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.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if it is a frequent listening node.

## IsNodeInfoReceived()

bool Manager::IsNodeInfoReceived | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node information has been received.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the node information has been received yet

## IsNodeListeningDevice()

bool Manager::IsNodeListeningDevice | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node is a listening device that does not go to sleep.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if it is a listening node.

## IsNodeRoutingDevice()

bool Manager::IsNodeRoutingDevice | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get whether the node is a routing device that passes messages to other nodes.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the node is a routing device

## IsNodeSecurityDevice()

bool Manager::IsNodeSecurityDevice | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Get the security attribute for a node. True if node supports security features.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  true if security features implemented.

## IsNodeZWavePlus()

bool Manager::IsNodeZWavePlus | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Is this a ZWave+ Supported Node?

Parameters

  _homeId | the HomeID of the Z-Wave controller that managed the node.
  _nodeId | the ID of the node to query.

Returns
  If this node is a Z-Wave Plus Node

## isPolled()

bool Manager::isPolled | ( | ValueID const & | _valueId | ) |

Determine the polling of a device's state.

Parameters

  _valueId | The ID of the value to check polling.

Returns
  True if polling is active.

## IsPrimaryController()

bool Manager::IsPrimaryController | ( | uint32 const | _homeId | ) |

Query if the controller is a primary controller. The primary controller is the main device used to configure and control a Z-Wave network. There can only be one primary controller - all other controllers are secondary controllers.

The only difference between a primary and secondary controller is that the primary is the only one that can be used to add or remove other devices. For this reason, it is usually better for the primary controller to be portable, since most devices must be added when installed in their final location.

Calls to BeginControllerCommand will fail if the controller is not the primary.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  true if it is a primary controller, false if not.

## IsStaticUpdateController()

bool Manager::IsStaticUpdateController | ( | uint32 const | _homeId | ) |

Query if the controller is a static update controller. A Static Update Controller (SUC) is a controller that must never be moved in normal operation and which can be used by other nodes to receive information about network changes.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

Returns
  true if it is a static update controller, false if not.

## IsValuePolled()

bool Manager::IsValuePolled | ( | ValueID const & | _id | ) |

Test whether the value is currently being polled.

Parameters

  _id | The unique identifier of the value.

Returns
  true if the value is being polled, otherwise false.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## IsValueReadOnly()

bool Manager::IsValueReadOnly | ( | ValueID const & | _id | ) |

Test whether the value is read-only.

Parameters

  _id | The unique identifier of the value.

Returns
  true if the value cannot be changed by the user.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## IsValueSet()

bool Manager::IsValueSet | ( | ValueID const & | _id | ) |

Test whether the value has been set.

Parameters

  _id | The unique identifier of the value.

Returns
  true if the value has actually been set by a status message from the device, rather than simply being the default.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## IsValueWriteOnly()

bool Manager::IsValueWriteOnly | ( | ValueID const & | _id | ) |

Test whether the value is write-only.

Parameters

  _id | The unique identifier of the value.

Returns
  true if the value can only be written to and not read.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## LogDriverStatistics()

void Manager::LogDriverStatistics | ( | uint32 const | _homeId | ) |

Send current driver statistics to the log file.

Parameters

  _homeId | The Home ID of the Z-Wave controller.

## PressButton()

bool Manager::PressButton | ( | ValueID const & | _id | ) |

Starts an activity in a device. Since buttons are write-only values that do not report a state, no notification callbacks are sent.

Parameters

  _id | The unique identifier of the integer value.

Returns
  true if the activity was started. Returns false if the value is not a ValueID::ValueType_Button. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## ReceiveConfiguration()

bool Manager::ReceiveConfiguration | ( | uint32 const | _homeId | ) |

Receive network configuration information from primary controller. Requires secondary. This command prepares the controller to receive Network Configuration from a Secondary Controller.

Results of the ReceiveConfiguration Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network

Returns
  if the ReceiveConfiguration Command was send successfully to the Controller

See also
  CancelControllerCommand

## RefreshNodeInfo()

bool Manager::RefreshNodeInfo | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Trigger the fetching of fixed data about a node. Causes the node's data to be obtained from the Z-Wave network in the same way as if it had just been added. This method would normally be called automatically by OpenZWave, but if you know that a node has been changed, calling this method will force a refresh of all of the data held by the library. This can be especially useful for devices that were asleep when the application was first run. This is the same as the query state starting from the beginning.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the request was sent successfully.

## RefreshValue()

bool Manager::RefreshValue | ( | ValueID const & | _id | ) |

Refreshes the specified value from the Z-Wave network. A call to this function causes the library to send a message to the network to retrieve the current value of the specified ValueID (just like a poll, except only one-time, not recurring).

Parameters

  _id | The unique identifier of the value to be refreshed.

Returns
  true if the driver and node were found; false otherwise

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## ReleaseButton()

bool Manager::ReleaseButton | ( | ValueID const & | _id | ) |

Stops an activity in a device. Since buttons are write-only values that do not report a state, no notification callbacks are sent.

Parameters

  _id | The unique identifier of the integer value.

Returns
  true if the activity was stopped. Returns false if the value is not a ValueID::ValueType_Button. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## RemoveAllScenes()

void Manager::RemoveAllScenes | ( | uint32 const | _homeId | ) |

Remove all the SceneIds.

Parameters

  _homeId | The Home ID of the Z-Wave controller. 0 for all devices from all scenes.

See also
  GetAllScenes, GetNumScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## RemoveAssociation()

void Manager::RemoveAssociation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _groupIdx,
|  | uint8 const | _targetNodeId,
|  | uint8 const | _instance = `0x00`
| ) |  |

Removes a node from an association group. Due to the possibility of a device being asleep, the command is assumed to succeed, and the association data held in this class is updated directly. This will be reverted by a future Association message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node whose associations are to be changed.
  _groupIdx | One-based index of the group (because Z-Wave product manuals use one-based group numbering).
  _targetNodeId | Identifier for the node that will be removed from the association group.
  _instance | Identifier for the instance that will be removed to the association group.

See also
  GetNumGroups, GetAssociations, GetMaxAssociations, AddAssociation

## RemoveDriver()

bool Manager::RemoveDriver | ( | string const & | _controllerPath | ) |

Removes the driver for a Z-Wave controller, and closes the controller. Drivers do not need to be explicitly removed before calling Destroy - this is handled automatically.

Warning
  You should NOT call any Manager methods that require the Driver Reference (eg, in response to Notifications received about NodeRemoved etc) once you call this, as your application will most likely break

Parameters

  _controllerPath | The same string as was passed in the original call to AddDriver.

Returns
  True if the driver was removed, false if it could not be found.

See also
  Destroy, AddDriver

## RemoveFailedNode()

bool Manager::RemoveFailedNode | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Remove a Failed Device from the Z-Wave Network This Command will remove a failed node from the network. The Node should be on the Controllers Failed Node List, otherwise this command will fail. You can use the HasNodeFailed function below to test if the Controller believes the Node has Failed. The Status of the Node Removal is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications.

Results of the RemoveFailedNode Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to remove the device
  _nodeId | The NodeID of the Failed Node.

Returns
  if the Command was send successfully to the Controller

See also
  CancelControllerCommand

## RemoveNode()

bool Manager::RemoveNode | ( | uint32 const | _homeId | ) |

Remove a Device from the Z-Wave Network The Status of the Node Removal is communicated via Notifications. Specifically, you should monitor ControllerCommand Notifications.

Results of the RemoveNode Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to remove the device

Returns
  if the Command was send successfully to the Controller

See also
  CancelControllerCommand

## RemoveScene()

bool Manager::RemoveScene | ( | uint8 const | _sceneId | ) |

Remove an existing Scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID to be removed.

Returns
  true if scene was removed.

See also
  GetNumScenes, GetAllScenes, CreateScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## RemoveSceneValue()

bool Manager::RemoveSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId
| ) |  |

Remove the Value ID from an existing scene.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be removed.

Returns
  true if Value ID was removed.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## RemoveSwitchPoint()

bool Manager::RemoveSwitchPoint | ( | ValueID const & | _id,
|  | uint8 const | _hours,
|  | uint8 const | _minutes
| ) |  |

Remove a switch point from the schedule. Removes the switch point at the specified time from the schedule.

Parameters

  _id | The unique identifier of the schedule value.
  _hours | The hours part of the time when the switch point will trigger. The time is set using the 24-hour clock, so this value must be between 0 and 23.
  _minutes | The minutes part of the time when the switch point will trigger. This value must be between 0 and 59.

Returns
  true if successful. Returns false if the value is not a ValueID::ValueType_Schedule or if there is not switch point with the specified time values. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  GetNumSwitchPoints, SetSwitchPoint, ClearSwitchPoints

## RemoveWatcher()

bool Manager::RemoveWatcher | ( | pfnOnNotification_t | _watcher,
|  | void * | _context
| ) |  |

Remove a notification watcher.

Parameters

  _watcher | pointer to a function that must match that passed to a previous call to AddWatcher
  _context | pointer to user defined data that must match the one passed in that same previous call to AddWatcher.

Returns
  true if the watcher was successfully removed.

See also
  AddWatcher, Notification

## ReplaceFailedNode()

bool Manager::ReplaceFailedNode | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Replace a failed device with another. If the node is not in the controller's failed nodes list, or the node responds, this command will fail. You can check if a Node is in the Controllers Failed node list by using the HasNodeFailed method.

Results of the ReplaceFailedNode Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | the ID of the Failed Node

Returns
  if the ReplaceFailedNode Command was send successfully to the Controller

See also
  HasNodeFailed
  CancelControllerCommand

## ReplicationSend()

bool Manager::ReplicationSend | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Send information from primary to secondary.

Results of the ReplicationSend Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | the ID of the Node

Returns
  if the ReplicationSend Command was send successfully to the Controller

See also
  CancelControllerCommand

## RequestAllConfigParams()

void Manager::RequestAllConfigParams | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Request the values of all known configurable parameters from a device.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to configure.

See also
  SetConfigParam, ValueID, Notification

## RequestConfigParam()

void Manager::RequestConfigParam | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _param
| ) |  |

Request the value of a configurable parameter from a device. Some devices have various parameters that can be configured to control the device behavior. These are not reported by the device over the Z-Wave network, but can usually be found in the device's user manual. This method requests the value of a parameter from the device, and then returns immediately, without waiting for a response. If the parameter index is valid for this device, and the device is awake, the value will eventually be reported via a ValueChanged notification callback. The ValueID reported in the callback will have an index set the same as _param and a command class set to the same value as returned by a call to Configuration::StaticGetCommandClassId.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to configure.
  _param | The index of the parameter.

See also
  SetConfigParam, ValueID, Notification

## RequestNetworkUpdate()

bool Manager::RequestNetworkUpdate | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Update the controller with network information from the SUC/SIS.

Results of the RequestNetworkUpdate Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | the ID of the Node

Returns
  if the RequestNetworkUpdate Command was send successfully to the Controller

See also
  CancelControllerCommand

## RequestNodeDynamic()

bool Manager::RequestNodeDynamic | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Trigger the fetching of just the dynamic value data for a node. Causes the node's values to be requested from the Z-Wave network. This is the same as the query state starting from the dynamic state.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the request was sent successfully.

## RequestNodeNeighborUpdate()

bool Manager::RequestNodeNeighborUpdate | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Ask a Node to update its Neighbor Tables This command will ask a Node to update its Neighbor Tables.

Results of the RequestNodeNeighborUpdate Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network where you want to update the device
  _nodeId | The NodeID of the Node.

Returns
  if the Command was send successfully to the Controller

See also
  CancelControllerCommand

## RequestNodeState()

bool Manager::RequestNodeState | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Trigger the fetching of dynamic value data for a node. Causes the node's values to be requested from the Z-Wave network. This is the same as the query state starting from the associations state.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.

Returns
  True if the request was sent successfully.

## ResetController()

void Manager::ResetController | ( | uint32 const | _homeId | ) |

Hard Reset a PC Z-Wave Controller. Resets a controller and erases its network configuration settings. The controller becomes a primary controller ready to add devices to a new network.

Parameters

  _homeId | The Home ID of the Z-Wave controller to be reset.

See also
  SoftReset

## SceneExists()

bool Manager::SceneExists | ( | uint8 const | _sceneId | ) |

Check if a Scene ID is defined.

Parameters

  _sceneId | The Scene ID.

Returns
  true if Scene ID exists.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, ActivateScene

## SceneGetValueAsBool()

bool Manager::SceneGetValueAsBool | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | bool * | o_value
| ) |  |

Retrieves a scene's value as a bool.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a bool that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueAsByte()

bool Manager::SceneGetValueAsByte | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | uint8 * | o_value
| ) |  |

Retrieves a scene's value as an 8-bit unsigned integer.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a uint8 that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueAsFloat()

bool Manager::SceneGetValueAsFloat | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | float * | o_value
| ) |  |

Retrieves a scene's value as a float.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a float that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueAsInt()

bool Manager::SceneGetValueAsInt | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 * | o_value
| ) |  |

Retrieves a scene's value as a 32-bit signed integer.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a int32 that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueAsShort()

bool Manager::SceneGetValueAsShort | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int16 * | o_value
| ) |  |

Retrieves a scene's value as a 16-bit signed integer.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a int16 that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueAsString()

bool Manager::SceneGetValueAsString | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string * | o_value
| ) |  |

Retrieves a scene's value as a string.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a string that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueListSelection() [1/2]

bool Manager::SceneGetValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string * | o_value
| ) |  |

Retrieves a scene's value as a list (as a string).

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a string that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValueListSelection() [2/2]

bool Manager::SceneGetValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 * | o_value
| ) |  |

Retrieves a scene's value as a list (as a integer).

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  _valueId | The Value ID of the value to retrieve.
  o_value | Pointer to a integer that will be filled with the returned value.

Returns
  true if the value was obtained.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SceneGetValues()

int Manager::SceneGetValues | ( | uint8 const | _sceneId,
|  | vector< ValueID > * | o_value
| ) |  |

Retrieves the scene's list of values.

Parameters

  _sceneId | The Scene ID of the scene to retrieve the value from.
  o_value | Pointer to an array of ValueIDs if return is non-zero.

Returns
  The number of nodes in the o_value array. If zero, the array will point to NULL and does not need to be deleted.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SendNodeInformation()

bool Manager::SendNodeInformation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Send a NIF frame from the Controller to a Node. This command send a NIF frame from the Controller to a Node.

Parameters

  _homeId | The HomeID of the Z-Wave network
  _nodeId | The NodeID of the Node to receive the NIF

Returns
  if the sendNIF Command was send successfully to the Controller

See also
  CancelControllerCommand

## SetChangeVerified()

void Manager::SetChangeVerified | ( | ValueID const & | _id,
|  | bool | _verify
| ) |  |

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.

Parameters

  _id | The unique identifier of the value whose changes should or should not be verified.
  _verify | if true, verify changes; if false, don't verify changes.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  Manager::GetChangeVerified

## SetConfigParam()

bool Manager::SetConfigParam | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _param,
|  | int32 | _value,
|  | uint8 const | _size = `2`
| ) |  |

Set the value of a configurable parameter in a device. Some devices have various parameters that can be configured to control the device behavior. These are not reported by the device over the Z-Wave network, but can usually be found in the device's user manual. This method returns immediately, without waiting for confirmation from the device that the change has been made.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to configure.
  _param | The index of the parameter.
  _value | The value to which the parameter should be set.
  _size | Is an optional number of bytes to be sent for the parameter _value. Defaults to 2.

Returns
  true if the a message setting the value was sent to the device.

See also
  RequestConfigParam

## SetNodeLevel()

void Manager::SetNodeLevel | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint8 const | _level
| ) |  |

Sets the basic level of a node This is a helper method to simplify basic control of a node. It is the equivalent of changing the value reported by the node's Basic command class and will generate a ValueChanged notification from that class.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to be changed.
  _level | The level to set the node. Valid values are 0-99 and 255. Zero is off and 99 is fully on. 255 will turn on the device at its last known level (if supported).

See also
  SetNodeOn, SetNodeOff

## SetNodeLocation()

void Manager::SetNodeLocation | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | string const & | _location
| ) |  |

Set the location of a node The node location is a user-editable string that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always report its location, OpenZWave stores it with the node data, and provides access through this method and GetNodeLocation, rather than reporting it via a command class Value object. If the device does support the Node Naming command class, the new location will be sent to the node.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _location | A string containing the node's location.

See also
  GetNodeLocation, GetNodeName, SetNodeName

## SetNodeManufacturerName()

void Manager::SetNodeManufacturerName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | string const & | _manufacturerName
| ) |  |

Set the manufacturer name of a device The manufacturer name would normally be handled by the Manufacturer Specific command class, taking the manufacturer ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _manufacturerName | A string containing the node's manufacturer name.

See also
  GetNodeManufacturerName, GetNodeProductName, SetNodeProductName

## SetNodeName()

void Manager::SetNodeName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | string const & | _nodeName
| ) |  |

Set the name of a node The node name is a user-editable label for the node that would normally be handled by the Node Naming command class, but many devices do not support it. So that a node can always be named, OpenZWave stores it with the node data, and provides access through this method and GetNodeName, rather than reporting it via a command class Value object. If the device does support the Node Naming command class, the new name will be sent to the node. The maximum length of a node name is 16 characters.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _nodeName | A string containing the node's name.

See also
  GetNodeName, GetNodeLocation, SetNodeLocation

## SetNodeOff()

void Manager::SetNodeOff | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Turns a node off This is a helper method to simplify basic control of a node. It is the equivalent of changing the level reported by the node's Basic command class to zero, and will generate a ValueChanged notification from that class.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to be changed.

See also
  SetNodeOn, SetNodeLevel

## SetNodeOn()

void Manager::SetNodeOn | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

Turns a node on This is a helper method to simplify basic control of a node. It is the equivalent of changing the level reported by the node's Basic command class to 255, and will generate a ValueChanged notification from that class. This command will turn on the device at its last known level, if supported by the device, otherwise it will turn it on at 100%.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to be changed.

See also
  SetNodeOff, SetNodeLevel

## SetNodeProductName()

void Manager::SetNodeProductName | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | string const & | _productName
| ) |  |

Set the product name of a device The product name would normally be handled by the Manufacturer Specific command class, taking the product Type and ID reported by the device and using it to look up the name from the manufacturer_specific.xml file in the OpenZWave config folder. However, there are some devices that do not support the command class, so to enable the user to manually set the name, it is stored with the node data and accessed via this method rather than being reported via a command class Value object.

Parameters

  _homeId | The Home ID of the Z-Wave controller that manages the node.
  _nodeId | The ID of the node to query.
  _productName | A string containing the node's product name.

See also
  GetNodeProductName, GetNodeManufacturerName, SetNodeManufacturerName

## SetPollIntensity()

void Manager::SetPollIntensity | ( | ValueID const & | _valueId,
|  | uint8 const | _intensity
| ) |  |

Set the frequency of polling (0=none, 1=every time through the list, 2-every other time, etc)

Parameters

  _valueId | The ID of the value whose intensity should be set

## SetPollInterval()

void Manager::SetPollInterval | ( | int32 | _milliseconds,
|  | bool | _bIntervalBetweenPolls
| ) |  |

Set the time period between polls of a node's state. Due to patent concerns, some devices do not report state changes automatically to the controller. These devices need to have their state polled at regular intervals. The length of the interval is the same for all devices. To even out the Z-Wave network traffic generated by polling, OpenZWave divides the polling interval by the number of devices that have polling enabled, and polls each in turn. It is recommended that if possible, the interval should not be set shorter than the number of polled devices in seconds (so that the network does not have to cope with more than one poll per second).

Parameters

  _seconds | The length of the polling interval in seconds.

## SetSceneLabel()

void Manager::SetSceneLabel | ( | uint8 const | _sceneId,
|  | string const & | _value
| ) |  |

Sets a label for the particular scene.

Parameters

  _sceneId | The Scene ID
  _value | The new value of the label.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [1/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | bool const | _value
| ) |  |

Set a bool Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the bool value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [2/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | uint8 const | _value
| ) |  |

Set a byte Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the byte value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [3/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | float const | _value
| ) |  |

Set a decimal Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the float value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [4/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 const | _value
| ) |  |

Set a 32-bit signed integer Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the int32 value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [5/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int16 const | _value
| ) |  |

Set a 16-bit integer Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the int16 value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValue() [6/6]

bool Manager::SetSceneValue | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string const & | _value
| ) |  |

Set a string Value ID to an existing scene's ValueID.

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the string value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValueListSelection() [1/2]

bool Manager::SetSceneValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | string const & | _value
| ) |  |

Set the list selected item Value ID to an existing scene's ValueID (as a string).

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the string value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSceneValueListSelection() [2/2]

bool Manager::SetSceneValueListSelection | ( | uint8 const | _sceneId,
|  | ValueID const & | _valueId,
|  | int32 const | _value
| ) |  |

Set the list selected item Value ID to an existing scene's ValueID (as a integer).

Parameters

  _sceneId | is an integer representing the unique Scene ID.
  _valueId | is the Value ID to be added.
  _value | is the integer value to be saved.

Returns
  true if Value ID was added.

See also
  GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene

## SetSwitchPoint()

bool Manager::SetSwitchPoint | ( | ValueID const & | _id,
|  | uint8 const | _hours,
|  | uint8 const | _minutes,
|  | int8 const | _setback
| ) |  |

Set a switch point in the schedule. Inserts a new switch point into the schedule, unless a switch point already exists at the specified time in which case that switch point is updated with the new setback value instead. A maximum of nine switch points can be set in the schedule.

Parameters

  _id | The unique identifier of the schedule value.
  _hours | The hours part of the time when the switch point will trigger. The time is set using the 24-hour clock, so this value must be between 0 and 23.
  _minutes | The minutes part of the time when the switch point will trigger. This value must be between 0 and 59.
  _setback | The setback in tenths of a degree Celsius. The setback value can range from -128 (-12.8C) to 120 (12.0C). There are two special setback values - 121 is used to set Frost Protection mode, and 122 is used to set Energy Saving mode.

Returns
  true if successful. Returns false if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  GetNumSwitchPoints, RemoveSwitchPoint, ClearSwitchPoints

## SetValue() [1/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | bool const | _value
| ) |  |

Sets the state of a bool. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the bool value.
  _value | The new value of the bool.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Bool. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [2/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | uint8 const | _value
| ) |  |

Sets the value of a byte. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the byte value.
  _value | The new value of the byte.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Byte. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [3/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | float const | _value
| ) |  |

Sets the value of a decimal. It is usually better to handle decimal values using strings rather than floats, to avoid floating point accuracy issues. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the decimal value.
  _value | The new value of the decimal.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [4/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | int32 const | _value
| ) |  |

Sets the value of a 32-bit signed integer. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the integer value.
  _value | The new value of the integer.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Int. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [5/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | int16 const | _value
| ) |  |

Sets the value of a 16-bit signed integer. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the integer value.
  _value | The new value of the integer.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Short. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [6/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | uint8 const * | _value,
|  | uint8 const | _length
| ) |  |

Sets the value of a collection of bytes. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the raw value.
  _value | The new collection of bytes.

Returns
  true if the value was set. Returns false if the value is not a ValueID::ValueType_Raw. The type can be tested with a call to ValueID::GetType.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValue() [7/7]

bool Manager::SetValue | ( | ValueID const & | _id,
|  | string const & | _value
| ) |  |

Sets the value from a string, regardless of type. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the integer value.
  _value | The new value of the string.

Returns
  true if the value was set. Returns false if the value could not be parsed into the correct type for the value.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValueHelp()

void Manager::SetValueHelp | ( | ValueID const & | _id,
|  | string const & | _value
| ) |  |

Sets a help string describing the value's purpose and usage.

Parameters

  _id | The unique identifier of the value.
  _value | The new value of the help text.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## SetValueLabel()

void Manager::SetValueLabel | ( | ValueID const & | _id,
|  | string const & | _value
| ) |  |

Sets the user-friendly label for the value.

Parameters

  _id | The unique identifier of the value.
  _value | The new value of the label.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## SetValueListSelection()

bool Manager::SetValueListSelection | ( | ValueID const & | _id,
|  | string const & | _selectedItem
| ) |  |

Sets the selected item in a list. Due to the possibility of a device being asleep, the command is assumed to succeed, and the value held by the node is updated directly. This will be reverted by a future status message from the device if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.

Parameters

  _id | The unique identifier of the list value.
  _selectedItem | A string matching the new selected item in the list.

Returns
  true if the value was set. Returns false if the selection is not in the list, or if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_CANNOT_CONVERT_VALUEID if the Actual Value is off a different type
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

## SetValueUnits()

void Manager::SetValueUnits | ( | ValueID const & | _id,
|  | string const & | _value
| ) |  |

Sets the units that the value is measured in.

Parameters

  _id | The unique identifier of the value.
  _value | The new value of the units.

Exceptions

  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_VALUEID if the ValueID is invalid
  OZWException | with Type OZWException::OZWEXCEPTION_INVALID_HOMEID if the Driver cannot be found

See also
  ValueID

## SoftReset()

void Manager::SoftReset | ( | uint32 const | _homeId | ) |

Soft Reset a PC Z-Wave Controller. Resets a controller without erasing its network configuration settings.

Parameters

  _homeId | The Home ID of the Z-Wave controller to be reset.

See also
  SoftReset

## SwitchAllOff()

void Manager::SwitchAllOff | ( | uint32 const | _homeId | ) |

Switch all devices off. All devices that support the SwitchAll command class will be turned off.

## SwitchAllOn()

void Manager::SwitchAllOn | ( | uint32 const | _homeId | ) |

Switch all devices on. All devices that support the SwitchAll command class will be turned on.

## TestNetwork()

void Manager::TestNetwork | ( | uint32 const | _homeId,
|  | uint32 const | _count
| ) |  |

Test network. Sends a series of messages to every node on the network for testing network reliability.

Parameters

  _homeId | The Home ID of the Z-Wave controller to be reset.
  _count | This is the number of test messages to send.

See also
  TestNetwork

## TestNetworkNode()

void Manager::TestNetworkNode | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId,
|  | uint32 const | _count
| ) |  |

Test network node. Sends a series of messages to a network node for testing network reliability.

Parameters

  _homeId | The Home ID of the Z-Wave controller to be reset.
  _count | This is the number of test messages to send.

See also
  TestNetwork

## TransferPrimaryRole()

bool Manager::TransferPrimaryRole | ( | uint32 const | _homeId | ) |

Add a new controller to the network and make it the primary. The existing primary will become a secondary controller.

Results of the TransferPrimaryRole Command will be send as a Notification with the Notification type as Notification::Type_ControllerCommand

Parameters

  _homeId | The HomeID of the Z-Wave network

Returns
  if the TransferPrimaryRole Command was send successfully to the Controller

See also
  CancelControllerCommand

## WriteConfig()

void Manager::WriteConfig | ( | uint32 const | _homeId | ) |

Saves the configuration of a PC Controller's Z-Wave network to the application's user data folder. This method does not normally need to be called, since OpenZWave will save the state automatically during the shutdown process. It is provided here only as an aid to development. The configuration of each PC Controller's Z-Wave network is stored in a separate file. The filename consists of the 8 digit hexadecimal version of the controller's Home ID, prefixed with the string 'zwcfg_'. This convention allows OpenZWave to find the correct configuration file for a controller, even if it is attached to a different serial port, USB device path, etc.

Parameters

  _homeId | The Home ID of the Z-Wave controller to save.

## Friends And Related Function Documentation

## CommandClass

friend class CommandClass

friend

## Driver

friend class Driver

friend

## Group

friend class Group

friend

## Msg

friend class Msg

friend

## Node

friend class Node

friend

## Value

friend class Value

friend

## ValueButton

friend class ValueButton

friend

## ValueStore

friend class ValueStore

friend

The documentation for this class was generated from the following files:

- Manager.h
- Manager.cpp