Macros | |
| #define | ZW_MAX_PAYLOAD_SIZE 160 |
| #define | MULTICAST_NODE_LIST_SIZE 64 |
| Numbers of nodes we can support when sending multicast frames on LR channel. | |
| #define | TX_BUFFER_SIZE 170 |
| #define | MAX_NODE_INFO_LENGTH 159 |
| Maximum size for the node info frame contained in the SReceiveNodeUpdate struct. | |
| #define | APPLICATION_INTERFACE_TRANSMIT_ENUM_OFFSET (0x00) |
| #define | APPLICATION_INTERFACE_COMMAND_ENUM_OFFSET (0x40) |
| #define | APPLICATION_INTERFACE_RECEIVE_ENUM_OFFSET (0x80) |
| #define | APPLICATION_INTERFACE_STATUS_ENUM_OFFSET (0xC0) |
Typedefs | |
| typedef enum EProtocolType | EProtocolType |
| typedef enum ELibraryType | ELibraryType |
| typedef enum EInclusionState_t | EInclusionState_t |
| typedef enum EListenBeforeTalkThreshold_t | EListenBeforeTalkThreshold_t |
| typedef enum EtxPowerLevel_t | EtxPowerLevel_t |
| typedef enum EZwaveTransmitType | EZwaveTransmitType |
| typedef enum ELearnStatus | ELearnStatus |
| typedef enum EZwaveCommandType | EZwaveCommandType |
| typedef enum EZwaveCommandStatusType | EZwaveCommandStatusType |
| typedef enum EZwaveReceiveType | EZwaveReceiveType |
| typedef struct SNetworkUpdateRequest | SNetworkUpdateRequest |
| typedef enum ELearnMode | ELearnMode |
| typedef struct SNodeInfoRequest | SNodeInfoRequest |
| typedef struct SNodeInfo | SNodeInfo |
| typedef struct SCommandClassList_t | SCommandClassList_t |
| typedef struct SCommandClassSet_t | SCommandClassSet_t |
| typedef struct SCommandClassVersions | SCommandClassVersions |
| typedef struct SCommandGenerateRandom | SCommandGenerateRandom |
| Generates true random word. | |
| typedef struct SCommandNodeInfo | SCommandNodeInfo |
| typedef struct SCommandClearNetworkStatistics | SCommandClearNetworkStatistics |
| typedef struct SCommandSetLearnMode | SCommandSetLearnMode |
| typedef struct SCommandSetSmartStartLearnMode | SCommandSetSmartStartLearnMode |
| typedef struct SSetSucNodeId | SSetSucNodeId |
| Controller API. | |
| typedef struct SCommandSetRfPowerLevel | SCommandSetRfPowerLevel |
| typedef struct SSendSucNodeId | SSendSucNodeId |
| typedef struct SCommandSetPromiscuousMode | SCommandSetPromiscuousMode |
| typedef struct SAssignReturnRoute | SAssignReturnRoute |
| typedef struct SCommandSetRfReceiveMode | SCommandSetRfReceiveMode |
| typedef struct SDeleteReturnRoute | SDeleteReturnRoute |
| typedef struct SCommandGeniric8bParameter | SCommandGeniric8bParameter |
| typedef struct SCommandGeniric16bParameter | SCommandGeniric16bParameter |
| typedef struct SCommandAreNodesNeighbours | SCommandAreNodesNeighbours |
| typedef struct SCommandGetRoutingInfo | SCommandGetRoutingInfo |
| typedef struct SSendSlaveNodeInformation | SSendSlaveNodeInformation |
| typedef struct SCommandSetRoutingInfo | SCommandSetRoutingInfo |
| typedef struct SCommandStoreNodeInfo | SCommandStoreNodeInfo |
| typedef struct SCommandStoreHomeID | SCommandStoreHomeID |
| typedef struct SCommandSetPriorityRoute | SCommandSetPriorityRoute |
| typedef struct SCommandAesEcb | SCommandAesEcb |
| typedef struct SCommandGetPriorityRoute | SCommandGetPriorityRoute |
| typedef struct SCommandFailedNodeIDCmd | SCommandFailedNodeIDCmd |
| typedef struct SCommandPMSetPowerDownCallback | SCommandPMSetPowerDownCallback |
| typedef struct SCommandSetLBTThreshold | SCommandSetLBTThreshold |
| typedef struct SCommandSetMaxInclReqInterval | SCommandSetMaxInclReqInterval |
| typedef struct SCommandNvmBackupRestore | SCommandNvmBackupRestore |
| typedef struct SCommandSetSecurityKeys | SCommandSetSecurityKeys |
| typedef struct SProtocolVersion | SProtocolVersion |
| typedef struct SProtocolInfo | SProtocolInfo |
| Protocol Info data. | |
| typedef struct SNetworkInfo | SNetworkInfo |
| Network Info. | |
| typedef struct SLongRangeInfo | SLongRangeInfo |
| typedef struct t_ExtNodeInfo | t_ExtNodeInfo |
| typedef struct SRadioStatus | SRadioStatus |
| typedef struct SApplicationHandles | SApplicationHandles |
| typedef struct SRadioConfig_t | SRadioConfig_t |
| typedef struct SAppNodeInfo_t | SAppNodeInfo_t |
| Node information type. | |
| typedef struct SVirtualSlaveNodeInfo_t | SVirtualSlaveNodeInfo_t |
| typedef struct SVirtualSlaveNodeInfoTable_t | SVirtualSlaveNodeInfoTable_t |
| typedef struct SProtocolConfig_t | SProtocolConfig_t |
| typedef struct STransmitFrameConfig | STransmitFrameConfig |
| typedef struct SExploreInclusionRequest | SExploreInclusionRequest |
| typedef struct SExploreExclusionRequest | SExploreExclusionRequest |
| typedef struct SIncludedNodeInfo | SIncludedNodeInfo |
| typedef struct STest | STest |
| typedef struct SSendData | SSendData |
| typedef struct SSendDataEx | SSendDataEx |
| typedef struct SSendDataBridge | SSendDataBridge |
| typedef struct SSendDataMulti | SSendDataMulti |
| typedef struct SSendDataMultiEx | SSendDataMultiEx |
| typedef struct SSendDataMultiBridge | SSendDataMultiBridge |
| typedef struct SCommandNetworkManagement | SCommandNetworkManagement |
| typedef struct SRequestNewRouteDestinations | SRequestNewRouteDestinations |
| typedef struct SCommandNetworkManagementDSK | SCommandNetworkManagementDSK |
| typedef struct SZWaveTransmitStatus | SZWaveTransmitStatus |
| typedef struct SZWaveGenerateRandomStatus | SZWaveGenerateRandomStatus |
| typedef struct SZWaveNodeInfoStatus | SZWaveNodeInfoStatus |
| typedef struct SZWaveLearnModeStatus | SZWaveLearnModeStatus |
| typedef struct SZWaveInvalidTxRequestStatus | SZWaveInvalidTxRequestStatus |
| typedef struct SZWaveInvalidCommandStatus | SZWaveInvalidCommandStatus |
| typedef struct SZWaveGeneric8bStatus | SZWaveGeneric8bStatus |
| typedef struct SZWaveGenericBoolStatus | SZWaveGenericBoolStatus |
| typedef struct SCommandRequestNodeNeighborUpdate | SCommandRequestNodeNeighborUpdate |
| typedef struct SCommandRequestNodeTypeNeighborUpdate | SCommandRequestNodeTypeNeighborUpdate |
| typedef struct SZWaveGetRoutingInfoStatus | SZWaveGetRoutingInfoStatus |
| typedef struct SCommandInitiateShutdown | SCommandInitiateShutdown |
| typedef struct SCommandSetSecurityFlags | SCommandSetSecurityFlags |
| typedef struct SZWaveGetPriorityRouteStatus | SZWaveGetPriorityRouteStatus |
| typedef struct SZWaveSetPriorityRouteStatus | SZWaveSetPriorityRouteStatus |
| typedef struct SZWaveGetVirtualNodesStatus | SZWaveGetVirtualNodesStatus |
| typedef struct SZWaveAesEcbStatus | SZWaveAesEcbStatus |
| typedef struct SZWaveGetBackgroundRssiStatus | SZWaveGetBackgroundRssiStatus |
| typedef struct SZWaveNetworkManagementStatus | SZWaveNetworkManagementStatus |
| typedef struct SNvmBackupRestoreStatus | SNvmBackupRestoreStatus |
| Structure for NVM backup/restore status. | |
| typedef struct SZWaveGetIncludedNodes | SZWaveGetIncludedNodes |
| Structure for getting the included nodes. | |
| typedef struct SZWaveGetIncludedNodesLR | SZWaveGetIncludedNodesLR |
| Structure for getting the included Long Range nodes. | |
| typedef struct SZWaveTxPowerMaxSupported | SZWaveTxPowerMaxSupported |
| Structure for getting the maximum settable tx power. | |
| typedef struct SZwaveGetSecurityPublicDSK | SZwaveGetSecurityPublicDSK |
| Structure for getting the DSK security public key. | |
| typedef struct SReceiveNodeUpdate | SReceiveNodeUpdate |
| typedef struct SReceiveSecurityEvent | SReceiveSecurityEvent |
| typedef union UTransmitParameters | UTransmitParameters |
| typedef union UCommandStatus | UCommandStatus |
| typedef union UReceiveCmdPayload | UReceiveCmdPayload |
| typedef union UCommandParameters | UCommandParameters |
| typedef struct SZwaveTransmitPackage | SZwaveTransmitPackage |
| typedef struct SZwaveCommandStatusPackage | SZwaveCommandStatusPackage |
| typedef struct SZwaveCommandPackage | SZwaveCommandPackage |
| typedef struct SReceiveSingle | SReceiveSingle |
| typedef struct SReceiveMulti | SReceiveMulti |
| typedef union UReceiveParameters | UReceiveParameters |
| typedef struct SZwaveReceivePackage | SZwaveReceivePackage |
Functions | |
| STATIC_ASSERT (NUM_EZWAVETRANSMITTYPE<(APPLICATION_INTERFACE_TRANSMIT_ENUM_OFFSET+(APPLICATION_INTERFACE_COMMAND_ENUM_OFFSET)), STATIC_ASSERT_FAILED_interface_tx_enum_overlap) | |
| #define APPLICATION_INTERFACE_COMMAND_ENUM_OFFSET (0x40) |
| #define APPLICATION_INTERFACE_RECEIVE_ENUM_OFFSET (0x80) |
| #define APPLICATION_INTERFACE_STATUS_ENUM_OFFSET (0xC0) |
| #define APPLICATION_INTERFACE_TRANSMIT_ENUM_OFFSET (0x00) |
| #define MAX_NODE_INFO_LENGTH 159 |
Maximum size for the node info frame contained in the SReceiveNodeUpdate struct.
| #define MULTICAST_NODE_LIST_SIZE 64 |
Numbers of nodes we can support when sending multicast frames on LR channel.
| #define TX_BUFFER_SIZE 170 |
| #define ZW_MAX_PAYLOAD_SIZE 160 |
Max theoretical Z-Wave frame payload size in a Z-Wave protocol using 3CH network The real Z-Wave frame payload type depends on various parameters (routed, multicast, explore, security and/or number of RF channels) Customer must not use this value in their application. They must use the value MaxPayloadSize from the SNetworkInfo structure.
| typedef enum EInclusionState_t EInclusionState_t |
| typedef enum ELearnMode ELearnMode |
| typedef enum ELearnStatus ELearnStatus |
Learn mode status updates.
| typedef enum ELibraryType ELibraryType |
| typedef enum EListenBeforeTalkThreshold_t EListenBeforeTalkThreshold_t |
| typedef enum EProtocolType EProtocolType |
| typedef enum EtxPowerLevel_t EtxPowerLevel_t |
| typedef enum EZwaveCommandStatusType EZwaveCommandStatusType |
Z-Wave Command Status Type used by SZwaveCommandStatusPackage
| typedef enum EZwaveCommandType EZwaveCommandType |
Z-Wave Command Types.
| typedef enum EZwaveReceiveType EZwaveReceiveType |
Z-Wave Receive type
| typedef enum EZwaveTransmitType EZwaveTransmitType |
Transmit Type enum used by SZwaveTransmitPackage
| typedef struct SApplicationHandles SApplicationHandles |
| typedef struct SAppNodeInfo_t SAppNodeInfo_t |
Node information type.
| typedef struct SAssignReturnRoute SAssignReturnRoute |
| typedef struct SCommandAesEcb SCommandAesEcb |
| typedef struct SCommandAreNodesNeighbours SCommandAreNodesNeighbours |
| typedef struct SCommandClassList_t SCommandClassList_t |
| typedef struct SCommandClassSet_t SCommandClassSet_t |
List of Command Classes supported when device is not included, included insecurely or included securely.
| typedef struct SCommandClassVersions SCommandClassVersions |
| typedef struct SCommandClearNetworkStatistics SCommandClearNetworkStatistics |
| typedef struct SCommandFailedNodeIDCmd SCommandFailedNodeIDCmd |
| typedef struct SCommandGenerateRandom SCommandGenerateRandom |
Generates true random word.
| typedef struct SCommandGeniric16bParameter SCommandGeniric16bParameter |
| typedef struct SCommandGeniric8bParameter SCommandGeniric8bParameter |
| typedef struct SCommandGetPriorityRoute SCommandGetPriorityRoute |
| typedef struct SCommandGetRoutingInfo SCommandGetRoutingInfo |
| typedef struct SCommandInitiateShutdown SCommandInitiateShutdown |
| typedef struct SCommandNetworkManagement SCommandNetworkManagement |
| typedef struct SCommandNetworkManagementDSK SCommandNetworkManagementDSK |
| typedef struct SCommandNodeInfo SCommandNodeInfo |
| typedef struct SCommandNvmBackupRestore SCommandNvmBackupRestore |
| typedef struct SCommandPMSetPowerDownCallback SCommandPMSetPowerDownCallback |
| typedef struct SCommandRequestNodeNeighborUpdate SCommandRequestNodeNeighborUpdate |
| typedef struct SCommandRequestNodeTypeNeighborUpdate SCommandRequestNodeTypeNeighborUpdate |
| typedef struct SCommandSetLBTThreshold SCommandSetLBTThreshold |
| typedef struct SCommandSetLearnMode SCommandSetLearnMode |
| typedef struct SCommandSetMaxInclReqInterval SCommandSetMaxInclReqInterval |
| typedef struct SCommandSetPriorityRoute SCommandSetPriorityRoute |
| typedef struct SCommandSetPromiscuousMode SCommandSetPromiscuousMode |
| typedef struct SCommandSetRfPowerLevel SCommandSetRfPowerLevel |
| typedef struct SCommandSetRfReceiveMode SCommandSetRfReceiveMode |
| typedef struct SCommandSetRoutingInfo SCommandSetRoutingInfo |
| typedef struct SCommandSetSecurityFlags SCommandSetSecurityFlags |
| typedef struct SCommandSetSecurityKeys SCommandSetSecurityKeys |
| typedef struct SCommandSetSmartStartLearnMode SCommandSetSmartStartLearnMode |
| typedef struct SCommandStoreHomeID SCommandStoreHomeID |
| typedef struct SCommandStoreNodeInfo SCommandStoreNodeInfo |
| typedef struct SDeleteReturnRoute SDeleteReturnRoute |
| typedef struct SExploreExclusionRequest SExploreExclusionRequest |
| typedef struct SExploreInclusionRequest SExploreInclusionRequest |
| typedef struct SIncludedNodeInfo SIncludedNodeInfo |
Contains info related to sending an INIF.
| typedef struct SLongRangeInfo SLongRangeInfo |
| typedef struct SNetworkInfo SNetworkInfo |
Network Info.
| typedef struct SNetworkUpdateRequest SNetworkUpdateRequest |
Network Update Request
| typedef struct SNodeInfo SNodeInfo |
| typedef struct SNodeInfoRequest SNodeInfoRequest |
| typedef struct SNvmBackupRestoreStatus SNvmBackupRestoreStatus |
Structure for NVM backup/restore status.
| typedef struct SProtocolConfig_t SProtocolConfig_t |
This allows "nulling" a pointer while modifying a virtual slave node info Or changing pointer to point to a different one. This struct content must be set up by application before enabling protocol (enabling radio) Direct content (the pointers) may not be changed runtime, but the data they point to can be edited by application run time
| typedef struct SProtocolInfo SProtocolInfo |
Protocol Info data.
| typedef struct SProtocolVersion SProtocolVersion |
| typedef struct SRadioConfig_t SRadioConfig_t |
| typedef struct SRadioStatus SRadioStatus |
| typedef struct SReceiveMulti SReceiveMulti |
| typedef struct SReceiveNodeUpdate SReceiveNodeUpdate |
The Z Wave protocol MAY notify an application by sending SReceiveNodeUpdate when a Node Information Frame has been received. The Z Wave protocol MAY refrain from sending the information if the protocol is currently expecting node information.
A controller application MAY use the information provided by SReceiveNodeUpdate to update local data structures.
The Z Wave protocol MUST notify a controller application by calling SReceiveNodeUpdate when a new node has been added or deleted from the controller through the network management features.
The Z Wave protocol MUST pass SReceiveNodeUpdate to application in response to SNodeInfoRequest being passed to protocol by the controller application. The Z Wave protocol MAY notify a controller application by sending SReceiveNodeUpdate when a Node Information Frame has been received. The Z Wave protocol MAY refrain from sending the information if the protocol is currently expecting a Node Information frame.
SReceiveNodeUpdate MUST be sent in a controller node operating as SIS each time a node is added or deleted by the primary controller. SReceiveNodeUpdate MUST be sent in a controller node operating as SIS each time a node is added/deleted by an inclusion controller.
A controller application MAY send a ZW_RequestNetWorkUpdate command to a SIS or SIS node. In response, the SIS MUST return update information for each node change since the last update handled by the requesting controller node. The application of the requesting controller node MAY receive multiple instances of SReceiveNodeUpdate in response to application passing SNetworkUpdateRequest to protocol.
The Z Wave protocol MUST NOT send SReceiveNodeUpdate in a controller node acting as primary controller or inclusion controller when a node is added or deleted.
Any controller application MUST implement this function.
| [in] | bNodeID | |
| [in] | pCmd | Pointer of the updated node's node info. |
| [in] | bLen | The length of the pCmd parameter. |
serialapi{ZW->HOST: REQ | 0x49 | bStatus | bNodeID | bLen | basic | generic | specific | commandclasses[ ]}
SReceiveNodeUpdate via the Serial API also have the possibility for receiving the status UPDATE_STATE_NODE_INFO_REQ_FAILED, which means that a node did not acknowledge a SNodeInfoRequest .
| typedef struct SReceiveSecurityEvent SReceiveSecurityEvent |
| typedef struct SReceiveSingle SReceiveSingle |
| typedef struct SRequestNewRouteDestinations SRequestNewRouteDestinations |
| typedef struct SSendData SSendData |
| typedef struct SSendDataBridge SSendDataBridge |
| typedef struct SSendDataEx SSendDataEx |
| typedef struct SSendDataMulti SSendDataMulti |
| typedef struct SSendDataMultiBridge SSendDataMultiBridge |
| typedef struct SSendDataMultiEx SSendDataMultiEx |
| typedef struct SSendSlaveNodeInformation SSendSlaveNodeInformation |
| typedef struct SSendSucNodeId SSendSucNodeId |
| typedef struct SSetSucNodeId SSetSucNodeId |
Controller API.
| typedef struct STest STest |
| typedef struct STransmitFrameConfig STransmitFrameConfig |
| typedef struct SVirtualSlaveNodeInfo_t SVirtualSlaveNodeInfo_t |
| typedef struct SVirtualSlaveNodeInfoTable_t SVirtualSlaveNodeInfoTable_t |
| typedef struct SZWaveAesEcbStatus SZWaveAesEcbStatus |
| typedef struct SZwaveCommandPackage SZwaveCommandPackage |
| typedef struct SZwaveCommandStatusPackage SZwaveCommandStatusPackage |
Z-Wave Command Status Package
| typedef struct SZWaveGenerateRandomStatus SZWaveGenerateRandomStatus |
| typedef struct SZWaveGeneric8bStatus SZWaveGeneric8bStatus |
| typedef struct SZWaveGenericBoolStatus SZWaveGenericBoolStatus |
| typedef struct SZWaveGetBackgroundRssiStatus SZWaveGetBackgroundRssiStatus |
| typedef struct SZWaveGetIncludedNodes SZWaveGetIncludedNodes |
Structure for getting the included nodes.
| typedef struct SZWaveGetIncludedNodesLR SZWaveGetIncludedNodesLR |
Structure for getting the included Long Range nodes.
| typedef struct SZWaveGetPriorityRouteStatus SZWaveGetPriorityRouteStatus |
| typedef struct SZWaveGetRoutingInfoStatus SZWaveGetRoutingInfoStatus |
| typedef struct SZwaveGetSecurityPublicDSK SZwaveGetSecurityPublicDSK |
Structure for getting the DSK security public key.
| typedef struct SZWaveGetVirtualNodesStatus SZWaveGetVirtualNodesStatus |
| typedef struct SZWaveInvalidCommandStatus SZWaveInvalidCommandStatus |
| typedef struct SZWaveInvalidTxRequestStatus SZWaveInvalidTxRequestStatus |
| typedef struct SZWaveLearnModeStatus SZWaveLearnModeStatus |
| typedef struct SZWaveNetworkManagementStatus SZWaveNetworkManagementStatus |
| typedef struct SZWaveNodeInfoStatus SZWaveNodeInfoStatus |
| typedef struct SZwaveReceivePackage SZwaveReceivePackage |
| typedef struct SZWaveSetPriorityRouteStatus SZWaveSetPriorityRouteStatus |
| typedef struct SZwaveTransmitPackage SZwaveTransmitPackage |
| typedef struct SZWaveTransmitStatus SZWaveTransmitStatus |
| typedef struct SZWaveTxPowerMaxSupported SZWaveTxPowerMaxSupported |
Structure for getting the maximum settable tx power.
| typedef struct t_ExtNodeInfo t_ExtNodeInfo |
| typedef union UCommandParameters UCommandParameters |
| typedef union UCommandStatus UCommandStatus |
Command Status Union used by SZwaveCommandStatusPackage
| typedef union UReceiveCmdPayload UReceiveCmdPayload |
| typedef union UReceiveParameters UReceiveParameters |
| typedef union UTransmitParameters UTransmitParameters |
Transmit Parameters Union used by SZwaveTransmitPackage
| enum EInclusionState_t |
| enum ELearnMode |
| enum ELearnStatus |
Learn mode status updates.
| enum ELibraryType |
| enum EProtocolType |
| enum EtxPowerLevel_t |
Z-Wave Command Status Type used by SZwaveCommandStatusPackage
| enum EZwaveCommandType |
Z-Wave Command Types.
| Enumerator | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EZWAVECOMMANDTYPE_GENERATE_RANDOM | Generate a specific number of random bytes.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NODE_INFO | Returns the Node Information Frame without command classes from the NVM for a given node ID.
All the Z-Wave protocol-specific fields are initialized by the protocol. The Listening flag, Generic, and Specific Device Class fields are initialized by the application.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_CLEAR_NETWORK_STATISTICS | Clear the current network statistics collected by the Z-Wave protocol. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_LEARN_MODE | Enable/disable home/node ID learn mode. When learn mode is enabled, received "Assign ID's Command" are handled:
ControllerAdd or remove the controller to/from a Z-Wave network. Instruct the controller to allow it to be added or removed from the network. When a controller is added to the network the following things will happen:
This function will probably change the capabilities of the controller so it is recommended that the application calls EZWAVECOMMANDTYPE_GET_CONTROLLER_CAPABILITIES after completion to check the controller status. The learnFunc is called as the "Assign" process progresses. The returned nodeID is the nodes new Node ID. If no "Assign" is received from the including controller the callback function will not be called. It is then up to the application code to switch of Learn mode. Once the assignment process has been started the callback function may be called more than once. The learn process is not complete before the callback function is called with LEARN_MODE_DONE. Network wide inclusion (add) should always be used as the default mode in inclusion to ensure compability with all implementations of Z-Wave controllers.
useCB If SetLearnMode.useCB is true
SlaveAdd or remove the slave to/from a Z-Wave network. Add a new slave node to a Z-Wave network or to remove an already added node from the network again. The Slave node must identify itself to the including controller node by sending a Node Information Frame (see EZWAVECOMMANDTYPE_NODE_INFO). When learn mode is enabled, the following two actions can be performed by the protocol:
The learnFunc is called as the "Assign" process progresses. The returned nodeID is the nodes new Node ID. If no "Assign" is received from the including controller the callback function will not be called. It is then up to the application code to switch of Learn mode. Once the assignment process has been started the Callback function may be called more than once. The learn process is not complete before the callback function is called with ASSIGN_COMPLETE
If SetLearnMode.useCB is true
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_DEFAULT | Set the device back to the factory default state. ControllerSet the Controller back to the factory default state. Erase all Nodes, routing information and assigned homeID/nodeID from the NVM. In case the previous home ID was randomly generated then a new random home ID written to the NVM (random range: 0xC0000000-0xFFFFFFFE). A home ID outside random range reuses the initially configured home ID (configured during production). SlaveSet the slave back to the factory default state. Erase routing information and assigned homeID/nodeID from the external NVM. Finally write a new random home ID to the external NVM. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SEND_DATA_ABORT | Stop any application initiated transmits. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_PROMISCUOUS_MODE | Enable/disable the installer library promiscuous mode. When promiscuous mode is enabled, all application layer frames will be passed to the application layer regardless if the frames are addressed to another node. A Controller in promiscuous mode will transfer payload from a promiscuously received application frame destined and originated from nodes residing in same network (HomeID). The promiscuously received application frame (only end destination frame) will be transferred to the application through ApplicationCommandHandler / ApplicationCommandHandler_Bridge with the RECEIVE_STATUS_FOREIGN_FRAME bit set in rxStatus. A promiscuously application received frame is defined as:
An end destination frame is defined as either:
With the following exceptions when the controller is a repeater itself:
Promiscuously received frames are delivered to the application via the ApplicationCommandHandler / ApplicationCommandHandler_Bridge callback function.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_RF_RECEIVE_MODE | Initialize the Z-Wave RF chip.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_IS_NODE_WITHIN_DIRECT_RANGE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_NEIGHBOR_COUNT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ARE_NODES_NEIGHBOURS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_IS_FAILED_NODE_ID | Test if a node ID is stored in the failed node ID list.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_ROUTING_TABLE_LINE | Read out neighbor information. This information can be used to ensure that all nodes have a sufficient number of neighbors and to ensure that the network is in fact one network. The format of the data returned in the buffer pointed to by RoutingInfo is as follows:
If a bit n in RoutingInfo[i] is 1 it indicates that the node with nodeID has node (i*8)+n+1 as a neighbour. If n in RoutingInfo[i] is 0, node with nodeID cannot reach node (i*8)+n+1 directly.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_ROUTING_INFO | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_STORE_NODE_INFO | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_STORE_HOMEID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_LOCK_ROUTE_RESPONSE | If true then any attempt to purge a LastWorkingRoute entry is denied.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_PRIORITY_ROUTE | Get the route with the highest priority. If a route has been set with EZWAVECOMMANDTYPE_SET_PRIORITY_ROUTE then that route will be returned. If no priority route has been set the call will return either the Last Working Route (LWR) or the Next to Last Working Route (NLWR). The LWR is the last successful route used between sender and destination node and the NLWR is the previous LWR. The PriorityRoute, LWR and NLWR are all stored in NVM.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_PRIORITY_ROUTE | Set the Priority Route for a destination node. The Priority Route is the route that will be used as the first routing attempt by the protocol when transmitting to a node. The Priority Route is stored in NVM.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_SLAVE_LEARN_MODE | Enable/disable home/node ID learn mode for virtual nodes. When learn mode is enabled, received "Assign ID's Command" for the current virtual node 'node' are handled: If 'node' is zero, the received nodeID will be stored as a new virtual node. If the received nodeID is zero the virtual node 'node' will be removed. Enable the possibility for enabling or disabling "Slave Learn Mode", which when enabled makes it possible for other controllers (primary or inclusion controllers) to add or remove a Virtual Slave Node to the Z-Wave network. Also is it possible for the bridge controller (only when primary or inclusion controller) to add or remove a Virtual Slave Node without involving other controllers. Available Slave Learn Modes are:
The callback function is called as the "Assign" process progresses. The returned "orgID" is the Virtual Slave node put into Slave Learn Mode, the "newID" is the new Node ID. If the Slave Learn Mode is VIRTUAL_SLAVE_LEARN_MODE_ENABLE and nothing is received from the assigning controller the callback function will not be called. It is then up to the main application code to switch of Slave Learn mode by setting the VIRTUAL_SLAVE_LEARN_MODE_DISABLE Slave Learn Mode. Once the assignment process has been started the callback function may be called more than once.
Callback
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_IS_VIRTUAL_NODE | Check if node is a Virtual Slave node.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_VIRTUAL_NODES | Read the virtual node flags for all nodes in the network. Will read the flag from all available node data files.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_CONTROLLER_CAPABILITIES | Returns the Controller capabilities. The returned capability is a bitmask where the following bits are defined:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_ROUTING_MAX | Set the maximum number of route tries which should be done before failing or resorting to exploring if this is specified.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_IS_PRIMARY_CTRL | Returns wether the controller is a primary controller.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ADD_NODE_TO_NETWORK | Add any type of node to the network.
If NetworkManagement.pHandle is not NULL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REMOVE_NODE_FROM_NETWORK |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_AES_ECB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_BACKGROUND_RSSI | Returns the most recent background RSSI levels detected. The RSSI is only measured when the radio is in receive mode.
The rssi levels struct is defined as typedef struct
{
} RSSI_LEVELS;
#define ZPAL_RADIO_NUM_CHANNELS_LR_CH_CFG_1_2 Definition zpal_radio.h:220 Each value in the rssi_dBm contains an RSSI value encoded according to the table below. ZPAL_RADIO_NUM_CHANNELS_LR_CH_CFG_1_2 is set to 4. The rssi level in a single channel is contained in a BYTE encoded as a signed integer:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REMOVE_FAILED_NODE_ID | Remove a node from the failed node list. Remove a non-responding node from the routing table in the requesting controller. A non-responding node is put onto the failed node ID list in the requesting controller. In case the node responds again at a later stage then it is removed from the failed node ID list. A node must be on the failed node ID list and as an extra precaution also fail to respond before it is removed. Responding nodes can't be removed. The call works on a primary controller and an inclusion controller.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REPLACE_FAILED_NODE_ID | Replace a node from the failed node list. Replace a non-responding node with a new one in the requesting controller. A non-responding node is put onto the failed node ID list in the requesting controller. In case the node responds again at a later stage then it is removed from the failed node ID list. A node must be on the failed node ID list and as an extra precaution also fail to respond before it is removed. Responding nodes can't be replace. The call works on a primary controller and an inclusion controller.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_PM_STAY_AWAKE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_PM_CANCEL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_PM_REGISTER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_UPDATE_CTRL_NODE_INFORMATION |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_SET_LBT_THRESHOLD | Set the LBT RSSI level. Set the "Listen Before Talk" threshold that controls at what RSSI level a Z-Wave node will refuse to transmit because of noise. ZW_SetListenBeforeTalkThreshold stores the threshold values in RAM thus it needs to be called after every reset or power-up. The RAM variables that stores the threshold values are initialized after ApplicationInitHW thus ZW_SetListenBeforeTalkThreshold should be called in ApplicationInitSW. The default threshold value is set to a value corresponding to the RF regulatory requirements for a Z-Wave module in the specific country. The appropriate value range goes from 34(dec) to 78(dec) and each threshold step corresponds to a 1.5dB input power step.
For instance, if a SAW filter with an insertion loss of 3dB is inserted between the antenna feed-point and the chip on a JP product, the threshold value should be set to 48(dec) .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ADD_NODE_DSK_TO_NETWORK |
If NetworkManagement.pHandle is not NULL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NETWORK_LEARN_MODE_START | Enable/disable the Network Management module inclusion/exclusion mode sequence according to specified mode.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_CREAT_NEW_PRIMARY_CTRL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_CONTROLLER_CHANGE | Add a controller to the Z-Wave network and transfer the role as primary controller to it. Has the same functionality as EZWAVECOMMANDTYPE_ADD_NODE_TO_NETWORK with mode ADD_NODE_ANY, except that the new controller will be a primary controller and the controller invoking the function will become secondary.
If NetworkManagement.pHandle is not NULL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_CLEAR_TX_TIMERS | Clear current Channel Transmit timers. Clear the protocol's internal tx timers. The tx timers are updated by the protocol every time a frame is sent. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_SET_MAX_INCL_REQ_INTERVALS | Set the maximum interval between SmartStart inclusion requests.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NVM_BACKUP_OPEN |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NVM_BACKUP_READ |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NVM_BACKUP_WRITE |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_NVM_BACKUP_CLOSE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_PM_SET_POWERDOWN_CALLBACK | Register application functions to be called just before power down. The provided function will be called as the last steps before the chip is forced into EM4 hibernate.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SET_SECURITY_KEYS | Initiate the S2 inclusion engine.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SOFT_RESET | Perform a soft reset. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_BOOTLOADER_REBOOT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REMOVE_NODEID_FROM_NETWORK | Remove a specific node from a Z-Wave network.
If NetworkManagement.pHandle is not NULL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_GET_INCLUDED_NODES | Get the node IDs for the nodes included in the network.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REQUESTNODENEIGHBORUPDATE | Start neighbor discovery for node if primary and other nodes are present.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_INITIATE_SHUTDOWN | Initiate graceful shutdown. The API will stop the radio and cancel all timers and power locks. The protocol will notfiy the applciation when ready to go into deepsleep by the provided callback
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_GET_INCLUDED_LR_NODES | Get the node IDs for the long range nodes included in the network.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_GET_LR_CHANNEL | Get the current Primary Long Range Channel.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_SET_LR_CHANNEL | Set the Primary Long Range Channel.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_SET_LR_VIRTUAL_IDS | Enable Long Range virtual node IDs.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_UNUSED1 | Legacy command. Now unused. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_UNUSED2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_GET_PTI_CONFIG | Check if the PTI Zniffer functionality is enabled/disabled.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_SET_TX_ATTENUATION | Reduce Tx power of classic non-listening devices.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_ADD_NODE | Add a new node to the network. Used by Portable Controller application to start the process of including a new node to its network. After successful inclusion the protocol will send an EZWAVECOMMANDSTATUS_SECURE_ON_NODE_ADDED event to the application. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_ABORT | Abort Inclusion or Exclusion of node. Used by Portable Controller application to abort an Inclusion or Exclusion process it has started. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_REMOVE_NODE | Remove a node from the network. Used by Portable Controller application to start the process of excluding a node from its network. After successful exclusion the protocol will send an EZWAVECOMMANDSTATUS_SECURE_ON_NODE_DELETED event to the application. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_SEND_DATA | Unused. Data frames to network nodes are placed directly on the Zwave TxQueue. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_LEARN_MODE_INCLUSION | Put the application in Network Wide Inclusion mode so it can be included in a network. Used by Portable Controller application to get included by a different Controller. After successful inclusion the protocol will send an EZWAVECOMMANDSTATUS_SECURE_ON_NEW_NETWORK_ENTERED event to the application. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_LEARN_MODE_EXCLUSION | Put the application in Network Wide Exclusion mode so it can be excluded from a network. Used by Portable Controller application to get excluded from a network. After successful exclusion the protocol will send an EZWAVECOMMANDSTATUS_SECURE_ON_NETWORK_MANAGEMENT_STATE_UPDATE event to the application. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_SECURE_NETWORK_MANAGEMENT_SET_SECURITY_FLAGS | Set security flags for a network node. Used by Portable Controller application to set security related flags for a node in its network. S2 capable flag, S2 included flag, Secure included flag. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_ZW_GET_TX_POWER_MAX_SUPPORTED | Get the maximum settable tx power.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_REQUESTNODETYPE_NEIGHBORUPDATE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EZWAVECOMMANDTYPE_GET_SECURITY_PUBLIC_DSK | Get the DSK security public key.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| NUM_EZWAVECOMMANDTYPE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| enum EZwaveReceiveType |
Z-Wave Receive type
| enum EZwaveTransmitType |
Transmit Type enum used by SZwaveTransmitPackage
| STATIC_ASSERT | ( | ) |