Z-Wave Protocol Controller Reference
zwave_utils.h File Reference

Various Z-Wave related utilities. More...

#include <stdint.h>
#include <stdbool.h>
#include "sl_status.h"
#include "zwave_generic_types.h"
#include "zwave_node_id_definitions.h"
#include "zwave_controller_keyset.h"
#include "zwave_keyset_definitions.h"
#include "zwave_command_class_version_types.h"
#include "zwave_command_class_wake_up_types.h"
#include "attribute_store_defined_attribute_types.h"
#include "attribute_store.h"
Include dependency graph for zwave_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool zwave_get_nls_support (zwave_node_id_t node_id, attribute_store_node_value_state_t value_state)
 Returns whether a node supports Network Layer Security (NLS) More...
 
bool zwave_get_nls_state (zwave_node_id_t node_id, attribute_store_node_value_state_t value_state)
 Returns whether a node has Network Layer Security (NLS) enabled. More...
 
sl_status_t zwave_store_nls_support (zwave_node_id_t node_id, bool is_nls_supported, attribute_store_node_value_state_t value_state)
 Stores Network Layer Security (NLS) support for a NodeID in the attribute store. More...
 
sl_status_t zwave_store_nls_state (zwave_node_id_t node_id, bool is_nls_enabled, attribute_store_node_value_state_t value_state)
 Stores Network Layer Security (NLS) state for a NodeID in the attribute store. More...
 
zwave_operating_mode_t zwave_get_operating_mode (zwave_node_id_t node_id)
 Returns the operating mode of a node. More...
 
zwave_protocol_t zwave_get_inclusion_protocol (zwave_node_id_t node_id)
 Returns the protocol that the node is running in this network. More...
 
const char * zwave_get_protocol_name (zwave_protocol_t protocol)
 Returns the name of a protocol value. More...
 
sl_status_t zwave_store_inclusion_protocol (zwave_node_id_t node_id, zwave_protocol_t inclusion_protocol)
 Stores a protocol value for a NodeID in the attribute store. More...
 
sl_status_t zwave_get_node_granted_keys (zwave_node_id_t node_id, zwave_keyset_t *keys)
 Get the node granted keys object. More...
 
sl_status_t zwave_set_node_granted_keys (zwave_node_id_t node_id, zwave_keyset_t *keyset)
 Set the node granted keys object. More...
 
bool zwave_node_supports_command_class (zwave_command_class_t command_class, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verify whether a node/endpoint supports a Command Class using the attribute Store. More...
 
bool zwave_node_want_supervision_frame (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verify whether a node/endpoint supports Supervision CC AND wants to use it. More...
 
zwave_cc_version_t zwave_node_get_command_class_version (zwave_command_class_t command_class, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Return the version of a Command Class implemented by a node. More...
 
attribute_store_node_t zwave_get_endpoint_node (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Get endpoint node associated with the ZWave NodeID and Endpoint ID. More...
 
bool zwave_security_validation_is_node_s2_capable (zwave_node_id_t node_id)
 Verify if we registered a node as supporting S2. More...
 
sl_status_t zwave_security_validation_set_node_as_s2_capable (zwave_node_id_t node_id)
 Sets a node as S2 capable, meaning that we know it supports S2, and it will forever do. More...
 
wake_up_interval_t zwave_get_wake_up_interval (zwave_node_id_t node_id)
 Navigates the attribute store to find out what is the Wake Up Interval of a node. More...
 
bool is_command_in_array (zwave_command_class_t command_class, zwave_command_t command, const uint8_t *command_list, uint8_t command_list_length)
 Searches if a Command Class/Command pair is in a byte array of Command class/command pairs. More...
 
bool endpoint_exists (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verifies if an endpoint exists under a NodeID. More...
 

Detailed Description

Various Z-Wave related utilities.

License

Copyright 2021 Silicon Laboratories Inc. www.silabs.com

The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.