INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 silabs.com | Building a more connected world. Page ii of xxviii REVISION RECORD
Dec 6, 2019 —
1.1 Purpose This document is the Z-Ware Library C API reference manual. 1.2 Audience and Prerequisites. This document is for Z-Wave Partners and assumes they are already...
Instruction Z-Ware SDK 7.13.0 Library C API Reference Manual Document No.: INS14416 Version: 10 Description: The Z-Ware Library is a Z-Wave Plus v2 SmartStart Z-Wave for IP client. Written By: Date: Reviewed By: Restrictions: DCHOW;SAMBAT;YANYAN 2019-12-06 KSUNDARAM;YANYAN;JCC;SCBROWNI;TRBOYD Public Approved by: Date CET Initials Name 2019-12-06 01:55:33 NTJ Niels Johansen Justification This document is the property of Silicon Labs. The data contained herein, in whole or in part, may not be duplicated, used or disclosed outside the recipient for any purpose. This restriction does not limit the recipient's right to use information contained in the data if it is obtained from another source without restriction. INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 REVISION RECORD Doc. Rev Date By 1 20180713 DCHOW Pages affected ALL 20180718 DCHOW ALL 20180802 SNA 20180803 DCHOW ALL 2 20180823 SNA ALL DCHOW 17 3 20181113 DCHOW ALL 4 20181122 SNA Brief description of changes - Cloned from INS14129-5 for SDK 7.00.00 - v9.03 -Modified tables "Controlled Z Wave CCs", "ZIPGW SDK 2.8x Supported Z Wave CCs", "Interface Types: IF_REC_TYPE_XXX", "Error Codes, ZW_ERR_XXX", "zwnetd_t structure", "if_rec_meter_t structure","rec union", "NODE_PROPTY_XXX", "zwnoded_t structure", "zwrep_group_fn Parameters", "zwif_group_get Parameters", "zwrep_wakeup_fn Parameters", "zwif_wakeup_get Parameters", "zwrep_switch_fn Parameters", "zwif_switch_set Parameters", "zwrep_level_fn Parameters", "ZW_METER_TYPE_XXX and ZW_METER_UNIT_XXX", "ZW_METER_SUP_UNIT_XXX", "zwmeter_dat_t structure", "zwmeter_cap_t structure", "zwif_meter_get Parameters", "zwrep_dlck_op_fn Parameters", "zwdlck_cfg_t structure", "zwrep_dlck_cfg_fn Parameters", "zwrep_thrmo_fan_md_fn Parameters", "zwrep_thrmo_md_fn Parameters", "zwrep_thrmo_setp_fn Parameters", "zwrep_thrmo_setp_range_fn Parameters", "zwif_thrmo_setp_sup_range_cache_get Parameters", "zwif_ind_rpt_set Parameters", "zwif_ind_get Parameters", "zwif_ind_set Parameters", "zwrep_barrier_fn Parameters", "zwrep_barrier_subsys_fn Parameters" -Added tables "if_rec_dlck_t structure", "Thermostat Setpoint Types: ZW_THRMO_SETP_TYP_XXX", "Thermostat Setpoint Unit", "Door lock Operation Mode", "Door lock Operation Type", "zwsw_ver_t structure", "zwrep_ind_fn Parameters", "zwind_data_t structure", "zwind_propty_val_t structure", "ZWIND_ID_XXX", "ZWIND_PPTY_ID_XXX" -Modified section "Firmware update". -Added sections "zwnet_identify", "zwnet_version", "zwnode_identify", "zwif_switch_mset", "zwif_dlck_cap_get", "zwif_dlck_cap_cache_get", "zwif_dlck_cap_free", "zwif_ind_sup_get", "zwif_ind_sup_cache_get", "zwif_ind_sup_free", "Sound Switch Interface API", "Time and Date Interface API". - control SOUND_SWITCH v1, INDICATOR CC v3, TIME CC v2 -Modified tables "zwnet_init_t structure", "Files", "ZIPGW SDK 2.1x Supported Z Wave CCs" -Modified sections "Role", "CC Support", "zwnet_identify", "zwnode_identify", "Node Update". - Added ZIPGW 7.x CCs, separated Z-Ware supported CCs. - v9.05 Formatted for Silabs and fixed page numbers. Replaced S2 inclusion flow diagram as picture. -Modified tables "Error Codes, ZW_ERR_XXX", "zwnet_notify_fn Parameters", "zwnet_node_fn Parameters", "zwusrcod_t structure" and "ZWIND_PPTY_ID_XXX". -Added table "ZW_USRCOD_XXX". -Modified section "zwif_battery_rpt_set". -Support callbacks when node has been reset. V9.05.04 SDK v7.00.02 beta: removed older ZIPGW info, Corrected mailbox CC support version; removed BBB references. silabs.com | Building a more connected world. Page ii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 REVISION RECORD Doc. Rev Date By 5 20190222 DCHOW Pages affected ALL 6 20190318 SNA 192 7 20190325 DCHOW 112 8 20190531 DCHOW ALL 9 20190816 SNA ALL Brief description of changes -v9.11 -Modified tables "Controlled Z Wave CCs", "Z Wave Alarm/Notification Event Parameter Type", "zwalrm_t Structure", "zwnet_add_sec2_grant_key Parameters", "zwnoded_t Structure", "zwcfg_info_t structure", "ZW_USRCOD_XXX", "zwusrcod_t structure", "zwif_usrcod_get Parameters", "zwif_usrcod_sup_get Parameters", "zwrep_usr_sup_fn Parameters", "zwif_usrcod_sup_cache_get", "zwrep_ind_sup_fn Parameters", "zwif_ind_set Parameters", "zwfw_updt_req_t Structure", "pl_info_t Structure", "zwnet_sts_t Structure", "zwnet_node_fn Parameters" -Added new entries in tables "Error Codes, ZW_ERR_XXX", "zwnet_notify_fn Parameters", "zwnet_sts_t Structure", "dev_global_sett_t Structure", "zwif_switch_set Parameters", "zwrep_color_sw_get_fn Parameters", "zwrep_basic_fn Parameters", "ZW_ALRM_XXX", "Z Wave Alarm/Notification Type", " Z Wave Alarm/Notification Event", "zwif_snd_switch_rpt_set Parameters", "zwrep_snd_switch_config_fn Parameters", "ZW_ALRM_EVT_XXX" -Added tables "Additional Info Associated to Network Op and Status" -Modified sections "JSON File Format", "zwnet_add_sec2_grant_key", "Node Update" -Added sections "zwif_usrcod_rpt_set", "zwif_usrcod_ext_rpt_set", "zwif_usrcod_ext_set", "zwif_usrcod_ext_get", "zwif_usrcod_cap_get", "zwif_usrcod_cap_cache_get", "zwif_usrcod_kp_mod_rpt_set", "zwif_usrcod_kp_mod_set", "zwif_usrcod_kp_mod_get", "zwif_usrcod_ms_cod_rpt_set", "zwif_usrcod_ms_cod_set", "zwif_usrcod_ms_cod_get", "zwif_usrcod_chksum_rpt_set", "zwif_usrcod_chksum_get", "zwif_fw_downld_req", "Window Covering Interface API", "Node Update endpoint get/set CCs" - control User Code CC v2, Window Covering CC v1, Notification CC v8, N/W IMA CC v2 -v9.12 -Update supported CC table -Added firmware update completion status for low/unknown battery level -v9.13 -Changed the description of ep_id in Table 193 - grp_member_t structure -Changed the description of grp_member in Table 195 - zwif_group_del Parameters -v9.15 -Added parameters to zwif_switch_set API to support post-set polling -Added entries to tables ZW_THRMO_FAN_MD_XXX, ZW_FW_UPDT_ERR_XXX, "zwfw_info_t structure" -Modified tables "Controlled Z Wave CCs", "Supported Z-Wave CCs Pushed down from ZWare" -Added description on backoff intervals for "down" node in section "Background Polling" -Support and control Association CC v3 & Multichannel Association CC v4 -Control Firmware Update MD CC v6,- Thermostat Fan Mode CC v5, -Added section "Persistent Storage for Z-Ware Library" Moved all non API & File format documentation out silabs.com | Building a more connected world. Page iii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 REVISION RECORD Doc. Rev Date By 20190902 TWC 10 20191128 TWC 20191205 SNA Pages affected ALL ALL Brief description of changes -v9.22 -Added IF_REC_TYPE_MULTI_CMD in table "Interface Types: IF_REC_TYPE_XXX" -Added entries in tables "ZW_ALRM_EVT_XXX", "rec Union", "ZWIND_ID_XXX", "ZWIND_PPTY_ID_XXX", "zwfw_info_t structure", "zwfw_updt_req_t Structure", "zwrep_snd_switch_tone_play_fn Parameters", "zwif_snd_switch_tone_play_set Parameters" -Added error code ZW_ERR_SEND_PENDING and changed definition of ZW_ERR_QUEUED -Added tables "if_rec_mcmd_t Structure" -Change section "zwif_group_add" to support assign return route completion callback. -Added multicast APIs: zwif_level_mset, zwif_level_mstart, zwif_level_mstop, zwif_dlck_op_mset, zwif_barrier_mset, zwif_wincvr_mset, zwif_wincvr_mstart, zwif_wincvr_mstop -Modified section "zwif_battery_rpt_set" -Added section "zwif_fw_updt_actv" -Control Firmware Update MD CC v7, Battery CC v2, Sound Switch CC v2, Door Lock Logging CC v1 -Updated "Home network file format"->"interfaces"->"Sound switch CC" -Updated "Home network file format"->"interfaces"->"Battery CC" -Added "Home network file format"->"interfaces"->"Door Lock Logging CC" -Added entry "send_encap" in "Device Database File Format" -v10.03 -Removed entries support_multi_clients and wakeup_no_more_info_delay in Device Database Global Setting -Added state-numbers in Protection CC cache JSON object -Used Z/IP gateway mailbox: internal command queue related APIs (zwnode_cmd_q_xxx)are removed. -Support multi-cast -Allow the zwif_prot_tmout_set API to accept parameter "tmout" with value zero -Added usr_code_len to zwdlck_log_t structure -Support COMMAND_CLASS_NETWORK_MANAGEMENT_PROXY version 3 Added techpub edits silabs.com | Building a more connected world. Page iv of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table of Contents 2019-12-06 1 INTRODUCTION ............................................................................................................................1 1.1 Purpose..............................................................................................................................................1 1.2 Audience and Prerequisites...............................................................................................................1 2 ERROR CODES ...............................................................................................................................2 3 PORTAL API...................................................................................................................................5 3.1 zwportal_init .....................................................................................................................................5 3.2 zwportal_shutdown...........................................................................................................................6 3.3 zwportal_exit.....................................................................................................................................6 3.4 zwportal_clnt_conn_close.................................................................................................................7 3.5 zwportal_clnt_add.............................................................................................................................7 3.6 zwportal_clnt_rm ..............................................................................................................................7 3.7 zwportal_clnt_find ............................................................................................................................7 3.8 zwportal_clnt_list_free......................................................................................................................8 3.9 zwportal_clnt_list_get.......................................................................................................................8 4 DEVICE DATABASE API ..................................................................................................................9 4.1 zwdev_cfg_load.................................................................................................................................9 4.2 zwdev_cfg_free ...............................................................................................................................29 4.3 zwdev_global_sett_free ..................................................................................................................29 4.4 zwdev_cfg_find................................................................................................................................29 5 NETWORK API.............................................................................................................................30 5.1 Discovering ZIPGWs.........................................................................................................................30 5.1.1 zwnet_gw_discvr_start .........................................................................................................30 5.1.2 zwnet_gw_discvr_stop..........................................................................................................31 5.2 Network Initialization and Clean up ................................................................................................31 5.2.1 zwnet_init..............................................................................................................................31 5.2.2 zwnet_exit.............................................................................................................................39 5.2.3 zwnet_reset...........................................................................................................................39 5.3 Network Creation ............................................................................................................................39 5.3.1 zwnet_add.............................................................................................................................39 5.3.2 Secure Inclusion ....................................................................................................................41 5.3.2.1 zwnet_add_sec2_accept ..................................................................................................41 5.3.2.2 zwnet_add_sec2_grant_key.............................................................................................41 5.3.3 SmartStart Provisioning.........................................................................................................42 5.3.3.1 zwnet_pl_add ...................................................................................................................42 5.3.3.2 zwnet_pl_get....................................................................................................................45 5.3.3.3 zwnet_pl_del ....................................................................................................................46 5.3.3.4 zwnet_pl_list_get .............................................................................................................46 5.3.3.5 zwnet_pl_list_del .............................................................................................................46 silabs.com | Building a more connected world. Page v of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 5.4 Network Management ....................................................................................................................47 5.4.1 zwnet_initiate .......................................................................................................................47 5.4.2 zwnet_fail..............................................................................................................................47 5.4.3 zwnet_update .......................................................................................................................47 5.4.4 zwnet_abort ..........................................................................................................................48 5.5 Network Attributes and Traversal ...................................................................................................48 5.5.1 zwnet_get_desc ....................................................................................................................48 5.5.2 zwnet_version .......................................................................................................................49 5.5.3 zwnet_get_node ...................................................................................................................49 5.5.4 zwnet_get_node_ by_id........................................................................................................49 5.5.5 zwnet_get_ep_ by_id............................................................................................................50 5.5.6 zwnet_get_if_ by_id..............................................................................................................50 5.5.7 zwnet_all_node_sts_get .......................................................................................................50 5.5.8 zwnet_node_sts_get .............................................................................................................50 5.6 Advanced Network APIs ..................................................................................................................51 5.6.1 zwnet_migrate ......................................................................................................................51 5.6.2 zwnet_initiate_classic ...........................................................................................................51 5.6.3 zwnet_health_chk .................................................................................................................51 5.6.4 zwnet_identify ......................................................................................................................51 5.6.5 zwnet_get_user.....................................................................................................................52 5.6.6 zwnet_send_nif .....................................................................................................................52 5.6.7 zwnet_poll_rm ......................................................................................................................52 5.6.8 zwnet_poll_rm_mul ..............................................................................................................52 5.6.9 zwnet_pref_set .....................................................................................................................53 5.6.10 zwnet_pref_get .....................................................................................................................53 5.6.11 zwnet_client_pref_set ..........................................................................................................53 5.6.12 zwnet_client_pref_get ..........................................................................................................53 5.6.13 zwnet_sec2_get_dsk .............................................................................................................54 5.7 Network Utilities APIs......................................................................................................................54 5.7.1 zwnet_ip_aton ......................................................................................................................54 5.7.2 zwnet_ip_ntoa ......................................................................................................................54 5.7.3 zwnet_local_addr_get...........................................................................................................55 5.7.4 zwnet_listen_port_get ..........................................................................................................55 6 NODE API....................................................................................................................................56 6.1 zwnoded_t.......................................................................................................................................56 6.2 zwnode_get_net..............................................................................................................................57 6.3 zwnode_get_next ............................................................................................................................58 6.4 zwnode_get_ep ...............................................................................................................................58 6.5 zwnode_update...............................................................................................................................58 6.6 zwnode_identify..............................................................................................................................58 6.7 zwnode_get_ext_ver.......................................................................................................................59 6.8 Advanced Node APIs .......................................................................................................................59 6.8.1 zwnode_mul_cmd_ctl_set ....................................................................................................59 6.8.2 zwnode_mul_cmd_ctl_get....................................................................................................59 silabs.com | Building a more connected world. Page vi of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 7 ENDPOINT API.............................................................................................................................60 7.1 zwepd_t...........................................................................................................................................60 7.2 zwep_get_node ...............................................................................................................................60 7.3 zwep_get_next ................................................................................................................................61 7.4 zwep_get_if .....................................................................................................................................61 7.5 zwep_nameloc_set..........................................................................................................................61 8 INTERFACE API ............................................................................................................................62 8.1 zwifd_t.............................................................................................................................................62 8.2 zwif_get_ep .....................................................................................................................................63 8.3 zwif_get_next ..................................................................................................................................63 8.4 zwif_exec .........................................................................................................................................63 8.5 zwif_xxx_poll ...................................................................................................................................63 9 MANAGEMENT CCS BASED INTERFACES......................................................................................65 9.1 Group Interface API .........................................................................................................................65 9.1.1 zwif_group_sup_get..............................................................................................................65 9.1.2 zwif_group_actv_get.............................................................................................................65 9.1.3 zwif_group_get .....................................................................................................................66 9.1.4 zwif_group_add ....................................................................................................................66 9.1.5 zwif_group_del......................................................................................................................67 9.1.6 zwif_group_info_get .............................................................................................................67 9.1.7 zwif_group_info_free............................................................................................................68 9.2 Group Command Interface API .......................................................................................................69 9.2.1 zwif_group_cmd_sup_get.....................................................................................................69 9.2.2 zwif_group_cmd_get.............................................................................................................69 9.2.3 zwif_group_cmd_set.............................................................................................................70 9.3 Battery Interface API .......................................................................................................................70 9.3.1 zwif_battery_rpt_set.............................................................................................................70 9.3.2 zwif_battery_get ...................................................................................................................71 9.3.3 zwif_battery_health_rpt_set ................................................................................................72 9.3.4 zwif_battery_health_get.......................................................................................................72 9.4 Time and Date Interface API............................................................................................................73 9.4.1 zwif_time_rpt_set .................................................................................................................73 9.4.2 zwif_time_get........................................................................................................................73 9.4.3 zwif_date_rpt_set .................................................................................................................73 9.4.4 zwif_date_get........................................................................................................................74 9.4.5 zwif_tz_dst_rpt_set...............................................................................................................74 9.4.6 zwif_tz_dst_get .....................................................................................................................75 9.5 Firmware Update Interface API .......................................................................................................75 9.5.1 zwif_fw_info_get...................................................................................................................75 9.5.2 zwif_fw_updt_req .................................................................................................................76 9.5.3 zwif_fw_updt_actv................................................................................................................79 9.5.4 zwif_fw_downld_req.............................................................................................................79 9.6 Indicator Interface API.....................................................................................................................81 silabs.com | Building a more connected world. Page vii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 9.6.1 zwif_ind_rpt_set ...................................................................................................................81 9.6.2 zwif_ind_get..........................................................................................................................85 9.6.3 zwif_ind_set ..........................................................................................................................85 9.6.4 zwif_ind_sup_get ..................................................................................................................85 9.6.5 zwif_ind_sup_cache_get.......................................................................................................86 9.6.6 zwif_ind_sup_free.................................................................................................................86 9.7 Wakeup Interface API......................................................................................................................86 9.7.1 zwif_wakeup_get ..................................................................................................................87 9.7.2 zwif_wakeup_set...................................................................................................................87 9.8 Status Interface API .........................................................................................................................87 9.8.1 zwif_appl_busy_rpt_set ........................................................................................................88 9.8.2 zwif_appl_reject_rpt_set ......................................................................................................88 10 NETWORK CC BASED INTERFACES ...............................................................................................89 10.1 Z/IP Gateway Interface API..............................................................................................................89 10.1.1 zwif_gw_mode_set ...............................................................................................................89 10.1.2 zwif_gw_mode_get ...............................................................................................................90 10.1.3 zwif_gw_cfg_lock ..................................................................................................................90 10.1.4 zwif_gw_unsolicit_set ...........................................................................................................90 10.1.5 zwif_gw_unsolicit_get...........................................................................................................91 10.2 Z/IP Portal Interface API ..................................................................................................................91 10.2.1 zwif_gw_cfg_set....................................................................................................................91 10.2.2 zwif_gw_cfg_get ...................................................................................................................92 10.3 Power Level Interface API................................................................................................................92 10.3.1 zwif_power_level_rpt_set.....................................................................................................92 10.3.2 zwif_power_level_get ...........................................................................................................93 10.3.3 zwif_power_level_set ...........................................................................................................93 10.3.4 zwif_power_level_test_rpt_set ............................................................................................93 10.3.5 zwif_power_level_test_get...................................................................................................94 10.3.6 zwif_power_level_test_set ...................................................................................................94 11 APPLICATION CC BASED INTERFACES...........................................................................................95 11.1 Basic Interface API ...........................................................................................................................95 11.1.1 zwif_basic_rpt_set ................................................................................................................95 11.1.2 zwif_basic_get.......................................................................................................................96 11.1.3 zwif_basic_set .......................................................................................................................96 11.2 Switch Interface API ........................................................................................................................96 11.2.1 zwif_switch_rpt_set ..............................................................................................................96 11.2.2 zwif_switch_get.....................................................................................................................97 11.2.3 zwif_switch_set.....................................................................................................................97 11.2.4 zwif_switch_mset..................................................................................................................98 11.3 Level Interface API...........................................................................................................................98 11.3.1 zwif_level_rpt_set.................................................................................................................98 11.3.2 zwif_level_sup_get................................................................................................................99 11.3.3 zwif_level_sup_cache_get ..................................................................................................100 11.3.4 zwif_level_get .....................................................................................................................100 silabs.com | Building a more connected world. Page viii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.3.5 zwif_level_set......................................................................................................................100 11.3.6 zwif_level_mset ..................................................................................................................101 11.3.7 zwif_level_start ...................................................................................................................101 11.3.8 zwif_level_mstart................................................................................................................102 11.3.9 zwif_level_stop ...................................................................................................................102 11.3.10 zwif_level_mstop ................................................................................................................102 11.4 Color Switch Interface API .............................................................................................................102 11.4.1 zwif_color_sw_rpt_set ........................................................................................................103 11.4.2 zwif_color_sw_get ..............................................................................................................103 11.4.3 zwif_color_sw_set...............................................................................................................104 11.4.4 zwif_color_sw_start ............................................................................................................104 11.4.5 zwif_color_sw_stop.............................................................................................................105 11.4.6 zwif_color_sw_sup_get.......................................................................................................105 11.4.7 zwif_color_sw_sup_cache_get ...........................................................................................105 11.5 Window Covering Interface API ....................................................................................................106 11.5.1 zwif_wincvr_rpt_set............................................................................................................106 11.5.2 zwif_wincvr_get ..................................................................................................................108 11.5.3 zwif_wincvr_set...................................................................................................................108 11.5.4 zwif_wincvr_mset ...............................................................................................................108 11.5.5 zwif_wincvr_start................................................................................................................109 11.5.6 zwif_wincvr_mstart.............................................................................................................109 11.5.7 zwif_wincvr_stop ................................................................................................................110 11.5.8 zwif_wincvr_mstop .............................................................................................................110 11.5.9 zwif_wincvr_sup_get...........................................................................................................110 11.5.10 zwif_wincvr_sup_cache_get ...............................................................................................111 11.6 Barrier Operator Interface API ......................................................................................................111 11.6.1 zwif_barrier_rpt_set ...........................................................................................................111 11.6.2 zwif_barrier_get..................................................................................................................112 11.6.3 zwif_barrier_set ..................................................................................................................112 11.6.4 zwif_barrier_mset ...............................................................................................................112 11.6.5 zwif_barrier_notif_sup_get.................................................................................................112 11.6.6 zwif_barrier_notif_sup_cache_get .....................................................................................113 11.6.7 zwif_barrier_notif_rpt_set..................................................................................................113 11.6.8 zwif_barrier_notif_cfg_get..................................................................................................114 11.6.9 zwif_barrier_notif_cfg_set..................................................................................................114 11.7 Sound Switch Interface API ...........................................................................................................114 11.7.1 zwif_snd_switch_rpt_set ....................................................................................................115 11.7.2 zwif_snd_switch_config_get ...............................................................................................115 11.7.3 zwif_snd_switch_config_set ...............................................................................................116 11.7.4 zwif_snd_switch_tone_play_get.........................................................................................116 11.7.5 zwif_snd_switch_tone_play_set .........................................................................................116 11.7.6 zwif_snd_switch_tone_info_get .........................................................................................117 11.8 Binary Sensor Interface API ...........................................................................................................118 11.8.1 zwif_bsensor_rpt_set..........................................................................................................118 11.8.2 zwif_bsensor_get ................................................................................................................118 silabs.com | Building a more connected world. Page ix of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.8.3 zwif_bsensor_sup_get ........................................................................................................118 11.8.4 zwif_bsensor_sup_cache_get .............................................................................................119 11.9 Alarm/Notification Interface API ...................................................................................................119 11.9.1 zwif_alrm_rpt_set ...............................................................................................................119 11.9.2 zwif_alrm_get......................................................................................................................130 11.9.3 zwif_alrm_set......................................................................................................................130 11.9.4 zwif_alrm_sup_get..............................................................................................................131 11.9.5 zwif_alrm_sup_cache_get...................................................................................................131 11.9.6 zwif_alrm_sup_evt_get.......................................................................................................131 11.9.7 zwif_alrm_sup_evt_cache_get............................................................................................132 11.9.8 zwif_alrm_vtype_sup_get ...................................................................................................132 11.10 Alarm Sensor Interface API............................................................................................................132 11.10.1 zwif_alrm_snsr_rpt_set.......................................................................................................132 11.10.2 zwif_alrm_snsr_get .............................................................................................................133 11.10.3 zwif_alrm_snsr_sup_get .....................................................................................................134 11.10.4 zwif_alrm_snsr_sup_cache_get ..........................................................................................134 11.11 Sensor Interface API ......................................................................................................................134 11.11.1 zwif_sensor_rpt_set............................................................................................................134 11.11.2 zwif_sensor_get ..................................................................................................................138 11.11.3 zwif_sensor_sup_get...........................................................................................................138 11.11.4 zwif_sensor_unit_get..........................................................................................................138 11.11.5 zwif_sensor_unit_cache_get...............................................................................................139 11.11.6 zwif_sensor_sup_cache_get ...............................................................................................139 11.12 Central Scene Interface API ...........................................................................................................140 11.12.1 zwif_csc_rpt_set..................................................................................................................140 11.12.2 zwif_csc_sup_get ................................................................................................................141 11.12.3 zwif_csc_cfg_rpt_set...........................................................................................................142 11.12.4 zwif_csc_cfg_get .................................................................................................................143 11.12.5 zwif_csc_cfg_set..................................................................................................................143 11.13 Pulse Meter Interface API..............................................................................................................143 11.13.1 zwif_pulsemeter_rpt_set ....................................................................................................143 11.13.2 zwif_pulsemeter_get ..........................................................................................................144 11.14 Meter Interface API .......................................................................................................................144 11.14.1 zwif_meter_rpt_set.............................................................................................................144 11.14.2 zwif_meter_get ...................................................................................................................145 11.14.3 zwif_meter_sup_get ...........................................................................................................146 11.14.4 zwif_meter_sup_cache_get ................................................................................................147 11.14.5 zwif_meter_reset ................................................................................................................147 11.14.6 zwif_meter_set_admin .......................................................................................................147 11.14.7 zwif_meter_get_desc..........................................................................................................148 11.15 Door Lock Interface API .................................................................................................................148 11.15.1 zwif_dlck_op_rpt_set..........................................................................................................148 11.15.2 zwif_dlck_op_get ................................................................................................................150 11.15.3 zwif_dlck_op_set.................................................................................................................150 11.15.4 zwif_dlck_op_mset .............................................................................................................150 silabs.com | Building a more connected world. Page x of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.15.5 zwif_dlck_cfg_set ................................................................................................................151 11.15.6 zwif_dlck_cfg_get................................................................................................................151 11.15.7 zwif_dlck_cap_get...............................................................................................................152 11.15.8 zwif_dlck_cap_cache_get....................................................................................................153 11.15.9 zwif_dlck_cap_free .............................................................................................................153 11.16 Door Lock Logging Interface API....................................................................................................153 11.16.1 zwif_lcklog_rpt_set .............................................................................................................153 11.16.2 zwif_lcklog_get....................................................................................................................155 11.16.3 zwif_lcklog_sup_get ............................................................................................................155 11.16.4 zwif_lcklog_sup_cache_get.................................................................................................156 11.17 User Code Interface API ................................................................................................................156 11.17.1 zwif_usrcod_rpt_set............................................................................................................156 11.17.2 zwif_usrcod_get ..................................................................................................................157 11.17.3 zwif_usrcod_set ..................................................................................................................157 11.17.4 zwif_usrcod_sup_get ..........................................................................................................157 11.17.5 zwif_usrcod_sup_cache_get ...............................................................................................158 11.17.6 zwif_usrcod_ext_rpt_set.....................................................................................................158 11.17.7 zwif_usrcod_ext_get ...........................................................................................................159 11.17.8 zwif_usrcod_ext_set ...........................................................................................................159 11.17.9 zwif_usrcod_cap_get ..........................................................................................................160 11.17.10 zwif_usrcod_cap_cache_get ...............................................................................................160 11.17.11 zwif_usrcod_kp_mod_rpt_set ............................................................................................161 11.17.12 zwif_usrcod_kp_mod_get...................................................................................................162 11.17.13 zwif_usrcod_kp_mod_set ...................................................................................................162 11.17.14 zwif_usrcod_ms_cod_rpt_set .............................................................................................162 11.17.15 zwif_usrcod_ms_cod_get....................................................................................................162 11.17.16 zwif_usrcod_ms_cod_set....................................................................................................163 11.17.17 zwif_usrcod_chksum_rpt_set .............................................................................................163 11.17.18 zwif_usrcod_chksum_get....................................................................................................163 11.18 Thermostat Fan Mode Interface API .............................................................................................163 11.18.1 zwif_thrmo_fan_md_rpt_set ..............................................................................................164 11.18.2 zwif_thrmo_fan_md_get ....................................................................................................165 11.18.3 zwif_thrmo_fan_md_set.....................................................................................................165 11.18.4 zwif_thrmo_fan_md_sup_get.............................................................................................165 11.18.5 zwif_thrmo_fan_md_sup_cache_get..................................................................................166 11.19 Thermostat Fan State Interface API ..............................................................................................166 11.19.1 zwif_thrmo_fan_sta_rpt_set ..............................................................................................166 11.19.2 zwif_thrmo_fan_sta_get .....................................................................................................167 11.20 Thermostat Mode Interface API ....................................................................................................167 11.20.1 zwif_thrmo_md_rpt_set .....................................................................................................167 11.20.2 zwif_thrmo_md_get............................................................................................................168 11.20.3 zwif_thrmo_md_set ............................................................................................................169 11.20.4 zwif_thrmo_md_sup_get ....................................................................................................169 11.20.5 zwif_thrmo_md_sup_cache_get.........................................................................................169 11.21 Thermostat Operating State Interface API ....................................................................................170 silabs.com | Building a more connected world. Page xi of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.21.1 zwif_thrmo_op_sta_rpt_set................................................................................................170 11.21.2 zwif_thrmo_op_sta_get ......................................................................................................171 11.21.3 zwif_thrmo_op_sta_log_sup_get .......................................................................................171 11.21.4 zwif_thrmo_op_sta_log_sup_cache_get ............................................................................171 11.21.5 zwif_thrmo_op_sta_log_rpt_set.........................................................................................172 11.21.6 zwif_thrmo_op_sta_log_get ...............................................................................................172 11.22 Thermostat Setback Interface API.................................................................................................173 11.22.1 zwif_thrmo_setb_rpt_set ...................................................................................................173 11.22.2 zwif_thrmo_setb_get ..........................................................................................................173 11.22.3 zwif_thrmo_setb_set ..........................................................................................................174 11.23 Thermostat Setpoint Interface API................................................................................................174 11.23.1 zwif_thrmo_setp_rpt_set ...................................................................................................174 11.23.2 zwif_thrmo_setp_get ..........................................................................................................175 11.23.3 zwif_thrmo_setp_set ..........................................................................................................175 11.23.4 zwif_thrmo_setp_sup_get ..................................................................................................176 11.23.5 zwif_thrmo_setp_sup_cache_get .......................................................................................176 11.23.6 zwif_thrmo_setp_sup_range_get .......................................................................................176 11.23.7 zwif_thrmo_setp_sup_range_cache_get............................................................................177 11.24 Configuration Interface API ...........................................................................................................177 11.24.1 zwif_config_rpt_set.............................................................................................................177 11.24.2 zwif_config_get ...................................................................................................................178 11.24.3 zwif_config_set ...................................................................................................................178 11.24.4 zwif_config_bulk_rpt_set....................................................................................................178 11.24.5 zwif_config_bulk_get ..........................................................................................................179 11.24.6 zwif_config_bulk_set...........................................................................................................180 11.24.7 zwif_config_prm_reset .......................................................................................................180 11.24.8 zwif_config_info_get...........................................................................................................180 11.24.9 zwif_config_info_free .........................................................................................................181 11.25 Clock Interface API ........................................................................................................................182 11.25.1 zwif_clock_rpt_set ..............................................................................................................182 11.25.2 zwif_clock_get.....................................................................................................................182 11.25.3 zwif_clock_set .....................................................................................................................183 11.26 Climate Control Schedule Interface API ........................................................................................183 11.26.1 zwif_clmt_ctl_schd_rpt_set ................................................................................................183 11.26.2 zwif_clmt_ctl_schd_get.......................................................................................................184 11.26.3 zwif_clmt_ctl_schd_set.......................................................................................................184 11.26.4 zwif_clmt_ctl_schd_chg_rpt_set.........................................................................................184 11.26.5 zwif_clmt_ctl_schd_chg_get ...............................................................................................185 11.26.6 zwif_clmt_ctl_schd_ovr_rpt_set.........................................................................................185 11.26.7 zwif_clmt_ctl_schd_ovr_get ...............................................................................................185 11.26.8 zwif_clmt_ctl_schd_ovr_set................................................................................................186 11.27 AV Interface API.............................................................................................................................186 11.27.1 zwif_av_set..........................................................................................................................186 11.27.2 zwif_av_caps .......................................................................................................................186 11.28 Protection Interface API ................................................................................................................187 silabs.com | Building a more connected world. Page xii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.28.1 zwif_prot_rpt_set................................................................................................................187 11.28.2 zwif_prot_get ......................................................................................................................188 11.28.3 zwif_prot_set ......................................................................................................................188 11.28.4 zwif_prot_sup_get ..............................................................................................................188 11.28.5 zwif_prot_sup_cache_get ...................................................................................................189 11.28.6 zwif_prot_ec_rpt_set ..........................................................................................................189 11.28.7 zwif_prot_ec_get ................................................................................................................190 11.28.8 zwif_prot_ec_set.................................................................................................................190 11.28.9 zwif_prot_tmout_rpt_set....................................................................................................190 11.28.10 zwif_prot_tmout_get ..........................................................................................................191 11.28.11 zwif_prot_tmout_set ..........................................................................................................191 12 DEVICE DATABASE FILE FORMAT ...............................................................................................192 13 HOME NETWORK FILE FORMAT.................................................................................................201 13.1 Introduction...................................................................................................................................201 13.2 Top Level Entities...........................................................................................................................201 13.3 Network.........................................................................................................................................201 13.4 Nodes ............................................................................................................................................202 13.5 Endpoints.......................................................................................................................................203 13.6 Interfaces.......................................................................................................................................204 13.6.1 Association Group Info CC...................................................................................................204 13.6.2 Configuration CC .................................................................................................................205 13.6.3 Association and Multi Channel Association CC ...................................................................205 13.6.4 Central Scene CC .................................................................................................................206 13.6.5 Multi Level Sensor CC..........................................................................................................206 13.6.6 Indicator CC .........................................................................................................................207 13.6.7 Thermostat Fan Mode CC....................................................................................................208 13.6.8 Thermostat Mode CC ..........................................................................................................208 13.6.9 Thermostat Setpoint CC ......................................................................................................209 13.6.10 Thermostat Operating State CC ..........................................................................................210 13.6.11 Thermostat Fan State CC.....................................................................................................210 13.6.12 Multi Level Switch CC ..........................................................................................................211 13.6.13 Binary Switch CC..................................................................................................................211 13.6.14 Binary Sensor CC .................................................................................................................212 13.6.15 Simple AV Control CC ..........................................................................................................212 13.6.16 Alarm or Notification CC......................................................................................................212 13.6.17 Protection CC ......................................................................................................................213 13.6.18 User Code CC.......................................................................................................................214 13.6.19 Meter CC .............................................................................................................................215 13.6.20 Meter Table Monitor CC......................................................................................................216 13.6.21 Door Lock CC .......................................................................................................................216 13.6.22 Door Lock Logging CC ..........................................................................................................218 13.6.23 Alarm Sensor CC ..................................................................................................................218 13.6.24 Barrier Operator CC.............................................................................................................219 13.6.25 Color Switch CC ...................................................................................................................219 silabs.com | Building a more connected world. Page xiii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 13.6.26 13.6.27 13.6.28 13.6.29 Sound Switch CC..................................................................................................................220 Window Covering CC...........................................................................................................221 Battery CC............................................................................................................................221 Basic CC ...............................................................................................................................222 REFERENCES.....................................................................................................................................224 Table of Tables Table 1 Error Codes, ZW_ERR_XXX ...........................................................................................................2 Table 2 Low-Level Library Error Codes......................................................................................................3 Table 3 zwportal_init Parameters.............................................................................................................5 Table 4 zwportal_init_t Structure.............................................................................................................5 Table 5 clnt_prof_t Structure ...................................................................................................................5 Table 6 zwportal_cb_t Parameters...........................................................................................................6 Table 7 zwportal_shutdown Parameters..................................................................................................6 Table 8 zwportal_exit Parameters ............................................................................................................6 Table 9 zwportal_clnt_conn_close Parameters........................................................................................7 Table 10 zwportal_clnt_add Parameters..................................................................................................7 Table 11 zwportal_clnt_rm Parameters ...................................................................................................7 Table 12 zwportal_clnt_find Parameters..................................................................................................7 Table 13 zwportal_clnt_list_free Parameters...........................................................................................8 Table 14 clnt_prof_lst structure ...............................................................................................................8 Table 15 zwportal_clnt_list_get Parameters ............................................................................................8 Table 16 zwdev_cfg_load Parameters ......................................................................................................9 Table 17 dev_rec_t Structure ...................................................................................................................9 Table 18 DEV_XXX Meaning and Values ...................................................................................................9 Table 19 ep_rec_t Structure ...................................................................................................................10 Table 20 redir_rec_t Structure ...............................................................................................................10 Table 21 if_rec_t Structure .....................................................................................................................10 Table 22 Interface Types: IF_REC_TYPE_XXX..........................................................................................11 Table 23 rec Union..................................................................................................................................11 Table 24 if_rec_grp_t Structure..............................................................................................................11 Table 25 if_rec_config_t Structure .........................................................................................................12 Table 26 if_rec_cfg_set_t Structure .......................................................................................................12 Table 27 if_rec_cfg_info_t Structure ......................................................................................................12 Table 28 if_rec_bsnsr_t Structure ..........................................................................................................12 Table 29 if_rec_bsnsr_match_t Structure ..............................................................................................13 Table 30 Table 31 if_rec_snsr_t Structure ...........................................................................................13 Table 32 if_rec_meter_t Structure .........................................................................................................13 Table 33 if_rec_alarm_match_t Structure..............................................................................................13 Table 34 if_rec_alarm_result_t Structure...............................................................................................13 Table 35 if_rec_alarm_rev_match_t Structure.......................................................................................14 silabs.com | Building a more connected world. Page xiv of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 36 if_rec_basic_match_t Structure...............................................................................................14 Table 37 if_rec_alrm_snsr_match_t Structure .......................................................................................14 Table 38 zwsetp_temp_range_t Structure .............................................................................................15 Table 39 if_rec_dlck_t Structure.............................................................................................................15 Table 40 if_rec_mcmd_t Structure .........................................................................................................15 Table 41 Binary Sensor Types: ZW_BSENSOR_TYPE_XXX.......................................................................15 Table 42 Multi-Level Sensor Type: ZW_SENSOR_TYPE_XXX...................................................................16 Table 43 Multi-Level Sensor Unit............................................................................................................17 Table 44 Meter Type...............................................................................................................................20 Table 45 Meter Supported Unit Bit-Mask...............................................................................................20 Table 46 Z-Wave Alarm/Notification Type .............................................................................................21 Table 47 Z-Wave Alarm/Notification Event ............................................................................................21 Table 48 Z-Wave Alarm/Notification Event Parameter Type .................................................................27 Table 49 Alarm Sensor Type ...................................................................................................................27 Table 50 Thermostat Setpoint Types: ZW_THRMO_SETP_TYP_XXX ......................................................27 Table 51 Thermostat Setpoint Unit ........................................................................................................28 Table 52 Door Lock Operation Mode......................................................................................................28 Table 53 Door lock Operation Type ........................................................................................................28 Table 54 dev_cfg_error_t Structure .......................................................................................................28 Table 55 zwdev_cfg_free Parameters ....................................................................................................29 Table 56 zwdev_global_sett_free Parameters .......................................................................................29 Table 57 zwdev_cfg_find Parameters.....................................................................................................29 Table 58 dev_rec_srch_key_t Structure .................................................................................................29 Table 59 zwnet_gw_discvr_start Parameters.........................................................................................30 Table 60 zwnet_gw_discvr_cb_t Parameters .........................................................................................30 Table 61 zwnet_gw_discvr_stop Parameters .........................................................................................31 Table 62 zwnet_init Parameters .............................................................................................................31 Table 63 zwnet_init_t Structure .............................................................................................................31 Table 64 dev_cfg_usr_t Structure...........................................................................................................33 Table 65 zwnet_dev_rec_find_fn Parameters........................................................................................33 Table 66 dev_global_sett_t Structure ....................................................................................................33 Table 67 zwnet_xxx Generic Parameters................................................................................................34 Table 68 zwnet_unhandled_cmd_fn Parameters...................................................................................34 Table 69 sup_cmd_cls_t Structure .........................................................................................................34 Table 70 zwnet_notify_fn Parameters ...................................................................................................34 Table 71 zwnet_sts_t Structure ..............................................................................................................36 Table 72 NW_CHG_UPDT_XXX ...............................................................................................................36 Table 73 zw_health_prg_t Structure ......................................................................................................37 Table 74 zw_health_rpt_t Structure.......................................................................................................37 Table 75 zw_health_sts_t Structure .......................................................................................................37 Table 76 Additional Information Associated to Network Op and Status................................................37 Table 77 zwnet_node_fn Parameters.....................................................................................................38 Table 78 zwnet_appl_fn Parameters ......................................................................................................38 Table 79 pl_info_fn Parameters .............................................................................................................38 Table 80 zwnet_net_err_fn Parameters.................................................................................................38 silabs.com | Building a more connected world. Page xv of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 81 print_fn Parameter ..................................................................................................................39 Table 82 zwnet_dev_rec_find_fn Parameter .........................................................................................39 Table 83 zwnet_exit Parameters ............................................................................................................39 Table 84 zwnet_add Parameters ............................................................................................................39 Table 85 sec2_add_prm_t Structure ......................................................................................................40 Table 86 add_node_sec2_fn Parameters ...............................................................................................40 Table 87 sec2_add_cb_prm_t Structure.................................................................................................40 Table 88 sec2_keys_req_cb_prm_t Structure ........................................................................................40 Table 89 sec2_dsk_cb_prm_t Structure .................................................................................................41 Table 90 zwnet_add_sec2_accept Parameters ......................................................................................41 Table 91 zwnet_add_sec2_grant_key Parameters.................................................................................41 Table 92 zwnet_pl_add Parameters .......................................................................................................42 Table 93 pl_info_t Structure...................................................................................................................42 Table 94 pl_prod_type_t Structure ........................................................................................................44 Table 95 pl_prod_id_t Structure.............................................................................................................44 Table 96 pl_uuid_t Structure ..................................................................................................................44 Table 97 pl_nw_sts_t Structure..............................................................................................................45 Table 98 zwnet_pl_get Parameters ........................................................................................................45 Table 99 pl_info_fn Parameters .............................................................................................................45 Table 100 pl_lst_ent_t Structure ............................................................................................................45 Table 101 zwnet_pl_del Parameters ......................................................................................................46 Table 102 zwnet_pl_list_get Parameters ...............................................................................................46 Table 103 pl_list_fn Parameters .............................................................................................................46 Table 104 zwnet_pl_list_del Parameters................................................................................................46 Table 105 zwnet_initiate Parameters.....................................................................................................47 Table 106 zwnet_fail Parameters ...........................................................................................................47 Table 107 zwnet_get_desc Parameters..................................................................................................48 Table 108 zwnetd_t Structure ................................................................................................................48 Table 109 zwnet_version Parameters ....................................................................................................49 Table 110 zwnet_get_node Parameters.................................................................................................49 Table 111 zwnet_get_node_by_id Parameters ......................................................................................49 Table 112 zwnet_get_ep_by_id Parameters ..........................................................................................50 Table 113 zwnet_get_if_by_id Parameters ............................................................................................50 Table 114 zwnet_all_node_sts_get Parameters.....................................................................................50 Table 115 zwnet_node_sts_get Parameters ..........................................................................................50 Table 116 zwnet_initiate_classic Parameters.........................................................................................51 Table 117 zwnet_get_user Parameters ..................................................................................................52 Table 118 zwnet_send_nif Parameters ..................................................................................................52 Table 119 zwnet_poll_rm Parameters....................................................................................................52 Table 120 zwnet_poll_rm_mul Parameters ...........................................................................................52 Table 121 zwnet_pref_set Parameters...................................................................................................53 Table 122 zwnet_pref_get Parameters ..................................................................................................53 Table 123 zwnet_client_pref_set Parameters........................................................................................53 Table 124 zwnet_client_pref_get Parameters........................................................................................53 Table 125 zwnet_sec2_get_dsk Parameters ..........................................................................................54 silabs.com | Building a more connected world. Page xvi of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 126 get_dsk_fn Parameters ..........................................................................................................54 Table 127 zwnet_ip_aton Parameters....................................................................................................54 Table 128 zwnet_ip_ntoa Parameters....................................................................................................54 Table 129 zwnet_local_addr_get Parameters ........................................................................................55 Table 130 zwnet_listen_port_get Parameters .......................................................................................55 Table 131 zwnoded_t Structure .............................................................................................................56 Table 132 NODE_PROPTY_XXX ...............................................................................................................56 Table 133 dev_id_t Structure .................................................................................................................57 Table 134 zwsw_ver_t Structure ............................................................................................................57 Table 135 zwnode_get_net Parameters.................................................................................................57 Table 136 zwnode_get_next Parameters ...............................................................................................58 Table 137 zwnode_get_ep Parameters ..................................................................................................58 Table 138 zwnode_update Parameters..................................................................................................58 Table 139 zwnode_identify Parameters .................................................................................................58 Table 140 zwnode_get_ext_ver Parameters ..........................................................................................59 Table 141 ext_ver_t Structure ................................................................................................................59 Table 142 zwnode_mul_cmd_ctl_set Parameters..................................................................................59 Table 143 zwnode_mul_cmd_ctl_get Parameters .................................................................................59 Table 144 zwepd_t Structure..................................................................................................................60 Table 145 zwplus_info_t structure .........................................................................................................60 Table 146 zwep_get_node Parameters ..................................................................................................60 Table 147 zwep_get_next Parameters ...................................................................................................61 Table 148 zwep_get_if Parameters ........................................................................................................61 Table 149 zwep_nameloc_set Parameters.............................................................................................61 Table 150 zw_nameloc_t Structure ........................................................................................................61 Table 151 zwifd_t Structure....................................................................................................................62 Table 152 zwif_get_ep Parameters ........................................................................................................63 Table 153 zwif_get_next Parameters .....................................................................................................63 Table 154 zwif_exec Parameters ............................................................................................................63 Table 155 zwif_xxx_poll Parameters ......................................................................................................63 Table 156 zwpoll_req_t Structure ..........................................................................................................64 Table 157 zwpoll_cmplt_fn Parameters .................................................................................................64 Table 158 zwif_group_sup_get Parameters ...........................................................................................65 Table 159 zwrep_group_sup_fn Parameters..........................................................................................65 Table 160 zwif_group_actv_get Parameters ..........................................................................................65 Table 161 zwrep_group_actv_fn Parameters.........................................................................................65 Table 162 zwif_group_get Parameters...................................................................................................66 Table 163 zwrep_group_fn Parameters .................................................................................................66 Table 164 grp_member_t structure .......................................................................................................66 Table 165 zwif_group_add Parameters..................................................................................................66 Table 166 zwif_grp_rr_fn Parameters ....................................................................................................67 Table 167 RRA_XXX.................................................................................................................................67 Table 168 zwif_group_del Parameters ...................................................................................................67 Table 169 zwif_group_info_get Parameters ..........................................................................................68 Table 170 if_grp_info_dat_t Structure ...................................................................................................68 silabs.com | Building a more connected world. Page xvii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 171 zw_grp_info_t Structure ........................................................................................................68 Table 172 grp_cmd_ent_t Structure.......................................................................................................68 Table 173 zwif_group_info_free Parameters .........................................................................................68 Table 174 zwif_group_cmd_sup_get Parameters ..................................................................................69 Table 175 zwrep_grp_cmd_sup_fn Parameters .....................................................................................69 Table 176 zwgrp_cmd_cap_t structure ..................................................................................................69 Table 177 zwif_group_cmd_get Parameters..........................................................................................69 Table 178 zwrep_grp_cmd_fn Parameters.............................................................................................69 Table 179 zwif_group_cmd_set Parameters ..........................................................................................70 Table 180 zwif_battery_rpt_set Parameters ..........................................................................................70 Table 181 zwrep_batt_lvl_fn Parameters...............................................................................................70 Table 182 zwbatt_dat_t Structure..........................................................................................................71 Table 183 BATT_STS_XXX .......................................................................................................................71 Table 184 BATT_RECHG_XXX..................................................................................................................71 Table 185 zwif_battery_get Parameters ................................................................................................71 Table 186 zwif_battery_health_rpt_set Parameters..............................................................................72 Table 187 zwrep_batt_health_fn Parameters ........................................................................................72 Table 188 zwbatt_health_t Structure.....................................................................................................72 Table 189 zwif_battery_health_get Parameters ....................................................................................72 Table 190 zwif_time_rpt_set Parameters ..............................................................................................73 Table 191 zwrep_time_fn Parameters ...................................................................................................73 Table 192 zwif_time_get Parameters.....................................................................................................73 Table 193 zwif_date_rpt_set Parameters...............................................................................................73 Table 194 zwrep_date_fn Parameters....................................................................................................74 Table 195 zwif_date_get Parameters .....................................................................................................74 Table 196 zwif_tz_dst_rpt_set Parameters ............................................................................................74 Table 197 zwrep_tz_dst_fn Parameters .................................................................................................74 Table 198 tmzone_info_t Structure........................................................................................................74 Table 199 dst_info_t Structure...............................................................................................................74 Table 200 zwif_tz_dst_get Parameters ..................................................................................................75 Table 201 zwif_fw_info_get Parameters ................................................................................................75 Table 202 zwrep_fw_info_fn Parameters...............................................................................................75 Table 203 zwfw_info_t structure............................................................................................................76 Table 204 zwif_fw_updt_req Parameters ..............................................................................................76 Table 205 zwfw_updt_req_t Structure...................................................................................................76 Table 206 zwrep_fw_updt_sts_fn Parameters.......................................................................................77 Table 207 ZW_FW_UPDT_ERR_XXX .......................................................................................................77 Table 208 zwrep_fw_updt_cmplt_fn Parameters ..................................................................................77 Table 209 ZW_FW_UPDT_CMPLT_XXX ..................................................................................................78 Table 210 zwrep_fw_tgt_restart_fn Parameters ...................................................................................78 Table 211 ZW_FW_UPDT_RESTART_XXX ...............................................................................................78 Table 212 zwif_fw_updt_actv Parameters .............................................................................................79 Table 213 zwrep_fw_actv_fn Parameters ..............................................................................................79 Table 214 zwfw_actv_sts_t Structure.....................................................................................................79 Table 215 ZW_FW_ACTV_STS_XXX ........................................................................................................79 silabs.com | Building a more connected world. Page xviii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 216 zwif_fw_downld_req Parameters..........................................................................................79 Table 217 zwfw_downld_req_t Structure ..............................................................................................80 Table 218 zwfw_downld_sts_fn Parameters..........................................................................................80 Table 219 ZW_FW_DL_RQ_XXX..............................................................................................................80 Table 220 zwfw_downld_cmplt_fn Parameters .....................................................................................80 Table 221 ZW_FW_DL_CMPLT_XXX .......................................................................................................81 Table 222 zwif_ind_rpt_set Parameters.................................................................................................81 Table 223 zwrep_ind_fn Parameters......................................................................................................81 Table 224 zwind_data_t Structure .........................................................................................................82 Table 225 zwind_propty_val_t Structure ...............................................................................................82 Table 226 ZWIND_ID_XXX ......................................................................................................................82 Table 227 ZWIND_PPTY_ID_XXX.............................................................................................................84 Table 228 zwif_ind_get Parameters .......................................................................................................85 Table 229 zwif_ind_set Parameters .......................................................................................................85 Table 230 zwif_ind_sup_get Parameters ...............................................................................................85 Table 231 zwrep_ind_sup_fn Parameters ..............................................................................................86 Table 232 zwind_sup_t Structure ...........................................................................................................86 Table 233 zwif_ind_sup_cache_get Parameters ....................................................................................86 Table 234 zwif_ind_sup_free Parameters ..............................................................................................86 Table 235 zwif_wakeup_get Parameters................................................................................................87 Table 236 zwrep_wakeup_fn Parameters ..............................................................................................87 Table 237 zwif_wakeup_t Structure .......................................................................................................87 Table 238 zwif_wakeup_set Parameters ................................................................................................87 Table 239 zwif_appl_busy_rpt_set Parameters .....................................................................................88 Table 240 zwrep_appl_busy_fn Parameters ..........................................................................................88 Table 241 ZW_BSY_STS_XXX ..................................................................................................................88 Table 242 zwif_appl_reject_rpt_set Parameters....................................................................................88 Table 243 zwrep_appl_reject_fn Parameters.........................................................................................88 Table 244 ZW_RJ_STS_XXX .....................................................................................................................88 Table 245 zwif_gw_mode_set Parameters.............................................................................................89 Table 246 zwgw_portal_prof_t structure ...............................................................................................89 Table 247 zwif_gw_mode_get Parameters ............................................................................................90 Table 248 zwrep_gw_mode_fn Parameters...........................................................................................90 Table 249 zwif_gw_mode_get Parameters ............................................................................................90 Table 250 zwif_gw_unsolicit_set Parameters ........................................................................................90 Table 251 zwif_gw_unsolicit_get Parameters ........................................................................................91 Table 252 zwrep_gw_unsolicit_fn Parameters.......................................................................................91 Table 253 zwif_gw_cfg_set Parameters .................................................................................................91 Table 254 zwportal_cfg_t Structure .......................................................................................................91 Table 255 zwrep_cfg_sts_fn Parameters................................................................................................92 Table 256 zwif_gw_mode_get Parameters ............................................................................................92 Table 257 zwrep_gw_cfg_fn Parameters ...............................................................................................92 Table 258 zwif_power_level_rpt_set Parameters .................................................................................92 Table 259 zwrep_power_level_fn Parameters .......................................................................................93 Table 260 zwif_power_level_get Parameters ........................................................................................93 silabs.com | Building a more connected world. Page xix of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 261 zwif_power_level_set Parameters.........................................................................................93 Table 262 zwif_power_level_test_rpt_set Parameters.........................................................................93 Table 263 zwrep_power_level_test_fn Parameters...............................................................................93 Table 264 POWERLEVEL_TEST_XXX ........................................................................................................94 Table 265 zwif_power_level_test_get Parameters ................................................................................94 Table 266 zwif_power_level_test_set Parameters.................................................................................94 Table 267 zwif_basic_rpt_set Parameters.............................................................................................95 Table 268 zwrep_basic_fn Parameters...................................................................................................95 Table 269 zwbasic_t Structure................................................................................................................95 Table 270 zwif_basic_get Parameters ....................................................................................................96 Table 271 zwif_basic_set Parameters ....................................................................................................96 Table 272 zwif_switch_rpt_set Parameters ...........................................................................................96 Table 273 zwrep_switch_fn Parameters ................................................................................................96 Table 274 zwswitch_t Structure .............................................................................................................97 Table 275 zwif_switch_get Parameters..................................................................................................97 Table 276 ZWIF_GET_BMSK_XXX ...........................................................................................................97 Table 277 zwif_switch_set Parameters ..................................................................................................97 Table 278 zwif_switch_mset Parameters ...............................................................................................98 Table 279 zw_postset_fn Parameters ....................................................................................................98 Table 280 zwif_level_rpt_set Parameters ..............................................................................................99 Table 281 zwrep_level_fn Parameters ...................................................................................................99 Table 282 zwlevel_dat_t structure .........................................................................................................99 Table 283 zwif_level_sup_get Parameters .............................................................................................99 Table 284 zwrep_lvl_sup_fn Parameters................................................................................................99 Table 285 zwif_level_sup_cache_get Parameters................................................................................100 Table 286 zwif_level_get Parameters...................................................................................................100 Table 287 zwif_level_set Parameters ...................................................................................................100 Table 288 zwif_level_mset Parameters................................................................................................101 Table 289 zwif_level_start Parameters ................................................................................................101 Table 290 zwlevel_t structure ..............................................................................................................101 Table 291 zwif_level_mstart Parameters .............................................................................................102 Table 292 zwif_level_stop Parameters.................................................................................................102 Table 293 zwif_level_mstop Parameters..............................................................................................102 Table 294 zwif_color_sw_rpt_set Parameters .....................................................................................103 Table 295 zwrep_color_sw_get_fn Parameters ...................................................................................103 Table 296 zwcolor_t Structure..............................................................................................................103 Table 297 COL_SW_COMP_ID_XXX ......................................................................................................103 Table 298 zwif_color_sw_get Parameters............................................................................................104 Table 299 zwif_color_sw_set Parameters ............................................................................................104 Table 300 zwif_color_sw_start Parameters .........................................................................................104 Table 301 zwcol_ctl_t structure...........................................................................................................104 Table 302 COL_SW_LVL_XXX ................................................................................................................105 Table 303 zwif_color_sw_stop Parameters..........................................................................................105 Table 304 zwif_color_sw_sup_get Parameters ....................................................................................105 Table 305 zwrep_color_sw_sup_fn Parameters...................................................................................105 silabs.com | Building a more connected world. Page xx of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 306 zwif_color_sw_sup_cache_get Parameters.........................................................................105 Table 307 zwif_wincvr_rpt_set Parameters .........................................................................................106 Table 308 zwrep_wincvr_fn Parameters ..............................................................................................106 Table 309 wincvr_dat_t Structure ........................................................................................................106 Table 310 WIN_COVER_ID_XXX............................................................................................................106 Table 311 zwif_wincvr_get Parameters................................................................................................108 Table 312 zwif_wincvr_set Parameters................................................................................................108 Table 313 zwif_wincvr_mset Parameters.............................................................................................109 Table 314 zwif_wincvr_start Parameters .............................................................................................109 Table 315 zwif_wincvr_mstart Parameters ..........................................................................................109 Table 316 zwif_wincvr_stop Parameters..............................................................................................110 Table 317 zwif_wincvr_mstop Parameters...........................................................................................110 Table 318 zwif_wincvr_sup_get Parameters........................................................................................110 Table 319 zwrep_wincvr_sup_fn Parameters ......................................................................................110 Table 320 zwif_wincvr_sup_cache_get Parameters.............................................................................111 Table 321 zwif_barrier_rpt_set Parameters.........................................................................................111 Table 322 zwrep_barrier_fn Parameters..............................................................................................111 Table 323 ZW_BAR_STA_XXX ...............................................................................................................111 Table 324 zwif_barrier_get Parameters ...............................................................................................112 Table 325 zwif_barrier_set Parameters................................................................................................112 Table 326 zwif_barrier_mset Parameters ............................................................................................112 Table 327 zwif_barrier_notif_sup_get Parameters ..............................................................................113 Table 328 zwrep_barrier_notif_sup_fn Parameters.............................................................................113 Table 329 ZW_BAR_NOTIF_TYP_XXX ...................................................................................................113 Table 330 zwif_barrier_notif_sup_cache_get Parameters...................................................................113 Table 331 zwif_barrier_notif_rpt_set Parameters ...............................................................................113 Table 332 zwrep_barrier_subsys_fn Parameters .................................................................................114 Table 333 zwif_barrier_notif_cfg_get Parameters ...............................................................................114 Table 334 zwif_barrier_notif_cfg_set Parameters ...............................................................................114 Table 335 zwif_snd_switch_rpt_set Parameters..................................................................................115 Table 336 zwrep_snd_switch_config_fn Parameters ...........................................................................115 Table 337 zwrep_snd_switch_tone_play_fn Parameters.....................................................................115 Table 338 zwif_snd_switch_config_get Parameters ............................................................................116 Table 339 zwif_snd_switch_config_set Parameters.............................................................................116 Table 340 zwif_snd_switch_tone_play_get Parameters ......................................................................116 Table 341 zwif_snd_switch_tone_play_set Parameters ......................................................................116 Table 342 zwif_snd_switch_tone_info_get Parameters ......................................................................117 Table 343 zwrep_snd_switch_tone_info_fn Parameters .....................................................................117 Table 344 zwsnd_switch_tone_info_t Structure ..................................................................................117 Table 345 if_snd_switch_tone_info_t Structure ..................................................................................117 Table 346 zwif_bsensor_rpt_set Parameters .......................................................................................118 Table 347 zwrep_bsensor_fn Parameters ............................................................................................118 Table 348 zwif_bsensor_get Parameters..............................................................................................118 Table 349 zwif_bsensor_sup_get Parameters......................................................................................118 Table 350 zwrep_bsensor_sup_fn Parameters ....................................................................................119 silabs.com | Building a more connected world. Page xxi of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 351 zwif_bsensor_sup_cache_get Parameters...........................................................................119 Table 352 zwif_alrm_rpt_set Parameters............................................................................................119 Table 353 zwrep_alrm_fn Parameters .................................................................................................119 Table 354 zwalrm_t Structure .............................................................................................................120 Table 355 ZW_ALRM_STS_XXX.............................................................................................................120 Table 356 ZW_ALRM_XXX ....................................................................................................................121 Table 357 ZW_ALRM_EVT_XXX ............................................................................................................121 Table 358 zwif_alrm_get Parameters...................................................................................................130 Table 359 zwif_alrm_set Parameters ...................................................................................................130 Table 360 zwif_alrm_sup_get Parameters ..........................................................................................131 Table 361 zwrep_alrm_sup_fn Parameters.........................................................................................131 Table 362 zwif_alrm_sup_cache_get Parameters ................................................................................131 Table 363 zwif_alrm_sup_evt_get Parameters ...................................................................................131 Table 364 zwrep_alrm_evt_fn Parameters .........................................................................................132 Table 365 zwif_alrm_sup_evt_cache_get Parameters.........................................................................132 Table 366 zwif_alrm_vtype_sup_get Parameters ...............................................................................132 Table 367 zwif_alrm_snsr_rpt_set Parameters ....................................................................................133 Table 368 zwrep_alrm_snsr_fn Parameters .........................................................................................133 Table 369 zw_alrm_snsr_t Structure ...................................................................................................133 Table 370 ZW_ALRM_SNSR_TYPE_XXX ................................................................................................133 Table 371 zwif_alrm_snsr_get Parameters ..........................................................................................133 Table 372 zwif_alrm_snsr_sup_get Parameters...................................................................................134 Table 373 zwrep_alrm_snsr_sup_fn Parameters .................................................................................134 Table 374 zwif_alrm_snsr_sup_cache_get Parameters .......................................................................134 Table 375 zwif_sensor_rpt_set Parameters .........................................................................................135 Table 376 zwrep_sensor_fn Parameters ..............................................................................................135 Table 377 zwsensor_t Structure ...........................................................................................................135 Table 378 ZW_SENSOR_TYPE_XXX, ZW_SENSOR_UNIT_XXX_YYY .......................................................135 Table 379 zwif_sensor_get Parameters................................................................................................138 Table 380 zwif_sensor_sup_get Parameters ........................................................................................138 Table 381 zwrep_sensor_sup_fn Parameters ......................................................................................138 Table 382 zwif_sensor_unit_get Parameters .......................................................................................138 Table 383 zwrep_sensor_unit_fn Parameters......................................................................................139 Table 384 zwif_sensor_unit_cache_get Parameters ............................................................................139 Table 385 zwif_sensor_sup_cache_get Parameters.............................................................................139 Table 386 if_sensor_data_t Structure ..................................................................................................139 Table 387 zwif_csc_rpt_set Parameters ...............................................................................................140 Table 388 zwrep_csc_fn Parameters ....................................................................................................140 Table 389 zwcsc_notif_t Structure ......................................................................................................140 Table 390 ZW_CSC_KEY_ATTRIB_XXX ..................................................................................................141 Table 391 zwif_csc_sup_get Parameters...............................................................................................141 Table 392 zwrep_csc_sup_fn Parameters ............................................................................................141 Table 393 zwif_csc_cfg_rpt_set Parameters .........................................................................................142 Table 394 zwrep_csc_cfg_fn Parameters .............................................................................................143 Table 395 zwif_csc_cfg_get Parameters................................................................................................143 silabs.com | Building a more connected world. Page xxii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 396 zwif_csc_cfg_set Parameters................................................................................................143 Table 397 zwif_pulsemeter_rpt_set Parameters ................................................................................143 Table 398 zwrep_pulsemeter_fn Parameters .....................................................................................144 Table 399 zwif_pulsemeter_get Parameters........................................................................................144 Table 400 zwif_meter_rpt_set Parameters .........................................................................................144 Table 401 zwrep_meter_fn Parameters ...............................................................................................144 Table 402 zwmeter_dat_t Structure.....................................................................................................144 Table 403 ZW_METER_TYPE_XXX and ZW_METER_UNIT_XXX ............................................................145 Table 404 zwif_meter_get Parameters ................................................................................................145 Table 405 zwif_meter_sup_get Parameters.........................................................................................146 Table 406 zwrep_meter_sup_fn Parameters .......................................................................................146 Table 407 zwmeter_cap_t Structure ....................................................................................................146 Table 408 ZW_METER_SUP_UNIT_XXX ................................................................................................147 Table 409 zwif_meter_sup_cache_get Parameters .............................................................................147 Table 410 zwif_meter_reset Parameters .............................................................................................147 Table 411 zwif_meter_set_admin Parameters.....................................................................................148 Table 412 zwif_meter_get_desc Parameters .......................................................................................148 Table 413 zwrep_meterd_fn Parameters .............................................................................................148 Table 414 zwmeter_t Structure............................................................................................................148 Table 415 zwif_dlck_op_rpt_set Parameters ......................................................................................148 Table 416 zwrep_dlck_op_fn Parameters ............................................................................................149 Table 417 zwdlck_op_t Structure ........................................................................................................149 Table 418 ZW_DOOR_XXX ....................................................................................................................149 Table 419 ZW_COND_XXX_MASK.........................................................................................................150 Table 420 zwif_dlck_op_get Parameters..............................................................................................150 Table 421 zwif_dlck_op_set Parameters ..............................................................................................150 Table 422 zwif_dlck_op_mset Parameters...........................................................................................150 Table 423 zwif_dlck_cfg_set Parameters ............................................................................................151 Table 424 zwdlck_cfg_t Structure........................................................................................................151 Table 425 zwif_dlck_cfg_get Parameters .............................................................................................151 Table 426 zwrep_dlck_cfg_fn Parameters...........................................................................................152 Table 427 zwif_dlck_cap_get Parameters ............................................................................................152 Table 428 zwrep_dlck_cap_fn Parameters...........................................................................................152 Table 429 zwdlck_cap_t Structure........................................................................................................152 Table 430 ZW_DLCK_CAP_XXX_MASK..................................................................................................153 Table 431 zwif_dlck_cap_cache_get Parameters.................................................................................153 Table 432 zwif_dlck_cap_free Parameters...........................................................................................153 Table 433 zwif_lcklog_rpt_set Parameters...........................................................................................154 Table 434 zwrep_lcklog_fn Parameters................................................................................................154 Table 435 zwdlck_log_t Structure ........................................................................................................154 Table 436 ZWLCK_EVT_XXX ..................................................................................................................154 Table 437 zwif_lcklog_get Parameters .................................................................................................155 Table 438 zwif_lcklog_sup_get Parameters .........................................................................................155 Table 439 zwrep_lcklog_cap_fn Parameters ........................................................................................156 Table 440 zwif_lcklog_sup_cache_get Parameters ..............................................................................156 silabs.com | Building a more connected world. Page xxiii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 441 zwif_usrcod_rpt_set Parameters ........................................................................................156 Table 442 zwrep_usr_cod_fn Parameters ............................................................................................156 Table 443 zwusrcod_t structure ...........................................................................................................156 Table 444 ZW_USRCOD_XXX ................................................................................................................157 Table 445 zwif_usrcod_get Parameters ...............................................................................................157 Table 446 zwif_usrcod_set Parameters................................................................................................157 Table 447 zwif_usrcod_sup_get Parameters........................................................................................158 Table 448 zwrep_usr_sup_fn Parameters ............................................................................................158 Table 449 zwif_usrcod_sup_cache_get Parameters ............................................................................158 Table 450 zwif_usrcod_ext_rpt_set Parameters .................................................................................158 Table 451 zwrep_usr_cod_ext_fn Parameters .....................................................................................158 Table 452 zwusrcod_ext_t structure ....................................................................................................159 Table 453 zwif_usrcod_ext_get Parameters ........................................................................................159 Table 454 zwif_usrcod_ext_set Parameters.........................................................................................159 Table 455 zwif_usrcod_cap_get Parameters........................................................................................160 Table 456 zwrep_usr_cap_fn Parameters ............................................................................................160 Table 457 zwusrcod_cap_t structure ...................................................................................................160 Table 458 ZW_USRCOD_CAP_XXX Bitmask ..........................................................................................160 Table 459 zwif_usrcod_cap_cache_get Parameters ............................................................................161 Table 460 zwif_usrcod_kp_mod_rpt_set Parameters.........................................................................161 Table 461 zwrep_usr_kpmod_fn Parameters.......................................................................................161 Table 462 ZW_KEYPAD_MOD_XXX.......................................................................................................161 Table 463 zwif_usrcod_kp_mod_get Parameters ................................................................................162 Table 464 zwif_usrcod_kp_mod_set Parameters.................................................................................162 Table 465 zwif_usrcod_ms_cod_rpt_set Parameters..........................................................................162 Table 466 zwrep_ms_cod_fn Parameters ............................................................................................162 Table 467 zwif_usrcod_ms_cod_get Parameters.................................................................................162 Table 468 zwif_usrcod_ms_cod_set Parameters .................................................................................163 Table 469 zwif_usrcod_chksum_rpt_set Parameters..........................................................................163 Table 470 zwrep_chksum_fn Parameters ............................................................................................163 Table 471 zwif_usrcod_chksum_get Parameters .................................................................................163 Table 472 zwif_thrmo_fan_md_rpt_set Parameters ...........................................................................164 Table 473 zwrep_thrmo_fan_md_fn Parameters ................................................................................164 Table 474 ZW_THRMO_FAN_MD_XXX.................................................................................................164 Table 475 zwif_thrmo_fan_md_get Parameters..................................................................................165 Table 476 zwif_thrmo_fan_md_set Parameters ..................................................................................165 Table 477 zwif_thrmo_fan_md_sup_get Parameters ..........................................................................165 Table 478 zwrep_thrmo_fan_md_sup_fn Parameters.........................................................................165 Table 479 zwif_thrmo_fan_md_sup_cache_get Parameters...............................................................166 Table 480 zwif_thrmo_fan_sta_rpt_set Parameters............................................................................166 Table 481 zwrep_thrmo_fan_sta_fn Parameters.................................................................................166 Table 482 ZW_THRMO_FAN_STA_XXX.................................................................................................166 Table 483 zwif_thrmo_fan_sta_get Parameters ..................................................................................167 Table 484 zwif_thrmo_md_rpt_set Parameters...................................................................................167 Table 485 zwrep_thrmo_md_fn Parameters........................................................................................167 silabs.com | Building a more connected world. Page xxiv of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 486 ZW_THRMO_MD_XXX .........................................................................................................168 Table 487 zwif_thrmo_md_get Parameters .........................................................................................168 Table 488 zwif_thrmo_md_set Parameters .........................................................................................169 Table 489 zwif_thrmo_md_sup_get Parameters .................................................................................169 Table 490 zwrep_thrmo_md_sup_fn Parameters................................................................................169 Table 491 zwif_thrmo_md_sup_cache_get Parameters ......................................................................169 Table 492 zwif_thrmo_op_sta_rpt_set Parameters.............................................................................170 Table 493 zwrep_thrmo_op_sta_fn Parameters..................................................................................170 Table 494 ZW_THRMO_OP_STA_XXX...................................................................................................170 Table 495 zwif_thrmo_op_sta_get Parameters ...................................................................................171 Table 496 zwif_thrmo_op_sta_log_sup_get Parameters.....................................................................171 Table 497 zwrep_thrmo_op_sta_log_sup_fn Parameters ...................................................................171 Table 498 zwif_thrmo_op_sta_log_sup_cache_get Parameters..........................................................171 Table 499 zwif_thrmo_op_sta_log_rpt_set Parameters ......................................................................172 Table 500 zwrep_thrmo_op_sta_log_fn Parameters ...........................................................................172 Table 501 zwthrmo_op_sta_log_t Structure .......................................................................................172 Table 502 zwif_thrmo_op_sta_log_get Parameters ............................................................................172 Table 503 zwif_thrmo_setb_rpt_set Parameters.................................................................................173 Table 504 zwrep_thrmo_setb_fn Parameters......................................................................................173 Table 505 ZW_THRMO_SETB_TYP_XXX................................................................................................173 Table 506 ZW_THRMO_SETB_STA_XXX ...............................................................................................173 Table 507 zwif_thrmo_setb_get Parameters .......................................................................................173 Table 508 zwif_thrmo_setb_set Parameters........................................................................................174 Table 509 zwif_thrmo_setp_rpt_set Parameters.................................................................................174 Table 510 zwrep_thrmo_setp_fn Parameters......................................................................................174 Table 511 zwsetp_t structure ..............................................................................................................174 Table 512 ZW_THRMO_SETP_TYP_XXX................................................................................................175 Table 513 ZW_THRMO_SETP_UNIT_XXX..............................................................................................175 Table 514 zwif_thrmo_setp_get Parameters .......................................................................................175 Table 515 zwif_thrmo_setp_set Parameters........................................................................................175 Table 516 zwif_thrmo_setp_sup_get Parameters................................................................................176 Table 517 zwrep_thrmo_setp_sup_fn Parameters ..............................................................................176 Table 518 zwif_thrmo_setp_sup_cache_get Parameters ....................................................................176 Table 519 zwif_thrmo_setp_sup_range_get Parameters ....................................................................176 Table 520 zwrep_thrmo_setp_range_fn Parameters...........................................................................177 Table 521 zwif_thrmo_setp_sup_range_cache_get Parameters .........................................................177 Table 522 zwif_config_rpt_set Parameters .........................................................................................177 Table 523 zwrep_config_fn Parameters ...............................................................................................178 Table 524 zwconfig_t Structure............................................................................................................178 Table 525 zwif_config_get Parameters ................................................................................................178 Table 526 zwif_config_set Parameters.................................................................................................178 Table 527 zwif_config_bulk_rpt_set Parameters ................................................................................178 Table 528 zwrep_cfg_bulk_fn Parameters ...........................................................................................179 Table 529 zwcfg_bulk_t Structure ........................................................................................................179 Table 530 zwif_config_bulk_get Parameters........................................................................................179 silabs.com | Building a more connected world. Page xxv of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 531 zwif_config_bulk_set Parameters........................................................................................180 Table 532 zwif_config_prm_reset Parameters.....................................................................................180 Table 533 zwif_config_info_get Parameters ........................................................................................180 Table 534 zwcfg_info_cap_t structure .................................................................................................180 Table 535 zwcfg_info_t structure .........................................................................................................180 Table 536 gen_dat_u Union .................................................................................................................181 Table 537 zwif_config_info_free Parameters.......................................................................................182 Table 538 zwif_clock_rpt_set Parameters............................................................................................182 Table 539 zwrep_clock_fn Parameters.................................................................................................182 Table 540 ZW_CLOCK_XXX ...................................................................................................................182 Table 541 zwif_clock_get Parameters ..................................................................................................182 Table 542 zwif_clock_set Parameters ..................................................................................................183 Table 543 zwif_clmt_ctl_schd_rpt_set Parameters .............................................................................183 Table 544 zwrep_clmt_ctl_schd_fn Parameters ..................................................................................183 Table 545 zwcc_shed_t Structure........................................................................................................183 Table 546 zwcc_shed_swpt_t Structure ...............................................................................................184 Table 547 zwif_clmt_ctl_schd_get Parameters ....................................................................................184 Table 548 zwif_clmt_ctl_schd_set Parameters ....................................................................................184 Table 549 zwif_clmt_ctl_schd_chg_rpt_set Parameters......................................................................184 Table 550 zwrep_clmt_ctl_schd_chg_fn Parameters...........................................................................184 Table 551 zwif_clmt_ctl_schd_chg_get Parameters ............................................................................185 Table 552 zwif_clmt_ctl_schd_ovr_rpt_set Parameters ......................................................................185 Table 553 zwrep_clmt_ctl_schd_ovr_fn Parameters ...........................................................................185 Table 554 zwcc_shed_t Structure........................................................................................................185 Table 555 zwif_clmt_ctl_schd_ovr_get Parameters.............................................................................185 Table 556 zwif_clmt_ctl_schd_ovr_set Parameters .............................................................................186 Table 557 zwif_av_set Parameters.......................................................................................................186 Table 558 zwif_av_caps Parameters.....................................................................................................186 Table 559 zwrep_av_fn Parameters .....................................................................................................187 Table 560 zwif_prot_rpt_set Parameters .............................................................................................187 Table 561 zwrep_prot_fn Parameters ..................................................................................................187 Table 562 ZW_LPROT_XXX ...................................................................................................................187 Table 563 ZW_RFPROT_XXX .................................................................................................................188 Table 564 zwif_prot_get Parameters ...................................................................................................188 Table 565 zwif_prot_set Parameters....................................................................................................188 Table 566 zwif_prot_sup_get Parameters............................................................................................188 Table 567 zwrep_prot_sup_fn Parameters ..........................................................................................188 Table 568 zwprot_sup_t structure .......................................................................................................189 Table 569 zwif_prot_sup_cache_get Parameters ................................................................................189 Table 570 zwif_prot_ec_rpt_set Parameters .......................................................................................189 Table 571 zwrep_prot_ec_fn Parameters ............................................................................................189 Table 572 zwif_prot_ec_get Parameters..............................................................................................190 Table 573 zwif_prot_ec_set Parameters ..............................................................................................190 Table 574 zwif_prot_tmout_rpt_set Parameters .................................................................................190 Table 575 zwrep_prot_tmout_fn Parameters ......................................................................................190 silabs.com | Building a more connected world. Page xxvi of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 576 zwif_prot_tmout_get Parameters .......................................................................................191 Table 577 zwif_prot_tmout_set Parameters........................................................................................191 Table 578 Top level entities..................................................................................................................201 Table 579 Network object ....................................................................................................................201 Table 580 Node object..........................................................................................................................202 Table 581 Z-Wave software version object ..........................................................................................203 Table 582 Endpoint object....................................................................................................................203 Table 583 Common Interface object ....................................................................................................204 Table 584 Interface object for Association Group Info CC....................................................................204 Table 585 Association Group Info object...............................................................................................204 Table 586 Command object..................................................................................................................204 Table 587 Interface object for Configuration CC ..................................................................................205 Table 588 Configuration parameter object ..........................................................................................205 Table 589 Interface object for Association and Multi channel Association CC.....................................205 Table 590 Association Group Cache object ...........................................................................................206 Table 591 Group member object ..........................................................................................................206 Table 592 Interface object for Central Scene CC ..................................................................................206 Table 593 Scene object..........................................................................................................................206 Table 594 Interface object for Multi Level Sensor CC...........................................................................206 Table 595 Multi level sensor object.......................................................................................................207 Table 596 Multi level sensor Cache object ...........................................................................................207 Table 597 Interface object for Indicator CC..........................................................................................207 Table 598 Indicator object.....................................................................................................................207 Table 599 Indicator Cache object .........................................................................................................207 Table 600 Indicator property object .....................................................................................................207 Table 601 Interface object for Thermostat Fan Mode CC ....................................................................208 Table 602 Thermostat Fan Mode Cache object....................................................................................208 Table 603 Interface object for Thermostat Mode CC ...........................................................................208 Table 604 Thermostat Mode Cache object...........................................................................................208 Table 605 Interface object for Thermostat Setpoint CC .......................................................................209 Table 606 Thermostat Setpoint object .................................................................................................209 Table 607 Thermostat Setpoint Cache object.......................................................................................209 Table 608 Interface object for Thermostat Operating State CC ...........................................................210 Table 609 Thermostat Operating State Cache object for "Operating State"........................................210 Table 610 Thermostat Operating State Cache object for "Logging".....................................................210 Table 611 Interface object for Thermostat Fan State CC......................................................................210 Table 612 Thermostat Fan State Cache object .....................................................................................211 Table 613 Interface object for Multi Level Switch CC ...........................................................................211 Table 614 Multi Level Switch Cache object ..........................................................................................211 Table 615 Interface object for Binary Switch CC...................................................................................211 Table 616 Binary Switch Cache object ..................................................................................................211 Table 617 Interface object for Binary Sensor CC ..................................................................................212 Table 618 Binary Sensor Cache object..................................................................................................212 Table 619 Interface object for Simple AV Control CC ...........................................................................212 Table 620 Interface object for Alarm CC...............................................................................................212 silabs.com | Building a more connected world. Page xxvii of xxviii INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 621 Alarm object..........................................................................................................................212 Table 622 Alarm Cache object ..............................................................................................................213 Table 623 Alarm event parameter object.............................................................................................213 Table 624 Interface object for Protection CC .......................................................................................213 Table 625 Protection Cache object for "Protection State" ...................................................................214 Table 626 Protection Cache object for "Exclusive Control"..................................................................214 Table 627 Protection Cache object for "Timeout"................................................................................214 Table 628 Interface object for User Code CC........................................................................................214 Table 629 User Code Cache object .......................................................................................................215 Table 630 Interface object for Meter CC ..............................................................................................215 Table 631 Meter Cache object..............................................................................................................215 Table 632 Interface object for Meter Table Monitor CC ......................................................................216 Table 633 Interface object for Door Lock CC ........................................................................................216 Table 634 Door Lock Cache object for "Operation Status"...................................................................217 Table 635 Door Lock Cache object for "Configuration"........................................................................217 Table 636 Interface object for Door Lock Logging CC ...........................................................................218 Table 637 Interface object for Alarm Sensor CC...................................................................................218 Table 638 Alarm Sensor Cache object ..................................................................................................219 Table 639 Interface object for Barrier Operator CC..............................................................................219 Table 640 Barrier Operator Cache object .............................................................................................219 Table 641 Interface object for Color Switch CC ....................................................................................219 Table 642 Color Switch Cache object....................................................................................................219 Table 643 Interface object for Sound Switch CC...................................................................................220 Table 644 Sound Switch object.............................................................................................................220 Table 645 Sound Switch Cache object for "Tone Played".....................................................................220 Table 646 Sound Switch Cache object for "Tone Configuration" .........................................................220 Table 647 Interface object for Window Covering CC............................................................................221 Table 648 Window Covering Cache object ...........................................................................................221 Table 649 Interface object for Battery CC ............................................................................................221 Table 650 Battery Cache object............................................................................................................221 Table 651 Interface object for Basic CC ................................................................................................222 Table 652 Basic Cache object................................................................................................................223 silabs.com | Building a more connected world. Page xxviii of xxviii INS14416-10 1 Introduction Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 1.1 Purpose This document is the Z-Ware Library C API reference manual. 1.2 Audience and Prerequisites This document is for Z-Wave Partners and assumes they are already comfortable with the Z-Wave protocol and network installation. As such, the document does not go into detail on these matters. References are also made to the Z-Wave Device Class (DC) and Command Class (CC) definitions and the Z-Wave for Internet Protocol (Z/IP) API, upon which this API is built. silabs.com | Building a more connected world. Page 1 of 224 INS14416-10 2 Error Codes Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 The error codes used in APIs, ZW_ERR_XXX are listed in the table below. They are defined in the header file, zip_api.h. They can also be found in Doxygen documentation under the "Modules->Network APIs" Zw_error_codes section. Besides, occasionally, the error code returned may be from a low-level library function call. These error codes are listed in the table "Low-Level Library Error Codes". Table 1 Error Codes, ZW_ERR_XXX Error code ZW_ERR_NONE * ZW_ERR_QUEUED * ZW_ERR_CACHE_AVAIL * ZW_ERR_SEND_PENDING * ZW_ERR_FAILED ZW_ERR_WRONG_IF ZW_ERR_NO_RESP ZW_ERR_MEMORY ZW_ERR_NODE_NOT_FOUND ZW_ERR_CLASS_NOT_FOUND ZW_ERR_INTF_NOT_FOUND ZW_ERR_INTF_NO_REP_HDLR ZW_ERR_LAST_OP_NOT_DONE ZW_ERR_NOT_IN_LIST ZW_ERR_OP_FAILED ZW_ERR_EP_NOT_FOUND ZW_ERR_RPT_NOT_FOUND ZW_ERR_NET_NOT_FOUND ZW_ERR_CMD_VERSION ZW_ERR_PENDING ZW_ERR_VALUE ZW_ERR_QUEUE_FULL ZW_ERR_UNSUPPORTED ZW_ERR_FILE_OPEN ZW_ERR_FILE_WRITE ZW_ERR_FILE_EOF ZW_ERR_FILE ZW_ERR_FILE_HOME_ID ZW_ERR_EXPIRED ZW_ERR_NO_RES ZW_ERR_EVENT Description Operation succeeded. Success: The command is queued into mailbox and will only be sent when the device wakes up (no transmission status callback). Success: The data is available in the cache (no live get from the target device). Success: The command is pending for sending in a short while (no transmission status callback). Operation failed. Wrong interface. No response from controller. Out of memory. Node not found. CC not found. Interface to a class not found. Interface report handler not found. Last operation uncompleted yet, try again. Node not in protocol layer failed node ID list. The requested operation failed. Endpoint not found. The report command of an interface not found. Network not found. Incorrect CC version. Operation pending, it cannot be canceled now. The parameter value is invalid. The queue is full. The requested function is unsupported for this node. Open file error. Write file error. The end-of-file was reached. File is corrupted. File home ID doesn't match. Expired. No resource for mutex, semaphore, timer, etc. Event is not processed. Value 0 1 2 3 -1 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 silabs.com | Building a more connected world. Page 2 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ERR_TOO_LARGE ZW_ERR_TOO_SMALL ZW_ERR_TIMEOUT ZW_ERR_TRANSMIT ZW_ERR_NONCE_NOT_FOUND ZW_ERR_AUTH ZW_ERR_SEQ_NUMBER ZW_ERR_BUSY ZW_ERR_SEC_SCHEME ZW_ERR_TRANSPORT_INI ZW_ERR_FRAME_INI ZW_ERR_SESSION_INI ZW_ERR_APPL_INI ZW_ERR_UNEXPECTED ZW_ERR_NETWORK_IF ZW_ERR_IP_ADDR ZW_ERR_VERSION ZW_ERR_INTF_NO_DATA ZW_ERR_FILE_READ ZW_ERR_PARSE_FILE ZW_ERR_MISSING_ENTRY ZW_ERR_DEVCFG_NOT_FOUND ZW_ERR_DISALLOWED ZW_ERR_PSK_TOO_SHORT ZW_ERR_NO_CACHE_AVAIL ZW_ERR_NOT_APPLICABLE ZW_ERR_SHUTDOWN ZW_ERR_POST_SET_POLL ZW_ERR_ORDER ZW_ERR_CMD_UNSUPP_TGT ZW_ERR_UNSUPP_S2_TGT ZW_ERR_UNSUPP_S2_SRC ZW_ERR_DIFF_HIGHEST_SEC Data size is too large. -36 Data size is too small. -37 Timeout. -38 Transmission failed. -39 Security nonce not found. -40 Authentication error. -41 Incorrect sequence number. -42 Busy, try again later. -43 Security scheme unsupported. -44 Initialization error on transport layer. -45 Initialization error on frame layer. -46 Initialization error on session layer. -47 Initialization error on application layer. -48 The error was unexpected under normal circumstances. -49 Network interface not configured properly. -50 The IP address is invalid. -51 Wrong version number. -52 Interface data is missing. -53 Read file error. -54 Parsing file failed. -55 Missing mandatory entry. -56 Device specific configuration record not found. -57 The operation is disallowed under certain circumstances. -58 DTLS pre-shared key length is too short. -59 The data is unavailable in the cache. -60 Not applicable and should be skipped or ignored. -61 The system is shutting down. -62 Post-set polling error. -63 Out of order. -64 Command sent by the association group is unsupported at target node or endpoint. -65 The association group node does not have the S2 target node highest key scheme HEALTH_CHK. -66 The target node does not have the association group node S2 highest key scheme -67 The association group node highest key scheme is different from target node's highest key scheme -68 Note: Error code with (*) that has a value equal or greater than zero is not an error. In fact, it is an indication of success with more detailed description. Table 2 Low-Level Library Error Codes Error code Description Value silabs.com | Building a more connected world. Page 3 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZWHCI_ERROR_MEMORY Out of memory. -100 ZWHCI_ERROR_RESOURCE Out of resource. -101 TRANSPORT_ERROR_SIGNALING Could not signal write thread to perform actual write. -102 FRAME_ERROR_MULTIPLE_WRITE Write while the previous write in progress is not -103 allowed. FRAME_ERROR_SEND_TIMER Send timer not functioning. -104 SESSION_ERROR_PREVIOUS_ Previous command uncompleted, retry later. -105 COMMAND_UNCOMPLETED SESSION_ERROR_DEST_BUSY The message has not timed out yet.The destination -106 host may have a long response time. SESSION_ERROR_UNREACHABLE Frame failed to reach destination host. -107 SESSION_ERROR_SND_FRM_TMOUT Send frame timeout due to no ACK received. -108 SESSION_ERROR_SYSTEM System error, the program should exit. -109 SESSION_ERROR_INVALID_RESP The response command ID doesn't match with the -110 sent command ID. SESSION_ERROR_SEND_BUSY Send error at lower layer due to controller busy. -111 APPL_TX_STATUS_TIMEOUT There is no transmit status callback from lower layer. -112 APPL_OPER_ALREADY_ACTIVE The requested operation is already active. -113 APPL_OPER_NOT_STARTED The requested operation fails to start. -114 APPL_ERROR_WAIT_CB Waiting for transmit complete callback function, retry -115 later. APPL_INVALID_ADDR Invalid IPv6 address. -116 APPL_INVALID_NODE_ID Invalid node ID. -117 APPL_ERROR_RSLV_NODE_ID Couldn't resolve node ID to IP address. -118 ZWHCI_ERROR_TOO_LARGE The value supplied is too large. -119 ZWHCI_ERROR_WRITE Write failed. -120 ZWHCI_ERROR_READ Read failed. -121 ZWHCI_ERROR_TIMEOUT Time out. -122 ZWHCI_ERROR_VERIFY Verification failed. -123 ZWHCI_ERROR_SHUTDOWN System is shutting down. -124 silabs.com | Building a more connected world. Page 4 of 224 INS14416-10 3 Portal API Z-Ware SDK 7.13.0 Library C API Reference Manual These APIs are only used when the Z-Ware Library is in the Portal configuration. 2019-12-06 3.1 zwportal_init This call initializes the portal to listen for ZIPGW connections at well know TCP port 44123. The callback function zwportal_cb will be invoked when a ZIPGW connection has successfully completed the TLS handshake and the portal-gateway proprietary handshaking. The portal application may use the callback parameters to create an instance of Z/IP host controller using zwnet_init API. Table 3 zwportal_init Parameters Attribute init_prm return Type zwportal_init_t * void * I/O Description I Portal initialization parameters. O Context on success, NULL on failure. Caller is required to call zwportal_shutdown() and zwportal_exit() with the returned context if it is not null. Attribute clnt_prof prof_cnt zwportal_cb Type clnt_prof_t* int zwportal_cb_t usr_param void * ca_file char * ssl_file char * pvt_key_file char * svr_port uint16_t Table 4 zwportal_init_t Structure I/O Description I An array of client profiles. I Number of client profiles in clnt_prof. I Callback function when a new gateway has completed the TLS handshake and the portal-gateway proprietary handshaking. I User defined parameter used in callback function. I File path to CA certificate that is used to sign ZIPGW public certificate. I File path to SSL certificate (portal public certificate). I File path to portal private key. I Portal listening port. Attribute clnt_id clnt_pin clnt_ipv6_addr clnt_dflt_gw clnt_pan_prefix Table 5 clnt_prof_t Structure Type uint8_t[8] uint8_t[8] uint8_t[16] uint8_t[16] uint8_t[16] I/O Description I Client's ID (currently using MAC address formatted as an IEEE EUI-64 identifier). I Client's PIN (password). I Client's IPv6 address. May be all-zeroes IPv6 address. I Client's default IPv6 gateway. I Client's PAN interface prefix with /64 prefix length. May be all-zeroes IPv6 address. silabs.com | Building a more connected world. Page 5 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 clnt_unsolicited_dst uint8_t[16] svr_ipv6_addr uint8_t[16] clnt_unsolicited_port uint16_t clnt_ipv6_prefix svr_ipv6_prefix uint8_t uint8_t I Client's forwarding destination address for unsolicited message. I Server's IPv6 address. I Client's forwarding destination port for unsolicited.message. Should be 4123. I Client's IPv6 address prefix length. I Server's IPv6 address prefix length. Attribute clnt_fd clnt_ssl clnt_prof usr_param return Type int void * clnt_prof_t* void * int Table 6 zwportal_cb_t Parameters I/O Description I Client socket file descriptor. I Client SSL object pointer. I Client profile used. I User defined parameter passed when calling zwportal_init(). O Non-zero if the new client connection is accepted; zero if it is rejected. 3.2 zwportal_shutdown This call closes listening socket at the well know TCP port 44123 to prevent any new gateway connections. Take note that this function should not be called in the callback function which was passed to the zwportal_init function. Table 7 zwportal_shutdown Parameters Attribute Type ctx void * return int I/O Description I The context returned from the call to zwportal_init(). O Zero on success, non-zero on failure. 3.3 zwportal_exit This call shuts down existing TLS connections and frees the resources used. Take note that this function should not be called in the callback function which was passed to the zwportal_init function. Table 8 zwportal_exit Parameters Attribute Type ctx void * return int I/O Description I The context returned from the call to zwportal_init () O Zero on success, non-zero on failure. silabs.com | Building a more connected world. Page 6 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 3.4 zwportal_clnt_conn_close This call closes client's socket and SSL connection. Table 9 zwportal_clnt_conn_close Parameters Attribute Type sfd int ssl void * I/O Description I Client socket file descriptor I Client SSL object pointer 2019-12-06 3.5 zwportal_clnt_add Add a client profile to the portal internal list, overwriting old entry with the same gateway. Table 10 zwportal_clnt_add Parameters Attribute ctx clnt_prof return Type void * clnt_prof_t * int I/O Description I The context returned from the call to zwportal_init (). I Client profile. O Non-zero on success, zero on failure. 3.6 zwportal_clnt_rm Remove a client profile from the portal internal list. Table 11 zwportal_clnt_rm Parameters Attribute ctx gw_id return Type void * uint8_t* int I/O Description I The context returned from the call to zwportal_init () I Gateway ID O Non-zero on success, zero on failure. 3.7 zwportal_clnt_find Find a client profile in the portal internal list based on gateway ID. Table 12 zwportal_clnt_find Parameters Attribute Type ctx void * clnt_prof clnt_prof_t * return int I/O Description I The context returned from the call to zwportal_init () I/O Client profile buffer with the gateway ID set as input key to be searched. On success, this buffer will be returned with found entry. O Non-zero on success, zero on failure. silabs.com | Building a more connected world. Page 7 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 3.8 zwportal_clnt_list_free Free client profiles list. Attribute Type lst_hd clnt_prof_lst * Table 13 zwportal_clnt_list_free Parameters I/O Description I List head of the client profiles list Attribute next clnt_prof Type clnt_prof_lst * clnt_prof_t Table 14 clnt_prof_lst structure I/O Description I Next portal client profile in the linked-list I Client profile 2019-12-06 3.9 zwportal_clnt_list_get Get all the client profiles in the portal internal list. Table 15 zwportal_clnt_list_get Parameters Attribute ctx lst_hd return Type void * clnt_prof_lst ** int I/O Description I The context returned from the call to zwportal_init (). O List head of the client profiles list. O Number of client profiles in the list; negative value on failure. Caller must call zwportal_clnt_list_free() to free the linked-list if return value is greater than zero. silabs.com | Building a more connected world. Page 8 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 4 Device Database API These APIs load the device database. 2019-12-06 4.1 zwdev_cfg_load Load and store device-specific configurations. Table 16 zwdev_cfg_load Parameters Attribute Type I/O Description cfg_file const char * I Device-specific configurations file in JSON format. records dev_rec_t ** O Device-specific configuration records sorted according to manufacturer ID, product type ID and product ID record_cnt uint16_t * O Number of device-specific configuration records stored in "records". global_sett dev_global_sett_t** O Device global settings. global_sett_cnt uint16_t * O Number of entries in device global settings. err_loc dev_cfg_error_t * O Parse error location for "device_records" in JSON file. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Note: Caller must free the memory allocated to "records" using zwdev_cfg_free() and memory allocated to "global_sett" using zwdev_global_sett_free() if return value is ZW_ERR_NONE. Attribute vid ptype pid category ep_rec Type uint32_t uint32_t uint32_t uint8_t ep_rec_t * Table 17 dev_rec_t Structure I/O Description O Vendor or Manufacturer ID O Product Type ID O Product ID O Device category, DEV_XXX O Endpoint records Table 18 DEV_XXX Meaning and Values Device Category DEV_CATEGORY_UNKNOWN DEV_SENSOR_ALARM DEV_ON_OFF_SWITCH DEV_POWER_STRIP DEV_SIREN DEV_VALVE DEV_SIMPLE_DISPLAY DEV_DOORLOCK_KEYPAD DEV_SUB_ENERGY_METER Description # Unknown or uncategorized device 0 Sensor alarm 1 On/off switch 2 Power strip 3 Siren 4 Valve 5 Simple display 6 Door lock with keypad 7 Sub energy meter 8 silabs.com | Building a more connected world. Page 9 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual DEV_ADV_WHL_HOME_ENER_METER DEV_SIM_WHL_HOME_ENER_METER DEV_SENSOR DEV_LIGHT_DIMMER DEV_WIN_COVERING_NO_POS DEV_WIN_COVERING_EP DEV_WIN_COVERING_POS_EP DEV_FAN_SWITCH DEV_RMT_CTL_MULTIPURPOSE DEV_RMT_CTL_AV DEV_RMT_CTL_SIMPLE DEV_UNRECOG_GATEWAY DEV_CENTRAL_CTLR DEV_SET_TOP_BOX DEV_TV DEV_SUB_SYS_CTLR DEV_GATEWAY DEV_THERMOSTAT_HVAC DEV_THERMOSTAT_SETBACK DEV_WALL_CTLR Advanced whole home energy meter Simple whole home energy meter Sensor Light dimmer switch Window covering no position/endpoint Window covering end point aware Window covering position/endpointaware Fan switch Remote control - multipurpose Remote control - AV Remote control - simple Gateway (unrecognized by client) Central controller Set top box TV Sub system controller Gateway Thermostat - HVAC Thermostat - setback Wall controller 2019-12-06 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Attribute next id Type ep_rec_t * uint8_t new_if new_if_ver new_if_propty redir_rec if_rec uint16_t uint8_t uint8_t redir_rec_t * if_rec_t * Table 19 ep_rec_t Structure I/O Description O Point to next endpoint record O Endpoint ID (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) O New CC to be created/added to the endpoint, if any O The "user defined version" for the new CC, if any O New CC (interface) property (bit-mask) O Command redirection records O Interface records Attribute next if_id cmd target_ep Type redir_rec_t * uint16_t int uint8_t Table 20 redir_rec_t Structure I/O Description O Next redirection record O Interface ID / CC ID. O Command value 0-255. -1 means don't care. O Target endpoint ID to redirect to. Attribute Type Table 21 if_rec_t Structure I/O Description silabs.com | Building a more connected world. Page 10 of 224 INS14416-10 next type usr_def_ver propty tmout rec Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 if_rec_t * uint8_t uint8_t uint8_t uint16_t rec union O Point to next interface record. O Interface type, IF_REC_TYPE_XXX. O User defined version. O Interface type specific property (bit-mask). O Interface type specific timeout value in seconds. O Union of interface records; the actual interface record used is indicated by the type attribute of this structure. Table 22 Interface Types: IF_REC_TYPE_XXX Interface Record Type Description # IF_REC_TYPE_GROUP Group 1 IF_REC_TYPE_CONFIG Configuration 2 IF_REC_TYPE_BIN_SENSOR Binary Sensor 3 IF_REC_TYPE_SENSOR Sensor 4 IF_REC_TYPE_METER Meter 5 IF_REC_TYPE_ALARM Alarm/Notification 6 IF_REC_TYPE_BASIC Basic 7 IF_REC_TYPE_ALRM_SNSR Alarm Sensor 8 IF_REC_TYPE_THRMO_SETP Thermostat setpoint 9 IF_REC_TYPE_DOOR_LOCK Door lock 10 IF_REC_TYPE_MULTI_CMD Multi-command 11 Table 23 rec Union Attribute Type I/O Description grp if_rec_grp_t * O Group interface record config if_rec_config_t * O Configuration interface record bsnsr if_rec_bsnsr_t * O Binary Sensor interface record snsr if_rec_snsr_t * O Sensor interface record meter if_rec_meter_t * O Meter interface record alarm if_rec_alarm_match_t* O Alarm//Notification interface record basic if_rec_basic_match_t* O Basic interface record alrm_snsr if_rec_alrm_snsr_match_t* O Alarm sensor interface record thrmo_setp if_rec_thrmo_setp_t* O Thermostat setpoint interface record door_lck if_rec_dlck_t * O Door lock interface record mcmd if_rec_mcmd_t * O Multi-command encapsulation record Attribute Type Table 24 if_rec_grp_t Structure I/O Description silabs.com | Building a more connected world. Page 11 of 224 INS14416-10 grp_cnt grp_id uint8_t uint8_t[7] Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Number of group ID in the grp_id array O Group IDs for the controller to set its node ID into the groups Attribute next rec_type rec cfg_set cfg_info Table 25 if_rec_config_t Structure Type if_rec_config_t * uint16_t union if_rec_cfg_set_t if_rec_cfg_info_t I/O Description O Point to next configuration interface record. O Record type CONFIG_REC_TYPE_XXX. XXX Description SET Configuration record type set. INFO Configuration record type information. O Record as indicated by record type; union of the following: O For CONFIG_REC_TYPE_SET O For CONFIG_REC_TYPE_INFO Attribute param_num param_size param_val Type uint8_t uint8_t int32_t Table 26 if_rec_cfg_set_t Structure I/O Description O Parameter number O Data size: 1, 2, or 4 bytes O Configuration parameter value (signed integer) Attribute param_num param_size param_min Type uint8_t uint8_t int32_t param_max int32_t param_deflt int32_t param_name param_info char * char * Table 27 if_rec_cfg_info_t Structure I/O Description O Parameter number O Data size: 1,2,or 4 bytes O Minimum configuration parameter value (signed integer) O Maximum configuration parameter value (signed integer) O Default configuration parameter value (signed integer) O Parameter name O Parameter information Table 28 if_rec_bsnsr_t Structure Attribute Type type uint8_t rec_match if_rec_bsnsr_match_t * I/O Description O Supported binary sensor type ZW_BSENSOR_TYPE_XXX (for version 1 only) O Record matching condition silabs.com | Building a more connected world. Page 12 of 224 INS14416-10 Attribute Type pResult void * type int state int resultType int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 29 if_rec_bsnsr_match_t Structure I/O Description O The result record that maps to, e.g., if_rec_alarm_result_t* O Binary sensor type ZW_BSENSOR_TYPE_XXX O Binary sensor state. O Type of the resulting conversion. IF_REC_TYPE_XXX Attribute type unit Table 30 Table 31 if_rec_snsr_t Structure Type uint8_t uint8_t I/O Description O Sensor type ZW_SENSOR_TYPE_XXX O Sensor unit ZW_SENSOR_UNIT_XXX Attribute type unit_supp rate_type reset_cap Type uint8_t uint8_t uint8_t uint8_t Table 32 if_rec_meter_t Structure I/O Description O ZW_METER_TYPE_XXX. O Supported unit bit-mask : ZW_METER_SUP_UNIT_XXX. O ZW_METER_RATE_XXX. O Meter reset capability: 1=capable to reset; 0=incapable of reset. Table 33 if_rec_alarm_match_t Structure Attribute Type I/O Description next if_rec_alarm_match_t * O Point to next match record pResult if_rec_alarm_result_t * O The result alarm record that maps to pRevMatch if_rec_alarm_rev_match_t * O Device specific alarm reverse-matching record (It is the OR result of match and result struct) match_valid int O Flag to indicate whether the match entries below are valid type int O Vendor proprietary alarm type level_low int O Vendor proprietary alarm level or lower limit of a range level_high int O Vendor proprietary alarm level higher limit of a range isRange int O Flag to indicate vendor proprietary alarm level is a range ex_type int O Z-Wave Alarm/Notification type (ZW_ALRM_XXX) ex_event int O Z-Wave Alarm/Notification event (ZW_ALRM_EVT_XXX) ex_evt_len int O Z-Wave Alarm/Notification event parameter length. Zero if the event has no parameter pEx_evt_prm uint8_t * O Pointer to Z-Wave Alarm/Notification event parameter Table 34 if_rec_alarm_result_t Structure silabs.com | Building a more connected world. Page 13 of 224 INS14416-10 Attribute type level ex_type type_name ex_event Type int int int char * int level_name char * ex_evt_len int ex_evt_type int pEx_evt_prm uint8_t * Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I/O Description O Vendor proprietary alarm type O Vendor proprietary alarm level O Z-Wave alarm/Notification type (ZW_ALRM_XXX) O Device specific alarm type name. O Z-Wave alarm/Notification event (ZW_ALRM_EVT_XXX). O Device specific alarm level name. O Z-Wave alarm/Notification event parameter length. Zero if the event has no parameter. O Z-Wave alarm/Notification event parameter type (ZW_ALRM_PARAM_XXX). O pointer to Z-Wave alarm/Notification event parameter. Attribute Type type int ex_type int ex_event int Table 35 if_rec_alarm_rev_match_t Structure I/O Description O Vendor proprietary alarm type O Z-Wave alarm/Notification type (ZW_ALRM_XXX) O Z-Wave alarm/Notification event (ZW_ALRM_EVT_XXX) Attribute next pResult command value resultType Table 36 if_rec_basic_match_t Structure Type if_rec_basic_match_t * void * int int Int I/O Description O Point to next match record. O The result record that maps to, e.g., if_rec_alarm_result_t*. O Basic CC command. eg. BASIC_SET. O Command value 0-255. -1 means don't care. O Type of the resulted conversion. IF_REC_TYPE_xxx. Attribute next pResult type state_low state_high isRange resultType Table 37 if_rec_alrm_snsr_match_t Structure Type if_rec_alrm_snsr_match_t * void * int int int int int I/O Description O Point to next match record O The result record that maps to. eg. if_rec_alarm_result_t* O Alarm sensor type. (ZW_ALRM_SNSR_TYPE_XXX) O Alarm sensor state or lower limit of a range. -1 means don't care. O Alarm sensor state higher limit of a range O Flag to indicate Alarm sensor state is a range O Type of the resulted conversion. IF_REC_TYPE_xxx Attribute Type if_rec_thrmo_setp_t Structure I/O Description silabs.com | Building a more connected world. Page 14 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 type_cnt uint8_t temp_range zwsetp_temp_range_t * O Number of thermostat setpoint-supported temperature ranges O Temperature ranges Attribute Type min zwsetp_t max zwsetp_t Table 38 zwsetp_temp_range_t Structure I/O Description O Minimum setpoint temperature O Maximum setpoint temperature Attribute Type op_type_cnt uint8_t mode_cnt out_hdl uint8_t uint8_t in_hdl uint8_t op_type mode uint8_t * uint8_t * Table 39 if_rec_dlck_t Structure I/O Description O Number of supported door lock operation types in "op_type" buffer. O Number of supported door lock modes in "mode" buffer. O Supported outside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if the corresponding handle can be enabled and disabled; otherwise, the corresponding handle cannot be enabled or disabled. O Supported inside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if the corresponding handle can be enabled and disabled; otherwise, the corresponding handle cannot be enabled or disabled. O Door lock operation type (ZW_DOOR_OP_XXX) buffer. O Door lock mode (ZW_DOOR_XXX except ZW_DOOR_UNKNOWN) buffer. Attribute Type send_encap uint8_t Table 40 if_rec_mcmd_t Structure I/O Description O Control whether to send consecutive commands using multi-command encapsulation Table 41 Binary Sensor Types: ZW_BSENSOR_TYPE_XXX Binary Sensor Type Description # ZW_BSENSOR_TYPE_GP General purpose sensor 1 ZW_BSENSOR_TYPE_SMOKE Smoke sensor 2 ZW_BSENSOR_TYPE_CO CO sensor 3 ZW_BSENSOR_TYPE_CO2 CO2 sensor 4 ZW_BSENSOR_TYPE_HEAT Heat sensor 5 ZW_BSENSOR_TYPE_WATER Water sensor 6 ZW_BSENSOR_TYPE_FREEZE Freeze sensor 7 ZW_BSENSOR_TYPE_TAMPER Tamper sensor 8 ZW_BSENSOR_TYPE_AUX Aux sensor 9 ZW_BSENSOR_TYPE_DR_WIN Door/Window sensor 10 silabs.com | Building a more connected world. Page 15 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_BSENSOR_TYPE_TILT Tilt sensor 11 ZW_BSENSOR_TYPE_MOTION Motion sensor 12 ZW_BSENSOR_TYPE_GLASS_BRK Glass break sensor 13 ZW_BSENSOR_TYPE_1ST_SUP Return first sensor type on supported list Table 42 Multi-Level Sensor Type: ZW_SENSOR_TYPE_XXX Multi-level Sensor Type ZW_SENSOR_TYPE_TEMP ZW_SENSOR_TYPE_GP ZW_SENSOR_TYPE_LUM ZW_SENSOR_TYPE_POW ZW_SENSOR_TYPE_HUMD ZW_SENSOR_TYPE_VELO ZW_SENSOR_TYPE_DIR ZW_SENSOR_TYPE_ATM ZW_SENSOR_TYPE_BARO ZW_SENSOR_TYPE_SLR ZW_SENSOR_TYPE_DEW ZW_SENSOR_TYPE_RAIN ZW_SENSOR_TYPE_TIDE ZW_SENSOR_TYPE_WGT ZW_SENSOR_TYPE_VOLT ZW_SENSOR_TYPE_CUR ZW_SENSOR_TYPE_CO2 ZW_SENSOR_TYPE_AIR ZW_SENSOR_TYPE_TANK ZW_SENSOR_TYPE_DIST ZW_SENSOR_TYPE_AGL ZW_SENSOR_TYPE_ROT ZW_SENSOR_TYPE_WTR_TEMP ZW_SENSOR_TYPE_SOIL_TEMP ZW_SENSOR_TYPE_SEIS_INT ZW_SENSOR_TYPE_SEIS_MAG ZW_SENSOR_TYPE_UV ZW_SENSOR_TYPE_ELEC_RES ZW_SENSOR_TYPE_ELEC_COND ZW_SENSOR_TYPE_LOUDNESS ZW_SENSOR_TYPE_MOIST ZW_SENSOR_TYPE_FREQ ZW_SENSOR_TYPE_TIME ZW_SENSOR_TYPE_TGT_TEMP ZW_SENSOR_TYPE_PM_2_5 ZW_SENSOR_TYPE_F_CH2O Description # Temperature sensor 1 General purpose sensor 2 Luminance sensor 3 Power sensor 4 Relative humidity sensor 5 Velocity sensor 6 Direction sensor 7 Atmospheric pressure sensor 8 Barometric pressure sensor 9 Solar radiation sensor 10 Dew point sensor 11 Rain rate sensor 12 Tide level sensor 13 Weight sensor 14 Voltage sensor 15 Current sensor 16 CO2-level sensor 17 Air flow sensor 18 Tank capacity sensor 19 Distance sensor 20 Angle Position sensor 21 Rotation sensor 22 Water temperature sensor 23 Soil temperature sensor 24 Seismic intensity sensor 25 Seismic magnitude sensor 26 Ultraviolet sensor 27 Electrical resistivity sensor 28 Electrical conductivity sensor 29 Loudness sensor 30 Moisture sensor 31 Frequency sensor 32 Time sensor 33 Target temperature sensor 34 Particulate matter 2.5 sensor 35 Formaldehyde CH2O-level 36 sensor silabs.com | Building a more connected world. Page 16 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual ZW_SENSOR_TYPE_RAD_CONT ZW_SENSOR_TYPE_METH_DENS ZW_SENSOR_TYPE_VOC ZW_SENSOR_TYPE_CO_LVL ZW_SENSOR_TYPE_SOIL_HUMD ZW_SENSOR_TYPE_SOIL_REAC ZW_SENSOR_TYPE_SOIL_SAL ZW_SENSOR_TYPE_HEART_RT ZW_SENSOR_TYPE_BLOOD_PRS ZW_SENSOR_TYPE_MUSCLE_MS ZW_SENSOR_TYPE_FAT_MS ZW_SENSOR_TYPE_BONE_MS ZW_SENSOR_TYPE_TBW ZW_SENSOR_TYPE_BMR ZW_SENSOR_TYPE_BMI ZW_SENSOR_TYPE_ACCEL_X ZW_SENSOR_TYPE_ACCEL_Y ZW_SENSOR_TYPE_ACCEL_Z ZW_SENSOR_TYPE_SMOKE_DEN ZW_SENSOR_TYPE_WATER_FLW ZW_SENSOR_TYPE_WATER_PRS ZW_SENSOR_TYPE_RF_SGN ZW_SENSOR_TYPE_PM_10 ZW_SENSOR_TYPE_RESPI_RATE ZW_SENSOR_TYPE_REL_MOD ZW_SENSOR_TYPE_BOILER_WTR_TEMP ZW_SENSOR_TYPE_DHW_TEMP ZW_SENSOR_TYPE_OUTSIDE_TEMP ZW_SENSOR_TYPE_EXHAUST_TEMP ZW_SENSOR_TYPE_WATER_CHLOR_LVL ZW_SENSOR_TYPE_WATER_ACID ZW_SENSOR_TYPE_WATER_OXI_RED Radon Concentration sensor Methane Density CH4 sensor Volatile Organic Compound sensor Carbon Monoxide CO-level sensor Soil Humidity sensor Soil Reactivity sensor Soil Salinity sensor Heart Rate sensor Blood Pressure sensor Muscle Mass sensor Fat Mass sensor Bone Mass sensor Total Body Water sensor Basic Metabolic Rate sensor Body Mass Index sensor Acceleration, X-axis sensor Acceleration, Y-axis sensor Acceleration, Z-axis sensor Smoke Density sensor Water Flow sensor Water Pressure sensor RF Signal Strength sensor Particulate Matter 10 sensor Respiratory rate sensor Relative Modulation level sensor Boiler water temperature sensor Domestic Hot Water (DHW) temperature sensor Outside temperature sensor Exhaust temperature sensor Water Chlorine level sensor Water acidity sensor Water Oxidation reduction potential sensor Multi-level Sensor Type ZW_SENSOR_TYPE_TEMP ZW_SENSOR_TYPE_GP Table 43 Multi-Level Sensor Unit Unit Celsius (C) Fahrenheit (F) Percentage value 2019-12-06 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 # 0 1 0 silabs.com | Building a more connected world. Page 17 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_SENSOR_TYPE_LUM ZW_SENSOR_TYPE_POW ZW_SENSOR_TYPE_HUMD ZW_SENSOR_TYPE_VELO ZW_SENSOR_TYPE_DIR ZW_SENSOR_TYPE_ATM ZW_SENSOR_TYPE_BARO ZW_SENSOR_TYPE_SLR ZW_SENSOR_TYPE_DEW ZW_SENSOR_TYPE_RAIN ZW_SENSOR_TYPE_TIDE ZW_SENSOR_TYPE_WGT ZW_SENSOR_TYPE_VOLT ZW_SENSOR_TYPE_CUR ZW_SENSOR_TYPE_CO2 ZW_SENSOR_TYPE_AIR ZW_SENSOR_TYPE_TANK ZW_SENSOR_TYPE_DIST ZW_SENSOR_TYPE_AGL ZW_SENSOR_TYPE_ROT Dimensionless value 1 Percentage value 0 Lux 1 W 0 Btu/h 1 Percentage value 0 g/m3 1 m/s 0 mph 1 Direction unit: 0 to 360 degrees. 0 = no 0 wind, 90 = east,180 = south, 270 = west, and 360 = north kPa 0 inches of Mercury 1 kPa 0 inches of Mercury 1 W/m2 0 Celsius (C) 0 Fahrenheit (F) 1 mm/h 0 in/h 1 m 0 feet 1 kg 0 pounds 1 V 0 mV 1 A 0 mA 1 ppm 0 m3/h 0 cfm (cubic feet per minute) 1 l 0 cbm 1 US gallons 2 m 0 cm 1 feet 2 Percentage value 0 Degrees relative to north pole of standing 1 eye view Degrees relative to south pole of standing 2 eye view rpm (revolutions per minute) 0 silabs.com | Building a more connected world. Page 18 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_SENSOR_TYPE_WTR_TEMP ZW_SENSOR_TYPE_SOIL_TEMP ZW_SENSOR_TYPE_SEIS_INT ZW_SENSOR_TYPE_SEIS_MAG ZW_SENSOR_TYPE_UV ZW_SENSOR_TYPE_ELEC_RES ZW_SENSOR_TYPE_ELEC_COND ZW_SENSOR_TYPE_LOUDNESS ZW_SENSOR_TYPE_MOIST ZW_SENSOR_TYPE_FREQ ZW_SENSOR_TYPE_TIME ZW_SENSOR_TYPE_TGT_TEMP ZW_SENSOR_TYPE_PM_2_5 ZW_SENSOR_TYPE_F_CH2O ZW_SENSOR_TYPE_RAD_CONT ZW_SENSOR_TYPE_METH_DENS ZW_SENSOR_TYPE_VOC ZW_SENSOR_TYPE_CO_LVL ZW_SENSOR_TYPE_SOIL_HUMD ZW_SENSOR_TYPE_SOIL_REAC ZW_SENSOR_TYPE_SOIL_SAL ZW_SENSOR_TYPE_HEART_RT ZW_SENSOR_TYPE_BLOOD_PRS ZW_SENSOR_TYPE_MUSCLE_MS ZW_SENSOR_TYPE_FAT_MS ZW_SENSOR_TYPE_BONE_MS Hz (Hertz) 1 Celsius (C) 0 Fahrenheit (F) 1 Celsius (C) 0 Fahrenheit (F) 1 Mercalli 0 European Macroseismic 1 Liedu 2 Shindo 3 Local (ML) 0 Moment (MW) 1 Surface wave (MS) 2 Body wave (MB) 3 UV index 0 ohm metre 0 siemens per metre (S/m) 0 Absolute loudness (dB) 0 A-weighted decibels (dBA) 1 Percentage value 0 Volume water content (m3/m3) 1 Impedance (k ohm) 2 Water activity (aw) 3 Hz - Must be used until 4.294967295 GHz 0 kHz- Must be used after 4.294967295 GHz 1 Seconds 0 Celsius (C) 0 Fahrenheit (F) 1 Moles per cubic meter (mol/m3) 0 Absolute microgram/cubic meter (ug/m3) 1 Moles per cubic meter (mol/m3) 0 Becquerel/cubic meter (bq/m3) 0 Picocuries/liter (pCi/L) 1 Moles per cubic meter (mol/m3) 0 Moles per cubic meter (mol/m3) 0 Moles per cubic meter (mol/m3) 0 Percentage value 0 Acidity (pH) 0 Moles per cubic meter (mol/m3) 0 Beats/minute (Bpm) 0 Systolic mmHg (upper number) 0 Diastolic mmHg (lower number) 1 Kilograms (kg) 0 Kilograms (kg) 0 Kilograms (kg) 0 silabs.com | Building a more connected world. Page 19 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual ZW_SENSOR_TYPE_TBW ZW_SENSOR_TYPE_BMR ZW_SENSOR_TYPE_BMI ZW_SENSOR_TYPE_ACCEL_X ZW_SENSOR_TYPE_ACCEL_Y ZW_SENSOR_TYPE_ACCEL_Z ZW_SENSOR_TYPE_SMOKE_DEN ZW_SENSOR_TYPE_WATER_FLW ZW_SENSOR_TYPE_WATER_PRS ZW_SENSOR_TYPE_RF_SGN ZW_SENSOR_TYPE_PM_10 ZW_SENSOR_TYPE_RESPI_RATE ZW_SENSOR_TYPE_REL_MOD ZW_SENSOR_TYPE_BOILER_WTR_TEMP ZW_SENSOR_TYPE_DHW_TEMP ZW_SENSOR_TYPE_OUTSIDE_TEMP ZW_SENSOR_TYPE_EXHAUST_TEMP ZW_SENSOR_TYPE_WATER_CHLOR_LVL ZW_SENSOR_TYPE_WATER_ACID ZW_SENSOR_TYPE_WATER_OXI_RED Kilograms (kg) Joules (J) BMI Index (m/s2) (m/s2) (m/s2) Percentage value Liters/hour (l/h) Kilopascals (kPa) RSSI (Percentage value) (dBm) Moles per cubic meter (mol/m3) Micrograms per cubic meter (µg/m3) Breaths per minute (bpm) Percentage value (%) Celsius (C) Celsius (C) Celsius (C) Celsius (C) Milligram per liter (mg/l) Acidity (pH) MilliVolt (mV) Table 44 Meter Type Meter Type ZW_METER_TYPE_ELEC ZW_METER_TYPE_GAS ZW_METER_TYPE_WATER Description # Electric meter 1 Gas meter 2 Water meter 3 Table 45 Meter Supported Unit Bit-Mask Multi-level Sensor Type ZW_METER_TYPE_ELEC ZW_METER_TYPE_GAS ZW_METER_TYPE_WATER Unit kWh kVAh W Pulse count V A Power factor Cubic meters Cubic feet Pulse count Cubic meters Cubic feet Bit-mask 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x01 0x02 0x08 0x01 0x02 2019-12-06 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 silabs.com | Building a more connected world. Page 20 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual US gallons 0x04 Pulse count 0x08 Table 46 Z-Wave Alarm/Notification Type Z-Wave Alarm Type Description # ZW_ALRM_SMOKE Smoke alarm 1 ZW_ALRM_CO Carbon monoxide alarm 2 ZW_ALRM_CO2 Carbon dioxide alarm 3 ZW_ALRM_HEAT Heat alarm 4 ZW_ALRM_WATER Water alarm 5 ZW_ALRM_LOCK Lock access control alarm 6 ZW_ALRM_BURGLAR Burglar alarm or home security 7 ZW_ALRM_POWER Power management alarm 8 ZW_ALRM_SYSTEM System alarm 9 ZW_ALRM_EMERGENCY Emergency alarm 10 ZW_ALRM_CLOCK Alarm clock 11 ZW_ALRM_APPLIANCE Home appliance alarm 12 ZW_ALRM_HEALTH Home health alarm 13 ZW_ALRM_SIREN Siren alarm 14 ZW_ALRM_WATER_VLV Water Valve alarm 15 ZW_ALRM_WEATHER Weather alarm 16 ZW_ALRM_IRRIGATION Irrigation alarm 17 ZW_ALRM_GAS Gas alarm 18 ZW_ALRM_PEST_CTL Pest control 19 ZW_ALRM_LIGHT_SNSR Light sensor 20 ZW_ALRM_WATER_QM Water quality monitoring 21 ZW_ALRM_HOME_MNTR Home monitoring 22 Table 47 Z-Wave Alarm/Notification Event Z-Wave Alarm/Notificatio n type All Smoke alarm Carbon monoxide alarm Z-Wave Alarm/Notification Event Unknown event. Event inactive (push mode) / Previous Events cleared (pull mode). Smoke detected with location. Smoke detected. Smoke alarm test. Replacement required. Replacement required, End-of-life Maintenance required, planned periodic inspection Maintenance required, dust in device Carbon monoxide detected with location. Carbon monoxide detected. Carbon monoxide test. Event parameter value: 1=OK, 2=Failed 2019-12-06 # 254 0 1 2 3 4 5 7 8 1 2 3 silabs.com | Building a more connected world. Page 21 of 224 INS14416-10 Carbon dioxide alarm Heat alarm Water alarm Lock access control alarm Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Replacement required. 4 Replacement required, End-of-life 5 Alarm silenced 6 Maintenance required, planned periodic inspection 7 Carbon dioxide detected with location. 1 Carbon dioxide detected. 2 Carbon dioxide test. Event parameter value: 1=OK, 2=Failed 3 Replacement required. 4 Replacement required, End-of-life 5 Alarm silenced 6 Maintenance required, planned periodic inspection 7 Overheat detected with location info. 1 Overheat detected. 2 Rapid temperature rise detected with location. 3 Rapid temperature rise detected. 4 Underheat detected with location. 5 Underheat detected. 6 Heat alarm test 7 Replacement required, End-of-life 8 Alarm silenced 9 Maintenance required, dust in device 10 Maintenance required, planned periodic inspection 11 Rapid temperature fall with location info 12 Rapid temperature fall 13 Water leak detected with location. 1 Water leak detected. 2 Water level drop detected with location. 3 Water level dropped detected. 4 Replace Water Filter. 5 Water flow. Event parameter value: 1=no data, 2=below low 6 threshold, 3=above high threshold, 4=max Water pressure. Event parameter meaning same as those for water 7 flow. Water temperature. Event parameter value: 1=no data, 2=below low 8 threshold, 3=above high threshold Water level. Event parameter meaning same as those for water 9 temperature. Sump pump active 10 Sump pump failure 11 Manual lock operation. 1 Manual unlock operation. 2 RF lock operation. 3 RF unlock operation. 4 Keypad lock operation with user identifier. 5 silabs.com | Building a more connected world. Page 22 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Keypad unlock operation with user identifier. 6 Manual not fully locked operation. 7 RF not fully locked operation. 8 Auto lock locked operation. 9 Auto lock not fully operation. 10 Lock jammed. 11 All user codes deleted. 12 Single user code deleted. 13 New user code added. 14 New user code not added due to duplicate code. 15 Keypad temporary disabled. 16 Keypad busy. 17 New program code entered - unique code for lock configuration. 18 Manually enter user access code exceeds code limit. 19 Unlock by RF with invalid user code. 20 Locked by RF with invalid user code. 21 Window/door is open. 22 Window/door is closed. 23 Window/door handle is open 24 Window/door handle is closed 25 User Code entered via keypad (with event param: 32 ZW_ALRM_PARAM_USRID) Barrier performing Initialization process. Event parameter value: 64 0=Completed, 0xFF=In progress Barrier operation (Open / Close) force has been exceeded. 65 Barrier motor has exceeded manufacturer's operational time limit. 66 Event parameter value: 0 to 0x7F = 0 to 127 seconds; 0x80 to 0xFE = 1 to 127 minutes Barrier operation has exceeded physical mechanical limits. (For 67 example: barrier has opened past the open limit) Barrier unable to perform requested operation due to UL 68 requirements. Barrier Unattended operation has been disabled per UL requirements 69 Barrier failed to perform Requested operation, device malfunction 70 Barrier Vacation Mode. Event parameter value: 0=disabled, 71 0xFF=enabled Barrier Safety Beam Obstacle. Event parameter value: 0=no 72 obstruction, 0xFF=obstruction Barrier Sensor Not Detected / Supervisory Error. Event parameter 73 value: 0=sensor not defined, 1 to 0xFF=sensor ID Barrier Sensor Low Battery Warning. Event parameter value: 0=sensor 74 not defined, 1 to 0xFF=sensor ID Barrier detected short in Wall Station wires 75 Barrier associated with non-Z-Wave remote control 76 silabs.com | Building a more connected world. Page 23 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Burglar alarm Intrusion detected with location. 1 Intrusion detected. 2 Tampering, product covering removed. 3 Tampering, Invalid Code. 4 Glass breakage detected with location. 5 Glass breakage detected. 6 Motion detected with location info. 7 Motion detected with unknown location info. 8 Power Power has been applied. 1 management AC mains disconnected. 2 alarm AC mains re-connected. 3 Surge Detection. 4 Voltage Drop/Drift detected. 5 Over-current detected. 6 Over-voltage detected. 7 Over-load detected. 8 Load error. 9 Replace battery soon. 10 Replace battery now. 11 Battery is charging. 12 Battery is fully charged. 13 Charge battery soon. 14 Charge battery now. 15 Back-up battery is low 16 Battery fluid is low 17 System alarm System hardware failure. 1 System software failure. 2 System hardware failure with OEM proprietary failure code. 3 System software failure with OEM proprietary failure code. 4 Emergency alarm Contact police. 1 Contact fire service. 2 Contact medical service. 3 Alarm clock Wake up. 1 Timer ended. 2 Time remaining. Event parameter value (3 bytes): byte-0 unit = hours, 3 byte-1 unit = minutes, byte-2 unit = seconds Barrier Barrier performing Initialization process. 64 Barrier operation (Open / Close) force has been exceeded. 65 Barrier motor has exceeded manufacturer's operational time limit. 66 Barrier operation has exceeded physical mechanical limits. (For 67 example, barrier has opened past the open limit.) Barrier unable to perform requested operation due to UL 68 requirements. Barrier Unattended operation has been disabled per UL requirements. 69 silabs.com | Building a more connected world. Page 24 of 224 INS14416-10 Appliance Home Health Siren Water Valve Z-Ware SDK 7.13.0 Library C API Reference Manual Barrier failed to perform Requested operation, device malfunction. Barrier Vacation Mode. Barrier Safety Beam Obstacle. Barrier Sensor Not Detected / Supervisory Error. Barrier Sensor Low Battery Warning. Barrier detected short in Wall Station wires. Barrier associated with non-Z-Wave remote control. Program started. Program in progress. Program completed. Replace main filter. Failure to set target temperature. Supplying water. Water supply failure. Boiling. Boiling failure. Washing. Washing failure. Rinsing. Rinsing failure. Draining. Draining failure. Spinning. Spinning failure Drying Drying failure. Fan failure. Compressor failure. Leaving Bed. Sitting on bed. Lying on bed. Posture changed. Sitting on edge of bed. Volatile Organic Compound level. Event parameter value (pollution level):1=clean, 2=Slightly polluted, 3=Moderately polluted, 4=Highly polluted Sleep apnea detected. Event parameter value (breath level): 1=low breath, 2=No breath at all Sleep stage 0 detected: Dreaming/REM Sleep stage 1 detected: Light sleep, non-REM 1 Sleep stage 2 detected: Medium sleep, non-REM 2 Sleep stage 3 detected: Deep sleep, non-REM 3 Siren Active. Valve Operation. Event parameter value: 0=closed, 1=open 2019-12-06 70 71 72 73 74 75 76 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 1 1 silabs.com | Building a more connected world. Page 25 of 224 INS14416-10 Weather Irrigation Gas Pest Control Light Sensor Water Quality Monitoring Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Master Valve Operation. Event parameter value: 0=closed, 1=open 2 Valve Short Circuit. 3 Master Valve Short Circuit. 4 Valve Current Alarm. Event parameter value: 1=no data, 2=below low 5 threshold, 3=above high threshold, 4=max Master Valve Current Alarm. Event parameter value same as Valve 6 Current Alarm Rain. 1 Moisture. 2 Freeze 3 Schedule Started. Event parameter value is schedule ID 1 Schedule Finished. Event parameter value is schedule ID 2 Valve Table Run Started. Event parameter value is valve table ID 3 Valve Table Run Finished. Event parameter value is valve table ID 4 Device is not Configured. 5 Combustible Gas detected with location info. 1 Combustible Gas detected with unknown location info. 2 Toxic Gas detected with location info. 3 Toxic Gas detected with unknown location info. 4 Gas Alarm Test. 5 Replacement Required. 6 Trap armed with location info 1 Trap armed 2 Trap re-arm required with location info 3 Trap re-arm required 4 Pest detected with location info 5 Pest detected 6 Pest exterminated with location info 7 Pest exterminated 8 Light detected 1 Light color transition detected 2 Chlorine alarm. Event parameter value: 1=Below low threshold, 1 2=Above high threshold Acidity (pH). Event parameter value: 1=Below low threshold, 2=Above 2 high threshold, 3=Decreasing pH, 4=Increasing pH Water Oxidation alarm. Event parameter value: 1=Below low 3 threshold, 2=Above high threshold Chlorine empty 4 Acidity empty 5 Waterflow measuring station shortage detected 6 Waterflow clear water shortage detected 7 Disinfection system error detected. Event parameter value (bit-mask): 8 bit 0~3: System 1~4 disorder detected, bit 4~7: System 1~4 salt shortage silabs.com | Building a more connected world. Page 26 of 224 INS14416-10 Home Monitoring Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Filter cleaning ongoing. Event parameter value: 1~255= Filter number 9 Heating operation ongoing 10 Filter pump operation ongoing 11 Freshwater operation ongoing 12 Dry protection operation active 13 Water tank is empty 14 Water tank level is unknown 15 Water tank is full 16 Collective disorder 17 Home occupied with location info 1 Home occupied 2 Table 48 Z-Wave Alarm/Notification Event Parameter Type Z-Wave Alarm/Notification Event Parameter Type ZW_ALRM_PARAM_LOC ZW_ALRM_PARAM_USRID ZW_ALRM_PARAM_OEM_ERR_CODE ZW_ALRM_PARAM_PROPRIETARY ZW_ALRM_PARAM_EVENT_ID ZW_ALRM_PARAM_UNKNOWN Description # Node location UTF-8 string (NULL 1 terminated). User ID. 1 or 2 bytes long; if 2 bytes, the first 2 byte is the MSB OEM proprietary system failure code. 3 Proprietary event parameters. 4 Event ID which is no more active. 5 Unknown alarm event parameters. It could 255 be from a higher version of CC, or the device violates the spec and send parameters when Spec does not define. Alarm Sensor Type Table 49 Alarm Sensor Type Description ZW_ALRM_SNSR_TYPE_GP ZW_ALRM_SNSR_TYPE_SMOKE ZW_ALRM_SNSR_TYPE_CO ZW_ALRM_SNSR_TYPE_CO2 ZW_ALRM_SNSR_TYPE_HEAT ZW_ALRM_SNSR_TYPE_WATER_LEAK General Purpose Alarm Smoke Alarm CO Alarm CO2 Alarm Heat Alarm Water Leak Alarm Assigned Number 0 1 2 3 4 5 Table 50 Thermostat Setpoint Types: ZW_THRMO_SETP_TYP_XXX Thermostat Setpoint Type ZW_THRMO_SETP_TYP_HEATING ZW_THRMO_SETP_TYP_COOLING ZW_THRMO_SETP_TYP_FURNACE ZW_THRMO_SETP_TYP_DRY Description Heating Cooling Furnace Dry air Assigned Number 1 2 7 8 silabs.com | Building a more connected world. Page 27 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual ZW_THRMO_SETP_TYP_MOIST ZW_THRMO_SETP_TYP_AUTO_CHANGEOVER ZW_THRMO_SETP_TYP_ENE_SAVE_HEAT ZW_THRMO_SETP_TYP_ENE_SAVE_COOL ZW_THRMO_SETP_TYP_AWAY_HEAT ZW_THRMO_SETP_TYP_AWAY_COOL ZW_THRMO_SETP_TYP_FULL_POWER Moist air Auto changeover Energy Save Heating Energy Save Cooling Away heating Away cooling Full power Thermostat Setpoint Unit ZW_THRMO_SETP_UNIT_C ZW_THRMO_SETP_UNIT_F Table 51 Thermostat Setpoint Unit Description Celsius Fahrenheit 2019-12-06 9 10 11 12 13 14 15 Assigned Number 0 1 Table 52 Door Lock Operation Mode Door lock Operation Mode ZW_DOOR_UNSEC ZW_DOOR_UNSEC_TMOUT ZW_DOOR_UNSEC_IN ZW_DOOR_UNSEC_IN_TMOUT ZW_DOOR_UNSEC_OUT ZW_DOOR_UNSEC_OUT_TMOUT ZW_DOOR_SEC Description Door unsecured. Door unsecured with timeout. Fallback to secured mode after timeout has expired. Door unsecured for inside door handles. Door unsecured for inside door handles with timeout. Door unsecured for outside door handles. Door unsecured for outside door handles with timeout. Door secured. Assigned Number 0 1 16 17 32 33 255 Door lock Operation Type ZW_DOOR_OP_CONST ZW_DOOR_OP_TIMED Table 53 Door lock Operation Type Description Constant operation. Timed operation. Assigned Number 1 2 Attribute dev_ent ep_ent if_ent Type unsigned unsigned unsigned Table 54 dev_cfg_error_t Structure I/O Description O Device entry number (starting from 1) O Endpoint entry number (starting from 1) O Interface entry number (starting from 1) silabs.com | Building a more connected world. Page 28 of 224 INS14416-10 4.2 zwdev_cfg_free Z-Ware SDK 7.13.0 Library C API Reference Manual Free device-specific configuration records. Table 55 zwdev_cfg_free Parameters Attribute Type records dev_rec_t * record_cnt int I/O Description I Device specific configuration records I Number of records stored in "records" array 2019-12-06 4.3 zwdev_global_sett_free Free device global settings. Table 56 zwdev_global_sett_free Parameters Attribute Type global_sett dev_global_sett_t * global_sett_cnt uint16_t I/O Description I Device setting records I Number of records stored in " global_sett" array 4.4 zwdev_cfg_find Search for a match in device-specific configuration records. Table 57 zwdev_cfg_find Parameters Attribute srch_key records Type dev_rec_srch_key_t * dev_rec_t * record_cnt int matched_rec dev_rec_t * Return int I/O Description I Search key I Device-specific configuration records sorted according to manufacturer ID, product type ID, and product ID. I Number of records stored in "records" array. O The matched record; either exact match or partial match as explained in the note below. Note: This function supports "don't care" cases in devicespecific configuration records. The search priority is as follows (in the format (Manf ID, Product Type, Product ID)) : (V, V, V), (V, V, X), (V, X, X), (X, X, X) where V="valid value" and X="don't care". O Non-zero if a match is found; else returns zero. Attribute vid ptype pid Type uint32_t uint32_t uint32_t Table 58 dev_rec_srch_key_t Structure I/O Description O Vendor or Manufacturer ID O Product Type ID O Product ID silabs.com | Building a more connected world. Page 29 of 224 INS14416-10 5 Network API Z-Ware SDK 7.13.0 Library C API Reference Manual The network is seen through the eyes of a ZIPGW attached controller. 2019-12-06 5.1 Discovering ZIPGWs 5.1.1 zwnet_gw_discvr_start This call starts a network scanning for ZIPGW IP addresses using the ZIPGW Discovery protocol. Once the scanning is done, the result will be available through a callback function. Take note that this function can be called without calling the zwnet_init function first. Table 59 zwnet_gw_discvr_start Parameters Attribute Type I/O Description cb zwnet_gw_discvr_cb_t I Callback function when the scanning has completed. usr_param void * I User-defined parameter used in callback function. ipv4 int I Flag to indicate whether to use IPv4 as transport IP protocol. 1= use IPv4; 0= use IPv6. use_mdns int I Flag to indicate whether to use MDNS for gateway discovery. Note: MDNS gateway discovery is only supported in ZIPGW version 2. return void * O Context on success, NULL on failure. Caller is required to call zwnet_gw_discvr_stop() with the returned context if it is not null. Attribute Type gw_addr uint8_t * gw_cnt ipv4 uint8_t int usr_param void * rpt_num int total_rpt int gw_name char * * Table 60 zwnet_gw_discvr_cb_t Parameters I/O Description I Gateway addresses. If the ipv4 flag is set, each gateway address is 4- bytes long; otherwise, each gateway address is 16-bytes long. I Number of gateway addresses returned in gw_addr. I Flag to indicate the gw_addr parameter is IPv4 or IPv6. 1=IPv4; 0=IPv6. I User-defined parameter passed when calling zwnet_gw_discvr_start(). I Report number that this callback is delivering the gateway addresses report; start from 1. I Total reports that will be delivered by callbacks. Each callback delivers one report. Zero is returned if there is no valid IP to facilitate gateway discovery. I Gateway names corresponding to the gw_addr. If NULL, it means gateway name information is unavailable. silabs.com | Building a more connected world. Page 30 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 5.1.2 zwnet_gw_discvr_stop This call stops the network scanning for ZIPGW IP addresses and frees the resources used in network scanning. Take note that this function should not be called in the callback function that was passed to the zwnet_gw_discvr_start function as parameter cb. Table 61 zwnet_gw_discvr_stop Parameters Attribute Type ctx void * return int I/O Description I The context returned from the call to zwnet_gw_discvr_start(). O Zero on success, non-zero on failure. 5.2 Network Initialization and Clean up 5.2.1 zwnet_init This call runs a state-machine to acquire the ZIPGW attached controller's Home ID, Node ID, HAN address, and node list of the HAN. An internal network data structure is created and initialized with each of the node IDs found in the acquired node list. A user application could get access to the controller Home ID and Node ID by calling zwnet_get_desc API only after the zwnet_notify_fn callback function returns status is ZW_ERR_NONE. To populate the internal network data structure with endpoints and interfaces, this API tries to retrieve the node information from an internally maintained database. For those nodes found in the controller routing table but without corresponding node information in the database, the node information statemachine is invoked to get the information (CCs supported, CC version, node name and location, manufacturer ID, product type ID, product ID and multi-instance/channel endpoints, etc.) directly from the node device. Table 62 zwnet_init Parameters Attribute init net return Type zwnet_init_t * zwnet_t ** int I/O Description I User filled initialization information. O Handle to network for use in other zwnet_xxx API calls. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute user host_port use_ipv4 zip_router notify node appl_tx Table 63 zwnet_init_t Structure Type void * uint16_t Int uint8_t[16] zwnet_notify_fn zwnet_node_fn zwnet_appl_fn I/O Description I User context used in callbacks. I Host listening and sending port. I Flag to indicate whether to use IPv4 as transport IP protocol. 1=use IPv4; 0=use IPv6. I ZIPGW (gateway) IPv4/IPv6 address in numeric format. I Network operation notification. I Node add/delete/status callback. I Application transmit data status callback. silabs.com | Building a more connected world. Page 31 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 inif_cb pl_info_fn I unhandled_cmd print_txt_fn portal_fd# zwnet_unhandled_cmd_fn I print_fn I int I portal_ssl# void * I display_ctx# void * I net_err# zwnet_net_err_fn I portal_prof# clnt_prof_t I net_info_dir const char * I pref_dir const char * I dev_cfg_file const char * I cmd_cls_cfg_file const char * I dev_cfg_usr dev_cfg_usr_t * I err_loc dev_cfg_error_t O sup_cmd_cls sup_cmd_cls_t * I sup_cmd_cls_cnt uint8_t I s2_unsolicited_cb add_node_sec2_fn I Unsolicited included node information frame (INIF) callback when a Smart Start device (which has joined a foreign network but is listed in the local provisioning list) is powering up. Unhandled command callback. Print text function pointer. Network file descriptor to connect to ZIPGW using TLS. SSL object pointer to connect to ZIPGW using TLS. Display context for the print_txt_fn. Unrecoverable network error callback, application should close this instance of Z-Ware object, i.e. call zwnet_exit(). Profile of the ZIPGW that is connected to the portal. Full path of directory for storing network and node information file (a.k.a. network persistent storage). The file is generated by the library with filename in the format "nifXXXXXXXX.dat", where XXXXXXXX denotes Z-Wave network home ID. Full path of directory for storing network/user preference files. Device-specific configurations file (a.k.a device database) in JSON format. If it is NULL, devicespecific configurations will be managed by user application. In this case, dev_cfg_usr must be valid. Optional CC configuration file. Enable specific CC probing after a new node inclusion and during background polling. If NULL, ALL supported CCs are enabled. The current supported CC configuration file is distributed in the "config" folder of the source distribution with the name "cmd_class.cfg". Device-specific configurations (managed by user application). If it is NULL, device-specific configurations will be managed by Z-Ware Library internally. In this case, dev_cfg_file must be valid. Error location while parsing device-specific configuration file. Note: The error is not due to JSON format parsing error. User application implemented CCs.NOTE: if the controller has already implemented the CC, the user's request for that CC will be ignored. User application implemented CCs count. Callback to report unsolicited joining device requested keys and/or status of Device Specific Key (DSK) silabs.com | Building a more connected world. Page 32 of 224 INS14416-10 dtls_psk* dtls_psk_len* Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 uint8_t[32] uint8_t I DTLS pre-shared key in binary format, MUST be at least 16 bytes. I DTLS pre-shared key length (bytes). If length is zero, no DTLS will be used, i.e., communication will be insecured. Note: Attributes marked with (#) are only available for the Portal version; whereas those marked with (*) are only available for the CE version. Typical zwnet operations take in the network handle returned from this call and return the success status of the operation as show in the table below. The parameters for such operations are not further documented. Table 64 dev_cfg_usr_t Structure Attribute Type I/O Description dev_rec_find_fn zwnet_dev_rec_find_fn O User-supplied function to find device record dev_cfg_ctx void * O User-specified device configuration context for use in dev_rec_find_fn dev_glob_sett dev_global_sett_t * O Optional device global settings global_sett_cnt uint16_t O Global settings count in dev_glob_sett Table 65 zwnet_dev_rec_find_fn Parameters Attribute dev_cfg_ctx srch_key matched_rec Type void * dev_rec_srch_key_t * dev_rec_t * return int I/O Description I User-specified device configuration context. I Search key. O The matched record; either exact match or partial match as explained in the note below. Note: This function supports "don't care" cases in devicespecific configuration records. The search priority is as follows (in the format (Manf ID, Product Type, Product ID)): (V, V, V), (V, V, X), (V, X, X), (X, X, X) where V="valid value"; X="don't care". O Non-zero if a match is found; else returns zero. Attribute type sett wkup_intv Type uint16_t union uint32_t Table 66 dev_global_sett_t Structure I/O Description O Setting type, GLOB_SET_TYPE_XXX: XXX Description WKUP_INTV Wakeup interval to set for a newly added sleeping node. O Settings as indicated by setting type; union of the following: For GLOB_SET_TYPE_WKUP_INTV silabs.com | Building a more connected world. Page 33 of 224 INS14416-10 Attribute Type I/O net zwnet_t * I return int O Z-Ware SDK 7.13.0 Library C API Reference Manual Table 67 zwnet_xxx Generic Parameters Description Network handle from zwnet_init ZW_ERR_XXX 2019-12-06 Attribute user src_node src_ep cmd cmd_len Type void * uint8_t uint8_t uint8_t * Uint16_t Table 68 zwnet_unhandled_cmd_fn Parameters I/O Description I User context I Source node ID I Source endpoint ID I Buffer that stores the unhandled command I Length of the unhandled command Attribute cls ver propty Type uint16_t uint8_t uint8_t Table 69 sup_cmd_cls_t Structure I/O Description O CC O Version of the CC O Properties of the interface (bit-mask): BITMASK_CMD_CLS_XXX BITMASK_CMD_CLS_INSECURE CC is insecure BITMASK_CMD_CLS_SECURE CC is secure Attribute Type user void * op uint8_t Table 70 zwnet_notify_fn Parameters I/O Description I from zwnet_init I operation ZWNET_OP_XXX XXX Description NONE Idle. INITIALIZE Initializing local Z/IP controller. ADD_NODE Adding a node. RM_NODE Removing a node. RP_NODE Replacing a failed node. RM_FAILED_ID Removing a failed node. INITIATE Initiating in response to or anticipation of some operation. UPDATE Updating network topology from SUC/SIS. RESET Restoring ZIPGW attached controller to factory default settings. NODE_UPDATE Updating node information. MIGRATE Migrating primary controller. SEND_NIF Sending node information frame. NW_CHANGED Network change detection. NODE_CACHE_UPT Update node cached info. (Internally used; application won't receive this notification.) silabs.com | Building a more connected world. Page 34 of 224 INS14416-10 sts uint16_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 SAVE_NW Save network and node information to persistent storage. (Internally used; application won't receive this notification.) SLP_NODE_POLL Sleeping device node information polling. (Internally used; application won't receive this notification.) FW_UPDT Firmware update. HEALTH_CHK Network health check. NODE_RESET Remove node which has been reset. FW_DOWNLD Firmware download I Status of current operation. When upper-byte is zero, the lower byte is the current status of the operation (see table below). When upper-byte is non- zero, it represents the total number of nodes to get detailed node information, while the lower-byte represents the number of nodes that have completed getting detailed node information. Operation: Status Description ZWNET_OP_ OP_ All DONE Operation completed. FAILED Operation failed. ADD_NODE ADD_NODE_PROTOCOL_DONE Protocol part done. ADD_NODE_GET_NODE_INFO Getting node detailed information. ADD_NODE_PROTOCOL_START Smart Start add node Z-Wave protocol started. RP_NODE RP_NODE_PROTOCOL_DONE Protocol part done. RP_NODE_GET_NODE_INFO Getting node detailed information. INITIATE INI_PROTOCOL_DONE Protocol part done. INI_GET_NODE_INFO Getting node detailed information. UPDATE NU_TOPOLOGY Network topology update started. NU_NEIGHBOR Node neighbor update started. NU_GET_NODE_INFO Node information update started. FW_UPDT FW_UPLOAD_STARTED Uploading firmware to device started. FW_UPLOADING Uploading firmware to device in progress. HEALTH_CHK HEALTH_CHK_STARTED Network health check started. silabs.com | Building a more connected world. Page 35 of 224 INS14416-10 info zwnet_sts_t I * ret int I Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 HEALTH_CHK_PROGRESS Network health check in progress. HEALTH_CHK_CMPLT Network health check completed. FW_DOWNLD FW_DOWNLD_STARTED Downloading firmware from device (for backup purposes) has started. FW_DOWNLOADING Downloading firmware from device in progress. Additional information for the specified op and sts; NULL if there is no additional info. For a cross reference of this additional information to the network op and sts, see table "Additional Info Associated to Network Op and Status" ZW_ERR_XXX. Attribute type info Type int union Table 71 zwnet_sts_t Structure I/O Description O Type of info, ZWNET_STS_INFO_XXX. See the description in "info" below. O Union of the following as indicated by "type": Description For type = ZWNET_STS_INFO_XXX s2_dsk char [] progress_percent uint8_t health_chk_progress zw_health_prg_t health_chk_rpt zw_health_rpt_t node_id uint8_t nw_change_updt_sts uint8_t progress_bytes uint32_t The S2 DSK associated with the Smart Start adding node protocol started status. Firmware update progress in % Network health check progress Network health check completion report Node ID involved in the corresponding network operation Network change/update status, NW_CHG_UPDT_XXX Firmware download progress in number of bytes downloaded SS_START FW_UPDT_PRG HEALTH_CHK_PRG HEALTH_CHK_RPT NODE_ID NW_CHANGE_UPDT FW_DL_PRG Network change/update status Table 72 NW_CHG_UPDT_XXX Description silabs.com | Building a more connected world. Page 36 of 224 INS14416-10 NW_CHG_UPDT_NONE NW_CHG_UPDT_NW_ID NW_CHG_UPDT_CTLR Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 No change in network id and controller Network id has changed. Application needs to refresh the network structure Z-Wave controller has changed. Application needs to call zwnet_get_desc API to refresh controller's properties. Attribute node_cnt total Type uint8_t uint8_t Table 73 zw_health_prg_t Structure I/O Description O Number of health check completed nodes O Total number of nodes scheduled for health check Attribute sts_cnt sts Table 74 zw_health_rpt_t Structure Type uint8_t zw_health_sts_t [] I/O Description O Total number of node health status in the array O Node health status array Attribute node_id sts_cat Type uint8_t uint8_t value uint8_t Table 75 zw_health_sts_t Structure I/O Description O Node ID O Status category derived from network health value: NW_HEALTH_XXX Description GREEN Network health is good. YELLOW Network health is acceptable, but latency can be observed occasionally. RED Network health is insufficient because frames are dropped. CRITICAL Network health is critical because Z-Wave node is not responding at all. O Calculated network health value. Table 76 Additional Information Associated to Network Op and Status Additional Information Type, ZWNET_STS_INFO_XXX SS_START FW_UPDT_PRG HEALTH_CHK_PRG HEALTH_CHK_RPT NODE_ID Network Operation, ZWNET_OP_XXX ADD_NODE FW_UPDT HEALTH_CHK HEALTH_CHK NODE_RESET, RM_NODE, RM_FAILED_ID Status OP_XXX ADD_NODE_PROTOCOL_START FW_UPLOADING HEALTH_CHK_PROGRESS HEALTH_CHK_CMPLT DONE, FAILED silabs.com | Building a more connected world. Page 37 of 224 INS14416-10 NW_CHANGE_UPDT FW_DL_PRG Z-Ware SDK 7.13.0 Library C API Reference Manual ADD_NODE, RP_NODE, NODE_UPDATE NW_CHANGED, UPDATE FW_DOWNLD DONE DONE FW_DOWNLOADING 2019-12-06 Attribute user node status Type void * zwnoded_t * uint8_t Table 77 zwnet_node_fn Parameters I/O Description I From zwnet_init I Node descriptor of the node that was added, removed, or updated I Status, ZWNET_NODE_XXX ZWNET_NODE_XXX Description ADDED Node was added. Application can retrieve detailed node information now. REMOVED Node was removed. UPDATED Node was updated. Application can retrieve updated detailed node information now. STATUS_ALIVE Node status has changed to "alive" STATUS_DOWN Node status has changed to "down" STATUS_SLEEP Node status has changed to "sleeping" RESET Received notification from node that it has been reset Table 78 zwnet_appl_fn Parameters Attribute Type I/O Description user void * I From zwnet_init tx_sts uint8_t I Transmission status ZWNET_TX_XXX OK Successful. NO_ACK Send frame timeout due to no ACK received. SYS_ERR System error, the program should exit or restart. DEST_BUSY NOROUTE Message has not timed out yet. The destination host may have a long response time (e.g. sleeping node). Frame failed to reach destination host. Attribute usr_ctx lst_ent Table 79 pl_info_fn Parameters Type void * struct pl_lst_ent * I/O Description I User context I Provisioning list entry Table 80 zwnet_net_err_fn Parameters silabs.com | Building a more connected world. Page 38 of 224 INS14416-10 Attribute Type user void * Z-Ware SDK 7.13.0 Library C API Reference Manual I/O Description I User context which was passed to zwnet_init Attribute Type msg void * Table 81 print_fn Parameter I/O Description I Pointer to text messages Attribute dev_cfg_ct x vid ptype pid dev_rec return Type void * uint16_t uint16_t uint16_t dev_rec_t * int Table 82 zwnet_dev_rec_find_fn Parameter I/O Description I User-specified device configuration context. I Vendor or Manufacturer ID. I Product Type ID. I Product ID. O Device record found. O Non-zero on found; zero on not found. 2019-12-06 5.2.2 zwnet_exit Clean up network and save detailed node information into file. Table 83 zwnet_exit Parameters Attribute net Type zwnet_t * I/O Description I Network handle from zwnet_init 5.2.3 zwnet_reset Reset the state of the ZIPGW attached controller, losing all network information. Upon completion, it will get the controller's node information. 5.3 Network Creation 5.3.1 zwnet_add Called by the inclusion controller to add/remove an initiating node to/from the network. On successful addition, the new node is queried for its endpoints and interfaces, secure and otherwise. If the interfaces are type sensor, the new node will be configured based on either the settings passed during network initialization or the default values. It should result in callbacks to zwnet_node_fn followed by zwnet_notify_fn. Table 84 zwnet_add Parameters Attribute net Type zwnet_t * I/O Description I Network handle from zwnet_init. silabs.com | Building a more connected world. Page 39 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 add uint8_t I sec2_param sec2_add_prm_t * I incl_on_behalf int I return int O Operation 0 Remove. 1 Add. Parameters for adding node with Security 2 protocol. This parameter is ignored when non-security 2 ZIPGW is detected or when removing a node. Flag to indicate enter into inclusion on-behalf (iob) mode; 1=enter into iob mode, 0=normal add node. This parameter is ignored when parameter add = 0 (i.e. remove node). ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 85 sec2_add_prm_t Structure Attribute usr_param cb dsk Type I/O void * O add_node_sec2_fn O char * O Description User-defined parameter used in callback. Callback to report joining device requested keys and/or status of Device Specific Key (DSK). Optional Device Specific Key (DSK) of the joining node for verification. Note that, if this is not NULL, no DSK callback will be executed. The format of the DSK must be as shown in the example: 3402823669-20938-46346-33746-07431-56821-14553 Attribute usr_param cb_param Table 86 add_node_sec2_fn Parameters Type I/O void * I sec2_add_cb_prm_t I * Description User-supplied parameter when calling zwnet_add or zwnet_fail DSK related callback parameters Attribute cb_type req_key dsk Table 87 sec2_add_cb_prm_t Structure Type I/O Description uint8_t O Callback type as in S2_CB_TYPE_XXX : XXX Description REQ_KEY Joining device requested keys DSK Joining device DSK keys sec2_keys_req_cb_prm_t O For cb_type=S2_CB_TYPE_REQ_KEY; the joining device requested keys and CSA request sec2_dsk_cb_prm_t O For cb_type=S2_CB_TYPE_DSK; the joining device DSK keys Attribute req_keys Type uint8_t Table 88 sec2_keys_req_cb_prm_t Structure I/O Description O Requested keys (bit mask) by the joining node. silabs.com | Building a more connected world. Page 40 of 224 INS14416-10 req_csa csa_pin uint8_t char [12] Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Flag to indicate joining node is requesting Client-side Authentication (CSA). O CSA 10-digit PIN to be entered into the joining node if req_csa is non-zero. Example: 34028-23669 (Note: The hyphen is for display purposes, it is not part of the PIN.) Attribute Type pin_required uint8_t dsk char * Table 89 sec2_dsk_cb_prm_t Structure I/O Description O Indicate whether the user is required to enter five-digit pin. 1=required; 0=not required. O Device Specific Key (DSK) of the joining node for user to verify. Note that the first five digits of DSK are missing if pin_required=1. Example of complete DSK: 34028-23669-20938-46346-33746-07431-56821-14553 Example of DSK with first five digits missing: -23669-20938-46346-33746-07431-56821-14553 5.3.2 Secure Inclusion 5.3.2.1 zwnet_add_sec2_accept Accept or reject newly added node into Security 2 mode. This function should be called only after receiving Security 2 DSK callback during add or replace failed node operation. Table 90 zwnet_add_sec2_accept Parameters Attribute net accept dsk Type zwnet_t * int char * return int I/O Description I Network handle. I 1=accept; 0=reject. I Complete Device Specific Key (DSK) of the added node if accept=1; else this can be NULL. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.3.2.2 zwnet_add_sec2_grant_key Grant keys and CSA to the newly added node in Security 2 mode. This function should be called only after receiving Security 2 requested keys callback during add or replace failed node operation. Note that it is possible to not grant any key and yet to accept S2 bootstrapping, i.e. granted_keys=0 and accept_s2=1. Table 91 zwnet_add_sec2_grant_key Parameters Attribute net Type zwnet_t * I/O Description I Network handle silabs.com | Building a more connected world. Page 41 of 224 INS14416-10 granted_keys uint8_t grant_csa accept_s2 uint8_t uint8_t return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Bit mask of zero or more security 2 granted keys as in SEC_KEY_BITMSK_XXX XXX Description S2_K0 S2: Class key 0 (Unauthenticated devices) S2_K1 S2: Class key 1 (Authenticated devices) S2_K2 S2: Class key 2 (Access control devices) S0 S0: Legacy security network key I Grant client-side authentication (CSA); 1=grant, 0=reject. If joining node didn't request CSA, it is ignored. I Acceptance of S2 bootstrapping process; 1=S2 bootstrapping is accepted and MUST continue, 0=S2 bootstrapping is not accepted and MUST be interrupted O ZW_ERR_NONE on success; else ZW_ERR_XXX 5.3.3 SmartStart Provisioning 5.3.3.1 zwnet_pl_add Add a provisioning list entry. Attribute net dsk Type zwnet_t * char * info pl_info_t * info_cnt return uint8_t int Table 92 zwnet_pl_add Parameters I/O Description I Network handle. I Device Specific Key (DSK). The format of the DSK must be eight groups of five digits separated by '-' as shown in the example: 34028-23669-20938-46346-33746-07431-56821-14553 I Buffer to store additional information of the device (optional). Information type PL_INFO_TYPE_NW_STS must not be used in this function. I Number of additional information stored in "info". O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute type Type uint8_t Table 93 pl_info_t Structure I/O Description O Information type, PL_INFO_TYPE_XXX XXX Description PROD_TYPE Product type PROD_ID Product ID INC_INTV Smart Start inclusion request interval used by the node UUID16 UUID assigned to the node NAME Device name LOC Device location INCL_STS Inclusion status of the provisioning list entry silabs.com | Building a more connected world. Page 42 of 224 INS14416-10 info name loc prod_type prod_id interval uuid nw_sts incl_sts Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 union char [63] char [63] pl_prod_type_t pl_prod_id_t uint8_t pl_uuid_t pl_nw_sts_t uint8_t S2_GRNT S2 keys to be granted BOOT_MODE Bootstrapping mode NW_STS Network status of the provisioning list entry O Provisioning list entry information. The union of the following: O For type PL_INFO_TYPE_NAME; device name string in UTF-8 encoding which must be compliant with the following rules: The combined "name" and "loc" strings MUST NOT be longer than 62 bytes (excluding NUL terminating char) The escape sequence "\." (backslash followed by dot) must be used for encoding the dot character '.' MUST NOT contain the underscore character '_' MUST NOT end with the dash character '-' MUST be case insensitive O For type PL_INFO_TYPE_LOC; device location string in UTF-8 encoding with same restrictions as "name" field. O For type PL_INFO_TYPE_PROD_TYPE; product type. O For type PL_INFO_TYPE_PROD_ID; product ID. O For type PL_INFO_TYPE_INC_INTV; Smart Start inclusion request interval in unit of 128 seconds. This field must have value ranging from 5 to 99. O For type PL_INFO_TYPE_UUID16; UUID assigned to the node as defined by IETF RFC 4122. O For type PL_INFO_TYPE_NW_STS; network status of the provisioning list entry. O For type PL_INFO_TYPE_INCL_STS; inclusion status of the provisioning list entry, PL_INCL_STS_XXX. XXX Description PENDING The node will be included in the network when it issues SmartStart inclusion requests. PASSIVE The node is in the Provisioning List, but it has been decided by the supporting or controlling node that the node is unlikely to issue SmartStart inclusion requests in the near future. SmartStart Inclusion requests will be ignored by the Z/IP Gateway. All entries with this status MUST be updated to the "Pending" status (PL_INCL_STS_PENDING) when a Provisioning List Iteration Get Command is received. IGNORED SmartStart inclusion requests sent by the node in the Provisioning List entry will be ignored until the status is changed again by a Z/IP Client or controlling node. silabs.com | Building a more connected world. Page 43 of 224 INS14416-10 grnt_keys uint8_t boot_mode uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O For type PL_INFO_TYPE_S2_GRNT; S2 keys to be granted, see SEC_KEY_BITMSK_XXX. O For type PL_INFO_TYPE_BOOT_MODE; Bootstrapping mode, as in PL_BOOT_MODE_XXX. XXX Description S2 The node MUST manually be set to Learn Mode and follow the S2 bootstrapping instructions (if any). SMART_STRT The node will be included and S2 bootstrapped automatically using the Smart Start functionality. Attribute generic_cls specific_cls icon_type Type uint8_t uint8_t uint16_t Table 94 pl_prod_type_t Structure I/O Description O Generic device class O Specific device class O Installer icon type Attribute manf_id prod_type prod_id app_ver app_sub_ver Type uint16_t uint16_t uint16_t uint8_t uint8_t Table 95 pl_prod_id_t Structure I/O Description O Manufacturer ID O Product type O Product ID O Application version O Application sub version Attribute pres_fmt Type uint16_t uuid uint8_t[16] Table 96 pl_uuid_t Structure I/O Description O Presentation format, as in UUID_PRES_XXX. XXX Description 32HEX 32 hex digits, no delimiters 16ASCII 16 ASCII chars, no delimiters SN_32HEX "sn:" followed by 32 hex digits, no delimiters SN_16ASCII "sn:" followed by 16 ASCII chars, no delimiters UUID_32HEX "UUID:" followed by 32 hex digits, no delimiters UUID_16ASCII "UUID:" followed by 16 ASCII chars, no delimiters RFC4122 RFC4122 compliant presentation (e.g., "58D5E212-165B-4CA0-909B-C86B9CEE0111") O UUID assigned to the node as defined by IETF RFC 4122. silabs.com | Building a more connected world. Page 44 of 224 INS14416-10 Attribute node_id Type uint8_t status uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 97 pl_nw_sts_t Structure I/O Description O NodeID that has been assigned to the Provisioning List entry during network inclusion. 0 indicates that the NodeID is not assigned. O network status of the Provisioning List entry, as in PL_NW_STS_XXX. XXX Description NOT_INCL The node in the Provisioning List is not currently included (added) in the network. ADDED The node in the Provisioning List is included in the network and is functional. FAILED The node in the Provisioning List has been included in the Z-Wave network but is now marked as failing. 5.3.3.2 zwnet_pl_get Get a provisioning list entry information through callback. Table 98 zwnet_pl_get Parameters Attribute net dsk Type zwnet_t * char * cb usr_ctx return pl_info_fn void * int I/O Description I Network handle. I Device Specific Key (DSK). The format of the DSK must be eight groups of five digits separated by '-' as shown in the example: 34028-23669-20938-46346-33746-07431-56821-14553 I Callback to report provisioning entry information. I User context used in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute usr_ctx lst_ent Table 99 pl_info_fn Parameters Type I/O void * I pl_lst_ent_t * I Description User context Provisioning list entry Attribute dsk Type char [48] info info_cnt pl_info_t[10] uint8_t Table 100 pl_lst_ent_t Structure I/O Description O Device Specific Key (DSK). The format of the DSK must be eight groups of five digits separated by '-' as shown in the example: 34028-23669-20938-46346-33746-07431-56821-14553 O Information of the device. O Number of information stored in "info". If zero, the dsk is not found in the provisioning list. silabs.com | Building a more connected world. Page 45 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 5.3.3.3 zwnet_pl_del Delete a provisioning list entry. Table 101 zwnet_pl_del Parameters Attribute net dsk Type zwnet_t * char * return int I/O Description I Network handle. I Device Specific Key (DSK). The format of the DSK must be eight groups of five digits separated by '-' as shown in the example: 34028-23669-20938-46346-33746-07431-56821-14553 O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.3.3.4 zwnet_pl_list_get Get all provisioning entries through callback. Table 102 zwnet_pl_list_get Parameters Attribute net cb usr_ctx return Type zwnet_t * pl_list_fn void * int I/O Description I Network handle. I Callback to report provisioning list entries. I User context used in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute usr_ctx pl_list ent_cnt lst_cmplt Table 103 pl_list_fn Parameters Type void * pl_lst_ent_t * uint8_t int I/O Description I User context. I Provisioning list. I Number of entries in provisioning list 'pl_list'. I Flag to indicate whether all the entries in 'pl_list' represent the whole list in ZIPGW. 1=all the entries have been retrieved from ZIPGW; 0=some of the entries were not retrieved due to error. 5.3.3.5 zwnet_pl_list_del Delete all provisioning list entries. Table 104 zwnet_pl_list_del Parameters Attribute Net return Type zwnet_t * int I/O Description I Network handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 46 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 5.4 Network Management 2019-12-06 5.4.1 zwnet_initiate Indicates willingness to add/remove itself to/from the network or become the new primary. This action is paired with a corresponding zwnet_add or zwnet_migrate from another controller. Upon completion, it will rebuild its internal network structure if it has been added into a new network. Table 105 zwnet_initiate Parameters Attribute net cb Type zwnet_t * get_dsk_fn usr_ctx return void * int I/O Description I Network handle. I Callback to report ZIPGW DSK when joining another S2 capable Z-Wave network. Note that the callback will not be invoked if the ZIPGW is not S2 capable or this API is invoked to leave a Z-Wave network. I User context used in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.4.2 zwnet_fail Called by the inclusion controller to replace/remove a failed node in the network. When replaced, information on the node will be refreshed. Table 106 zwnet_fail Parameters Attribute net nodeid replace Type zwnet_t * uint8_t uint8_t sec2_param sec2_add_prm_t * rplc_on_behalf int return int I/O Description I Network handle. I Failed node ID. This parameter is ignored when rplc_on_behalf = 1. I Operation 0 Remove. 1 Replace with a new initiating node. I Optional parameters for replacing node with Security 2 protocol. This parameter is ignored when removing failed node (i.e. replace = 0). I Flag to indicate enter into "replace failed node" on-behalf (rob) mode; 1=enter into rob mode, 0=normal replace failed node. This parameter is ignored when parameter replace = 0. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.4.3 zwnet_update This function updates network topology, routing table, and internal network data structures. As it may take several iterations to complete if there are nodes that are out of direct range, calling of this function should be scheduled at a time of low network activity. silabs.com | Building a more connected world. Page 47 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 5.4.4 zwnet_abort Abort current operation. The user should be aware that aborting certain network operations, such as add, replace, or joining/leaving a Z-Wave network depends on the stage at which the operation is aborted and hence the operation may not be undone completely. For example, once the callback function, zwnet_notify_fn, delivers the status of ADD_NODE_PROTOCOL_DONE, RP_NODE_PROTOCOL_DONE, or INI_PROTOCOL_DONE (for joining a network), the device has already been added to the Z-Wave network, and aborting the operation at this moment still results in the node being added. To undo the operation completely, the user needs to execute the remove node operation manually. Similarly, for leaving a Z-Wave network, if the callback function, zwnet_notify_fn, delivers the status of INI_PROTOCOL_DONE, the Z/IP gateway attached controller has already been removed from the Z-Wave network, and aborting the operation at this moment is considered too late. The user has to manually execute the API zwnet_initiate command to rejoin the Z-Wave network. 5.5 Network Attributes and Traversal 5.5.1 zwnet_get_desc Get the read-only network descriptor for node enumeration and other purposes. Table 107 zwnet_get_desc Parameters Attribute Type I/O net zwnet_t * I return zwnetd_t * O Description network handle from zwnet_init network descriptor Attribute id ctl_id ctl_role ctl_cap Type uint32_t uint8_t uint8_t uint8_t Table 108 zwnetd_t Structure I/O Description O Z-Wave Home ID O Z/IP controller node ID O Z/IP controller role. A bit-mask of ZWNET_CTLR_ROLE_XXX : ZWNET_CTLR_ROLE_PROXY Support Network Management Proxy ZWNET_CTLR_ROLE_INCL Support Network Management Inclusion ZWNET_CTLR_ROLE_PRI Support Network Management Primary O Z/IP controller capabilities. A bit-mask of ZWNET_CTLR_CAP_XXX: ZWNET_CTLR_CAP_S2 Support Security 2 protocol ZWNET_CTLR_CAP_INC_ON_BEHALF Support inclusion on-behalf ZWNET_CTLR_CAP_SMART_START Support Smart Start ZWNET_CTLR_CAP_IMA Support IMA (Z-Wave Network Installation and maintenance) ZWNET_CTLR_CAP_MULTICAST Support multicast addressing silabs.com | Building a more connected world. Page 48 of 224 INS14416-10 ctl_zw_role uint8_t user plt_ctx void * void * Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZWNET_CTLR_CAP_IDENTIFY Capable to identify itself (e.g. blinking a LED) O Z/IP controller Z-Wave role, ZW_ROLE_XXX: ZW_ROLE_UNKNOWN Unknown ZW_ROLE_SIS SIS ZW_ROLE_INCLUSION Inclusion controller ZW_ROLE_PRIMARY Primary controller ZW_ROLE_SECONDARY Secondary controller O User context which was passed to zwnet_init O Platform context for printing of output text messages 5.5.2 zwnet_version Get the home controller API version, subversion and patch version. Table 109 zwnet_version Parameters Attribute ver subver patch_ver Type uint8_t * uint8_t * uint8_t * I/O Description O Version O Sub version O Patch version 5.5.3 zwnet_get_node Get the first node (local controller) in the network. Table 110 zwnet_get_node Parameters Attribute net noded return Type zwnet_t * zwnoded_t * Int I/O Description I Network handle O Node handle O ZW_ERR_NONE on success; else ZW_ERR_XXX 5.5.4 zwnet_get_node_ by_id Get node with specified node ID in the network. Table 111 zwnet_get_node_by_id Parameters Attribute net nodeid noded Type zwnet_t * uint8_t zwnoded_t * return int I/O Description I Network handle. I Node ID. O Node descriptor (Can be NULL, if the purpose is to verify the existence of a node). O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 49 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 5.5.5 zwnet_get_ep_ by_id Get endpoint with specified node and endpoint ID in the network. Table 112 zwnet_get_ep_by_id Parameters Attribute net nodeid epid epd Type zwnet_t * uint8_t uint8_t zwepd_t * return int I/O Description I Network handle I Node ID I Endpoint ID O Endpoint descriptor (Can be NULL, if the purpose is to verify the existence of an endpoint). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.5.6 zwnet_get_if_ by_id Get interface with specified node, endpoint and interface id in the network. Table 113 zwnet_get_if_by_id Parameters Attribute net nodeid epid cls ifd Type zwnet_t * uint8_t uint8_t uint16_t zwifd_t * return int I/O Description I Network handle I Node ID. I Endpoint ID. I Interface ID (CC). O Interface descriptor (Can be NULL, if the purpose is to verify the existence of an interface). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.5.7 zwnet_all_node_sts_get Get all node status. Table 114 zwnet_all_node_sts_get Parameters Attribute Type net zwnet_t * node_sts_buf uint8_t * I/O Description I Network handle O Buffer (min. size of 233 bytes) to store all the node status. Individual node status (ZWNET_NODE_STS_XXX) can be accessed using the node ID as index to the buffer. ZWNET_NODE_STS_SLEEP Node is sleeping. ZWNET_NODE_STS_DOWN Node is down. ZWNET_NODE_STS_UP Node is alive. 5.5.8 zwnet_node_sts_get Get node status. Table 115 zwnet_node_sts_get Parameters silabs.com | Building a more connected world. Page 50 of 224 INS14416-10 Attribute net node_id return Type zwnet_t * uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual I/O Description I Network handle. I Node ID (ranging from 1 to 232). O Node status (ZWNET_NODE_STS_XXX). 2019-12-06 5.6 Advanced Network APIs These are APIs that are not required for normal operation but are provided for special purposes. 5.6.1 zwnet_migrate This API is called by the primary controller to transfer its primary controller role to another initiating controller. The initiating controller must not be currently part of this network if it runs on older firmware, and a new node will be created with similar effect as with zwnet_add. With current firmware, the initiating controller can be a secondary controller in the network; in this case, no new node is created. Upon completion, the controller invoking this function will become the secondary controller. It will then get node information from the new primary controller and resolve the primary controller node ID into the IPv6 address. 5.6.2 zwnet_initiate_classic This API is provided mainly for backward compatibility with older Z-Wave controllers that support only classic learn mode. For description and usage, please refer to the previous section, zwnet_initiate. Table 116 zwnet_initiate_classic Parameters Attribute net cb Type zwnet_t * get_dsk_fn usr_ctx return void * int I/O Description I Network handle. I Callback to report ZIPGW DSK when joining another S2 capable Z-Wave network. Note that the callback will not be invoked if the ZIPGW is not S2 capable or this API is invoked to leave a Z-Wave network. I User context used in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.6.3 zwnet_health_chk Start network health check on all but sleeping nodes. This is part of the Installation and Maintenance (IMA) utility function. It is recommended that the network health check be run during the period when there are few or no network activities running as the process may take a long time to complete. 5.6.4 zwnet_identify Instruct the controller to identify itself (for example, by blinking an LED in a specific manner). This API is used to support Z-Wave Plus v2 node (including Z/IP gateway controller node), which must have a silabs.com | Building a more connected world. Page 51 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 visible LED to be used for an Identify function. If the node is itself a light source, e.g., a light bulb, this may be used in place of a dedicated LED. 5.6.5 zwnet_get_user Get the user context associated with the network handle. Table 117 zwnet_get_user Parameters Attribute Type I/O net zwnet_t * I return void * O Description Network handle from zwnet_init. User context that was passed as parameter when calling zwnet_init. 5.6.6 zwnet_send_nif Send node information frame (NIF) to a node or broadcast to the network. Table 118 zwnet_send_nif Parameters Attribute net noded Type zwnet_t * zwnoded_t * broadcast uint8_t return int I/O Description I Network handle. I Handle of the destination node that will receive the node information frame. NULL for broadcast of NIF. I Broadcast flag. 1= broadcast; 0= single cast. O ZW_ERR_NONE on success; else ZW_ERR_XXX 5.6.7 zwnet_poll_rm Remove a polling request. Attribute net handle return Type zwnet_t * uint16_t int Table 119 zwnet_poll_rm Parameters I/O Description I Network handle. I Handle of the polling request to remove. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.6.8 zwnet_poll_rm_mul Remove multiple polling requests. Table 120 zwnet_poll_rm_mul Parameters Attribute net usr_token return Type zwnet_t * uint32_t int I/O Description I Network handle. I User token of the polling request to remove. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 52 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 5.6.9 zwnet_pref_set Store network preference into persistent storage. Table 121 zwnet_pref_set Parameters Attribute net buf buf_size return Type zwnet_t * void * uint16_t int I/O Description I Network handle I Buffer that contains the network preference I Buffer size in bytes O ZW_ERR_NONE on success; else ZW_ERR_XXX 2019-12-06 5.6.10 zwnet_pref_get Retrieve network preference from persistent storage. Table 122 zwnet_pref_get Parameters Attribute net buf buf_size return Type zwnet_t * void ** uint16_t * int I/O Description I Network handle. O Return buffer that contains the network preference. O Buffer size in bytes. O ZW_ERR_NONE on success; else ZW_ERR_XXX Note: Caller MUST free the return buffer "buf" if the call is successful. 5.6.11 zwnet_client_pref_set Store client preference into persistent storage. Table 123 zwnet_client_pref_set Parameters Attribute net client_id buf buf_size return Type zwnet_t * uint32_t void * uint16_t int I/O Description I Network handle. I User-defined client ID to identify the preference. I Buffer that contains the client preference. I Buffer size in bytes. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 5.6.12 zwnet_client_pref_get Retrieve client preference from persistent storage. Table 124 zwnet_client_pref_get Parameters Attribute net client_id buf buf_size Type zwnet_t * uint32_t void ** uint16_t * I/O Description I Network handle. I User-defined client ID to identify the preference. O Return buffer that contains the client preference. O Buffer size in bytes. silabs.com | Building a more connected world. Page 53 of 224 INS14416-10 return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O ZW_ERR_NONE on success; else ZW_ERR_XXX. Note: Caller MUST free the return buffer "buf" if the call is successful. 5.6.13 zwnet_sec2_get_dsk Get ZIPGW Security 2 DSK. Attribute net cb usr_ctx return Type zwnet_t * get_dsk_fn void * int Table 125 zwnet_sec2_get_dsk Parameters I/O Description I Network handle. I Callback to report ZIPGW DSK. I User context used in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute usr_ctx dsk Type void * char * Table 126 get_dsk_fn Parameters I/O Description I User context I ZIPGW DSK string 5.7 Network Utilities APIs These are APIs that provide IPv4/6 network utilities unrelated to Z-Wave network to ease programmers who are unfamiliar to the IPv4/6 network C APIs. 5.7.1 zwnet_ip_aton Utility to convert IPv4 / IPv6 address string to numeric equivalent. Table 127 zwnet_ip_aton Parameters Attribute addr_str addr_buf ipv4 Type char * uint8_t * int * return int I/O Description I NULL terminated IPv4 / IPv6 address string. O Buffer that should be at least 16-bytes long to store the result. O Flag to indicate the converted numeric IP address is IPv4 or IPv6. 1=IPv4; 0=IPv6. O Zero on success; non-zero on failure. 5.7.2 zwnet_ip_ntoa Utility to convert IPv4 / IPv6 address in numerical form to string equivalent. Table 128 zwnet_ip_ntoa Parameters Attribute Type I/O Description silabs.com | Building a more connected world. Page 54 of 224 INS14416-10 addr addr_str addr_str_len ipv4 uint8_t * char * int int return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I IPv4 / IPv6 address in numerical form. O Buffer to store the converted address string. I The size of the addr_str in bytes. I Flag to indicate the addr parameter is IPv4 or IPv6. 1=IPv4; 0=IPv6. O Zero on success, non-zero on failure. 5.7.3 zwnet_local_addr_get Utility to get local address that is reachable by destination host. Table 129 zwnet_local_addr_get Parameters Attribute net dest_ip local_ip use_ipv4 return Type zwnet_t * uint8_t* uint8_t* int int I/O Description I Network handle from zwnet_init. I Destination host address either IPv4 or IPv6 according to use_ipv4 flag O Buffer of 16-byte to store the local address (either IPv4 or IPv6 according to use_ipv4 flag). I Flag to indicate IP address type. 1= IPv4; 0= IPv6. O Zero on success, non-zero on failure. 5.7.4 zwnet_listen_port_get Utility to get local Z/IP listening port number. Table 130 zwnet_listen_port_get Parameters Attribute net return Type zwnet_t * uint16_t I/O Description I Network handle from zwnet_init O The Z/IP client listening port number. silabs.com | Building a more connected world. Page 55 of 224 INS14416-10 6 Node API Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 This corresponds to a Z-Wave device (node) and is coupled with Manufacturer Specific CC and Node Naming and Location CC information. It also contains APIs for sleep command queuing and command recording. 6.1 zwnoded_t This is the descriptor used to access Z-Wave nodes. Only name and location fields are writeable. Table 131 zwnoded_t Structure Attribute nodeid propty Vid type Pid Net dev_id proto_ver app_ver lib_type category sensor sleep_cap Type I/O uint8_t O uint8_t O uint16_t O uint16_t O uint16_t O zwnet_t * O dev_id_t O uint16_t O uint16_t O uint8_t O uint8_t O uint8_t O uint8_t O listen uint8_t O zwsw_ver_cnt uint8_t O zwsw_ver s2_keys_valid s2_grnt_keys zwsw_ver_t[] O uint8_t O uint8_t O s2_dsk char[] O Description Z-Wave Node ID Properties of the node (bit-mask): NODE_PROPTY_XXX. Z-Wave Vendor ID. Vendor type. Z-Wave Product ID. Network handle. Device ID. Z-Wave Protocol Version. Application Version. Z-Wave Library Type. Device category, DEV_XXX. Flag to indicate whether the node is a sensor (FLIRS). Flag to indicate the node is capable to sleep (i.e. non-listening and support Wake up CC). Flag to indicate the node is always listening. Number of valid Z-Wave software version types stored in the zwsw_ver array. Z-Wave software version information. Flag to indicate whether s2_grnt_keys is valid. Security 2 granted keys (bit-mask), see SEC_KEY_BITMSK_XXX NOTE: This is valid only s2_keys_valid = 1. S2 DSK. If s2_dsk[0] == '\0', the DSK is unavailable for this node. Node property bit-mask NODE_PROPTY_SECURE_CAP_S0 NODE_PROPTY_SECURE_CAP_S2 NODE_PROPTY_ADD_SECURE NODE_PROPTY_ADD_INSECURE Table 132 NODE_PROPTY_XXX Description Node capable of being included securely S0. Node capable of being included securely S2. Node is included securely. Node is included insecurely. silabs.com | Building a more connected world. Page 56 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 NODE_PROPTY_IDENTIFY_CAP Node is capable of identifying itself (e.g. blinking LED three times). Attribute type format len dev_id Table 133 dev_id_t Structure Type I/O Description uint8_t O Device ID type: DEV_ID_TYPE_XXX, where: DEV_ID_TYPE_OEM OEM factory default DEV_ID_TYPE_SN Serial number DEV_ID_TYPE_RANDOM Pseudo random number uint8_t O Device ID data format: DEV_ID_FMT_XXX, where: DEV_ID_FMT_UTF UTF-8 DEV_ID_FMT_BIN Binary and MUST be displayed as hexadecimal, e.g. h'30313233A1 uint8_t O Device ID length uint8_t[MAX_DEV_ID_LEN O Device ID + 1] Attribute type Type uint8_t major minor patch build uint8_t uint8_t uint8_t uint16_t Table 134 zwsw_ver_t Structure I/O Description O Version type: VER_TYPE_XXX, where VER_TYPE_SDK SDK version. VER_TYPE_APPL_FRW_API Application framework API version. VER_TYPE_HOST_INTF Host interface version; the version of the API exposed to a host CPU. VER_TYPE_ZWAVE_PROTO Z-Wave protocol version. VER_TYPE_APPL Application software version. O Major version. O Minor version. O Patch version. O Build number. Zero if unused. 6.2 zwnode_get_net Get handle to the network containing this node. Table 135 zwnode_get_net Parameters Attribute Type I/O Description noded zwnoded_t * I Node handle silabs.com | Building a more connected world. Page 57 of 224 INS14416-10 return zwnet_t * Z-Ware SDK 7.13.0 Library C API Reference Manual O Network handle 2019-12-06 6.3 zwnode_get_next Get next node in network. The first, i.e., local controller node may be obtained from zwnet_get_node. Table 136 zwnode_get_next Parameters Attribute Type I/O Description noded zwnoded_t * I Node handle. next zwnoded_t * O Next node handle. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 6.4 zwnode_get_ep Get first endpoint in the node. Table 137 zwnode_get_ep Parameters Attribute Type I/O Description noded zwnoded_t * I Node handle. epd zwepd_t * O Endpoint handle. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 6.5 zwnode_update Updates node status and information. Table 138 zwnode_update Parameters Attribute Type I/O Description noded zwnoded_t * I Node handle. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 6.6 zwnode_identify Instruct the node to identify itself. This API is to support Z-Wave Plus v2 node, which must have a visible LED to be used for an Identify function. If the node is itself a light source, e.g., a light bulb, this may be used in place of a dedicated LED. Table 139 zwnode_identify Parameters Attribute Type I/O Description noded zwnoded_t * I Node handle return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 58 of 224 INS14416-10 6.7 zwnode_get_ext_ver Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Get extended version information. Table 140 zwnode_get_ext_ver Parameters Attribute noded return Type zwnoded_t * ext_ver_t * I/O Description I Node descriptor. O Extended version information if the node supports it; else returns NULL. Note: Caller has to free the returned extended version information. Attribute hw_ver fw_cnt fw_ver Type uint8_t uint8_t uint16_t[] Table 141 ext_ver_t Structure I/O Description I Hardware version. I Number of firmwares in the device, excluding the Z-Wave firmware. I Firmware versions place holder as indicated in fw_cnt. 6.8 Advanced Node APIs These are APIs that should not be used for normal operation but are provided for debugging purposes. 6.8.1 zwnode_mul_cmd_ctl_set Turn on/off multi command encapsulation capability. By default, if a node supports Multi-command CC, the multi command encapsulation capability is turned on automatically. Table 142 zwnode_mul_cmd_ctl_set Parameters Attribute noded on Type zwnoded_t * uint8_t return int I/O Description I Node descriptor. I 1=turn on multi command encapsulation; 0=turn off and flush (send) the commands in the buffer. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 6.8.2 zwnode_mul_cmd_ctl_get Get the current state of multi command encapsulation. Table 143 zwnode_mul_cmd_ctl_get Parameters Attribute noded on return Type zwnoded_t * uint8_t * int I/O Description I Node descriptor. O state: 1=on; 0=off. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 59 of 224 INS14416-10 7 Endpoint API Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 This corresponds to Z-Wave channels or instances. The APIs here are mostly accessor functions. 7.1 zwepd_t This is the read-only descriptor used to access endpoints. Table 144 zwepd_t Structure Attribute Type I/O Description generic uint8_t O Z-Wave Generic device class specific uint8_t O Z-Wave Specific device class epid uint8_t O Endpoint number nodeid uint8_t O Node ID aggr_ep_cnt uint8_t O Total number of end point members that are represented by this aggregated end point. Zero means this endpoint is NOT an aggregated end point aggr_members uint8_t[126] O Buffer to store the end point members that are represented by this aggregated end point net zwnet_t * O Network handle name char [33] O User configured name string of the endpoint loc char [33] O User configured location string of the endpoint zwplus_info zwplus_info_t O Z-Wave Plus information CC Attribute zwplus_ver node_type role_type instr_icon usr_icon Type uint8_t uint8_t uint8_t uint16_t uint16_t Table 145 zwplus_info_t structure I/O Description O Version. Zero indicates this node is non-Z-Wave Plus. O Node type. O Role type. O Installer icon type. O User icon type. 7.2 zwep_get_node Get containing node handle. Table 146 zwep_get_node Parameters Attribute epd noded return Type I/O Description zwepd_t * I Endpojnt handle zwnoded_t * O Node handle int O ZW_ERR_NONE on success; else ZW_ERR_XXX silabs.com | Building a more connected world. Page 60 of 224 INS14416-10 7.3 zwep_get_next Z-Ware SDK 7.13.0 Library C API Reference Manual Get next endpoint in node. Table 147 zwep_get_next Parameters Attribute epd nxt_epd return Type zwepd_t * zwepd_t * int I/O Description I Endpojnt handle. O Next endpoint handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 7.4 zwep_get_if Get first interface in endpoint. Table 148 zwep_get_if Parameters Attribute Type I/O Description epd zwepd_t * I Endpojnt handle. Ifd zwifd_t * O Interface handle. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Note: Caller must free ifd->data if ifd->data_cnt is greater than zero. 7.5 zwep_nameloc_set Set endpoint name and location string for device regardless of whether the endpoint has Node Naming And Location interface. If it does, the strings will be sent to the interface physically for storage in the device. Table 149 zwep_nameloc_set Parameters Attribute epd nameloc return Type zwepd_t * zw_nameloc_t * int I/O Description I Endpojnt handle. I NULL terminated name and location strings. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type name char[33] loc char[33] Table 150 zw_nameloc_t Structure I/O Description I Node name I Node location silabs.com | Building a more connected world. Page 61 of 224 INS14416-10 8 Interface API Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 This corresponds to Z-Wave CCs coupled with the corresponding Version CC information. Some of the CCs, such as security CC, multi-channel CC, and multi-command CC, are handled transparently. Basic CC is added automatically to all endpoints even if it is not listed in the endpoint's "multichannel capability report". Individual CCs are categorized into Network, Management, Transport and Application CCs. All Transport CCs are handled by ZIPGW. 8.1 zwifd_t This is the read-only descriptor used to access interfaces. Table 151 zwifd_t Structure Attribute Type I/O Description cls uint8_t O CC. ver uint8_t O CC version. Can be upgraded by device database. real_ver uint8_t O Real Version of the CC that the device supports. propty uint8_t O Properties of the interface (bit-mask): IF_PROPTY_XXX where: IF_PROPTY_SECURE Interface can be accessed securely bit- mask. IF_PROPTY_UNSECURE Interface can be accessed insecurely bit- mask. IF_PROPTY_HIDDEN Interface is hidden. NOTE: This property is for internal use only; user application MUST NOT use this. IF_PROPTY_HIDDEN_POLL Interface is hidden but device polling is enabled. NOTE: This property is for internal use only; user application MUST NOT use this. IF_PROPTY_ALRM_EVT_CLR Interface is capable to sent event clear notification. NOTE: This bit-mask is only valid for Alarm/Notification CC. IF_PROPTY_BSNSR_EVT_CLR Interface is capable of sending event clear. NOTE: This bit-mask is only valid for binary sensor CC. IF_PROPTY_ALRM_SNSR_EVT_CLR Interface is capable of sending event clear. NOTE: This bit-mask is only valid for the Alarm Sensor CC. epid uint8_t O Endpoint number. nodeid uint8_t O Node ID. net zwnet_t * O Network handle. silabs.com | Building a more connected world. Page 62 of 224 INS14416-10 8.2 zwif_get_ep Z-Ware SDK 7.13.0 Library C API Reference Manual Get containing endpoint. Attribute ifd epd return Type zwifd_t * zwepd_t * int Table 152 zwif_get_ep Parameters I/O Description I Interface handle. O Endpoint handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 8.3 zwif_get_next Get next interface in endpoint. Table 153 zwif_get_next Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. nxt_ifd zwifd_t * O Next interface handle. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Note: Caller must free nxt_ifd->data if nxt_ifd->data_cnt is greater than zero. 8.4 zwif_exec Execute a command on an interface (intended for automation). Table 154 zwif_exec Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. cmd uint8_t * I Command packet. len int I Length of cmd in bytes. cb tx_cmplt_cb_t I Completion callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 8.5 zwif_xxx_poll Polling variant of zwif_xxx_get API. This is meant for the interfaces that follow to perform a continuous poll instead of a single get. Table 155 zwif_xxx_poll Parameters Attribute ... poll_req Type ... zwpoll_req_t * I/O Description I Parameters of zwif_xxx. I/O Poll request. silabs.com | Building a more connected world. Page 63 of 224 INS14416-10 return int Z-Ware SDK 7.13.0 Library C API Reference Manual O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute usr_token interval poll_cnt cmplt_cb usr_param handle Table 156 zwpoll_req_t Structure Type I/O uint32_t I uint16_t I uint16_t I zwpoll_cmplt_fn I void * I uint16_t O Description User-defined token to facilitate deletion of multiple polling requests. Polling interval in seconds; zero = the smallest possible interval. Number of times to poll; zero = unlimited times (i.e. repetitive polling). Polling completion callback. NULL if callback is not required. User parameter of polling completion callback. Handle if the request is accepted into the polling queue. The handle can be used to facilitate deletion of the polling request. Table 157 zwpoll_cmplt_fn Parameters Attribute Type I/O Description net zwnet_t * I Network handle. handle uint16_t I Handle of the polling request. usr_token uint32_t I User-defined token to facilitate deletion of multiple polling requests. usr_param void * I User parameter. silabs.com | Building a more connected world. Page 64 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 9 Management CCs Based Interfaces 2019-12-06 Manufacturer Specific, Node Naming and Location, Z-Wave Plus Info, and Version CCs are handled in the Node & Endpoint APIs. 9.1 Group Interface API This corresponds to the Association & Multichannel Association CC. Lifelines are automatically setup and other associations can be preconfigured via the Device Database, rather than by using these APIs. 9.1.1 zwif_group_sup_get Get information on the maximum number of groupings the given node supports through report callback function. Table 158 zwif_group_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Group interface handle. cb zwrep_group_sup_fn I Maximum number of groupings report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd max_grp valid Type zwifd_t * uint8_t int Table 159 zwrep_group_sup_fn Parameters I/O Description I Group interface handle. I Maximum number of groups. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 9.1.2 zwif_group_actv_get Get information on the current active group from a node through report callback function. Table 160 zwif_group_actv_get Parameters Attribute Type I/O Description ifd zwif_t * I Group interface handle. cb zwrep_group_actv_fn I Current active group report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * Table 161 zwrep_group_actv_fn Parameters I/O Description I Group interface handle silabs.com | Building a more connected world. Page 65 of 224 INS14416-10 group uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual I Current active group 2019-12-06 9.1.3 zwif_group_get Get group members information on specified group through zwrep_group_fn report callback function. Table 162 zwif_group_get Parameters Attribute Type I/O Description ifd zwifd_t * I Group interface handle. group uint8_t I Group ID. cb zwrep_group_fn I Endpoint list report callback function. flag int I Flag, see ZWIF_GET_BMSK_XXX. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 163 zwrep_group_fn Parameters Attribute ifd group max_cnt Type zwifd_t * uint8_t uint8_t cnt grp_member ts uint8_t grp_member_t * time_t I/O Description I Group interface handle. I Group identifier. I Maximum number of members the grouping identifier above supports. I Number of end points in this report. I An array of cnt group members in the grouping. Note that the group members may contain non-existence node/endpoint. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute node_id ep_id Type uint8_t uint8_t Table 164 grp_member_t structure I/O Description I Node ID I Endpoint id. Value of 255 denotes node association; other values denote endpoint association. 9.1.4 zwif_group_add Add endpoints to this group and its containing node's return routes. It is recommended to add all endpoints with one call to ensure return routes are set up correctly. Table 165 zwif_group_add Parameters Attribute ifd group ep cnt Type zwifd_t * uint8_t zwepd_t * uint8_t I/O Description I Group interface handle. I Group ID. I An array of recipient endpoints to be added into the grouping. I Number of endpoints in the array "ep". silabs.com | Building a more connected world. Page 66 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 cb zwif_grp_rr_fn I user_prm void * I return int O Completion callback function (optional). NULL if callback is not required. User parameter for the completion callback function (optional). NULL if not in use. Zero on success and completion callback will be invoked upon completion of return route assignments; positive return code (>0, e.g. ZW_ERR_QUEUED) will be returned if the command is queued and NO completion callback will be invoked; else negative return code (ZW_ERR_XXX) will be returned on error. Table 166 zwif_grp_rr_fn Parameters Attribute ifd status user_prm Type zwifd_t * uint8_t void * I/O Description I Group interface handle. I status, RRA_XXX I User parameter Return route assignment status RRA_OK RRA_TX_NO_ACK RRA_TX_FAIL RRA_FAIL Table 167 RRA_XXX Description Successfully assigned return routes No acknowledgement of transmission is received before timeout Not possible to transmit data because the Z-Wave network is busy Operation failed 9.1.5 zwif_group_del Remove endpoints from this group. Table 168 zwif_group_del Parameters Attribute Type I/O Description ifd zwif_t * I Group interface handle. group uint8_t I Group ID. grp_member grp_member_t I An array of cnt members to be removed from the grouping. Node * association should be indicated by ep_id=255. cnt uint8_t I The number of members in the array grp_member. If cnt is zero, all the members in the group may be removed. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.1.6 zwif_group_info_get Get detailed group information. silabs.com | Building a more connected world. Page 67 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 169 zwif_group_info_get Parameters Attribute ifd grp_info return Type I/O zwif_t * I if_grp_info_dat_t O ** int O Description Group interface handle. Grouping information if success; NULL on failure. ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Table 170 if_grp_info_dat_t Structure Attribute Type I/O group_cnt uint16_t I valid_grp_cnt uint16_t I dynamic uint8_t I grp_info zw_grp_info_t I *[] Description Number of supported groups. Number of valid group information in grp_info[]. Flag to indicate the group information is dynamic. 1=dynamic; 0=static. Place holder for storing pointers to group information. Table 171 zw_grp_info_t Structure Attribute grp_num cmd_ent_cnt profile evt_code name cmd_lst Type uint8_t uint8_t uint16_t uint16_t char [43] grp_cmd_ent_t [] I/O Description I Group number I Number of entries in command list (cmd_lst) I Profile I Event code I NULL terminated group name string in UTF-8 I Place holder for command list Table 172 grp_cmd_ent_t Structure Attribute Type cls uint16_t cmd uint8_t I/O Description I CC I Command 9.1.7 zwif_group_info_free Free group information. Table 173 zwif_group_info_free Parameters Attribute Type I/O Description grp_info if_grp_info_dat_t I Grouping information returned by zwif_group_info_get() * silabs.com | Building a more connected world. Page 68 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 9.2 Group Command Interface API 2019-12-06 This corresponds to the Z-Wave association command configuration CC used to specify commands in groups within a node. 9.2.1 zwif_group_cmd_sup_get Get information on command records supporting capabilities through report callback function. Table 174 zwif_group_cmd_sup_get Parameters Attribute ifd cb return Type I/O zwifd_t * I zwrep_grp_cmd_sup_fn I int O Description Group command configuration interface handle. Report callback function. ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 175 zwrep_grp_cmd_sup_fn Parameters Attribute ifd cmd_cap Type I/O zwifd_t * I zwgrp_cmd_cap_t * I Description Group command configuration interface handle. Command records supporting capabilities. Attribute Type configurable uint8_t config_type uint8_t max_len free_rec total_rec uint8_t uint16_t uint16_t Table 176 zwgrp_cmd_cap_t structure I/O Description O 1=command record is configurable, 0=not configurable type. O Configuration type: 1=value type (only support Basic Set command). 0=command type (support any command). O Maximum command length that can be set. O Number of free command records that can be set. O Total number of command records supported. 9.2.2 zwif_group_cmd_get Get command record for a node within a given grouping identifier through report callback function. Table 177 zwif_group_cmd_get Parameters Attribute Type I/O Description ifd zwifd_t * I Group command configuration interface handle. group uint8_t I Grouping identifier. nodeid uint8_t I Node ID of the node within the grouping specified. cb zwrep_grp_cmd_fn I Report callback function. Return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type Table 178 zwrep_grp_cmd_fn Parameters I/O Description silabs.com | Building a more connected world. Page 69 of 224 INS14416-10 ifd group nodeid cmd_buf len return zwifd_t * uint8_t uint8_t uint8_t * uint8_t int Z-Ware SDK 7.13.0 Library C API Reference Manual I Group command configuration interface handle. I Grouping identifier. I Node ID of the node within the grouping specified. I Command and parameters. I Length of cmd_buf. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 9.2.3 zwif_group_cmd_set Specify which command should be sent to a node within a given group. Table 179 zwif_group_cmd_set Parameters Attribute ifd group node Type zwifd_t * uint8_t uint8_t cmd_buf uint8_t * len uint8_t return int I/O Description I Group command configuration interface handle. I Grouping identifier. I Node within the grouping specified that should receive the command specified in cmd_buf. I Command and parameters. I Length of cmd_buf. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.3 Battery Interface API This corresponds to the Z-Wave battery CC. 9.3.1 zwif_battery_rpt_set Setup a battery report callback function. Note that the report battery level 0x00..0x64 indicates the battery percentage level from 0 to 100%. Level 0xFF indicates a low-battery warning. Table 180 zwif_battery_rpt_set Parameters Attribute Type I/O ifd zwifd_t * I rpt_cb zwrep_batt_lvl_fn I return int O Description Battery interface handle. Report callback function. ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd data ts Type zwifd_t * zwbatt_dat_t * time_t Table 181 zwrep_batt_lvl_fn Parameters I/O Description I Battery interface handle. I Battery Level and status. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. silabs.com | Building a more connected world. Page 70 of 224 INS14416-10 Attribute level sts_valid Type uint8_t uint8_t rechargeable uint8_t charge_sts bkup_batt uint8_t uint8_t overheat low_fluid rechg_req uint8_t uint8_t uint8_t disconnect uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 182 zwbatt_dat_t Structure I/O Description O Battery level 0x00..0x64 MUST indicate the battery percentage level from 0 to 100%. Level 0xFF MUST indicate a low-battery warning. O Indicate whether the following battery status fields are valid. 1=valid; 0=invalid. Battery status O Flag to indicate if the battery is rechargeable. 1=rechargeable; 0=nonrechargeable O Charging status if battery is rechargeable, BATT_STS_XXX O Flag to indicate if the battery is utilized for back-up purposes of a main powered connected device. 1=backup; 0=battery is used for primary means of power O Flag to indicate if overheating is detected. 1=overheating; 0=operating within the normal temperature range O Flag to indicate if the battery fluid is low and should be refilled. 1=low; 0=normal O Status to indicate if the battery needs to be recharged (for rechargeable battery) or replaced (for non-rechargeable battery), BATT_RECHG_XXX O Flag to indicate if the battery is currently disconnected or removed from the node. 1=disconnected and the node is running on an alternative power source; 0=connected Battery charging status BATT_STS_DISCHARGE BATT_STS_CHARGE BATT_STS_MAINTAIN Table 183 BATT_STS_XXX Description Discharging Charging Maintaining Table 184 BATT_RECHG_XXX Battery recharge or replace request BATT_RECHG_NONE BATT_RECHG_SOON BATT_RECHG_NOW Description No recharge or replace battery is needed Recharge or replace battery soon Recharge or replace battery now 9.3.2 zwif_battery_get Get battery level through report callback function. Table 185 zwif_battery_get Parameters Attribute ifd Type zwifd_t * I/O Description I Battery interface handle. silabs.com | Building a more connected world. Page 71 of 224 INS14416-10 flag int return int Z-Ware SDK 7.13.0 Library C API Reference Manual I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 9.3.3 zwif_battery_health_rpt_set Set up a battery health report callback function. Table 186 zwif_battery_health_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_batt_health_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 187 zwrep_batt_health_fn Parameters Attribute ifd data ts Type zwifd_t * zwbatt_health_t * time_t I/O Description I Interface handle. I Battery health status I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute max_cap precision unit size data Type uint8_t uint8_t uint8_t uint8_t uint8_t [4] Table 188 zwbatt_health_t Structure I/O Description O The percentage indicating the maximum capacity of the battery. Values in the range 0x00..0x64 indicate the maximum capacity of the battery in the percentage level from 0 to 100%. Value of 0xFF indicates the maximum capacity of the battery is unknown O Decimal places of the battery temperature value. E.g. the decimal value 1025 with precision 2 is equal to 10.25 O Unit used in battery temperature. 0=Celsius; other values are reserved O Battery temperature data size: 0, 1, 2 or 4 bytes. Value 0 indicates the battery temperature is unknown O Battery temperature data (a signed number) with the first byte is the most significant byte 9.3.4 zwif_battery_health_get Get battery health report through report callback. Table 189 zwif_battery_health_get Parameters Attribute Type ifd zwifd_t * flag int I/O Description I Interface handle. I Flag, see ZWIF_GET_BMSK_XXX. silabs.com | Building a more connected world. Page 72 of 224 INS14416-10 return int Z-Ware SDK 7.13.0 Library C API Reference Manual O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 9.4 Time and Date Interface API This corresponds to the Z-Wave Time CC. 9.4.1 zwif_time_rpt_set Set up a current local time report callback function. Table 190 zwif_time_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_time_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd hour minute second rtc_fail Type zwifd_t * uint8_t uint8_t uint8_t int Table 191 zwrep_time_fn Parameters I/O Description I Interface handle. I Hour (in 24 hours format). I Minute. I Second. I Flag to indicate if RTC oscillator has been stopped and hence the advertised time might be inaccurate. 1=stopped; 0=running or node does not support this feature. 9.4.2 zwif_time_get Get current local time through report callback. Table 192 zwif_time_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I Interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.4.3 zwif_date_rpt_set Set up a current date report callback function. Table 193 zwif_date_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_date_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 73 of 224 INS14416-10 Attribute ifd year month day Type zwifd_t * uint16_t uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual Table 194 zwrep_date_fn Parameters I/O Description I Interface handle I Year (example: 2018) I Month I Day 2019-12-06 9.4.4 zwif_date_get Get current date adjusted according to the local time zone and Daylight Saving Time through report callback. Table 195 zwif_date_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I Interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.4.5 zwif_tz_dst_rpt_set Set up a time zone and Daylight Saving Time information report callback function. Table 196 zwif_tz_dst_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_tz_dst_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 197 zwrep_tz_dst_fn Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. tz_info tmzone_info_t * I Time zone info. dst_info dst_info_t * I Daylight Saving Time info. Attribute Type sign int hour minute uint8_t uint8_t Table 198 tmzone_info_t Structure I/O Description O Sign (plus or minus) to apply to the hour and minute fields. 0 = Plus sign (positive offset from UTC); 1 = Minus sign (negative offset from UTC). O Hour offset. O Minute offset. Attribute Type Table 199 dst_info_t Structure I/O Description silabs.com | Building a more connected world. Page 74 of 224 INS14416-10 sign int minute_offset uint8_t month_start uint8_t day_start hour_start month_end uint8_t uint8_t uint8_t day_end hour_end uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Sign (plus or minus) for the minute_offset field to apply to the current time while in the Daylight Saving Time. 0 = Plus sign (positive offset from current time); 1 = Minus sign (negative offset from current time). O Minute offset. O Month of the year when Daylight Saving Time starts. Range 1..12 (representing respectively January...December). O Day of the month when DST starts. Range 1..31. O Hour of the day when DST starts. Range 0..23. O Month of the year when DST ends. Range 1..12 (representing respectively January...December). O Day of the month when DST ends. Range 1..31. O Hour of the day when DST ends. Range 0..23. 9.4.6 zwif_tz_dst_get Get time zone and Daylight Saving Time information through report callback. Table 200 zwif_tz_dst_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I Interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.5 Firmware Update Interface API This corresponds to the Firmware Update Meta Data CC. 9.5.1 zwif_fw_info_get Get firmware information through report callback. Table 201 zwif_fw_info_get Parameters Attribute ifd cb return Type zwifd_t * zwrep_fw_info_fn int I/O Description I Firmware update interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd fw_info Type zwifd_t * zwfw_info_t * Table 202 zwrep_fw_info_fn Parameters I/O Description I Firmware update interface handle. I firmware information. silabs.com | Building a more connected world. Page 75 of 224 INS14416-10 Attribute vid zw_fw_id chksum max_frag_sz fixed_frag_sz Type uint16_t uint16_t uint16_t uint16_t uint8_t upgrade_flg uint8_t hw_ver_valid uint8_t hw_ver uint8_t func_normally uint8_t activation uint8_t other_fw_cnt uint8_t other_fw_id uint16_t * Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 203 zwfw_info_t structure I/O Description I Vendor/Manufacturer ID. I Z-Wave firmware ID. I CRC-CCITT checksum of Z-Wave firmware. I Maximum meta data fragment size for firmware update. I Flag to indicate whether the max_frag_sz is fixed, i.e. firmware update request MUST use the given size. 1=fixed size; 0=variable size. I Firmware upgradable flag. 0= Firmware is not upgradable; 0xFF= Firmware is upgradable. I Flag to indicate whether the hw_ver is valid. 1=valid; 0=invalid. I Hardware version. I To indicate whether other CCs function normally during firmware update image transfer. 2=function normally; 1=certain CCs will not function; 0=this information is unavailable I To indicate whether node supports the subsequent activation of firmware after downloading. 2=support; 1=not support; 0=this information is unavailable I Number of other firmware IDs. I Pointer to array of other firmware IDs with the count given by other_fw_cnt. 9.5.2 zwif_fw_updt_req Request firmware update. Caller should call zwif_fw_info_get() first before calling this function. Table 204 zwif_fw_updt_req Parameters Attribute ifd req return Type zwifd_t * zwfw_updt_req_t * int I/O Description I Firmware update interface handle. I Firmware update request. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute vid fw_id hw_ver fw_tgt Type uint16_t uint16_t uint8_t uint8_t Table 205 zwfw_updt_req_t Structure I/O Description I Vendor/Manufacturer ID the firmware is intended for. I Firmware ID the firmware is intended for. I Hardware version the firmware is intended for; zero if inapplicable. I Firmware target to update. 0= Z-Wave firmware, 0x01 to 0xFF for firmware target returned by zwif_fw_info_get(). For example, to update firmware target in other_fw_id[0], use fw_tgt=1. silabs.com | Building a more connected world. Page 76 of 224 INS14416-10 delay fw_file sts_cb cmplt_cb restart_cb Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 uint8_t I const char * I zwrep_fw_updt_sts_fn I zwrep_fw_updt_cmplt_fn I zwrep_fw_tgt_restart_fn I If supported, ask the target device to delay firmware update until "activation" command is received. 1=delay, user needs to call zwif_fw_updt_actv() to activate the firmware; 0=no delay, i.e. activate the firmware immediately after download. Firmware file path. For Intel hex file format, the extension must be ".hex", ".ihex", ".otz" or ".ota", other extension will be treated as binary file. Firmware update request status callback function. See ZW_FW_UPDT_ERR_XXX. Firmware update request completion status callback function. Optional: Firmware update target restart completion callback function. Can be NULL if callback is not required. Note that the callback function works only if the cmplt_cb() invoked with parameter wait_tm_valid=1. Attribute ifd status Type zwifd_t * uint8_t Table 206 zwrep_fw_updt_sts_fn Parameters I/O Description I Firmware update interface handle. I Firmware update status, ZW_FW_UPDT_ERR_XXX. Table 207 ZW_FW_UPDT_ERR_XXX Firmware update request status ZW_FW_UPDT_ERR_INVALID ZW_FW_UPDT_ERR_AUTHEN ZW_FW_UPDT_ERR_FRAG_SZ ZW_FW_UPDT_ERR_UPGRD ZW_FW_UPDT_ERR_HW_VER ZW_FW_UPDT_ERR_TRANF_IN_PROG ZW_FW_UPDT_ERR_LOW_BATT ZW_FW_UPDT_ERR_VALID Description Invalid combination of vendor ID and firmware ID. Need out-of-band authentication event to enable firmware update. The requested Fragment Size exceeds the Max Fragment Size. This firmware target is not upgradable. Invalid hardware version. Another firmware image is current being transferred Insufficient battery level to complete the firmware update operation Valid combination of vendor ID and firmware ID; the device will start to request firmware data from the requester. Attribute ifd status Type zwifd_t * uint8_t Table 208 zwrep_fw_updt_cmplt_fn Parameters I/O Description I Firmware update interface handle. I Firmware update completion status, ZW_FW_UPDT_CMPLT_XXX. silabs.com | Building a more connected world. Page 77 of 224 INS14416-10 wait_tm uint16_t wait_tm_valid int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Time (in seconds) that is needed before the receiving node becomes available again for communication after the transfer of an image. This parameter is valid only if wait_tm_valid=1. I Flag to indicate the wait_tm parameter is valid. Table 209 ZW_FW_UPDT_CMPLT_XXX Firmware update completion status ZW_FW_UPDT_CMPLT_ERR_CHKS ZW_FW_UPDT_CMPLT_ERR_DOWNLOAD ZW_FW_UPDT_CMPLT_ERR_VID ZW_FW_UPDT_CMPLT_ERR_FW_ID ZW_FW_UPDT_CMPLT_ERR_FW_TGT ZW_FW_UPDT_CMPLT_ERR_FILE_HDR ZW_FW_UPDT_CMPLT_ERR_FILE_H_FMT ZW_FW_UPDT_CMPLT_ERR_MEM ZW_FW_UPDT_CMPLT_ERR_HW_VER ZW_FW_UPDT_CMPLT_ERR_BATT_LOW ZW_FW_UPDT_CMPLT_ERR_BATT_UNKNW ZW_FW_UPDT_CMPLT_OK_WAIT ZW_FW_UPDT_CMPLT_OK_NO_RESTART ZW_FW_UPDT_CMPLT_OK_RESTART Description Checksum error in requested firmware. Download of the requested firmware failed. Vendor/Manufacturer ID mismatched. Firmware ID mismatched. Firmware target mismatched. Invalid file header information. Invalid file header format. Out of memory. Hardware version mismatched. Battery level is low, firmware update was not initiated Battery level is unknown, firmware update was not initiated Image downloaded, waiting for activation command. New image was successfully stored in temporary nonvolatile memory. The device does not restart itself. New image was successfully stored in temporary nonvolatile memory. The device will now start storing the new image in primary non-volatile memory dedicated to executable code. Then the device will restart itself. Attribute node status Table 210 zwrep_fw_tgt_restart_fn Parameters Type zwnoded_t * uint8_t I/O Description I Node. I Firmware update target restart status, ZW_FW_UPDT_RESTART_XXX. Table 211 ZW_FW_UPDT_RESTART_XXX Firmware update completion status ZW_FW_UPDT_RESTART_OK ZW_FW_UPDT_RESTART_FAILED Description Restart o.k. Restart failed due to no response from the target. silabs.com | Building a more connected world. Page 78 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 9.5.3 zwif_fw_updt_actv Initiate the programming of a previously transferred firmware image. Table 212 zwif_fw_updt_actv Parameters Attribute ifd cb return Type zwifd_t * zwrep_fw_actv_fn int I/O Description I Firmware update interface handle. I Firmware update status callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Table 213 zwrep_fw_actv_fn Parameters Attribute ifd sts Type zwifd_t * zwfw_actv_sts_t * I/O Description I Firmware update interface handle. I Firmwares update status information Attribute vid fw_id chksum fw_tgt status hw_ver Type uint16_t uint16_t uint16_t uint8_t uint8_t uint8_t Table 214 zwfw_actv_sts_t Structure I/O Description I Vendor/Manufacturer ID. I Firmware ID. I CRC-CCITT checksum of the firmware I Firmware target to update. 0= Z-Wave firmware, 0x01 to 0xFF for other firmware I Firmware update status, ZW_FW_ACTV_STS_XXX I Hardware version. Value of zero indicates the hardware version is unavailable Table 215 ZW_FW_ACTV_STS_XXX Firmware update activation status ZW_FW_ACTV_STS_INVALID ZW_FW_ACTV_STS_ERROR ZW_FW_ACTV_STS_OK Description Invalid combination of vendor id, firmware id and hardware version or firmware target Error activating the firmware. Original firmware image has been restored Firmware update completed successfully 9.5.4 zwif_fw_downld_req Request for firmware download from a device into a file for backup purposes. Caller should call zwif_fw_info_get() first before calling this function. Table 216 zwif_fw_downld_req Parameters Attribute ifd req return Type zwifd_t * zwfw_downld_req_t * int I/O Description I Firmware update interface handle. I Firmware download request. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 79 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute vid fw_id fw_tgt hw_ver fw_file sts_cb cmplt_cb Table 217 zwfw_downld_req_t Structure Type uint16_t uint16_t uint8_t uint8_t const char * zwfw_downld_sts_fn zwfw_downld_cmplt_fn I/O Description I Vendor/Manufacturer ID the firmware is intended for. I Firmware ID the firmware is intended for. I Firmware target to download. 0= Z-Wave firmware, 0x01 to 0xFF for firmware target returned by zwif_fw_info_get(). For example, to download firmware target in other_fw_id[0], use fw_tgt=1 I Hardware version the firmware is intended for. I Firmware file path for storing the downloaded binary data. I Firmware download request status callback function. I Firmware download completion status callback function. This function will only be invoked if download request status callback sts_cb() reported ZW_FW_DL_RQ_OK Attribute ifd status Type zwifd_t * uint8_t Table 218 zwfw_downld_sts_fn Parameters I/O Description I Firmware update interface handle. I Firmware download request status, ZW_FW_DL_RQ_XXX. Table 219 ZW_FW_DL_RQ_XXX Firmware download request status ZW_FW_DL_RQ_ERR_INVALID_ID ZW_FW_DL_RQ_ERR_AUTHEN ZW_FW_DL_RQ_ERR_FRAG_SZ ZW_FW_DL_RQ_ERR_DOWNLOAD ZW_FW_DL_RQ_ERR_HW_VER ZW_FW_DL_RQ_OK Description Error. Invalid combination of vendor/manufacturer id and firmware id Error. Device expected an authentication event to enable firmware update Error. The requested Fragment Size exceeds the Max Fragment Size Error. This firmware target is not downloadable Error. Invalid hardware version OK. The receiving node can initiate the firmware download of the target Attribute ifd status Type zwifd_t * uint8_t Table 220 zwfw_downld_cmplt_fn Parameters I/O Description I Firmware update interface handle. I Firmware download completion status, ZW_FW_DL_CMPLT_XXX silabs.com | Building a more connected world. Page 80 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 221 ZW_FW_DL_CMPLT_XXX Firmware download completion status ZW_FW_DL_CMPLT_ERR_CHKSM ZW_FW_DL_CMPLT_ERR_DOWNLOAD ZW_FW_DL_CMPLT_ERR_MEM ZW_FW_DL_CMPLT_ERR_REQ_STATUS ZW_FW_DL_CMPLT_ERR_REQ_TMOUT ZW_FW_DL_CMPLT_ERR_FILE_WR ZW_FW_DL_CMPLT_ERR_TOO_LARGE ZW_FW_DL_CMPLT_ERR_OTHER ZW_FW_DL_CMPLT_OK Description Checksum error in downloaded firmware Download of the firmware failed Out of memory Firmware download request status failed, downloading not started Firmware download request timeout, downloading not started Writing firmware file failed The firmware size is too large Other error OK. Firmware downloaded and saved to file 9.6 Indicator Interface API This corresponds to the Indicator CC. 9.6.1 zwif_ind_rpt_set Setup an indicator report callback function. Table 222 zwif_ind_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_ind_fn int I/O Description I Indicator interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 223 zwrep_ind_fn Parameters Attribute Type I/O ifd zwifd_t * I val_v1 uint8_t I ind_data zwind_data_t * I ts time_t I stat_num uint16_t I Description Indicator interface handle. Value of version 1 indicator. This value must be IGNORED if "ind_data" is not NULL. The value can be either 0x00 (off/disable) or 0xFF (on/enable). Furthermore it can take values from 1 to 99 (0x01 0x63). Indicator data. NULL if the report contains no indicator object. Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. State number that is incremented by one whenever a cache change is detected. silabs.com | Building a more connected world. Page 81 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 224 zwind_data_t Structure Attribute Type ind_id uint8_t propty_val_cnt uint8_t propty_val zwind_propty_val_t * I/O Description O Indicator ID, ZWIND_ID_XXX. O Number of property-values in the array pointed by "propty_val". O Array of property-values. Attribute propty_id val Type uint8_t uint8_t Table 225 zwind_propty_val_t Structure I/O Description O Property ID, ZWIND_PPTY_ID_XXX. O Value of the property. Indicator ID ZWIND_ID_ARMED ZWIND_ID_NOT_ARMED ZWIND_ID_READY ZWIND_ID_FAULT ZWIND_ID_BUSY ZWIND_ID_ENTER_ID ZWIND_ID_ENTER_PIN ZWIND_ID_COD_ACCPT ZWIND_ID_COD_NOT_ACCPT ZWIND_ID_ARMED_STAY ZWIND_ID_ARMED_AWAY ZWIND_ID_ALARM ZWIND_ID_ALARM_BURGLAR ZWIND_ID_ALARM_FIRE ZWIND_ID_ALARM_CO Table 226 ZWIND_ID_XXX Description Use to indicate that alarm is armed (RECOMMENDED color: Red). Use to indicate that alarm is disarmed (RECOMMENDED color: Green). Use to indicate that device is ready (RECOMMENDED color: Green). Use to indicate a general error (RECOMMENDED color: Red). Use to indicate that device is temporarily busy (RECOMMENDED color: Yellow). Use to signal that device is waiting for ID (RECOMMENDED color: Yellow). Use to signal that device is waiting for PIN code (RECOMMENDED color: Yellow). Use to indicate OK e.g. the entered code is accepted (RECOMMENDED color: Green). Use to indicate NOT OK e.g. the entered code is NOT accepted (RECOMMENDED color: Red) Use to indicate that the alarm is armed and users are staying in the home Use to indicate that the alarm is armed and users are away from the home Use to indicate that the alarm is triggered and active with no reason specified Use to indicate that the alarm is triggered and active due to a Burglar event Use to indicate that the alarm is triggered and active due to a Fire Alarm event Use to indicate that the alarm is triggered and active due to Carbon Monoxide event silabs.com | Building a more connected world. Page 82 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZWIND_ID_BYPASS_CHALLGE ZWIND_ID_ENTRY_DELAY ZWIND_ID_EXIT_DELAY ZWIND_ID_ZONE1_ARMED ZWIND_ID_ZONE2_ARMED ZWIND_ID_ZONE3_ARMED ZWIND_ID_ZONE4_ARMED ZWIND_ID_ZONE5_ARMED ZWIND_ID_ZONE6_ARMED ZWIND_ID_LCD_BKLIGHT ZWIND_ID_BTN_BKLIGHT_LETTER ZWIND_ID_BTN_BKLIGHT_DIGIT ZWIND_ID_BTN_BKLIGHT_CMD ZWIND_ID_BTN_1 ZWIND_ID_BTN_2 ZWIND_ID_BTN_3 ZWIND_ID_BTN_4 ZWIND_ID_BTN_5 ZWIND_ID_BTN_6 ZWIND_ID_BTN_7 ZWIND_ID_BTN_8 ZWIND_ID_BTN_9 ZWIND_ID_BTN_10 ZWIND_ID_BTN_11 Use to indicate that the device expects a bypass challenge code Use to indicate that the alarm is about to be activated unless disarmed by a code Use to indicate that the alarm will be active after the exit delay Use to indicate that alarm Zone 1 is armed (RECOMMENDED color: Red). Use to indicate that alarm Zone 2 is armed (RECOMMENDED color: Red). Use to indicate that alarm Zone 3 is armed (RECOMMENDED color: Red). Use to indicate that alarm Zone 4 is armed (RECOMMENDED color: Red). Use to indicate that alarm Zone 5 is armed (RECOMMENDED color: Red). Use to indicate that alarm Zone 6 is armed (RECOMMENDED color: Red). Use to turn on LCD backlight, e.g. to shortly draw attention when alarm is activated from another entry control keypad. Use to indicate that buttons are ready for user input (letter). Use to indicate that buttons are ready for user input (digit). Use to indicate that buttons are ready for user input (command). Use to draw attention to Button 1(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 2(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 3(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 4(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 5(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 6(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 7(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 8(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 9(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 10(RECOMMENDED for button backlight or LED next to button). Use to draw attention to Button 11(RECOMMENDED for button backlight or LED next to button). silabs.com | Building a more connected world. Page 83 of 224 INS14416-10 ZWIND_ID_BTN_12 ZWIND_ID_IDENTIFY ZWIND_ID_BUZZER Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Use to draw attention to Button 12(RECOMMENDED for button backlight or LED next to button). This indicator MUST be a visible LED used to identify the node. Use to draw attention or provide user feedback. Table 227 ZWIND_PPTY_ID_XXX Indicator property ID ZWIND_PPTY_ID_MLEVEL ZWIND_PPTY_ID_BIN ZWIND_PPTY_ID_TGGL_PERD ZWIND_PPTY_ID_TGGL_CYCLE ZWIND_PPTY_ID_TGGL_ON_TIME ZWIND_PPTY_ID_TMOUT_MIN ZWIND_PPTY_ID_TMOUT_SEC ZWIND_PPTY_ID_TMOUT_100TH_S ZWIND_PPTY_ID_MLEVEL_SOUND Description Indicating a specific level. Example: Light level, sound level. Value: 0x00=OFF; 0x01..0x63 indicates lowest non-zero level to 100%; 0xFF=restore the most recent (non-zero) level. Turning the indicator On or Off. Value: 0x00=OFF; 0x01..0x63 indicates ON; 0xFF=ON. Toggling period. This property is used to set the duration in tenth of seconds of an On/Off period. Value: 0x00..0xFF ranging from 0 to 25.5 seconds. If this property ID is specified, ZWIND_PPTY_ID_TGGL_CYCLE MUST also be specified. Toggling cycle. This property is used to set the number of On/Off periods to run. Value: 0x00..0xFE ranging from 0 to 254 times. Note that user must not set this property to value of 3 which is reserved for indicator ZWIND_ID_IDENTIFY. On time within a period. This property is used to set the length of the On time in tenth of seconds during an On/Off period. It allows asymetic On/Off periods. Value: 0x00=symmetric On/Off period (On time equal to Off time); 0x01..0xFF = ON time ranging from 0.1 to 25.5 seconds. This property is used to set a timeout to the indicator. The indicator will return to OFF / Mute after this time. Values in the range 0x00..0xFF MUST represent 0. . 255 minutes This value MUST be ignored if Toggling is defined (0x03 and 0x04 property IDs defined). If ALL property IDs within the Timeout Property Group are set to 0x00, the indicator will not time out automatically. This property is used to set a timeout to the indicator. The indicator will return to OFF / Mute after this time. Values in the range 0x00..0x3B MUST represent 0. . 59 seconds This property is used to set a timeout to the indicator. The indicator will return to OFF / Mute after this time. Values in the range 0x00..0x63 MUST represent 0.00 to 0.99 seconds This property is used to set the volume of a indicator. Value 0x00 MUST represent Off/Mute in volume Values 0x01 .. 0x64 MUST represent 1 .. 100% Value 0xFF MUST restore the most recent (non-zero) level silabs.com | Building a more connected world. Page 84 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZWIND_PPTY_ID_LOW_PWR ADVERTISE ONLY: This property MUST NOT be used in a controlling Command (SET). This property MAY be used by a supporting node to advertise that the indicator can continue working even if it is in sleep mode. 9.6.2 zwif_ind_get Get indicator value through report callback. Table 228 zwif_ind_get Parameters Attribute ifd ind_id flag return Type zwifd_t * uint8_t int int I/O Description I Indicator interface handle. I Indicator ID, ZWIND_ID_XXX. Zero if unused (i.e. version 1 indicator). I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.6.3 zwif_ind_set Set indicators value. Attribute Type ifd zwifd_t * val_v1 uint8_t ind_cnt uint8_t ind_data zwind_data_t * return int Table 229 zwif_ind_set Parameters I/O Description I Indicator interface handle. I Value of version 1 indicator. This value will be IGNORED if "ind_cnt" is non-zero. The value can be either 0x00 (off/disable) or 0xFF (on/enable). Furthermore it can take values from 1 to 99 (0x01 0x63). I Number of indicator data in the array "ind_data". I Array of indicator data. Each indicator data must use different indicator ID. O ZW_ERR_NONE on success; ZW_ERR_TOO_LARGE if indicator data (ind_data) is too large to fit into the transport layer payload; else ZW_ERR_XXX. 9.6.4 zwif_ind_sup_get Get all supported indicators information through report callback. Table 230 zwif_ind_sup_get Parameters Attribute ifd cb return Type zwifd_t * zwrep_ind_sup_fn int I/O Description I Indicator interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 85 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute ifd ind_cnt ind valid Type zwifd_t * uint8_t zwind_sup_t * int Attribute ind_id propty_cnt propty Type uint8_t uint8_t uint8_t * Table 231 zwrep_ind_sup_fn Parameters I/O Description I Indicator interface handle. I number of supported indicators in the array "ind". I array of supported indicators. I validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Table 232 zwind_sup_t Structure I/O Description O Indicator ID, ZWIND_ID_XXX. O Number of property ID in the buffer "propty". O Buffer to store property ID. 9.6.5 zwif_ind_sup_cache_get Get all supported indicators information from cache. Caller must call zwif_ind_sup_free() to free the supported indicators if this call is successful. Table 233 zwif_ind_sup_cache_get Parameters Attribute ifd ind_cnt ind return Type zwifd_t * uint8_t * zwind_sup_t ** int I/O Description I Indicator interface handle. O Supported indicator counts. O Array of supported indicators. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.6.6 zwif_ind_sup_free Free supported indicators buffer. Table 234 zwif_ind_sup_free Parameters Attribute ifd ind_cnt ind Type zwifd_t * uint8_t zwind_sup_t * I/O Description I Indicator interface handle. I Supported indicator counts. I Array of supported indicators. 9.7 Wakeup Interface API This corresponds to the Wakeup CC, which implies a sleep-capable node. This interface should not be used when ZIPGW mailbox is used. silabs.com | Building a more connected world. Page 86 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 9.7.1 zwif_wakeup_get Get wakeup information through report callback function. The wakeup information includes minimum, maximum, default and current wake-up interval, the node that will receive wakeup notification, and the wakeup interval step size. Table 235 zwif_wakeup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Wakeup interface handle. cb zwrep_wakeup_fn I Report callback function. flag int I Flag, see ZWIF_GET_BMSK_XXX. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd cap ts Type zwifd_t * zwif_wakeup_t * time_t Table 236 zwrep_wakeup_fn Parameters I/O Description I Wakeup interface handle. I Capabilities report, NULL for wake up notification. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute min max def interval cur node Type uint32_t uint32_t uint32_t uint32_t uint32_t zwnoded_t Table 237 zwif_wakeup_t Structure I/O Description O Minimum in seconds O Maximum in seconds O Default in seconds O Steps between min and max O Current setting in seconds O Node to send wakeup notification 9.7.2 zwif_wakeup_set Set wakeup interval and node to notify on wakeup. Table 238 zwif_wakeup_set Parameters Attribute ifd secs node return Type zwifd_t * uint32_t zwnoded_t * int I/O Description I Wake up interface handle. I Interval in seconds (24 bit). I Node to notify. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 9.8 Status Interface API This corresponds to the Application Status CC. silabs.com | Building a more connected world. Page 87 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 9.8.1 zwif_appl_busy_rpt_set Setup an application busy status report callback function. Table 239 zwif_appl_busy_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_appl_busy_fn int I/O Description I Status interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd status wait_tm Type zwifd_t * uint8_t uint8_t Table 240 zwrep_appl_busy_fn Parameters I/O Description I Status interface handle. I busy status (ZW_BSY_STS_XXX). I wait time in seconds; only valid if status = ZW_BSY_STS_TRY_WAIT. Application Busy Status ZW_BSY_STS_TRY ZW_BSY_STS_TRY_WAIT ZW_BSY_STS_Q Table 241 ZW_BSY_STS_XXX Description Try again later. Try again in "Wait Time" seconds. Request queued, will be executed later. 2019-12-06 9.8.2 zwif_appl_reject_rpt_set Setup an application rejected request report callback function. Table 242 zwif_appl_reject_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Status interface handle. rpt_cb zwrep_appl_reject_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd status Type zwifd_t * uint8_t Table 243 zwrep_appl_reject_fn Parameters I/O Description I Status interface handle. I application rejected request status (ZW_RJ_STS_XXX). Application Rejected Status ZW_RJ_STS_REJECT Table 244 ZW_RJ_STS_XXX Description Supported command rejected by the application in the receiving node. silabs.com | Building a more connected world. Page 88 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 10 Network CC Based Interfaces 2019-12-06 Inclusion Controller, Network Management, NOP, Node Provisioning, ZIP and ZIP_ND CCs are handled by the Network APIs. Mailbox CC is used automatically by the Interface APIs when ZIPGW Mailbox is in use. Although the Power Level CC is exposed via an interface, it is typically only used via the Network Health API. 10.1 Z/IP Gateway Interface API This corresponds to the Z/IP Gateway CC. 10.1.1 zwif_gw_mode_set Configure ZIPGW operating mode. Table 245 zwif_gw_mode_set Parameters Attribute Type I/O Description ifd zwifd_t * I ZIPGW interface handle. mode uint8_t I Operating mode; ZW_GW_XXX. ZW_GW_STAND_ALONE = Stand alone mode as ZIPGW; ZW_GW_PORTAL = Portal mode with its configuration pushed from a portal server. portal_profile zwgw_portal_prof_t I portal profile; must be valid if mode is ZW_GW_PORTAL. * return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute port addr6 Type uint16_t uint8_t[16] portal_name uint8_t[64] name_len uint8_t Table 246 zwgw_portal_prof_t structure I/O Description I Port number that the portal is listening on I Full IPv6 address with no compression. The address SHOULD be in the ULA IPv6 prefix or in a globally routable IPv6 prefix. The address MAY be an IPv4-mapped IPv6 address. The field MUST NOT carry a link-local IPv6 address. The IPv6 address MAY be specified as ::/128 (all zeros), i.e. the unspecified address. If setting the IPv6 address field to the unspecified IPv6 address, the portal_name field MUST be set to a DNSresolvable FQDN. I Optional portal name field MUST be formatted as a UTF-8 based FQDN string such as "example.com" without null terminated character. I Portal_name length. Valid value: 0 to 63. silabs.com | Building a more connected world. Page 89 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 10.1.2 zwif_gw_mode_get Get ZIPGW operating mode through report callback. Table 247 zwif_gw_mode_get Parameters Attribute ifd cb return Type zwifd_t * zwrep_gw_mode_fn int I/O Description I ZIPGW interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Table 248 zwrep_gw_mode_fn Parameters Attribute Type I/O ifd zwifd_t * I status uint8_t I mode uint8_t I portal_profile zwgw_portal_prof_t I * Description ZIPGW interface handle. 0=success; 1=failure due to either timeout or the gateway is locked with its parameter hidden; 2=transmit error. Operating mode; ZW_GW_XXX. ZW_GW_STAND_ALONE = Stand alone mode as ZIPGW; ZW_GW_PORTAL = Portal mode with its configuration pushed from a portal server. Portal profile; only valid if mode is ZW_GW_PORTAL. If it is NULL, no profile is stored in the ZIPGW. 10.1.3 zwif_gw_cfg_lock Lock ZIPGW configuration parameters. Once the ZIPGW has been locked, it MUST NOT be possible to unlock the device unless : A factory default reset unlocks the ZIPGW and reverts all settings to default An unlock command received via an authenticated secure connection with the portal Table 249 zwif_gw_mode_get Parameters Attribute ifd lock show Type zwifd_t * uint8_t uint8_t return int I/O Description I ZIPGW interface handle. I Lock configuration parameters. 1= lock; 0= unlock. I Control whether to allow configuration parameters to be read back. 1= allow read back; 0= disallow. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 10.1.4 zwif_gw_unsolicit_set Configure ZIPGW unsolicited message destination. Table 250 zwif_gw_unsolicit_set Parameters Attribute Type I/O Description silabs.com | Building a more connected world. Page 90 of 224 INS14416-10 ifd dst_ip dst_port return zwifd_t * uint8_t * uint16_t int Z-Ware SDK 7.13.0 Library C API Reference Manual I ZIPGW interface handle. I unsolicited destination IPv6 address. I unsolicited destination port . O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 10.1.5 zwif_gw_unsolicit_get Get ZIPGW unsolicited message destination through report callback. Table 251 zwif_gw_unsolicit_get Parameters Attribute Type I/O Description ifd zwifd_t * I ZIPGW interface handle. cb zwrep_gw_unsolicit_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd dst_ip dst_port Type zwifd_t * uint8_t * uint16_t Table 252 zwrep_gw_unsolicit_fn Parameters I/O Description I ZIPGW interface handle I Unsolicited destination IPv6 address I Unsolicited destination port 10.2 Z/IP Portal Interface API This corresponds to the Z/IP portal CC. 10.2.1 zwif_gw_cfg_set Set ZIPGW portal mode configuration. Table 253 zwif_gw_cfg_set Parameters Attribute ifd cfg cb return Type zwifd_t * zwportal_cfg_t * zwrep_cfg_sts_fn int I/O Description I Z/IP portal interface handle. I Configuration parameters. I Configuration status callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute lan_ipv6_addr dflt_gw Table 254 zwportal_cfg_t Structure Type uint8_t[16] uint8_t[16] I/O Description I LAN IPv6 address of ZIPGW. May be all-zeroes IPv6 address for auto-configuration. I Default IPv6 gateway. silabs.com | Building a more connected world. Page 91 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 pan_prefix portal_ipv6_prefix uint8_t[16] uint8_t[16] lan_ipv6_prefix_len uint8_t portal_ipv6_prefix_len uint8_t I PAN interface prefix with /64 prefix length. May be all-zeroes IPv6 address for auto-configuration. I Portal IPv6 address. The ZIPGW must route all IP traffic for the portal ipv6 prefix into the secure TLS connection. I LAN IPv6 address prefix length. I Portal IPv6 prefix length. Attribute ifd sts Type zwifd_t * uint8_t Table 255 zwrep_cfg_sts_fn Parameters I/O Description I Z/IP portal interface handle. I Configuration status. 0xFF = o.k.; 0x01 = invalid configuration block. 10.2.2 zwif_gw_cfg_get Get ZIPGW portal mode configuration through report callback. Table 256 zwif_gw_mode_get Parameters Attribute ifd cb return Type zwifd_t * zwrep_gw_cfg_fn int I/O Description I Z/IP portal interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd cfg Type zwifd_t * zwportal_cfg_t * Table 257 zwrep_gw_cfg_fn Parameters I/O Description I Z/IP portal interface handle. I Configuration parameters. 10.3 Power Level Interface API This corresponds to the Z-Wave Power Level CC. This interface is meant to be used in an installation or test situation. 10.3.1 zwif_power_level_rpt_set Set up a power level report callback function. Table 258 zwif_power_level_rpt_set Parameters Attribute Type ifd zwifd_t * I/O Description I Power level interface handle. silabs.com | Building a more connected world. Page 92 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual rpt_cb return zwrep_power_level_fn I Report callback function. int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute ifd lvl Type zwifd_t * uint8_t timeout uint8_t Table 259 zwrep_power_level_fn Parameters I/O Description I Power level interface handle. I Current power level indicator value in effect on the node. Ranges from 0 to 9. 0=normal power; 1= -1dbm; 2= -2dbm, etc. I Time out value, in seconds. 10.3.2 zwif_power_level_get Get the power level indicator value in use by the node through report callback function. Table 260 zwif_power_level_get Parameters Attribute ifd return Type zwifd_t * int I/O Description I Power level interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 10.3.3 zwif_power_level_set Set the power level which should be used by the node when transmitting RF. Table 261 zwif_power_level_set Parameters Attribute Type ifd zwifd_t * lvl uint8_t timeout uint8_t I/O Description I Power level interface handle. I Power level. Ranges from 0 to 9. 0=normal power; 1= -1dbm; 2= - 2dbm, etc. I Time out value (in seconds) ranges from 1-255 before resetting to normal power level. 10.3.4 zwif_power_level_test_rpt_set Setup power level test report callback function Table 262 zwif_power_level_test_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Power level interface handle. rpt_cb zwrep_power_level_test_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * Table 263 zwrep_power_level_test_fn Parameters I/O Description I Power level interface handle. silabs.com | Building a more connected world. Page 93 of 224 INS14416-10 node_id uint8_t status uint8_t frame_cnt uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Test node ID. If node ID is 0, it means no test has been made and the rest of the parameters should be ignored. I Status of the test operation. POWERLEVEL_TEST_XXX. I Number of frame count which has been acknowledged by the node as specified by node_id. Table 264 POWERLEVEL_TEST_XXX Power level test status POWERLEVEL_TEST_FAILED POWERLEVEL_TEST_SUCCES POWERLEVEL_TEST_INPROGRESS Description No test frame transmissions has been acknowledged. At least 1 test frame transmission has been acknowledged. Test is still in progress. 10.3.5 zwif_power_level_test_get Get the result of power level test through report callback. Table 265 zwif_power_level_test_get Parameters Attribute ifd return Type zwifd_t * int I/O Description I Power level interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 10.3.6 zwif_power_level_test_set Set the power level which should be used by the node when transmitting RF. Table 266 zwif_power_level_test_set Parameters Attribute ifd noded Type zwifd_t * zwnoded_t * lvl uint8_t frame_cnt uint16_t I/O Description I Power level interface handle. I Node descriptor of the test node which should receive the transmitted test frames. I Power level. Ranges from 0 to 9. 0=normal power; 1= -1dbm; 2= - 2dbm, etc. I Test frame count to be carried out. (1-65535). silabs.com | Building a more connected world. Page 94 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11 Application CC Based Interfaces 2019-12-06 11.1 Basic Interface API This corresponds to the Z-Wave Basic CC, allowing 8 bit get/set operations. As a node need not advertise this in its node information frame, this API will always be available for each endpoint. 11.1.1 zwif_basic_rpt_set Set up a basic report callback function. Table 267 zwif_basic_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_basic_fn int I/O Description I Basic interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd val ts Type zwifd_t * zwbasic_t * time_t stat_num uint16_t Table 268 zwrep_basic_fn Parameters I/O Description I Interface handle. I Basic data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected Attribute curr_val Type uint8_t tgt_val dur uint8_t uint8_t Table 269 zwbasic_t Structure I/O Description I Current value: 0 = off. 0x01~0x63 = percentage (%). 0xFE = Unknown. 0xFF = On. I Target value with same interpretation as curr_val. I Duration: 0 = already at the target. 0x01~0x7F = seconds. 0x80~0xFD = 1~126 minutes. 0xFE = Unknown duration. 0xFF = reserved. silabs.com | Building a more connected world. Page 95 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.1.2 zwif_basic_get Get the value of an interface that is mapped to the basic interface through report callback function. Table 270 zwif_basic_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Basic interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.1.3 zwif_basic_set Set the value of an interface that is mapped to the basic interface. Table 271 zwif_basic_set Parameters Attribute ifd v return Type zwifd_t * uint8_t int I/O Description I Basic interface handle I Value (the range of value is device specific). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.2 Switch Interface API This corresponds to the Z-Wave Binary Switch CC. 11.2.1 zwif_switch_rpt_set Set up the report callback. Table 272 zwif_switch_rpt_set Parameters Attribute ifd cb return Type I/O zwifd_t * I zwrep_switch_fn I int O Description Switch interface handle. Switch report callback function. ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 273 zwrep_switch_fn Parameters Attribute Type I/O Description ifd zwifd_t * I Switch interface handle. val zwswitch_t * I Switch data. ts time_t I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. stat_num uint16_t I State number that is incremented by one whenever a switch state change is detected. silabs.com | Building a more connected world. Page 96 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute curr_val Type uint8_t tgt_val dur uint8_t uint8_t Table 274 zwswitch_t Structure I/O Description I Current value: 0 off 0xFE Unknown 0xFF on. I Target value with same interpretation as curr_val. I Duration: 0 = already at the target. 0x01~0x7F = seconds. 0x80~0xFD = 1~126 minutes. 0xFE = Unknown duration. 0xFF = reserved. 11.2.2 zwif_switch_get Solicit a report of the current state of the switch. Table 275 zwif_switch_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Switch interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Interface "get" API flag bitmask ZWIF_GET_BMSK_CACHE ZWIF_GET_BMSK_LIVE Table 276 ZWIF_GET_BMSK_XXX Description Get cached data. Get live report data by invoking the zwif_XXX_get command. 11.2.3 zwif_switch_set Turn switch on or off. Attribute ifd on Type zwifd_t * uint8_t dur uint8_t Table 277 zwif_switch_set Parameters I/O Description I Switch interface handle. I 0 off. Non-zero on. I Duration that the transition should take. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default duration. silabs.com | Building a more connected world. Page 97 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 cb zw_postset_fn I usr_param void * I return int O Optional post-set polling callback function. NULL if no callback required. Optional user-defined parameter passed in callback ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.2.4 zwif_switch_mset Turn on or off switches using multicast addressing if available. Table 278 zwif_switch_mset Parameters Attribute ifd ifd_cnt Type zwifd_t * uint8_t on uint8_t return int I/O Description I Array of switch interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_switch_set() with dur=0, cb=NULL and usr_param=NULL I 0 off. Non-zero on. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute net node_id ep_id cls_id usr_param reason Type zwnet_t * uint8_t uint8_t uint16_t void * int Table 279 zw_postset_fn Parameters I/O Description I Network handle. I Node ID. I Endpoint ID I CC (interface) ID. I User-defined parameter. I Reason for the callback, as in ZWPSET_REASON_XXX: XXX Description TGT_HIT Set target was hit. TIMEOUT Timeout, set target was not hit. UNSUPPORTED Post-set polling is unsupported for this interface. DEVICE_RMV Device removed. BUSY Device is busy. Try again the zwif_xxx_set() function call later. SEND_FAILED Failed to send command. FAILED Failed to hit the target for some reason. 11.3 Level Interface API This corresponds to the Z-Wave Multi-Level Switch CC. 11.3.1 zwif_level_rpt_set Set up a report callback and trigger switch type information callback through zwrep_level_fn. silabs.com | Building a more connected world. Page 98 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 280 zwif_level_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Level interface handle. cb zwrep_level_fn I Level report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute ifd val ts Type zwifd_t * zwlevel_dat_t * time_t stat_num uint16_t Table 281 zwrep_level_fn Parameters I/O Description I Level interface handle. I Multilevel switch data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a level change is detected. Attribute curr_val Type uint8_t tgt_val dur uint8_t uint8_t Table 282 zwlevel_dat_t structure I/O Description I Current value: 0 = off 0x01~0x63 = percentage (%) 0xFE = Unknown 0xFF = On. I Target value with same interpretation as curr_val I Duration: 0 = already at the target 0x01~0x7F = seconds 0x80~0xFD = 1~126 minutes 0xFE = Unknown duration 0xFF = reserved 11.3.2 zwif_level_sup_get Get a switch type report through report callback. Older versions of target nodes may not support this function. Table 283 zwif_level_sup_get Parameters Attribute ifd cb cache Type I/O zwifd_t * I zwrep_lvl_sup_fn I int I Description Level interface handle Callback function to receive the supported switch type report Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Table 284 zwrep_lvl_sup_fn Parameters silabs.com | Building a more connected world. Page 99 of 224 INS14416-10 Attribute Type ifd zwifd_t * pri_type uint8_t sec_type uint8_t valid int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I/O Description I Level interface handle. I Primary switch type. Possible types: 0 not supported 1 off/on 2 down/up 3 close/open 4 counterclockwise/clockwise 5 left/right 6 reverse/forward 7 push/pull I Secondary switch type. Possible types same as those for primary switch. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.3.3 zwif_level_sup_cache_get Get the supported switch types from cache. Table 285 zwif_level_sup_cache_get Parameters Attribute ifd pri_type sec_type return Type zwifd_t * uint8_t * uint8_t * int I/O Description I Level interface handle. O Primary switch type, SW_TYPE_XXX. O Secondary switch type , SW_TYPE_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.4 zwif_level_get Solicit a report of the current level. Table 286 zwif_level_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Level interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.5 zwif_level_set Set level and other parameters. Older versions of target nodes may not support all parameters. Table 287 zwif_level_set Parameters Attribute ifd v Type zwifd_t * uint8_t I/O Description I Level interface handle I Level 0: OFF silabs.com | Building a more connected world. Page 100 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 dur uint8_t I cb zw_postset_fn I usr_param void * I return int O 255: previous state 1-99: % Dimming duration 0: instant 1-127: in seconds 128-254: 1 to 127 minutes 255: default factory rate Optional post-set polling callback function. NULL if no callback required. Optional user-defined parameter passed in callback. ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.6 zwif_level_mset Set multilevel switches using multicast addressing if available. Table 288 zwif_level_mset Parameters Attribute ifd ifd_cnt Type zwifd_t * uint8_t v uint8_t return int I/O Description I Array of interface handles I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_level_set() with dur=0, cb=NULL and usr_param=NULL I Level 0: OFF 255: previous state 1-99: % O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.7 zwif_level_start Start a level change. Attribute ifd level_ctrl return Type zwifd_t * zwlevel_t * int Table 289 zwif_level_start Parameters I/O Description I Level interface handle. I Level parameters. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute pri_dir Type uint8_t pri_level uint8_t Table 290 zwlevel_t structure I/O Description I Primary switch direction. 0 up 1 down 3 no change I Primary switch start level silabs.com | Building a more connected world. Page 101 of 224 INS14416-10 pri_ignore_lvl uint8_t sec_dir sec_step uint8_t uint8_t dur uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Ignore primary switch start level. 0 use primary switch start level 1 - ignore start level I Secondary switch direction, same definition as primary I Secondary switch step size: 0-99 - % 255 factory default I Dimming duration in seconds which is the interval it takes to dim from level 0 to 99. 11.3.8 zwif_level_mstart Start modifying levels using multicast addressing if available. Table 291 zwif_level_mstart Parameters Attribute Type ifd zwifd_t * ifd_cnt uint8_t level_ctrl zwlevel_t * return int I/O Description I Array of interface handles I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_level_start() I Level parameters. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.9 zwif_level_stop Stop a level change. Attribute Type ifd zwifd_t * return int Table 292 zwif_level_stop Parameters I/O Description I Level interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.3.10 zwif_level_mstop Stop modifying levels using multicast addressing if available. Table 293 zwif_level_mstop Parameters Attribute Type ifd zwifd_t * ifd_cnt uint8_t return int I/O Description I Array of interface handles I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_level_stop() O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.4 Color Switch Interface API This corresponds to the Z-Wave Color Switch CC. silabs.com | Building a more connected world. Page 102 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.4.1 zwif_color_sw_rpt_set Set up a color switch report callback function Table 294 zwif_color_sw_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_color_sw_get_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd data ts Type zwifd_t * zwcolor_t * time_t stat_num uint16_t Table 295 zwrep_color_sw_get_fn Parameters I/O Description I Interface handle. I Color component data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected Attribute id value target_val dur Type uint8_t uint8_t uint8_t uint8_t Table 296 zwcolor_t Structure I/O Description O Color component ID, COL_SW_COMP_ID_XXX O Value or current value O Target value O Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved. Table 297 COL_SW_COMP_ID_XXX Color Switch Component ID COL_SW_COMP_ID_WARM_WHITE COL_SW_COMP_ID_COLD_WHITE COL_SW_COMP_ID_RED COL_SW_COMP_ID_GREEN COL_SW_COMP_ID_BLUE COL_SW_COMP_ID_AMBER COL_SW_COMP_ID_CYAN COL_SW_COMP_ID_PURPLE COL_SW_COMP_ID_INDEX Description Warm white Cold white Red Green Blue Amber (for 6 channels color mixing) Cyan (for 6 channels color mixing) Purple (for 6 channels color mixing) Indexed color 11.4.2 zwif_color_sw_get Get a color component value through report callback. silabs.com | Building a more connected world. Page 103 of 224 INS14416-10 Attribute ifd id flag return Type zwifd_t * uint8_t int int Z-Ware SDK 7.13.0 Library C API Reference Manual Table 298 zwif_color_sw_get Parameters I/O Description I Interface handle. O color component ID, COL_SW_COMP_ID_XXX. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.4.3 zwif_color_sw_set Set color component values. Table 299 zwif_color_sw_set Parameters Attribute ifd cnt id Type zwifd_t * uint8_t uint8_t * val uint8_t * dur uint8_t return int I/O Description I Interface handle. I Color component count (maximum 31). I Pointer to first element of the color component ID (see COL_SW_COMP_ID_XXX) array. I Pointer to first element of the color component value array. I Level change duration. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default rate. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.4.4 zwif_color_sw_start Start increasing/decreasing color switch level. Table 300 zwif_color_sw_start Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. color_ctrl zwcol_ctl_t * I Level control of color switch. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute dir id use_start_lvl Type uint8_t uint8_t uint8_t start_level uint8_t dur uint8_t Table 301 zwcol_ctl_t structure I/O Description O Color switch direction, COL_SW_LVL_XXX O Color component ID, COL_SW_COMP_ID_XXX O Flag to indicate whether to start changing level from user supplied start_level. 1=use user supplied start level; 0=start from current level O Color switch start level (only valid if use_start_lvl=1) O Level change duration silabs.com | Building a more connected world. Page 104 of 224 INS14416-10 Color switch direction COL_SW_LVL_UP COL_SW_LVL_DOWN Z-Ware SDK 7.13.0 Library C API Reference Manual Table 302 COL_SW_LVL_XXX Description Increase level Decrease level 11.4.5 zwif_color_sw_stop Stop changing color switch level. Table 303 zwif_color_sw_stop Parameters Attribute ifd id return Type zwifd_t * uint8_t int I/O Description I Interface handle. O Color component ID, COL_SW_COMP_ID_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.4.6 zwif_color_sw_sup_get Get supported barrier color components through report callback. Table 304 zwif_color_sw_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_color_sw_sup_fn int I/O Description I Interface handle. I Callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Attribute ifd comp_cnt comp_id valid Type zwifd_t * uint8_t uint8_t * int Table 305 zwrep_color_sw_sup_fn Parameters I/O Description I Interface handle. I Number of color components in comp_id array. I Color component ID (see COL_SW_COMP_ID_XXX ) array. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.4.7 zwif_color_sw_sup_cache_get Get supported color components from cache. Table 306 zwif_color_sw_sup_cache_get Parameters Attribute Type ifd zwifd_t * comp_cnt uint8_t * I/O Description I Interface handle. O Number of color components. silabs.com | Building a more connected world. Page 105 of 224 INS14416-10 comp_id uint8_t * return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Caller supplied buffer of size 255 bytes to store supported color component ID (see COL_SW_COMP_ID_XXX ). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5 Window Covering Interface API This corresponds to the Z-Wave Window Covering CC. It is used to control the amount of light through window. 11.5.1 zwif_wincvr_rpt_set Set up a window covering parameter status report callback function Table 307 zwif_wincvr_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_wincvr_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 308 zwrep_wincvr_fn Parameters Attribute ifd val ts Type zwifd_t * wincvr_dat_t * time_t stat_num uint16_t I/O Description I Interface handle. I Window covering parameter status data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected Attribute id curr_val tgt_val dur Type uint8_t uint8_t uint8_t uint8_t Table 309 wincvr_dat_t Structure I/O Description O Parameter id WIN_COVER_ID_XXX O Current value with range 0~99. 0=Closed; 99=Open O Target value with the same interpretation as curr_val O Duration needed to reach the target value: 0 = already at the target; 0x01~0x7F = seconds in 1-second resolution; 0x80~0xFD = 1~126 minutes in 1-minute resolution; 0xFE = Unknown duration; 0xFF = reserved Window covering parameter ID Table 310 WIN_COVER_ID_XXX Description silabs.com | Building a more connected world. Page 106 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 WIN_COVER_ID_OUT_L WIN_COVER_ID_OUT_L_POS WIN_COVER_ID_OUT_R WIN_COVER_ID_OUT_R_POS WIN_COVER_ID_IN_L WIN_COVER_ID_IM_L_POS WIN_COVER_ID_IN_R WIN_COVER_ID_IM_R_POS WIN_COVER_ID_IN_RL WIN_COVER_ID_IM_RL_POS WIN_COVER_ID_V_SLAT_ANG WIN_COVER_ID_V_SLAT_ANG_POS WIN_COVER_ID_OUT_B WIN_COVER_ID_OUT_B_POS WIN_COVER_ID_OUT_T WIN_COVER_ID_OUT_T_POS WIN_COVER_ID_IN_B WIN_COVER_ID_IN_B_POS WIN_COVER_ID_IN_T WIN_COVER_ID_IN_T_POS WIN_COVER_ID_IN_TB Outbound edge towards the left. Level changed up: opening; level changed down: closing Outbound edge towards the left with position value range 0~99. 0=Closed; 99=Open Outbound edge towards the right. Level changed up: opening; level changed down: closing Outbound edge towards the right with position value range 0~99. 0=Closed; 99=Open Inbound edge towards the left. Level changed up: opening; level changed down: closing Inbound edge towards the left with position value range 0~99. 0=Closed; 99=Open Inbound edge towards the right. Level changed up: opening; level changed down: closing Inbound edge towards the right with position value range 0~99. 0=Closed; 99=Open Inbound edges controlled horizontally. Level changed up: opening; level changed down: closing Inbound edges controlled horizontally with position value range 0~99. 0=Closed; 99=Open Vertical slats angle (Right/Left movement). Level changed up: closing to the left inside; level changed down: closing to the right inside Vertical slats angle (Right/Left movement) with position value range 0~99. 0=Closed (to the right inside); 50=Open; 99=Closed (to the left inside) Outbound edge towards the bottom. Level changed up: opening; level changed down: closing Outbound edge towards the bottom with position value range 0~99. 0=Closed; 99=Open Outbound edge towards the top. Level changed up: opening; level changed down: closing Outbound edge towards the top with position value range 0~99. 0=Closed; 99=Open Inbound edge towards the bottom. Level changed up: opening; level changed down: closing Inbound edge towards the bottom with position value range 0~99. 0=Closed; 99=Open Inbound edge towards the top. Level changed up: opening; level changed down: closing Inbound edge towards the top with position value range 0~99. 0=Closed; 99=Open Inbound edges controlled vertically. Level changed up: opening; level changed down: closing silabs.com | Building a more connected world. Page 107 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 WIN_COVER_ID_IM_TB_POS WIN_COVER_ID_H_SLAT_ANG WIN_COVER_ID_H_SLAT_ANG_POS Inbound edges controlled vertically with position value range 0~99. 0=Closed; 99=Open Horizontal slats angle (Up/Down movement). Level changed up: closing down inside; level changed down: closing up inside Horizontal slats angle (Up/Down movement) with position value range 0~99. 0=Closed (up inside); 50=Open; 99=Closed (down inside) 11.5.2 zwif_wincvr_get Get window covering parameter status through report callback. Table 311 zwif_wincvr_get Parameters Attribute ifd id flag return Type zwifd_t * uint8_t int int I/O Description I Interface handle. O Parameter id with position control (see WIN_COVER_ID_XXX_POS) I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.3 zwif_wincvr_set Set the position of the window covering. Table 312 zwif_wincvr_set Parameters Attribute ifd cnt id Type zwifd_t * uint8_t uint8_t * val uint8_t * dur uint8_t return int I/O Description I Interface handle. I Parameter count (maximum 31) I Parameter ids array of those with position control (see WIN_COVER_ID_XXX_POS) I Parameter value array with the values correspond to the parameter ids in "id" array I Time that the transition should take from the current value to the new target value. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default rate. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.4 zwif_wincvr_mset Set the position of the window covering using multicast addressing if available. silabs.com | Building a more connected world. Page 108 of 224 INS14416-10 Attribute ifd ifd_cnt Type zwifd_t * uint8_t cnt uint8_t id uint8_t * val uint8_t * dur uint8_t return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 313 zwif_wincvr_mset Parameters I/O Description I Array of interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_wincvr_set() I Parameter count (maximum 31) I Parameter ids array of those with position control (see WIN_COVER_ID_XXX_POS) I Parameter value array with the values correspond to the parameter ids in "id" array I Time that the transition should take from the current value to the new target value. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default rate. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.5 zwif_wincvr_start Start transitioning window covering to a new level. Table 314 zwif_wincvr_start Parameters Attribute ifd id dir dur Type zwifd_t * uint8_t uint8_t uint8_t return int I/O Description I Interface handle. O Parameter id (see WIN_COVER_ID_XXX) O Direction of the level change. 0 = increase level; 1 = decrease level O Duration from the minimum value to the maximum value which dictates the level change rate. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default rate. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.6 zwif_wincvr_mstart Start transitioning window covering to a new level using multicast addressing if available. Table 315 zwif_wincvr_mstart Parameters Attribute Type ifd zwifd_t * ifd_cnt uint8_t id uint8_t dir uint8_t dur uint8_t I/O Description I Array of interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_wincvr_start() O Parameter id (see WIN_COVER_ID_XXX) O Direction of the level change. 0 = increase level; 1 = decrease level O Duration from the minimum value to the maximum value which dictates the level change rate. 0=instantly; 0x01 to 0x7F = 1 second (0x01) to 127 silabs.com | Building a more connected world. Page 109 of 224 INS14416-10 return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 seconds (0x7F); 0x80 to 0xFE = 1 minute (0x80) to 127 minutes (0xFE); 0xFF = factory default rate. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.7 zwif_wincvr_stop Stop an ongoing transition started by zwif_wincvr_start API. Table 316 zwif_wincvr_stop Parameters Attribute ifd id return Type zwifd_t * uint8_t int I/O Description I Interface handle. O Parameter id (see WIN_COVER_ID_XXX) O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.8 zwif_wincvr_mstop Stop an ongoing transition started by zwif_wincvr_start API using multicast addressing if available. Table 317 zwif_wincvr_mstop Parameters Attribute Type ifd zwifd_t * ifd_cnt uint8_t id return uint8_t int I/O Description I Array of interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_wincvr_stop() O Parameter id (see WIN_COVER_ID_XXX) O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.5.9 zwif_wincvr_sup_get Get window covering supported parameter IDs through report callback. Table 318 zwif_wincvr_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_wincvr_sup_fn int I/O Description I Interface handle. I Callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Attribute ifd id_len id valid Type zwifd_t * uint8_t uint8_t * int Table 319 zwrep_wincvr_sup_fn Parameters I/O Description I Interface handle. I Size of parameter IDs buffer. I Buffer to store supported parameter IDs (WIN_COVER_ID_XXX) I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. silabs.com | Building a more connected world. Page 110 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.5.10 zwif_wincvr_sup_cache_get Get window covering supported parameter IDs from cache. Table 320 zwif_wincvr_sup_cache_get Parameters Attribute ifd id_cnt id Type zwifd_t * uint8_t * uint8_t * return int I/O Description I Interface handle. O Supported parameter IDs count O Caller supplied buffer of size 255 bytes to store supported parameter IDs (WIN_COVER_ID_XXX) O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6 Barrier Operator Interface API This corresponds to the Z-Wave Barrier Operator CC. 11.6.1 zwif_barrier_rpt_set Set up a barrier operator state report callback function. Table 321 zwif_barrier_rpt_set Parameters Attribute ifd rpt_cb return Type I/O zwifd_t * I zwrep_barrier_fn I int O Description Interface handle. Report callback function. ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * state uint8_t ts time_t stat_num uint16_t Table 322 zwrep_barrier_fn Parameters I/O Description I Interface handle I Barrier operator state, ZW_BAR_STA_XXX. It may also be in a range from 1 to 99 (%) open. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Barrier operator state ZW_BAR_STA_CLOSED ZW_BAR_STA_CLOSING ZW_BAR_STA_STOPPED ZW_BAR_STA_OPENING ZW_BAR_STA_OPEN Table 323 ZW_BAR_STA_XXX Description The barrier is in the closed position. The barrier is closing; current position is unknown. The barrier is stopped; current position is unknown. The barrier is opening; current position is unknown. The barrier is in the open position. silabs.com | Building a more connected world. Page 111 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.6.2 zwif_barrier_get Get barrier operator state through report callback. Table 324 zwif_barrier_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6.3 zwif_barrier_set Set barrier operator state. Table 325 zwif_barrier_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. tgt_state uint8_t I target state 0: close, 0xFF:open cb zw_postset_fn I Optional post-set polling callback function. NULL if no callback required. usr_param void * I Optional user-defined parameter passed in callback. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6.4 zwif_barrier_mset Set barrier operator state using multicast addressing if available. Table 326 zwif_barrier_mset Parameters Attribute ifd ifd_cnt Type zwifd_t * uint8_t tgt_state uint8_t return int I/O Description I Array of interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_barrier_set()with cb=NULL and usr_param=NULL I target state 0: close, 0xFF:open O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6.5 zwif_barrier_notif_sup_get Get supported barrier operator notification subsystem report through report callback. silabs.com | Building a more connected world. Page 112 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 327 zwif_barrier_notif_sup_get Parameters Attribute ifd cb cache Type I/O zwifd_t * I zwrep_ barrier_notif_sup_fn I int I Description Interface handle. callback function. Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Attribute ifd type_len type Type zwifd_t * uint8_t uint8_t * valid int Table 328 zwrep_barrier_notif_sup_fn Parameters I/O Description I Interface handle. I Size of barrier operator notification subsystem type buffer. I Buffer to store supported barrier operator notification subsystem types (ZW_BAR_NOTIF_TYP_XXX). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Table 329 ZW_BAR_NOTIF_TYP_XXX Barrier operator notification subsystem type ZW_BAR_NOTIF_TYP_UNSUPPORTED ZW_BAR_NOTIF_TYP_AUDIBLE ZW_BAR_NOTIF_TYP_VISUAL Description Not supported. Audible Notification subsystem (e.g. siren). Visual Notification subsystem (e.g. flashing light). 11.6.6 zwif_barrier_notif_sup_cache_get Get supported barrier operator notification subsystem from cache. Table 330 zwif_barrier_notif_sup_cache_get Parameters Attribute ifd type_cnt Type zwifd_t * uint8_t * sup_type uint8_t * return int I/O Description I Interface handle. O supported barrier operator notification subsystem types counts. O caller supplied buffer of size 255 bytes to store barrier operator notification subsystem types (ZW_BAR_NOTIF_TYP_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6.7 zwif_barrier_notif_rpt_set Set up a barrier operator notification subsystem configuration report callback function. Table 331 zwif_barrier_notif_rpt_set Parameters Attribute Type I/O Description silabs.com | Building a more connected world. Page 113 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ifd rpt_cb return zwifd_t * I zwrep_barrier_subsys_fn I int O Interface handle. Report callback function. ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd subsys_type subsys_sta ts Type zwifd_t * uint8_t uint8_t time_t stat_num uint16_t Table 332 zwrep_barrier_subsys_fn Parameters I/O Description I Interface handle. I Barrier operator subsystem type, ZW_BAR_NOTIF_TYP_XXX. I Barrier operator subsystem state: 0=off; 0xFF=on. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I state number that is incremented by one whenever a cache change is detected. 11.6.8 zwif_barrier_notif_cfg_get Get barrier operator notification subsystem configuration through report callback. Table 333 zwif_barrier_notif_cfg_get Parameters Attribute Type ifd zwifd_t * type uint8_t flag int return int I/O Description I Interface handle. I Notification subsystem type ZW_BAR_NOTIF_TYP_XXX; except ZW_BAR_NOTIF_TYP_UNSUPPORTED. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.6.9 zwif_barrier_notif_cfg_set Enable/disable barrier operator notification subsystem. Table 334 zwif_barrier_notif_cfg_set Parameters Attribute ifd type Type zwifd_t * uint8_t state return uint8_t int I/O Description I Interface handle. I Notification subsystem type ZW_BAR_NOTIF_TYP_XXX; except ZW_BAR_NOTIF_TYP_UNSUPPORTED. I State : 0=disable; 0xFF=enable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.7 Sound Switch Interface API This corresponds to the Z-Wave Sound Switch CC. silabs.com | Building a more connected world. Page 114 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.7.1 zwif_snd_switch_rpt_set Set up a sound switch state report callback function. Table 335 zwif_snd_switch_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. tone_config_rpt_cb zwrep_snd_switch_config_fn I Tone config Report callback function. tone_play_rpt_cb zwrep_snd_switch_tone_play_fn I Tone play Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd volume def_tone_id ts Type zwifd_t * uint8_t uint8_t time_t stat_num uint16_t Table 336 zwrep_snd_switch_config_fn Parameters I/O Description I Interface handle. I Device current volume in percentage. In the range of 0..100. I Current configured default tone. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Attribute ifd tone_id tone_vol ts stat_num Table 337 zwrep_snd_switch_tone_play_fn Parameters Type zwifd_t * uint8_t uint8_t time_t uint16_t I/O Description I Interface handle. I Tone ID of the tone which is currently being played. 0 indicates no tone is playing. I Tone volume. 0 = use the configured current volume set by the zwif_snd_switch_config_set(). Value 1 to 100 indicate the actual volume setting from respectively 1% to 100%. 255 = use most recent non-zero volume setting if the current volume is muted (0). If the current configured volume is not muted (> 0), this value (255) indicates to use the configured current volume set by the zwif_snd_switch_config_set(). I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. 11.7.2 zwif_snd_switch_config_get Get sound switch configuration setting through report callback. silabs.com | Building a more connected world. Page 115 of 224 INS14416-10 Attribute Type ifd zwifd_t * return int Z-Ware SDK 7.13.0 Library C API Reference Manual Table 338 zwif_snd_switch_config_get Parameters I/O Description I Interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.7.3 zwif_snd_switch_config_set Set sound switch configuration. Table 339 zwif_snd_switch_config_set Parameters Attribute ifd volume Type zwifd_t * uint8_t def_tone_id uint8_t return int I/O Description I Interface handle. I Volume setting. 0 means mute volume. 1..100 indicates actual volume from 1% to 100%. 255 means unmute volume, or modify default tone only without modifying volume setting. I Default tone ID to set. 0 means no change on the default tone. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.7.4 zwif_snd_switch_tone_play_get Get sound switch currently played tone through report callback. Table 340 zwif_snd_switch_tone_play_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I Interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.7.5 zwif_snd_switch_tone_play_set Play/Stop tone on sound switch device. Table 341 zwif_snd_switch_tone_play_set Parameters Attribute ifd tone_id tone_vol Type zwifd_t * uint8_t uint8_t I/O Description I Interface handle. I Tone ID of which to play. 0 means stop playing any tone. 255 means play the default tone. I Tone volume if the device supports it; else this parameter will be ignored. 0 = use the configured current volume set by the zwif_snd_switch_config_set(). Value 1 to 100 indicate the actual volume setting from respectively 1% to 100%. silabs.com | Building a more connected world. Page 116 of 224 INS14416-10 return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 255 = use most recent non-zero volume setting if the current volume is muted (0). If the current configured volume is not muted (> 0), this value (255) indicates to use the configured current volume set by the zwif_snd_switch_config_set(). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.7.6 zwif_snd_switch_tone_info_get Get tone information for a specific tone ID or all the tone information through report callback. Table 342 zwif_snd_switch_tone_info_get Parameters Attribute ifd tone_id cb cache Type I/O zwifd_t * I uint8_t I zwrep_snd_switch_tone_info_fn I int I Description Interface handle. 0 indicates to get all the tone information from cache. Non-0 indicates to get a specific tone-id information. callback function. Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Table 343 zwrep_snd_switch_tone_info_fn Parameters Attribute ifd tone_cnt Type zwifd_t * uint8_t ptone_info_list zwsnd_switch_tone_info_t * valid int I/O Description I Interface handle. I number of tone information stored in ptone_info_list I Array of tone information data I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored Table 344 zwsnd_switch_tone_info_t Structure Attribute Type I/O Description wtone_info_sz uint16_t O Size of Tone information data ptone_info if_snd_switch_tone_info_t * O Tone information data Attribute tone_id tone_duration tone_name_len Type uint8_t uint16_t uint8_t tone_name char [1] Table 345 if_snd_switch_tone_info_t Structure I/O Description O Tone ID O Tone duration O Tone name length in bytes (including NUL terminating character) O Tone name string place holder in UTF-8 silabs.com | Building a more connected world. Page 117 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.8 Binary Sensor Interface API 2019-12-06 This corresponds to the Z-Wave Binary Sensor CC. 11.8.1 zwif_bsensor_rpt_set Set up a binary sensor report callback. Table 346 zwif_bsensor_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Binary sensor interface handle. rpt_cb zwrep_bsensor_fn I Binary sensor report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd state Type zwifd_t * uint8_t type uint8_t ts time_t Table 347 zwrep_bsensor_fn Parameters I/O Description I Binary sensor interface handle I 0 idle 1 event detected I Sensor type, ZW_BSENSOR_TYPE_XXX. If type equals to zero, sensor type is unknown. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. 11.8.2 zwif_bsensor_get Solicit a report of the current state of the binary sensor. Table 348 zwif_bsensor_get Parameters Attribute Type ifd zwifd_t * type uint8_t flag int return int I/O Description I Binary sensor interface handle. I Preferred sensor type, ZW_BSENSOR_TYPE_XXX. If type equals to zero, the sensor report will return the factory default sensor type. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.8.3 zwif_bsensor_sup_get Get the supported binary sensor types through report callback. Table 349 zwif_bsensor_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Binary sensor interface handle. cb zwrep_bsensor_sup_fn I Report callback function. silabs.com | Building a more connected world. Page 118 of 224 INS14416-10 cache int return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd type_len type valid Type zwifd_t * uint8_t uint8_t * int Table 350 zwrep_bsensor_sup_fn Parameters I/O Description I Binary sensor interface handle. I Size of sensor type buffer. buffer to store supported sensor types (ZW_BSENSOR_TYPE_XXX). I validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.8.4 zwif_bsensor_sup_cache_get Get the supported binary sensor types from cache. Table 351 zwif_bsensor_sup_cache_get Parameters Attribute ifd snsr_cnt sup_snsr Type zwifd_t * uint8_t * uint8_t * return int I/O Description I Binary sensor interface handle. O Supported sensor counts. O Caller supplied buffer of size 255 bytes to store supported sensors (ZW_BSENSOR_TYPE_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.9 Alarm/Notification Interface API This corresponds to the Z-Wave Alarm/Notification CC. 11.9.1 zwif_alrm_rpt_set Set up an Alarm/Notification report callback function. Table 352 zwif_alrm_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_alrm_fn int I/O Description I Alarm/Notification interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * alarm_info zwalrm_t * Table 353 zwrep_alrm_fn Parameters I/O Description I Alarm/Notification interface handle. I Alarm/Notification info. silabs.com | Building a more connected world. Page 119 of 224 INS14416-10 ts time_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute type level ex_info ex_zensr_nodeid ex_status ex_type ex_event ex_has_sequence Type uint8_t uint8_t uint8_t uint8_t uint8_t uint8_t uint8_t uint8_t ex_sequence_no uint8_t ex_evt_len uint8_t ex_evt_type uint8_t Table 354 zwalrm_t Structure I/O Description O Vendor-specific alarm type. O Vendor-specific alarm level. O Are extended information fields are valid? 1= valid; 0= invalid. O Zensor Net source node ID. 0 if not based on ZensorNet. O Z-Wave Alarm/Notification status (ZW_ALRM_STS_XXX). O Z-Wave Alarm/Notification type (ZW_ALRM_XXX). O Z-Wave Alarm/Notification event (ZW_ALRM_EVT_XXX). O Flag to indicate whether this report has sequence number as stored in "ex_sequence_no". 1=valid; 0 = invalid. O Z-Wave Alarm/Notification sequence number. Only valid if field ex_has_sequence is 1. O Z-Wave Alarm/Notification event parameter length. Zero if no parameter. O Z-Wave Alarm/Notification event parameter type (ZW_ALRM_PARAM_XXX) : ex_evt_prm ZW_ALRM_PARAM_LOC Node location UTF-8 string (NULL terminated) ZW_ALRM_PARAM_USRID User ID ZW_ALRM_PARAM_OEM_ERR_CODE OEM proprietary system failure code ZW_ALRM_PARAM_PROPRIETARY Proprietary event parameters ZW_ALRM_PARAM_EVENT_ID Event ID which is no more active ZW_ALRM_PARAM_UNKNOWN Unknown Alarm/Notification event parameters. It could be from a higher version of CC, or the device violates the spec and send Parameters when Spec does not define uint8_t[1] O Z-Wave Alarm/Notification event parameter place holder Z-Wave alarm status Table 355 ZW_ALRM_STS_XXX Description silabs.com | Building a more connected world. Page 120 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_STS_DEACTIVATED ZW_ALRM_STS_ACTIVATED ZW_ALRM_STS_NO_PEND_NOTICE Unsolicited Alarm/Notification report is deactivated (push mode) or report message carries valid notification information (pull mode). Unsolicited Alarm/Notification report is activated (push mode) . Report message does not carry valid notification information. The queue is empty (pull mode). Z-Wave Alarm/Notification type ZW_ALRM_SMOKE ZW_ALRM_CO ZW_ALRM_CO2 ZW_ALRM_HEAT ZW_ALRM_WATER ZW_ALRM_LOCK ZW_ALRM_BURGLAR ZW_ALRM_POWER ZW_ALRM_SYSTEM ZW_ALRM_EMERGENCY ZW_ALRM_CLOCK ZW_ALRM_APPLIANCE ZW_ALRM_HEALTH ZW_ALRM_SIREN ZW_ALRM_WATER_VLV ZW_ALRM_WEATHER ZW_ALRM_IRRIGATION ZW_ALRM_GAS ZW_ALRM_PEST_CTL ZW_ALRM_LIGHT_SNSR ZW_ALRM_WATER_QM ZW_ALRM_HOME_MNTR ZW_ALRM_REQ_PEND ZW_ALRM_FIRST Table 356 ZW_ALRM_XXX Description Smoke alarm Carbon monoxide alarm Carbon dioxide alarm Heat alarm Water alarm Lock access control alarm Burglar alarm or home security Power management alarm System alarm Emergency alarm Alarm clock Home appliance alarm Home health alarm Siren alarm Water Valve alarm Weather alarm Irrigation alarm Gas alarm Pest control Light sensor Water quality monitoring Home monitoring Request pending notification Used by the zwif_alrm_get() to retrieve the first alarm detection from the supported list Z-Wave Alarm/ Notification type All Table 357 ZW_ALRM_EVT_XXX Z-Wave alarm/Notification event ZW_ALRM_EVT_UNKNOWN Description Unknown event. silabs.com | Building a more connected world. Page 121 of 224 INS14416-10 Smoke alarm Carbon monoxide alarm Carbon dioxide alarm Heat alarm Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_INACTIVE_CLEAR ZW_ALRM_EVT_SMOKE_L ZW_ALRM_EVT_SMOKE ZW_ALRM_EVT_SMOKE_TEST ZW_ALRM_EVT_SMOKE_REPLA ZW_ALRM_EVT_SMOKE_REPLA_EOL ZW_ALRM_EVT_SMOKE_MAINTNC_PLAN ZW_ALRM_EVT_SMOKE_MAINTNC_DUST ZW_ALRM_EVT_CO_L ZW_ALRM_EVT_CO ZW_ALRM_EVT_CO_TEST ZW_ALRM_EVT_CO_REPLA ZW_ALRM_EVT_CO_REPLA_EOL ZW_ALRM_EVT_CO_SILENCED ZW_ALRM_EVT_CO_MAINTNC_PLAN ZW_ALRM_EVT_CO2_L ZW_ALRM_EVT_CO2 ZW_ALRM_EVT_CO2_TEST ZW_ALRM_EVT_CO2_REPLA ZW_ALRM_EVT_CO2_REPLA_EOL ZW_ALRM_EVT_CO2_SILENCED ZW_ALRM_EVT_CO2_MAINTNC_PLAN ZW_ALRM_EVT_OVERHEAT_L ZW_ALRM_EVT_OVERHEAT ZW_ALRM_EVT_TEMP_RISE_L ZW_ALRM_EVT_TEMP_RISE ZW_ALRM_EVT_UNDRHEAT_L ZW_ALRM_EVT_UNDRHEAT Event inactive (push mode) / Previous Events cleared (pull mode) Smoke detected with location Smoke detected Smoke alarm test Replacement required Replacement required, End-oflife Maintenance required, planned periodic inspection Maintenance required, dust in device Carbon monoxide detected with location Carbon monoxide detected Carbon monoxide test. Event parameter value: 1=OK, 2=Failed Replacement required Replacement required, End-oflife Alarm silenced Maintenance required, planned periodic inspection Carbon dioxide detected with location Carbon dioxide detected Carbon dioxide test. Event parameter value: 1=OK, 2=Failed Replacement required Replacement required, End-oflife Alarm silenced Maintenance required, planned periodic inspection Overheat detected with location info Overheat detected Rapid temperature rise detected with location Rapid temperature rise detected Underheat detected with location Underheat detected silabs.com | Building a more connected world. Page 122 of 224 INS14416-10 Water alarm Lock access control alarm Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_HT_TEST ZW_ALRM_EVT_HT_REPLA_EOL ZW_ALRM_EVT_HT_SILENCED ZW_ALRM_EVT_HT_MAINTNC_DUST ZW_ALRM_EVT_HT_MAINTNC_PLAN ZW_ALRM_EVT_RAPID_TEMP_FALL_L ZW_ALRM_EVT_RAPID_TEMP_FALL ZW_ALRM_EVT_LEAK_L ZW_ALRM_EVT_LEAK ZW_ALRM_EVT_LVL_L ZW_ALRM_EVT_LVL ZW_ALRM_EVT_REPLACE_WATER_FILTER ZW_ALRM_EVT_WATER_FLOW ZW_ALRM_EVT_WATER_PRESSURE ZW_ALRM_EVT_WATER_TEMP ZW_ALRM_EVT_WATER_LEVEL ZW_ALRM_EVT_SUMP_PUMP_ACTV ZW_ALRM_EVT_SUMP_PUMP_FAIL ZW_ALRM_EVT_MANUAL_LCK ZW_ALRM_EVT_MANUAL_ULCK ZW_ALRM_EVT_RF_LCK ZW_ALRM_EVT_RF_ULCK ZW_ALRM_EVT_KEYPAD_LCK ZW_ALRM_EVT_KEYPAD_ULCK ZW_ALRM_EVT_MANUAL_NOT_FUL_LCK Heat alarm test Replacement required, End-oflife Alarm silenced Maintenance required, dust in device Maintenance required, planned periodic inspection Rapid temperature fall with location info Rapid temperature fall Water leak detected with location Water leak detected Water level dropped detected with location Water level dropped detected Replace Water Filter Water flow. Event parameter value: 1=no data, 2=below low threshold, 3=above high threshold, 4=max Water pressure. Event parameter meaning same as those for water flow. Water temperature. Event parameter value: 1=no data, 2=below low threshold, 3=above high threshold Water level. Event parameter meaning same as those for water temperature. Sump pump active Sump pump failure Manual lock operation Manual unlock operation RF lock operation RF unlock operation Keypad lock operation with user identifier Keypad unlock operation with user identifier Manual not fully locked operation silabs.com | Building a more connected world. Page 123 of 224 INS14416-10 Burglar alarm or home security Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_RF_NOT_FUL_LCK ZW_ALRM_EVT_AUTO_LCK ZW_ALRM_EVT_AUTO_NOT_FUL_OPER ZW_ALRM_EVT_LCK_JAMMED ZW_ALRM_EVT_ALL_CODE_DEL ZW_ALRM_EVT_1_CODE_DEL ZW_ALRM_EVT_CODE_ADDED ZW_ALRM_EVT_CODE_DUP ZW_ALRM_EVT_KEYPAD_DISABLED ZW_ALRM_EVT_KEYPAD_BUSY ZW_ALRM_EVT_NEW_PROG_CODE ZW_ALRM_EVT_USR_CODE_LIMIT ZW_ALRM_EVT_RF_ULCK_INVLD_CODE ZW_ALRM_EVT_RF_LCK_INVLD_CODE ZW_ALRM_EVT_WINDOW_DOOR_OPEN ZW_ALRM_EVT_WINDOW_DOOR_CLOSED ZW_ALRM_EVT_WIN_DR_HDL_OPEN ZW_ALRM_EVT_WIN_DR_HDL_CLOSED ZW_ALRM_EVT_USR_CODE_VIA_KEYPAD ZW_ALRM_EVT_INTRUSION_L ZW_ALRM_EVT_INTRUSION ZW_ALRM_EVT_TMPR_COVER ZW_ALRM_EVT_TMPR_CODE ZW_ALRM_EVT_GLASS_L ZW_ALRM_EVT_GLASS ZW_ALRM_EVT_MOTION_DET_L ZW_ALRM_EVT_MOTION_DET ZW_ALRM_EVT_TMPR_MOVED RF not fully locked operation Auto lock locked operation Auto lock not fully operation Lock jammed All user codes deleted Single user code deleted New user code added New user code not added due to duplicate code Keypad temporary disabled Keypad busy New program code entered unique code for lock configuration Manually enter user access code exceeds code limit Unlock by RF with invalid user code Locked by RF with invalid user code Window/door is open Window/door is closed Window/door handle is open Window/door handle is closed User Code entered via keypad (with event param: ZW_ALRM_PARAM_USRID) Intrusion detected with location Intrusion detected Tampering, product covering removed Tampering, Invalid Code Glass breakage detected with location Glass breakage detected Motion detected with location info Motion detected with unknown location info Tampering, product moved silabs.com | Building a more connected world. Page 124 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_IMPACT ZW_ALRM_EVT_MAGNET_FIELD Power management alarm System alarm ZW_ALRM_EVT_POWER ZW_ALRM_EVT_AC_OFF ZW_ALRM_EVT_AC_ON ZW_ALRM_EVT_SURGE ZW_ALRM_EVT_VOLT_DROP ZW_ALRM_EVT_OVER_CURRENT ZW_ALRM_EVT_OVER_VOLT ZW_ALRM_EVT_OVER_LOAD ZW_ALRM_EVT_LOAD_ERR ZW_ALRM_EVT_REPLACE_BATT_SOON ZW_ALRM_EVT_REPLACE_BATT_NOW ZW_ALRM_EVT_BATT_CHARGING ZW_ALRM_EVT_BATT_CHARGED ZW_ALRM_EVT_CHARGE_BATT_SOON ZW_ALRM_EVT_CHARGE_BATT_NOW ZW_ALRM_EVT_BKUP_BATT_LOW ZW_ALRM_EVT_BATT_FLUID_LOW ZW_ALRM_EVT_BKUP_BATT_DISCONN ZW_ALRM_EVT_HW ZW_ALRM_EVT_SW ZW_ALRM_EVT_HW_OEM_CODE ZW_ALRM_EVT_SW_OEM_CODE ZW_ALRM_EVT_HEARTBEAT ZW_ALRM_EVT_TMPR_COVER_RMV ZW_ALRM_EVT_EMGCY_SHUTOFF ZW_ALRM_EVT_DIGITAL_HI ZW_ALRM_EVT_DIGITAL_LOW Impact detected. This event indicates that the node has detected an excessive amount of pressure or that an impact has occurred on the product itself Magnetic field interference detected. This state is used to indicate that magnetic field disturbance has been detected and the product functionality may not work reliably Power has been applied AC mains disconnected AC mains re-connected Surge Detection Voltage Drop/Drift detected Over-current detected Over-voltage detected Over-load detected Load error Replace battery soon Replace battery now Battery is charging Battery is fully charged Charge battery soon Charge battery now Back-up battery is low Battery fluid is low Back-up battery disconnected System hardware failure System software failure System hardware failure with OEM proprietary failure code System software failure with OEM proprietary failure code Heartbeat. The Heartbeat event may be issued by a device to advertise that the device is still alive or to notify its presence Tampering, product cover removed Emergency shutoff Digital input high state Digital input low state silabs.com | Building a more connected world. Page 125 of 224 INS14416-10 Emergency alarm Alarm clock Barrier Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_DIGITAL_OPEN ZW_ALRM_EVT_POLICE ZW_ALRM_EVT_FIRE ZW_ALRM_EVT_MEDICAL ZW_ALRM_EVT_PANIC ZW_ALRM_EVT_WKUP ZW_ALRM_EVT_TIMER_ENDED ZW_ALRM_EVT_TIME_REMAINING ZW_ALRM_EVT_BARRIER_INIT ZW_ALRM_EVT_BARRIER_OP_FORCE_EXCEE D ZW_ALRM_EVT_BARRIER_MOTOR_TIME_EX CEED ZW_ALRM_EVT_BARRIER_MECHANIC_EXCEE D ZW_ALRM_EVT_BARRIER_OP_FAILED ZW_ALRM_EVT_BARRIER_OP_DISABLED ZW_ALRM_EVT_BARRIER_MALFUNC ZW_ALRM_EVT_BARRIER_VACAT_MODE ZW_ALRM_EVT_BARRIER_BEAM_OBST Digital input open. This state represents a generic digital input that is left open (not connected to anything) Contact police Contact fire service Contact medical service Panic alert. This event is used to indicate that a panic situation or emergency occured Wake up Timer ended Time remaining. Event parameter value (3 bytes): byte0 unit = hours, byte-1 unit = minutes, byte-2 unit = seconds Barrier performing Initialization process. Event parameter value: 0=Completed, 0xFF=In progress Barrier operation (Open / Close) force has been exceeded. Barrier motor has exceeded manufacturer's operational time limit. Event parameter value: 0 to 0x7F = 0 to 127 seconds; 0x80 to 0xFE = 1 to 127 minutes Barrier operation has exceeded physical mechanical limits. (For example: barrier has opened past the open limit) Barrier unable to perform requested operation due to UL requirements. Barrier Unattended operation has been disabled per UL requirements Barrier failed to perform Requested operation, device malfunction Barrier Vacation Mode. Event parameter value: 0=disabled, 0xFF=enabled Barrier Safety Beam Obstacle. Event parameter value: 0=no obstruction, 0xFF=obstruction silabs.com | Building a more connected world. Page 126 of 224 INS14416-10 Appliance Home Health Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_BARRIER_SNR_ERR ZW_ALRM_EVT_BARRIER_LOW_BATT ZW_ALRM_EVT_BARRIER_SHORT ZW_ALRM_EVT_BARRIER_NON_Z-WAVE ZW_ALRM_EVT_PROG_STARTED ZW_ALRM_EVT_PROG_IN_PROGRESS ZW_ALRM_EVT_PROG_END ZW_ALRM_EVT_REPLACE_FILTER ZW_ALRM_EVT_SET_TEMP_ERR ZW_ALRM_EVT_SUPPLYING_WATER ZW_ALRM_EVT_WATER_SUPPLY_ERR ZW_ALRM_EVT_BOILING ZW_ALRM_EVT_BOILING_ERR ZW_ALRM_EVT_WASHING ZW_ALRM_EVT_WASHING_ERR ZW_ALRM_EVT_RINSING ZW_ALRM_EVT_RINSING_ERR ZW_ALRM_EVT_DRAINING ZW_ALRM_EVT_DRAINING_ERR ZW_ALRM_EVT_SPINNING ZW_ALRM_EVT_SPINNING_ERR ZW_ALRM_EVT_DRYING ZW_ALRM_EVT_DRYING_ERR ZW_ALRM_EVT_FAN_ERR ZW_ALRM_EVT_COMPRESSOR_ERR ZW_ALRM_EVT_LEAVING_BED ZW_ALRM_EVT_SITTING_ON_BED ZW_ALRM_EVT_LYING_ON_BED ZW_ALRM_EVT_POSTURE_CHANGED ZW_ALRM_EVT_SITTING_ON_BED_EDGE ZW_ALRM_EVT_VOLATILE_ORGANIC_COMP OUND_LVL Barrier Sensor Not Detected / Supervisory Error. Event parameter value: 0=sensor not defined, 1 to 0xFF=sensor ID Barrier Sensor Low Battery Warning. Event parameter value: 0=sensor not defined, 1 to 0xFF=sensor ID Barrier detected short in Wall Station wires Barrier associated with non-ZWave remote control Program started Program in progress Program completed Replace main filter Failure to set target temperature Supplying water Water supply failure Boiling Boiling failure Washing Washing failure Rinsing Rinsing failure Draining Draining failure Spinning Spinning failure Drying Drying failure Fan failure Compressor failure Leaving Bed Sitting on bed Lying on bed Posture changed Sitting on edge of bed Volatile Organic Compound level. Event parameter value (pollution level): 1=clean, 2=Slightly polluted, 3=Moderately polluted, 4=Highly polluted silabs.com | Building a more connected world. Page 127 of 224 INS14416-10 Siren Water Valve Weather Irrigation Gas Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_SLEEP_APNEA ZW_ALRM_EVT_SLEEP_STAGE_0 ZW_ALRM_EVT_SLEEP_STAGE_1 ZW_ALRM_EVT_SLEEP_STAGE_2 ZW_ALRM_EVT_SLEEP_STAGE_3 ZW_ALRM_EVT_SIREN_ACT ZW_ALRM_EVT_VALVE_OP ZW_ALRM_EVT_MSTR_VALVE_OP ZW_ALRM_EVT_SHORT_CCT ZW_ALRM_EVT_MSTR_SHORT_CCT ZW_ALRM_EVT_CUR_ALRM ZW_ALRM_EVT_MSTR_CUR_ALRM ZW_ALRM_EVT_RAIN ZW_ALRM_EVT_MOIST ZW_ALRM_EVT_FREEZE ZW_ALRM_EVT_SCHED_START ZW_ALRM_EVT_SCHED_FIN ZW_ALRM_EVT_VLV_TBL_RUN_START ZW_ALRM_EVT_VLV_TBL_RUN_FIN ZW_ALRM_EVT_DEV_UNCONFIG ZW_ALRM_EVT_COMBUST_GAS_DET_L ZW_ALRM_EVT_COMBUST_GAS_DET Sleep apnea detected. Event parameter value (breath level): 1=low breath, 2=No breath at all Sleep stage 0 detected: Dreaming/REM Sleep stage 1 detected: Light sleep, non-REM 1 Sleep stage 2 detected: Medium sleep, non-REM 2 Sleep stage 3 detected: Deep sleep, non-REM 3 Siren Active Valve Operation. Event parameter value: 0=closed, 1=open Master Valve Operation. Event parameter value: 0=closed, 1=open Valve Short Circuit Master Valve Short Circuit Valve Current Alarm. Event parameter value: 1=no data, 2=below low threshold, 3=above high threshold, 4=max Master Valve Current Alarm. Event parameter value same as Valve Current Alarm Rain Moisture Freeze Schedule Started. Event parameter value is schedule ID Schedule Finished. Event parameter value is schedule ID Valve Table Run Started. Event parameter value is valve table ID Valve Table Run Finished. Event parameter value is valve table ID Device is not Configured Combustible Gas detected with location info Combustible Gas detected with unknown location info silabs.com | Building a more connected world. Page 128 of 224 INS14416-10 Pest Control Light Sensor Water Quality Monitoring Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_TOXIC_GAS_DET_L ZW_ALRM_EVT_TOXIC_GAS_DET ZW_ALRM_EVT_GAS_ALRM_TEST ZW_ALRM_EVT_GAS_ALRM_REPLACE ZW_ALRM_EVT_TRAP_ARMED_L ZW_ALRM_EVT_TRAP_ARMED ZW_ALRM_EVT_TRAP_REARM_REQ_L ZW_ALRM_EVT_TRAP_REARM_REQ ZW_ALRM_EVT_PEST_DET_L ZW_ALRM_EVT_PEST_DET ZW_ALRM_EVT_PEST_EXTERMINATED_L ZW_ALRM_EVT_PEST_EXTERMINATED ZW_ALRM_EVT_LIGHT_DET ZW_ALRM_EVT_COLOR_TRANS_DET ZW_ALRM_EVT_CHLORINE_ALRM ZW_ALRM_EVT_ACIDITY ZW_ALRM_EVT_OXIDATION_ALRM ZW_ALRM_EVT_CHLORINE_EMPTY ZW_ALRM_EVT_ACIDITY_EMPTY ZW_ALRM_EVT_WATERFLOW_MEAS_SHOR TAGE ZW_ALRM_EVT_WATERFLOW_CLR_WTR_SH ORTAGE ZW_ALRM_EVT_DISINFECT_ERR ZW_ALRM_EVT_FILTER_CLEANING Toxic Gas detected with location info Toxic Gas detected with unknown location info Gas Alarm Test Replacement Required Trap armed with location info Trap armed Trap re-arm required with location info Trap re-arm required Pest detected with location info Pest detected Pest exterminated with location info Pest exterminated Light detected Light color transition detected Chlorine alarm. Event parameter value: 1=Below low threshold, 2=Above high threshold Acidity (pH). Event parameter value: 1=Below low threshold, 2=Above high threshold, 3=Decreasing pH, 4=Increasing pH Water Oxidation alarm. Event parameter value: 1=Below low threshold, 2=Above high threshold Chlorine empty Acidity empty Waterflow measuring station shortage detected Waterflow clear water shortage detected Disinfection system error detected. Event parameter value (bit-mask): bit 0~3: System 1~4 disorder detected, bit 4~7: System 1~4 salt shortage Filter cleaning ongoing. Event parameter value: 1~255= Filter number silabs.com | Building a more connected world. Page 129 of 224 INS14416-10 Home Monitoring Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_ALRM_EVT_HEATING ZW_ALRM_EVT_FILTER_PUMP ZW_ALRM_EVT_FRESHWATER ZW_ALRM_EVT_DRY_PROTECT ZW_ALRM_EVT_WATER_TANK_EMPTY ZW_ALRM_EVT_WATER_TANK_UNKNOWN ZW_ALRM_EVT_WATER_TANK_FULL ZW_ALRM_EVT_COLLECTIVE_DISORDER ZW_ALRM_EVT_HOME_OCCUPIED_L ZW_ALRM_EVT_HOME_OCCUPIED Heating operation ongoing Filter pump operation ongoing Freshwater operation ongoing Dry protection operation active Water tank is empty Water tank level is unknown Water tank is full Collective disorder Home occupied with location info Home occupied 11.9.2 zwif_alrm_get Get the state of the Alarm/Notification device (push mode) or the pending notification (pull mode) through report callback function. Table 358 zwif_alrm_get Parameters Attribute ifd vtype ztype Type zwifd_t * int16_t uint8_t evt uint8_t flag int return int I/O Description I Alarm/Notification interface handle I Vendor specific alarm type. Zero if this field is not used ; -1 to indicate "don't care" for cache get. I Z-Wave alarm type (ZW_ALRM_XXX). Zero if this field is not used; 0xFF = select a supported Notification Type (push mode), or retrieve the first alarm detection (pull mode). I Event corresponding to Z-Wave alarm/Notification type (ZW_ALRM_EVT_XXX). Zero if this field is not used. This parameter is valid for push mode only I Flag, see ZWIF_GET_BMSK_XXX O ZW_ERR_NONE on success; else ZW_ERR_XXX 11.9.3 zwif_alrm_set Set the state of the specified Z-Wave alarm type (push mode) or clear a persistent notification (pull mode). Table 359 zwif_alrm_set Parameters Attribute ifd ztype sts Type zwifd_t * uint8_t uint8_t return int I/O Description I Alarm interface handle. I Z-Wave alarm type (ZW_ALRM_XXX). I Z-Wave alarm status. For alarm operating in push mode: 0= disable unsolicited report ; 0xFF= enable. For pull mode: 0=clear a persistent notification. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 130 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.9.4 zwif_alrm_sup_get Get the supported alarm/notification types through report callback function. Table 360 zwif_alrm_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_alrm_sup_fn int return int I/O Description I Alarm/Notification interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * have_vtype uint8_t ztype_len uint8_t ztype uint8_t * valid int Table 361 zwrep_alrm_sup_fn Parameters I/O Description I Alarm/Notification interface handle. I Flag to indicate whether vendor specific alarm type supported. 1=supported; else 0=unsupported. I Size of ztype buffer. I Buffer to store supported Z-Wave alarm/Notification types (ZW_ALRM_XXX). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.9.5 zwif_alrm_sup_cache_get Get the supported alarm types from cache. Table 362 zwif_alrm_sup_cache_get Parameters Attribute Type ifd zwifd_t * have_vtype uint8_t * ztype_cnt uint8_t * ztype_buf uint8_t * return int I/O Description I Alarm interface handle. O Lag to indicate whether vendor specific alarm type supported. 1=supported; else 0=unsupported. O Number of supported Z-Wave alarm types. O Caller supplied buffer of size 255 bytes to store supported Z-Wave alarm types (ZW_ALRM_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.9.6 zwif_alrm_sup_evt_get Get the supported events of a specified alarm/notification type through report callback function. Table 363 zwif_alrm_sup_evt_get Parameters Attribute Type ifd zwifd_t * ztype uint8_t I/O Description I Alarm/Notification interface handle. I Z-Wave alarm/Notification type (ZW_ALRM_XXX). silabs.com | Building a more connected world. Page 131 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 cb cache return zwrep_alrm_evt_fn I Report callback function. int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd ztype evt_len evt Type zwifd_t * uint8_t uint8_t uint8_t * valid int Table 364 zwrep_alrm_evt_fn Parameters I/O Description I Alarm/Notification interface handle. I Z-Wave alarm/Notification type (ZW_ALRM_XXX). I Size of evt buffer. I Buffer to store supported event of the alarm type specified in ztype. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.9.7 zwif_alrm_sup_evt_cache_get Get the supported events of a specified alarm type from cache. Table 365 zwif_alrm_sup_evt_cache_get Parameters Attribute ifd ztype evt_cnt evt_buf return Type zwifd_t * uint8_t uint8_t * uint8_t * int I/O Description I Alarm interface handle. I Z-Wave alarm type (ZW_ALRM_XXX). O Number of supported events. O Caller supplied buffer of size 255 bytes to store supported events. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.9.8 zwif_alrm_vtype_sup_get Get the supported vendor specific alarm types from device DB. Table 366 zwif_alrm_vtype_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Alarm/Notification interface handle. rec_head if_rec_alarm_match_t** O Head of the alarm/Notification record link-list. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.10 Alarm Sensor Interface API This corresponds to the Z-Wave Alarm Sensor CC. 11.10.1 zwif_alrm_snsr_rpt_set Set up an alarm sensor report callback function. silabs.com | Building a more connected world. Page 132 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 367 zwif_alrm_snsr_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_alrm_snsr_fn int I/O Description I Central scene interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Table 368 zwrep_alrm_snsr_fn Parameters Attribute ifd data ts Type zwifd_t * zw_alrm_snsr_t * time_t I/O Description I Alarm sensor interface handle. I Alarm sensor report data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute src_node_id type state Type uint8_t uint8_t uint8_t activetime uint16_t Table 369 zw_alrm_snsr_t Structure I/O Description O Source node ID with the alarm condition. Not valid in Zensor Net. O Alarm sensor types. See ZW_ALRM_SNSR_TYPE_XXX O Sensor state: 0=no alarm; 0xFF=alarm; 1-99: alarm severity in percentage. O Alarm active time since last received report in seconds. Zero means this field must be ignored. Table 370 ZW_ALRM_SNSR_TYPE_XXX Alarm Sensor Type ZW_ALRM_SNSR_TYPE_GP ZW_ALRM_SNSR_TYPE_SMOKE ZW_ALRM_SNSR_TYPE_CO ZW_ALRM_SNSR_TYPE_CO2 ZW_ALRM_SNSR_TYPE_HEAT ZW_ALRM_SNSR_TYPE_WATER_LEAK ZW_ALRM_SNSR_TYPE_1ST_SUP Description General Purpose Alarm. Smoke Alarm. CO Alarm. CO2 Alarm. Heat Alarm. Water Leak Alarm. Return first Alarm on supported list. 11.10.2 zwif_alrm_snsr_get Get alarm sensor state through report callback. Table 371 zwif_alrm_snsr_get Parameters Attribute ifd type Type zwifd_t * uint8_t I/O Description I Alarm sensor interface handle. O Preferred alarm sensor type. ZW_ALRM_SNSR_TYPE_XXX. If type equals to ZW_ALRM_SNSR_TYPE_1ST_SUP, the alarm sensor report will return the first supported sensor type report. silabs.com | Building a more connected world. Page 133 of 224 INS14416-10 flag int return int Z-Ware SDK 7.13.0 Library C API Reference Manual O Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.10.3 zwif_alrm_snsr_sup_get Get the supported alarm sensor types through report callback. Table 372 zwif_alrm_snsr_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_alrm_snsr_sup_fn int return int I/O Description I Alarm sensor interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd type_len type valid Type zwifd_t * uint8_t uint8_t * int Table 373 zwrep_alrm_snsr_sup_fn Parameters I/O Description I Alarm sensor interface handle. I Size of alarm sensor type buffer. I Buffer to store supported alarm sensor types (ZW_ALRM_SNSR_TYPE_XXX). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.10.4 zwif_alrm_snsr_sup_cache_get Get the supported alarm sensor types from cache. Table 374 zwif_alrm_snsr_sup_cache_get Parameters Attribute Type ifd zwifd_t * sup_snsr uint8_t * snsr_cnt uint8_t * return int I/O Description I Alarm sensor interface handle. O Caller supplied buffer of size 255 bytes to store supported sensors (ZW_ALRM_SNSR_TYPE_XXX). O Supported sensor counts. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.11 Sensor Interface API This corresponds to the Z-Wave Multi-Level Sensor CC. 11.11.1 zwif_sensor_rpt_set Set up a multilevel sensor report callback. silabs.com | Building a more connected world. Page 134 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 375 zwif_sensor_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Sensor interface handle. cb zwrep_sensor_fn I Sensor report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute ifd data ts Type zwifd_t * zwsensor_t * time_t Table 376 zwrep_sensor_fn Parameters I/O Description I Sensor interface handle. I Sensor data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute type precision unit size data Type uint8_t uint8_t uint8_t uint8_t uint8_t[4] Table 377 zwsensor_t Structure I/O Description I Sensory type ZW_SENSOR_TYPE_XXX. I Number of decimal places. I ZW_SENSOR_UNIT_XXX_YYY. I Number of bytes: 1, 2 or 4. I Value at sensor (a signed number) with the first byte is the most significant byte. Table 378 ZW_SENSOR_TYPE_XXX, ZW_SENSOR_UNIT_XXX_YYY Type Temperature General purpose Luminance Power Humidity Velocity Wind Direction Atmosphere Barometer Solar radiation Dew point Rain rate Tide level Weight Voltage Current Carbon dioxide Air flow Tank XXX TEMP GP LUMIN POWER HUMID VELO DIR ATM BARO SLR DEW RAIN TIDE WGT VOLT AMP CO2 AIR TANK YYY CEL, FAHR CENT, NOM CENT, LX W, BTUH CENT, ABS MPS, MPH DEG KPA, INS KPA, INS WM2 CEL, FAHR MMH, INH M, FT KG, LBS V, MV A, MA PPM M3H, F3M L, M3, GL Units Celsius, Fahrenheit Percentage, Nominal Percentage, Lux Watts, British thermal unit per hour Percentage, g/m3 Meters per second, miles per hour Degrees: 0-none, 360-north Kilopascal, Inches of mercury Kilopascal, Inches of mercury Watts per square meter Celsius, Fahrenheit Millimeters or inches per hour Meter, feet Kilograms, pounds Volts, mill volts Amperes, mill amperes Parts per million Cubic meters per hour, cubic feet per minute Liters, cubic meters, US gallons silabs.com | Building a more connected world. Page 135 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Distance Angle position Rotation Water temperature Soil temperature Seismic intensity DIST AGL ROT WTR_TEMP SOIL_TEMP SEIS_INT Seismic magnitude SEIS_MAG Ultraviolet Electrical resistivity Electrical conductivity Loudness Moisture UV ELEC_RES ELEC_COND LOUDNESS MOIST Frequency FREQ Time Target temperature Particulate matter 2.5 Formaldehyde CH2O-level Radon Concentration Methane Density CH4 Volatile Organic Compound Carbon Monoxide COlevel Soil Humidity Soil Reactivity TIME TGT_TEMP PM_2_5 F_CH2O RAD_CONT METH_DENS VOC CO_LVL SOIL_HUMD SOIL_REAC M, CM, FT CENT, N, S RPM, HZ CEL, FAHR Meters, centimeters, feet Percentage, degrees from north/south pole Revolutions per minute, Hertz Celsius, Fahrenheit CEL, FAHR MERC, EMCRO, LIEDU, SHNDO LOCAL, MOM, SWAVE, BWAVE INDEX OHMM Celsius, Fahrenheit Mercalli, European Macroseismic, Liedu, Shindo ML, MW, MS, MB UV index ohm metre SIEM siemens per metre ABS, A_WT PERC, VOL_WTR, IMPD, WTR_ACT HZ, kHZ SEC CEL, FAHR dB, dBA Percentage, Volume water content (m3/m3), Impedance (k ohm), Water activity (aw) Hz - Must be used until 4.294967295 GHz, kHz- Must be used until 4.294967295 GHz Seconds Celsius (C), Fahrenheit (F) MM3, UGM3 MM3 mole per cubic meter (mol/m3), absolute microgram/cubic meter (ug/m3) mole per cubic meter (mol/m3) BQM3, PCIL MM3 Becquerel/cubic meter (bq/m3), picocuries/liter (pCi/L) mole per cubic meter (mol/m3) MM3 mole per cubic meter (mol/m3) MM3 mole per cubic meter (mol/m3) PERC PH Percentage value acidity (pH) silabs.com | Building a more connected world. Page 136 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Soil Salinity Heart Rate Blood Pressure SOIL_SAL HEART_RT BLOOD_PRS MM3 BPM SYS, DIA Muscle Mass Fat Mass Bone Mass Total Body Water Basic Metabolic Rate Body Mass Index Acceleration, Xaxis Acceleration, Yaxis Acceleration, Zaxis Smoke Density Water Flow Water Pressure RF Signal Strength Particulate Matter 10 Respiratory rate Relative Modulation level Boiler water temperature Domestic Hot Water (DHW) temperature Outside temperature Exhaust temperature Water Chlorine level Water acidity Water Oxidation reduction potential MUSCLE_MS FAT_MS BONE_MS TBW BMR BMI ACCEL_X ACCEL_Y ACCEL_Z SMOKE_DEN WATER_FLW WATER_PRS RF_SGN PM_10 RESPI_RATE REL_MOD BOILER_WTR_TEMP DHW_TEMP OUTSIDE_TEMP EXHAUST_TEMP WATER_CHLOR_LVL WATER_ACID WATER_OXI_RED KG KG KG KG J IDX MS2 MS2 MS2 PERC LHR KPA RSSI, DBM MOLE, UG BPM PERC TEMP_C TEMP_C TEMP_C TEMP_C MGL PH MV mole per cubic meter (mol/m3) beats/minute (Bpm) Systolic mmHg (upper number), Diastolic mmHg (lower number) kilogram (kg) kilogram (kg) kilogram (kg) kilogram (kg) joule (J) BMI Index (m/s2) (m/s2) (m/s2) Percentage value liter/hour (l/h) kilopascal (kPa) RSSI (Percentage value), (dBm) Mole per cubic meter (mol/m3), Microgram per cubic meter (µg/m3) Breaths per minute (bpm) Percentage value (%) Celsius (C) Celsius (C) Celsius (C) Celsius (C) Milligram per liter (mg/l) Acidity (pH) MilliVolt (mV) silabs.com | Building a more connected world. Page 137 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.11.2 zwif_sensor_get Solicit a report of the current state of the multilevel sensor. Table 379 zwif_sensor_get Parameters Attribute Type I/O Description ifd zwifd_t * I Sensor interface handle. type1 uint8_t I Preferred sensor type, ZW_SENSOR_TYPE_XXX. If type equals zero, the sensor report will return the factory default sensor type. unit2 uint8_t I Preferred sensor unit, ZW_SENSOR_UNIT_XXX. This parameter is ignored if type=0. flag int I Flag, see ZWIF_GET_BMSK_XXX. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Note 1 and 2 : Preferred sensor type and unit are not guaranteed to be returned in the report callback. It depends on the multilevel sensor CC version number and the whether the device supports them. 11.11.3 zwif_sensor_sup_get Get the supported sensor types through report callback function. Table 380 zwif_sensor_sup_get Parameters Attribute ifd cb cache return Type I/O zwifd_t * I zwrep_sensor_sup_fn I int I int O Description Sensor interface handle. Report callback function. Flag: to get data from cached only. If set, no fetching from real device when the cache is unavailable. ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd type_len type valid Type zwifd_t * uint8_t uint8_t * int Table 381 zwrep_sensor_sup_fn Parameters I/O Description I Sensor interface handle. I Size of sensor type buffer. I Buffer to store supported sensor types.(ZW_SENSOR_TYPE_XXX) I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.11.4 zwif_sensor_unit_get Get the supported sensor units through report callback function. Table 382 zwif_sensor_unit_get Parameters Attribute Type I/O Description ifd zwifd_t * I Sensor interface handle. sensor_type uint8_t I Sensor type. cb zwrep_sensor_unit_fn I Report callback function. silabs.com | Building a more connected world. Page 138 of 224 INS14416-10 cache int return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 383 zwrep_sensor_unit_fn Parameters Attribute ifd sensor_type Type zwifd_t * uint8_t sensor_unit_msk uint8_t valid int I/O Description I Sensor interface handle. I Sensor type, ZW_SENSOR_TYPE_XXX. I Bitmask of units supported for the sensor_type, ZW_SENSOR_UNIT_XXX. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.11.5 zwif_sensor_unit_cache_get Get supported sensor units from cache. Table 384 zwif_sensor_unit_cache_get Parameters Attribute ifd sensor_type unit_cnt sup_unit Type zwifd_t * uint8_t uint8_t * uint8_t * return int I/O Description I Sensor interface handle. I Sensor type. O Supported sensor unit count. O Caller supplied buffer of size 255 bytes to store supported sensor units (ZW_SENSOR_UNIT_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.11.6 zwif_sensor_sup_cache_get Get supported sensor types from cache. Table 385 zwif_sensor_sup_cache_get Parameters Attribute Type ifd zwifd_t * sup_snsr uint8_t * snsr_cnt uint8_t * return int I/O Description I Sensor interface handle. O Caller supplied buffer of size 255 bytes to store supported Sensor types (ZW_SENSOR_TYPE_XXX). O Supported sensor counts. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type sensor_type uint8_t sensor_unit uint8_t Table 386 if_sensor_data_t Structure I/O Description I Supported sensor type ZW_SENSOR_TYPE_XXX. I Supported sensor units (bit-mask). See ZW_SENSOR_UNIT_XXX_YYY. silabs.com | Building a more connected world. Page 139 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.12 Central Scene Interface API This corresponds to the Z-Wave Central Scene CC. 11.12.1 zwif_csc_rpt_set Set up a central scene notification report callback function. Table 387 zwif_csc_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_csc_fn Int I/O Description I Central scene interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd data ts Type zwifd_t * zwcsc_notif_t * time_t Table 388 zwrep_csc_fn Parameters I/O Description I Central scene interface handle. I Central scene notification data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute seqNo Type uint8_t keyAttr sceneNo slow_rfsh uint8_t uint8_t uint8_t Table 389 zwcsc_notif_t Structure I/O Description O Sequence number. Incremented each time a new report is issued by the device. O Key attribute. ZW_CSC_KEY_ATTRIB_XXX. O Scene Number. Actual scene identifier. O Slow refresh of "Key Held Down" notification. Non-zero=enable; 0=disable. If disabled: A new "Key Held Down" notification MUST be sent by CSC every 200ms until the key is released. If not receiving a new "Key Held Down" notification within 400ms after the most recent "Key Held Down" notification, a "Key Release" notification must be assumed. If enabled: A new "Key Held Down" notification MUST be sent by CSC every 55 seconds until the key is released. If not receiving a new "Key Held Down" notification within 60 seconds after the most recent "Key Held Down" notification, a "Key Release" notification must be assumed. silabs.com | Building a more connected world. Page 140 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 390 ZW_CSC_KEY_ATTRIB_XXX Thermostat Setpoint Type ZW_CSC_KEY_ATTRIB_KEY_PRESSED_1_TIME ZW_CSC_KEY_ATTRIB_KEY_RELEASED ZW_CSC_KEY_ATTRIB_KEY_HELDDOWN ZW_CSC_KEY_ATTRIB_KEY_PRESSED_2_TIME ZW_CSC_KEY_ATTRIB_KEY_PRESSED_3_TIME ZW_CSC_KEY_ATTRIB_KEY_PRESSED_4_TIME ZW_CSC_KEY_ATTRIB_KEY_PRESSED_5_TIME Description A key is pressed and released before time out. A key is released. Termination of a Key Held Down sequence. A key is pressed and not released before time out. Event used to signal continuation of key held down operation. A key is pressed twice and no more key presses follow. A key is pressed 3 times and no more key presses follow. A key is pressed 4 times and no more key presses follow. A key is pressed 5 times and no more key presses follow. 11.12.2 zwif_csc_sup_get Get the maximum number of supported scenes and the key attributes supported per scene through report callback. Table 391 zwif_csc_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_csc_sup_fn int return Int I/O Description I Central scene interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd scene_cnt sameKA Type zwifd_t * uint8_t uint8_t KA_array_len uint8_t KA_array uint8_t * Table 392 zwrep_csc_sup_fn Parameters I/O Description I Central scene interface handle. I maximum number of supported scenes. I it indicates if all scenes are supporting the same Key Attributes. 1=same, 0=different. I length/width of key attribute array. For v1 COMMAND_CLASS_CENTRAL_SCENE, KA_array_len will be 0. I key attribute array. It contains all the supported key attributes for each scene. When KA_array_len is 0, KA_array should be ignored. If sameKA is 1, KA_array is a one-dimensional array with length indicated by 'KA_array_len'. silabs.com | Building a more connected world. Page 141 of 224 INS14416-10 slow_rfsh valid uint8_t int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 All the scenes support the same set of Key Attribute. For each row of the array, the first element is the number of valid key attributes given in this row. If a particular scene does not support any key attribute, the first element for that row will be 0. If sameKA is 0, KA_array is a two-dimensional array with size KA_array_len x scene_cnt. For each row of the array, the first element is the number of valid key attributes given in this row. If a particular scene does not support any key attribute, the first element for that row will be 0. I status for slow refresh of Key Held Down notification. Nonzero=enable; 0=disable. I validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. KA Array returned in the following format: v1 interface -- sameKA 1, scene_cnt 5, KA_array_len 0, KA Array is NULL V2 interface or above -- Example 1: sameKA 1, scene_cnt 5, KA_array_len 4 [0] [1] [2] Example 2: sameKA 0, scene_cnt 5, KA_array_len 4 KA_array: [3] [0] [1] [2] // 3 valid KAs in this row [2] [0] [5] [X] [0] [X] [X] [X] [3] [0] [3] [5] [1] [1] [X] [X] //Only have 2 valid KA in this row //No valid KA in this row //Only have 1 valid KA in this row 11.12.3 zwif_csc_cfg_rpt_set Setup configuration for scene configuration report callback function. Table 393 zwif_csc_cfg_rpt_set Parameters Attribute Type I/O Description KA_array: [3] silabs.com | Building a more connected world. Page 142 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ifd rpt_cb return zwifd_t * zwrep_csc_cfg_fn int I Central scene interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * slow_refresh int ts time_t Table 394 zwrep_csc_cfg_fn Parameters I/O Description I Central scene interface handle. I Status for slow refresh of Key Held Down notification. Non- zero=enable; 0=disable. I time stamp of when the report is received. 11.12.4 zwif_csc_cfg_get Get configuration for scene notifications report through report callback. Table 395 zwif_csc_cfg_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I Central scene interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.12.5 zwif_csc_cfg_set Configure the use of slow refresh. Table 396 zwif_csc_cfg_set Parameters Attribute Type ifd zwifd_t * slow_refresh int return int I/O Description I Central scene interface handle. I Flag to enable slow refresh of Key Held Down notification. Non-zero=enable; 0=disable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.13 Pulse Meter Interface API This corresponds to the Z-Wave Pulse Meter CC. 11.13.1 zwif_pulsemeter_rpt_set Setup a pulse meter report callback function. Table 397 zwif_pulsemeter_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Pulse meter interface handle. rpt_cb zwrep_pulsemeter_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 143 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Attribute ifd cnt Type zwifd_t * uint32_t Table 398 zwrep_pulsemeter_fn Parameters I/O Description I Pulse meter interface handle. I Number of pulses detected in the device. 11.13.2 zwif_pulsemeter_get Get pulse meter reading through report callback function. Table 399 zwif_pulsemeter_get Parameters Attribute ifd return Type zwifd_t * int I/O Description I Pulse meter interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.14 Meter Interface API This corresponds to the Z-Wave Meter CC. 11.14.1 zwif_meter_rpt_set Set up a meter report callback function. Table 400 zwif_meter_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_meter_fn int I/O Description I Meter interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd data ts Type zwifd_t * zwmeter_dat_t * time_t Table 401 zwrep_meter_fn Parameters I/O Description I Meter interface handle. I Current value and unit of the meter. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Attribute type precision unit size Type uint8_t uint8_t uint8_t uint8_t Table 402 zwmeter_dat_t Structure I/O Description O Meter type ZW_METER_TYPE_XXX. O Decimal places of the value. O Meter unit ZW_METER_UNIT_XXX. O Data size: (1,2,or 4 bytes). silabs.com | Building a more connected world. Page 144 of 224 INS14416-10 data uint8_t[4] delta_time uint16_t prv_data uint8_t[4] rate_type uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Meter value (a signed number) with the first byte is the most significant byte. O Elapsed time in seconds between the `Meter Value' and the `Previous Meter Value' measurements. If delta_time = 0, it means no `Previous Meter Value' measurement. O Previous meter data (a signed number) with the first byte is the most significant byte. This field is valid only if delta_time is greater than 0. O rate type: ZW_METER_RATE_XXX where: ZW_METER_RATE_IMPORT Import: Meter Value is a consumed measurement. ZW_METER_RATE_EXPORT Export: Meter Value is a produced measurement. ZW_METER_RATE_IMPORT_EXPORT Both Import and Export. Must not be used in zwif_meter_get(). Table 403 ZW_METER_TYPE_XXX and ZW_METER_UNIT_XXX Meter Type ZW_METER_TYPE_ELEC ZW_METER_TYPE_GAS ZW_METER_TYPE_WATER ZW_METER_TYPE_HEAT ZW_METER_TYPE_COOL Meter Unit ZW_METER_UNIT_ELEC_KWH ZW_METER_UNIT_ELEC_KVAH ZW_METER_UNIT_ELEC_W ZW_METER_UNIT_ELEC_PULSE ZW_METER_UNIT_ELEC_V ZW_METER_UNIT_ELEC_A ZW_METER_UNIT_ELEC_PF ZW_METER_UNIT_ELEC_KVAR ZW_METER_UNIT_ELEC_KVARH ZW_METER_UNIT_GAS_CM ZW_METER_UNIT_GAS_CF ZW_METER_UNIT_GAS_PULSE ZW_METER_UNIT_WATER_CM ZW_METER_UNIT_WATER_CF ZW_METER_UNIT_WATER_GAL ZW_METER_UNIT_WATER_PULSE ZW_METER_UNIT_HEAT_KWH ZW_METER_UNIT_COOL_KWH Unit kWh kVAh W Pulse count V A Power factor KVar KVarh Cubic meters Cubic feet Pulse count Cubic meters Cubic feet US gallons Pulse count kWh kWh 11.14.2 zwif_meter_get Get the meter reading through report callback function. Table 404 zwif_meter_get Parameters Attribute Type I/O Description silabs.com | Building a more connected world. Page 145 of 224 INS14416-10 ifd unit zwifd_t * uint16_t rate_type uint8_t flag int return int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Meter interface handle I Preferred unit (ZW_METER_UNIT_XXX). The report may not return the preferred unit if the device doesn't support it. I Preferred rate type (ZW_METER_RATE_IMPORT or ZW_METER_RATE_EXPORT or 0 for no preference). The report may not return the preferred rate type if the device doesn't support it. I Flag, see ZWIF_GET_BMSK_XXX O ZW_ERR_NONE on success; else ZW_ERR_XXX 11.14.3 zwif_meter_sup_get Get information on the meter capabilities through report callback function. Older versions of target nodes may not support this function. Table 405 zwif_meter_sup_get Parameters Attribute ifd cb cache return Type I/O Description zwifd_t * I Meter interface handle. zwrep_meter_sup_fn I Callback function to receive the meter capabilities report. int I Flag: To get data from cached only. If set, no fetching from real device when cache unavailable. int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 406 zwrep_meter_sup_fn Parameters Attribute ifd meter_cap valid Type zwifd_t * zwmeter_cap_t * int I/O Description I Meter interface handle. I Meter capabilities. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Attribute type reset_cap Type uint8_t uint8_t rate_type uint8_t unit_sup uint16_t Table 407 zwmeter_cap_t Structure I/O Description O Meter type ZW_METER_TYPE_XXX O Capability to reset all accumulated values stored in the meter device. 1=reset supported. 0=not supported. O Rate type ZW_METER_RATE_XXX or 0 if the supported rate type information is unavailable. O Supported unit bit-mask : ZW_METER_SUP_UNIT_XXX . When the relevant bit is 1, the unit is supported; else it is not supported. silabs.com | Building a more connected world. Page 146 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Meter Type Electric Gas Water Table 408 ZW_METER_SUP_UNIT_XXX Meter Supported Unit Bit-mask ZW_METER_SUP_UNIT_ELEC_KWH ZW_METER_SUP_UNIT_ELEC_KVAH ZW_METER_SUP_UNIT_ELEC_W ZW_METER_SUP_UNIT_ELEC_PULSE ZW_METER_SUP_UNIT_ELEC_V ZW_METER_SUP_UNIT_ELEC_A ZW_METER_SUP_UNIT_ELEC_PF ZW_METER_SUP_UNIT_ELEC_KVAR ZW_METER_SUP_UNIT_ELEC_KVARH ZW_METER_SUP_UNIT_GAS_CM ZW_METER_SUP_UNIT_GAS_CF ZW_METER_SUP_UNIT_GAS_PULSE ZW_METER_SUP_UNIT_WATER_CM ZW_METER_SUP_UNIT_WATER_CF ZW_METER_SUP_UNIT_WATER_GAL ZW_METER_SUP_UNIT_WATER_PULSE Unit kWh kVAh W Pulse count V A power factor kVar kVarh Cubic meters Cubic feet Pulse count Cubic meters Cubic feet U.S. gallons Pulse count 11.14.4 zwif_meter_sup_cache_get Get information on the meter capabilities from cache. Table 409 zwif_meter_sup_cache_get Parameters Attribute ifd meter_cap return Type zwifd_t * zwmeter_cap_t * int I/O Description I Meter interface handle. I Meter capabilities. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.14.5 zwif_meter_reset Reset all accumulated values stored in the meter device. Table 410 zwif_meter_reset Parameters Attribute Type ifd zwifd_t * return int I/O Description I Meter interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.14.6 zwif_meter_set_admin Set meter admin name. silabs.com | Building a more connected world. Page 147 of 224 INS14416-10 Attribute Type ifd zwifd_t * name char * Z-Ware SDK 7.13.0 Library C API Reference Manual Table 411 zwif_meter_set_admin Parameters I/O Description I Meter interface handle I Admin number 2019-12-06 11.14.7 zwif_meter_get_desc Get meter admin name through report callback function. Table 412 zwif_meter_get_desc Parameters Attribute ifd cb cache Type zwifd_t * zwrep_meterd_fn int return int I/O Description I Meter interface handle. I Callback function to receive the meter descriptor report. I Flag: To get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd meter valid Type zwifd_t * zwmeter_t * int Table 413 zwrep_meterd_fn Parameters I/O Description I Meter interface handle. I Meter descriptor. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Attribute caps Type uint8_t id admin char[33] char[33] Table 414 zwmeter_t Structure I/O Description O ZW_METER_CAP_xxx or-mask: ZW_METER_CAP_MON = ID and admin number available. ZW_METER_CAP_CFG = admin number can be set. O ID, used for identification of customer and metering device. O Admin number used to identify customer. 11.15 Door Lock Interface API This corresponds to the Z-Wave Door Lock CC. 11.15.1 zwif_dlck_op_rpt_set Set up a door lock operation report callback function. Table 415 zwif_dlck_op_rpt_set Parameters Attribute Type I/O Description silabs.com | Building a more connected world. Page 148 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual ifd rpt_cb return zwifd_t * zwrep_dlck_op_fn int I Door lock interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute ifd op_sts ts Type zwifd_t * zwdlck_op_t * time_t stat_num uint16_t Table 416 zwrep_dlck_op_fn Parameters I/O Description I Door lock interface handle. I Operation status. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Attribute mode out_mode Type uint8_t uint8_t in_mode uint8_t cond uint8_t tmout_min uint8_t tmout_sec uint8_t tgt_mode dur uint8_t uint8_t Table 417 zwdlck_op_t Structure I/O Description O Current door lock mode (ZW_DOOR_XXX). O Outside door handles mode. It's a 4-bit mask; bit=0 for disabled, bit=1 for enabled. When disabled, the actual handle cannot open the door locally. When enabled, the actual handle can open the door locally. O Inside door handles mode. It's a 4-bit mask; bit=0 for disabled, bit=1 for enabled. O Door condition (i.e. status). See ZW_COND_XXX_MASK. O The remaining time in minutes before the door lock will automatically be locked again. Value of 0xFE means timeout is not supported. O The remaining time in seconds before the door lock will automatically be locked again. Value of 0xFE means timeout is not supported. O Target door lock mode (ZW_DOOR_XXX). O Duration: 0 = already at the target. 0x01~0x7F = seconds. 0x80~0xFD = 1~126 minutes. 0xFE = Unknown duration. 0xFF = reserved. Door lock operation mode ZW_DOOR_UNSEC ZW_DOOR_UNSEC_TMOUT ZW_DOOR_UNSEC_IN ZW_DOOR_UNSEC_IN_TMOUT ZW_DOOR_UNSEC_OUT ZW_DOOR_UNSEC_OUT_TMOUT Table 418 ZW_DOOR_XXX Description Door unsecured. Door unsecured with timeout. Fallback to secured mode after timeout has expired. Door unsecured for inside door handles. Door unsecured for inside door handles with timeout. Door unsecured for outside door handles. Door unsecured for outside door handles with timeout. silabs.com | Building a more connected world. Page 149 of 224 INS14416-10 ZW_DOOR_UNKNOWN ZW_DOOR_SEC Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Unknown state. This could happen while in transition to a new mode. Example: Bolt is not fully retracted/engaged. Door secured. Door condition bit-mask ZW_COND_DOOR_MASK ZW_COND_BOLT_MASK ZW_COND_LATCH_MASK Table 419 ZW_COND_XXX_MASK Description Door status bit-mask. Bit=0 means open; else closed. Bolt status bit-mask. Bit=0 means locked; else unlocked. Latch status bit-mask. Bit=0 means open; else closed. 11.15.2 zwif_dlck_op_get Get the state of the door lock device through report callback function. Table 420 zwif_dlck_op_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Door lock interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.15.3 zwif_dlck_op_set Set door lock operation. Attribute ifd mode cb Type zwifd_t * uint8_t zw_postset_fn usr_param void * return int Table 421 zwif_dlck_op_set Parameters I/O Description I Door lock interface handle. I Operation mode (ZW_DOOR_XXX). I Optional post-set polling callback function. NULL if no callback required. I Optional user-defined parameter passed in callback. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.15.4 zwif_dlck_op_mset Set door lock operation using multicast addressing if available Table 422 zwif_dlck_op_mset Parameters Attribute ifd ifd_cnt Type zwifd_t * uint8_t mode return uint8_t int I/O Description I Array of door lock interface handles. I Number of interfaces in "ifd" array. If value is 1, it is equivalent to calling zwif_dlck_op_set()with cb=NULL and usr_param=NULL I Operation mode (ZW_DOOR_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 150 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.15.5 zwif_dlck_cfg_set Set the configuration of the door lock device. Table 423 zwif_dlck_cfg_set Parameters Attribute ifd config return Type zwifd_t * zwdlck_cfg_t * int I/O Description I Door lock interface handle. I Configuration. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 Attribute type Type uint8_t out_sta uint8_t in_sta uint8_t tmout_min uint8_t tmout_sec uint8_t blk_to_blk uint8_t twist_asst uint8_t auto_rlck_tm uint16_t hold_rel_tm uint16_t Table 424 zwdlck_cfg_t Structure I/O Description O Door lock operation type (ZW_DOOR_OP_XXX) : ZW_DOOR_OP_CONST = Constant operation. ZW_DOOR_OP_TIMED = Timed operation. O Outside door handles state. It's a 4-bit mask; bit=0 for disable, bit=1 for enable. When disabled, the actual handle cannot open the door locally. When enabled, the actual handle can open the door locally. O Inside door handles state. It is a 4-bit mask; bit=0 for disable, bit=1 for enable. O Lock timeout in minutes. Valid value: 0 to 253. Value of 0xFE means timeout is not supported. O Lock timeout in seconds. Valid value: 0 to 59. Value of 0xFE means timeout is not supported. O Indicate if the block-to-block functionality is enabled. Non-zero means enabled; zero means disabled. O Indicate if the twist assist functionality is enabled. Non-zero means enabled; zero means disabled. O Time setting in seconds for auto-relock functionality. Zero means the functionality is disabled. O Time setting in seconds for letting the latch retracted after the supporting node's mode has been changed to unsecured. Zero means the functionality is disabled. 11.15.6 zwif_dlck_cfg_get Get configuration parameter through report callback function. Table 425 zwif_dlck_cfg_get Parameters Attribute ifd cb flag return Type I/O Description zwifd_t * I Door lock interface handle. zwrep_dlck_cfg_fn I Report callback function. int I Flag, see ZWIF_GET_BMSK_XXX. int O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 151 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute ifd config ts Type zwifd_t * zwdlck_cfg_t * time_t stat_num uint16_t Table 426 zwrep_dlck_cfg_fn Parameters I/O Description I Door lock interface handle. I Configuration. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. 11.15.7 zwif_dlck_cap_get Get supported door lock capabilities through report callback function. Table 427 zwif_dlck_cap_get Parameters Attribute ifd cb cache return Type zwifd_t * zwrep_dlck_cap_fn int int I/O Description I Door lock interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd cap valid Type zwifd_t * zwdlck_cap_t * int Table 428 zwrep_dlck_cap_fn Parameters I/O Description I Door lock interface handle. I Door lock capabilities. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Attribute op_type_cnt mode_cnt out_hdl Type uint8_t uint8_t uint8_t in_hdl uint8_t Table 429 zwdlck_cap_t Structure I/O Description O Number of supported door lock operation types in "op_type" buffer. O Number of supported door lock modes in "mode" buffer. O Supported outside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if the corresponding handle can be enabled and disabled; else the corresponding handle cannot be enabled or disabled. O Supported inside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if the corresponding handle can be enabled and disabled; else the corresponding handle cannot be enabled or disabled. silabs.com | Building a more connected world. Page 152 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 door_comp_msk uint8_t cap op_type Mode uint8_t uint8_t * uint8_t * O supported door lock component bitmask (ZW_COND_XXX) that can be reported in the Door Lock condition field of the Door Lock Operation Report Command. O Door lock capabilities bitmask (ZW_DLCK_CAP_XXX). Bit is set to 1 means supported; else unsupported. O Door lock operation type (ZW_DOOR_OP_XXX) buffer. O Door lock mode (ZW_DOOR_XXX except ZW_DOOR_UNKNOWN) buffer. Table 430 ZW_DLCK_CAP_XXX_MASK Door lock capabilities bit-mask ZW_DLCK_CAP_BLK_TO_BLK_MASK ZW_DLCK_CAP_TWIST_ASST_MASK ZW_DLCK_CAP_HOLD_REL_MASK ZW_DLCK_CAP_AUTO_RLCK_MASK Description Bit-mask for block-to-block functionality Bit-mask for twist assist functionality Bit-mask for hold and release functionality Bit-mask for auto-relock functionality 11.15.8 zwif_dlck_cap_cache_get Get supported door lock capabilities from cache. Caller must call zwif_dlck_cap_free() to free the door lock capabilities if this call is successful. Table 431 zwif_dlck_cap_cache_get Parameters Attribute ifd cap return Type zwifd_t * zwdlck_cap_t ** int I/O Description I Door lock interface handle. O Door lock capabilities. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.15.9 zwif_dlck_cap_free Free door lock capabilities buffer. Table 432 zwif_dlck_cap_free Parameters Attribute Type cap zwdlck_cap_t * I/O Description I Door lock capabilities 11.16 Door Lock Logging Interface API This corresponds to the Z-Wave Door Lock Logging CC. It is used to provide an audit trail in an access control application. 11.16.1 zwif_lcklog_rpt_set Set up a door lock logging record report callback function. silabs.com | Building a more connected world. Page 153 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 433 zwif_lcklog_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. rpt_cb zwrep_lcklog_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 434 zwrep_lcklog_fn Parameters Attribute ifd log_rec Type zwifd_t * zwdlck_log_t * I/O Description I Interface handle. I Door lock logging record. 2019-12-06 Table 435 zwdlck_log_t Structure Attribute Type I/O Description rec_number uint8_t O Record number rec_sts uint8_t O Record status. 0=record is empty; 1=record is valid evt uint8_t O Event, ZWLCK_EVT_XXX usr_id uint8_t O User id. A valid User Identifier MUST be a value starting from 1 to the maximum number of users supported by the device. 0 if the record does not need to identify a user or User Code is provided in the "usr_code" field usr_code_len uint8_t O User code string length (excluding the NUL terminated character) usr_code uint8_t [12] O NUL terminated user code string encoded in ASCII digit (if available) year* uint16_t O Timestamp: Year (e.g. 2019) month* uint8_t O Timestamp: Month (1 to 12) day* uint8_t O Timestamp: Day (1 to 31) hour* uint8_t O Timestamp: Hour (0 to 23) in local time minute* uint8_t O Timestamp: Minute (0 to 59) in local time second* uint8_t O Timestamp: Second (0 to 59) in local time NOTE: If no RTC (Real Time Clock), all values in Time Stamp record marked with (*) SHOULD be set to 0. Most recent record MUST be stored under Record Number 1. Table 436 ZWLCK_EVT_XXX Door lock logging event ZWLCK_EVT_LOCK_BY_KPAD_CODE ZWLCK_EVT_UNLOCK_BY_KPAD_CODE ZWLCK_EVT_LOCK_BY_BUTTON ZWLCK_EVT_UNLOCK_BY_BUTTON ZWLCK_EVT_LOCK_BY_KPAD_COD_SCHD ZWLCK_EVT_UNLOCK_BY_KPAD_COD_SCHD ZWLCK_EVT_KPAD_WRONG_CODE Description Lock Command: Keypad access code verified lock command Unlock Command: Keypad access code verified unlock command Lock Command: Keypad lock button pressed Unlock command: Keypad unlock button pressed Lock Command: Keypad access code out of schedule Unlock Command: Keypad access code out of schedule Keypad illegal access code entered silabs.com | Building a more connected world. Page 154 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZWLCK_EVT_LOCK_BY_KEY_LATCH ZWLCK_EVT_UNLOCK_BY_KEY_LATCH ZWLCK_EVT_AUTO_LOCK ZWLCK_EVT_AUTO_UNLOCK ZWLCK_EVT_LOCK_BY_ZWAVE_CODE ZWLCK_EVT_UNLOCK_BY_ZWAVE_CODE ZWLCK_EVT_LOCK_BY_ZWAVE ZWLCK_EVT_UNLOCK_BY_ZWAVE ZWLCK_EVT_LOCK_BY_ZWAVE_COD_SCHD ZWLCK_EVT_UNLOCK_BY_ZWAVE_COD_SCHD ZWLCK_EVT_ZWAVE_WRONG_CODE ZWLCK_EVT_LOCK_SECURED ZWLCK_EVT_LOCK_UNSECURED ZWLCK_EVT_USR_CODE_ADDED ZWLCK_EVT_USR_CODE_DELETED ZWLCK_EVT_ALL_USR_CODE_DELETED ZWLCK_EVT_MASTER_CODE_CHANGED ZWLCK_EVT_USR_CODE_CHANGED ZWLCK_EVT_LOCK_RESET ZWLCK_EVT_CONFIG_CHANGED ZWLCK_EVT_LOW_BATTERY ZWLCK_EVT_BATTERY_INSTALLED Key or latch operation locked (manual) Key or latch operation unlocked (manual) Auto lock operation Auto unlock operation Lock Command: Z-Wave access code verified Unlock Command: Z-Wave access code verified Lock Command: Z-Wave (no code) Unlock Command: Z-Wave (no code) Lock Command: Z-Wave access code out of schedule Unlock Command Z-Wave access code out of schedule Z-Wave illegal access code entered Lock secured Lock unsecured User code added User code deleted All user codes deleted Master code changed User code changed Lock reset Configuration changed Low battery New Battery installed 11.16.2 zwif_lcklog_get Get door lock logging record through report callback. Table 437 zwif_lcklog_get Parameters Attribute ifd rec_num return Type zwifd_t * uint8_t int I/O Description I Interface handle. O Record number. Value 0 is used to get the most recent record entry O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.16.3 zwif_lcklog_sup_get Get maximum number of supported door lock logging records through report callback. Table 438 zwif_lcklog_sup_get Parameters Attribute ifd cb Type zwifd_t * zwrep_lcklog_cap_fn I/O Description I Interface handle. I Callback function. silabs.com | Building a more connected world. Page 155 of 224 INS14416-10 cache int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. Attribute ifd max_rec_cnt valid Type zwifd_t * uint8_t int Table 439 zwrep_lcklog_cap_fn Parameters I/O Description I Interface handle. I Maximum number of door lock logging records. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.16.4 zwif_lcklog_sup_cache_get Get maximum number of supported door lock logging records from cache. Table 440 zwif_lcklog_sup_cache_get Parameters Attribute ifd max_rec_cnt return Type zwifd_t * uint8_t * int I/O Description I Interface handle. O Maximum number of door lock logging records O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17 User Code Interface API This corresponds to the Z-Wave User Code CC, normally found in door locks. 11.17.1 zwif_usrcod_rpt_set Set up a user code report callback function. Table 441 zwif_usrcod_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_usr_cod_fn int I/O Description I User code interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd usr_cod Type zwifd_t * zwusrcod_t * Table 442 zwrep_usr_cod_fn Parameters I/O Description I User code interface handle. I User code and its status. Attribute Type Table 443 zwusrcod_t structure I/O Description silabs.com | Building a more connected world. Page 156 of 224 INS14416-10 id id_sts code_len code uint8_t uint8_t uint8_t uint8_t[10] Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O User identifier. Value of zero is used to set the user code and user status for all supported user identifiers (up to 255) and should be used only with user id status set to ZW_USRCOD_AVAIL. O User id status, ZW_USRCOD_XXX O User code length. This field is ignored when used to set user code with user ID status equals to ZW_USRCOD_AVAIL (i.e. to erase user code). O User code; minimum length = 4, maximum length = 10 ASCII digits. User ID status ZW_USRCOD_AVAIL ZW_USRCOD_UNAVAIL ZW_USRCOD_RSVD ZW_USRCOD_MESSAGING ZW_USRCOD_PASSAGE_MODE ZW_USRCOD_NO_STS Table 444 ZW_USRCOD_XXX Description Available (not set); i.e., when used to set user code, it means to erase user code. Occupied /Enabled Reserved by administrator (the user code is in use but disabled). For messaging purposes only. It is used to relay notifications to a controlling application Passage mode. It is used to let the door lock permanently grant access Status unavailable (The requested user id is invalid). Used in user code report only. 11.17.2 zwif_usrcod_get Get the specified user code and its status through report callback function. Table 445 zwif_usrcod_get Parameters Attribute ifd usr_id return Type zwifd_t * uint8_t int I/O Description I User code interface handle. I User identifier. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.3 zwif_usrcod_set Set the user code of a door lock. Table 446 zwif_usrcod_set Parameters Attribute Type I/O Description Ifd zwifd_t * I User code interface handle usr_cod zwusrcod_t * I User code and its status return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.4 zwif_usrcod_sup_get Get the number of supported users through report callback function. silabs.com | Building a more connected world. Page 157 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 447 zwif_usrcod_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I User code interface handle. cb zwrep_usr_sup_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * max_usr_cnt uint16_t valid int Table 448 zwrep_usr_sup_fn Parameters I/O Description I User code interface handle. I Number of supported user codes (up to 255 for version 1 and up to 65535 for version 2) I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.17.5 zwif_usrcod_sup_cache_get Get the number of supported user codes from cache. Table 449 zwif_usrcod_sup_cache_get Parameters Attribute ifd usr_num return Type zwifd_t * uint16_t * int I/O Description I User code interface handle. O Number of supported user codes. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.6 zwif_usrcod_ext_rpt_set Set up an extended user code report callback function. Table 450 zwif_usrcod_ext_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I User code interface handle. rpt_cb zwrep_usr_cod_ext_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 451 zwrep_usr_cod_ext_fn Parameters Attribute ifd usr_cod usr_cod_cnt next_usrid Type zwifd_t * zwusrcod_ext_t * uint8_t uint16_t I/O Description I User code interface handle. I Buffer that stores extended user codes. I Number of extended user codes in "usr_cod" I Next user identifier having a user id status different than ZW_USRCOD_AVAIL. Zero if no more user code to get. silabs.com | Building a more connected world. Page 158 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute id id_sts code_len code Type uint16_t uint8_t uint8_t uint8_t[10] Table 452 zwusrcod_ext_t structure I/O Description O User identifier Value of zero is used to set the user code and user status for all supported user identifiers and should be used only with user id status set to ZW_USRCOD_AVAIL. O User id status, ZW_USRCOD_XXX O User code length. This field must be zero when used to set user code with user id status equals to ZW_USRCOD_AVAIL (i.e. to erase user code) O User code encoded in ASCII representation; minimum length = 4, maximum length = 10 11.17.7 zwif_usrcod_ext_get Get the specified extended user code and its status through report callback function. Table 453 zwif_usrcod_ext_get Parameters Attribute ifd usr_id rpt_more Type zwifd_t * uint16_t int return int I/O Description I User code interface handle. I User identifier. I Flag used to instruct the node to report as many User Codes (with User id status other than ZW_USRCOD_AVAIL) as possible in one report if the node supports "Multiple User Code Report" capability. Non-zero = get more User Codes; 0 = get only the requested user code. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.8 zwif_usrcod_ext_set Set one or more extended user codes if the device supports "Multiple User Code Set" capability. Table 454 zwif_usrcod_ext_set Parameters Attribute Ifd usr_cod usr_cod_cnt Type zwifd_t * zwusrcod_ext_t * uint8_t return int I/O Description I User code interface handle I Buffer that stores extended user codes I Number of extended user codes in "usr_cod". If set to 1, it is equivalent to calling zwif_usrcod_set for user code CC version 1 node O ZW_ERR_NONE on success; else ZW_ERR_XXX. ZW_ERR_TOO_LARGE if extended user codes (usr_cod) is too large to fit into the transport layer payload silabs.com | Building a more connected world. Page 159 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.17.9 zwif_usrcod_cap_get Get supported user code capabilities through report callback. Table 455 zwif_usrcod_cap_get Parameters Attribute Type I/O Description ifd zwifd_t * I User code interface handle. cb zwrep_usr_cap_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 456 zwrep_usr_cap_fn Parameters Attribute ifd cap valid Type zwifd_t * zwusrcod_cap_t * int I/O Description I User code interface handle. I User code capabilities I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Table 457 zwusrcod_cap_t structure Attribute Type I/O Description cap uint16_t O User code capabilities bitmask, ZW_USRCOD_CAP_XXX id_sts_cnt uint8_t O Number of user id status stored in "id_sts" kp_mod_cnt uint8_t O Number of keypad modes stored in "kp_mod" ascii_key_cnt uint8_t O Number of ASCII keys stored in "ascii_key" id_sts uint8_t[10] O Buffer to store supported user id status, ZW_USRCOD_XXX kp_mod uint8_t[10] O Buffer to store supported keypad modes, ZW_KEYPAD_MOD_XXX ascii_key uint8_t[128] O Buffer to store supported ASCII keys Table 458 ZW_USRCOD_CAP_XXX Bitmask User code capabilities bitmask ZW_USRCOD_CAP_MS_COD ZW_USRCOD_CAP_MS_COD_DEACT ZW_USRCOD_CAP_CHECKSUM ZW_USRCOD_CAP_MUL_REPORT ZW_USRCOD_CAP_MUL_SET Description Bitmask to indicate support of master code functionality Bitmask to indicate support of master code de-activation Bitmask to indicate support of user code checksum functionality Bitmask to indicate support of reporting multiple user codes at once in a single Extended User Code Report Command Bitmask to indicate support of setting multiple user codes at once in a single Extended User Code Set Command 11.17.10 zwif_usrcod_cap_cache_get Get supported user code capabilities from cache. Caller must free the allocated memory to the supported user code capabilities if this call is successful. silabs.com | Building a more connected world. Page 160 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Table 459 zwif_usrcod_cap_cache_get Parameters Attribute Type I/O Description ifd zwifd_t * I User code interface handle. cap zwusrcod_cap_t ** O User code capabilities return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.17.11 zwif_usrcod_kp_mod_rpt_set Set up a user code keypad mode report callback function. Table 460 zwif_usrcod_kp_mod_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I User code interface handle. rpt_cb zwrep_usr_kpmod_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd kp_mod ts Type zwifd_t * uint8_t time_t stat_num uint16_t Table 461 zwrep_usr_kpmod_fn Parameters I/O Description I User code interface handle. I keypad modes, ZW_KEYPAD_MOD_XXX. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Keypad mode ZW_KEYPAD_MOD_NORMAL ZW_KEYPAD_MOD_VACATION ZW_KEYPAD_MOD_PRIVACY ZW_KEYPAD_MOD_LCK_OUT Table 462 ZW_KEYPAD_MOD_XXX Description Normal mode. This mode MUST be the default mode. Accept the Master Code, if supported Vacation mode. It is used to disable or switch off the User Code functionalities for normal users. However, it accepts the Master Code, if supported Privacy mode. It is used to completely disable or switch off the User Code functionalities. Any keypad input is ignored, including Master Code Locked out mode. It is used as a security measure to prevent brute force attacks. This mode is normally activated by the device itself. If the device activates the Locked Out mode, it MUST issue a User Code Keypad Mode Report Command to the Lifeline destination and MUST return to the last active mode automatically after a defined timeout. Any keypad input is ignored, including Master Code. silabs.com | Building a more connected world. Page 161 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.17.12 zwif_usrcod_kp_mod_get Get user code keypad modes through report callback function. Table 463 zwif_usrcod_kp_mod_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I User code interface handle. I Flag, see ZWIF_GET_BMSK_XXX O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.17.13 zwif_usrcod_kp_mod_set Set the user code keypad mode. Table 464 zwif_usrcod_kp_mod_set Parameters Attribute Ifd kp_mod return Type zwifd_t * uint8_t int I/O Description I User code interface handle I keypad mode, ZW_KEYPAD_MOD_XXX O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.14 zwif_usrcod_ms_cod_rpt_set Set up a master code report callback function. Table 465 zwif_usrcod_ms_cod_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_ms_cod_fn int I/O Description I User code interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd ms_cod Type zwifd_t * uint8_t * code_len uint8_t Table 466 zwrep_ms_cod_fn Parameters I/O Description I User code interface handle. I Buffer that stores the master code. This can be NULL if code_len is zero. I Master code length. Length of zero is used to indicate the Master Code is deactivated or if the device advertises no support for the Master Code functionality in User Code Capabilities Report Command. Length in the range from 4 to 10 is used to advertise the master code as stored in "ms_cod" 11.17.15 zwif_usrcod_ms_cod_get Get master code through report callback function. Table 467 zwif_usrcod_ms_cod_get Parameters silabs.com | Building a more connected world. Page 162 of 224 INS14416-10 Attribute Type ifd zwifd_t * return int Z-Ware SDK 7.13.0 Library C API Reference Manual I/O Description I User code interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.17.16 zwif_usrcod_ms_cod_set Set master code. Table 468 zwif_usrcod_ms_cod_set Parameters Attribute Ifd ms_cod code_len Type zwifd_t * uint8_t * uint8_t return int I/O Description I User code interface handle I Buffer that stores the master code. I Master code length. Length of zero is used to deactivate the master code (if the node supports master code de-activation). Length in the range from 4 to 10 is used to set the master code as stored in "ms_cod" O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.17.17 zwif_usrcod_chksum_rpt_set Set up a user codes checksum report callback function. Table 469 zwif_usrcod_chksum_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_chksum_fn int I/O Description I User code interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd chksum Type zwifd_t * uint16_t Table 470 zwrep_chksum_fn Parameters I/O Description I User code interface handle. I Checksum representing all the currently set user codes. 11.17.18 zwif_usrcod_chksum_get Get checksum representing all the currently set user codes through report callback function. Table 471 zwif_usrcod_chksum_get Parameters Attribute Type ifd zwifd_t * return int I/O Description I User code interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.18 Thermostat Fan Mode Interface API This corresponds to the Z-Wave Thermostat Fan Mode CC. silabs.com | Building a more connected world. Page 163 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.18.1 zwif_thrmo_fan_md_rpt_set Set up a thermostat fan mode report callback function. Table 472 zwif_thrmo_fan_md_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat fan mode interface handle. rpt_cb zwrep_thrmo_fan_md_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd off Type zwifd_t * uint8_t mode ts uint8_t time_t stat_num uint16_t Table 473 zwrep_thrmo_fan_md_fn Parameters I/O Description I Thermostat fan mode interface handle. I Fan off mode flag. Non-zero indicates that the fan is fully OFF, "0" indicates that it is possible to change between Fan Modes. I Fan operating mode (ZW_THRMO_FAN_MD_XXX) I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Table 474 ZW_THRMO_FAN_MD_XXX Thermostat Fan Mode ZW_THRMO_FAN_MD_AUTO_LO ZW_THRMO_FAN_MD_LOW ZW_THRMO_FAN_MD_AUTO_HI ZW_THRMO_FAN_MD_HI ZW_THRMO_FAN_MD_AUTO_MID ZW_THRMO_FAN_MD_MID ZW_THRMO_FAN_MD_CIR ZW_THRMO_FAN_MD_HUM_CIR Description Turn the manual fan operation off unless turned on by the furnace or AC. Lower speed is selected in case it is a two-speed fan. Turn the manual fan to low speed. Turn the manual fan operation off unless turned on by the furnace or AC. High speed is selected in case it is a two-speed fan. Turn the manual fan to high speed. Turn the manual fan operation off unless turned on by the furnace or AC. Medium speed is selected in case it is a three-speed fan. Turn the manual fan to medium speed. Turn the manual fan operation off unless turned on by the circulation algorithms. Turn the manual fan operation off unless turned on by the humidity circulation algorithms. ZW_THRMO_FAN_MD_LEFT_RIGHT Turn the manual fan operation off unless turned on by the manufacturer specific "left & right" circulation algorithms. silabs.com | Building a more connected world. Page 164 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ZW_THRMO_FAN_MD_UP_DOWN ZW_THRMO_FAN_MD_QUIET Turn the manual fan operation off unless turned on by the manufacturer specific "up & down" circulation algorithms. Turn the manual fan operation off unless turned on by the manufacturer specific "quiet" algorithms. ZW_THRMO_FAN_MD_EXT_CIR Turn the manual fan operation off unless turned on by the manufacturer specific "circulation" algorithms. This mode will circulate fresh air from the outside 11.18.2 zwif_thrmo_fan_md_get Get the thermostat fan operating mode through report callback. Table 475 zwif_thrmo_fan_md_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Thermostat fan mode interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.18.3 zwif_thrmo_fan_md_set Set the fan mode in the device. Table 476 zwif_thrmo_fan_md_set Parameters Attribute Type ifd zwifd_t * off uint8_t mode return uint8_t int I/O Description I Thermostat fan mode interface handle. I Fan off mode flag. Non-zero will switch the fan fully OFF. In order to activate other fan mode this flag must be set to "0". I Fan operating mode (ZW_THRMO_FAN_MD_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.18.4 zwif_thrmo_fan_md_sup_get Get the supported thermostat fan operating modes through report callback. Table 477 zwif_thrmo_fan_md_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat fan mode interface handle. cb zwrep_thrmo_fan_md_sup_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX Attribute Type Table 478 zwrep_thrmo_fan_md_sup_fn Parameters I/O Description silabs.com | Building a more connected world. Page 165 of 224 INS14416-10 ifd off zwifd_t * uint8_t mode_len uint8_t mode uint8_t * valid int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Thermostat fan mode interface handle I Flag to indicate whether off mode is supported. 1=supported; else 0=unsupported. I Size of mode buffer. I Buffer to store supported thermostat fan operating modes (ZW_THRMO_FAN_MD_XXX). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.18.5 zwif_thrmo_fan_md_sup_cache_get Get supported thermostat fan operating modes from cache. Table 479 zwif_thrmo_fan_md_sup_cache_get Parameters Attribute ifd off mode_cnt mode Type zwifd_t * uint8_t * uint8_t * uint8_t * return int I/O Description I Thermostat fan mode interface handle. O Flag to indicate whether off mode is supported. O Supported thermostat fan operating modes count. O Caller supplied buffer of size 255 bytes to store supported thermostat fan operating modes (ZW_THRMO_FAN_MD_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.19 Thermostat Fan State Interface API This corresponds to the Z-Wave Thermostat Fan State CC. 11.19.1 zwif_thrmo_fan_sta_rpt_set Set up a thermostat fan operating state report callback function. Table 480 zwif_thrmo_fan_sta_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat fan operating state interface handle. rpt_cb zwrep_thrmo_fan_sta_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd state ts Type zwifd_t * uint8_t time_t Table 481 zwrep_thrmo_fan_sta_fn Parameters I/O Description I Thermostat fan operating state interface handle. I Fan operating state (ZW_THRMO_FAN_STA_XXX). I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Table 482 ZW_THRMO_FAN_STA_XXX silabs.com | Building a more connected world. Page 166 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Thermostat Fan State ZW_THRMO_FAN_STA_IDLE ZW_THRMO_FAN_STA_LOW ZW_THRMO_FAN_STA_HI ZW_THRMO_FAN_STA_MEDIUM ZW_THRMO_FAN_STA_CIR ZW_THRMO_FAN_STA_CIR_HUMID ZW_THRMO_FAN_STA_CIR_RL ZW_THRMO_FAN_STA_CIR_UP_DN ZW_THRMO_FAN_STA_CIR_QUIET Description Idle. Running / Running Low - Lower speed is selected in case it is a two-speed fan. Running High - High speed is selected in case it is a twospeed fan. Running Medium. Circulation Mode. Humidity Circulation Mode. Right-Left Circulation Mode. Up-down Circulation Mode. Quiet Circulation Mode. 11.19.2 zwif_thrmo_fan_sta_get Get the thermostat fan operating state through report callback. Table 483 zwif_thrmo_fan_sta_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Thermostat fan operating state interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.20 Thermostat Mode Interface API This corresponds to the Z-Wave Thermostat Mode CC. 11.20.1 zwif_thrmo_md_rpt_set Setup a thermostat mode report callback function. Table 484 zwif_thrmo_md_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat mode interface handle. rpt_cb zwrep_thrmo_md_fn I Report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd mode manf_dat Type zwifd_t * uint8_t uint8_t * Table 485 zwrep_thrmo_md_fn Parameters I/O Description I Thermostat mode interface handle. I Mode (ZW_THRMO_MD_XXX). I Manufacturer data when the mode is ZW_THRMO_MD_MANF_SPECIFIC. silabs.com | Building a more connected world. Page 167 of 224 INS14416-10 manf_dat_cnt uint8_t ts time_t stat_num uint16_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Manufacturer data count in bytes. Valid range is from 0 to 7 bytes. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Table 486 ZW_THRMO_MD_XXX Thermostat Mode ZW_THRMO_MD_OFF ZW_THRMO_MD_HEAT ZW_THRMO_MD_COOL ZW_THRMO_MD_AUTO ZW_THRMO_MD_AUX_HEAT ZW_THRMO_MD_RESUME ZW_THRMO_MD_FAN ZW_THRMO_MD_FURNACE ZW_THRMO_MD_DRY_AIR ZW_THRMO_MD_MOIST_AIR ZW_THRMO_MD_AUTO_CHANGEOVER ZW_THRMO_MD_ENE_SAVE_HEAT ZW_THRMO_MD_ENE_SAVE_COOL ZW_THRMO_MD_AWAY ZW_THRMO_MD_FULL_PWR ZW_THRMO_MD_MANF_SPECIFIC Description System is off. Only heating will occur. Only cooling will occur. Auto. Auxiliary/Emergency Heat- the thermostat may be put into Aux heat mode simply to use a more efficient secondary heat source when there are no failures of the compressor or heat pump unit itself. The system will resume from last active mode. Only cycle fan to circulate air. Only furnace. The system will cycle cooling in relation to the room and set point temperatures in order to remove moisture from ambient. Humidification. Heating or cooling will come on according to the auto changeover setpoint. Energy Save Mode Heating will occur. Energy Save Mode Cooling will occur. Special Heating Mode, i.e. preventing water from freezing in forced water systems. SPEED UP / FULL POWER heating or cooling mode will be activated when temperature exceeds FULL POWER set point. Vendor specific thermostat mode. 11.20.2 zwif_thrmo_md_get Get the thermostat mode through report callback. Table 487 zwif_thrmo_md_get Parameters Attribute ifd flag return Type zwifd_t * int Int I/O Description I Thermostat mode interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 168 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.20.3 zwif_thrmo_md_set Set the thermostat mode in the device. Table 488 zwif_thrmo_md_set Parameters Attribute ifd mode manf_dat Type zwifd_t * uint8_t uint8_t * manf_dat_cnt uint8_t return Int I/O Description I Thermostat mode interface handle. I Thermostat mode (ZW_THRMO_MD_XXX). I Manufacturer data when the mode is ZW_THRMO_MD_MANF_SPECIFIC. I Manufacturer data count in bytes. Valid range is from 0 to 7 bytes. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.20.4 zwif_thrmo_md_sup_get Get the supported thermostat modes through report callback. Table 489 zwif_thrmo_md_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat mode interface handle. cb zwrep_thrmo_md_sup_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd mode_len mode Type zwifd_t * uint8_t uint8_t * valid int Table 490 zwrep_thrmo_md_sup_fn Parameters I/O Description I Thermostat mode interface handle. I Size of mode buffer. I Buffer to store supported thermostat modes (ZW_THRMO_MD_XXX except ZW_THRMO_MD_MANF_SPECIFIC). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.20.5 zwif_thrmo_md_sup_cache_get Get the supported thermostat modes from cache. Table 491 zwif_thrmo_md_sup_cache_get Parameters Attribute Type ifd zwifd_t * I/O Description I Thermostat mode interface handle silabs.com | Building a more connected world. Page 169 of 224 INS14416-10 mode_buf uint8_t * mode_cnt uint8_t * return Int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Caller supplied buffer of size 255 bytes to store supported thermostat modes (ZW_THRMO_MD_XXX except ZW_THRMO_MD_MANF_SPECIFIC). O Number of supported modes. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.21 Thermostat Operating State Interface API This corresponds to the Z-Wave Thermostat Operating State CC. 11.21.1 zwif_thrmo_op_sta_rpt_set Setup a thermostat operating state report callback function. Table 492 zwif_thrmo_op_sta_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat operating state interface handle. rpt_cb zwrep_thrmo_op_sta_fn I Report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd state ts Type zwifd_t * uint8_t time_t Table 493 zwrep_thrmo_op_sta_fn Parameters I/O Description I Thermostat operating state interface handle. I Thermostat operating state (ZW_THRMO_OP_STA_XXX). I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. Table 494 ZW_THRMO_OP_STA_XXX Thermostat Fan State ZW_THRMO_OP_STA_IDLE ZW_THRMO_OP_STA_HEAT ZW_THRMO_OP_STA_COOL ZW_THRMO_OP_STA_FAN ZW_THRMO_OP_STA_PD_HEAT ZW_THRMO_OP_STA_PD_COOL ZW_THRMO_OP_STA_VENT ZW_THRMO_OP_STA_AUX_HEAT ZW_THRMO_OP_STA_HEAT_2 ZW_THRMO_OP_STA_COOL_2 ZW_THRMO_OP_STA_AUX_HEAT_2 ZW_THRMO_OP_STA_AUX_HEAT_3 Description Idle Heating Cooling Fan only Pending Heat Pending Cool Vent/Economizer Aux heating Second stage heating Second stage cooling Second stage aux heating Third stage aux heating silabs.com | Building a more connected world. Page 170 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.21.2 zwif_thrmo_op_sta_get Get the thermostat operating state through report callback. Table 495 zwif_thrmo_op_sta_get Parameters Attribute ifd flag return Type zwifd_t * int Int I/O Description I Thermostat operating state interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.21.3 zwif_thrmo_op_sta_log_sup_get Get the supported thermostat operating state logging. Table 496 zwif_thrmo_op_sta_log_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Interface handle. cb zwrep_thrmo_op_sta_log_sup_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd op_sta_len op_sta Type zwifd_t * uint8_t uint8_t * valid int Table 497 zwrep_thrmo_op_sta_log_sup_fn Parameters I/O Description I Thermostat mode interface handle. I Size of op_sta buffer. I Buffer to store supported thermostat operating state logging (ZW_THRMO_OP_STA_XXX). I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.21.4 zwif_thrmo_op_sta_log_sup_cache_get Get the supported thermostat operating state logging from cache. Table 498 zwif_thrmo_op_sta_log_sup_cache_get Parameters Attribute ifd op_sta_cnt op_sta Type zwifd_t * uint8_t * uint8_t * return Int I/O Description I Thermostat mode interface handle. O Supported thermostat operating state logging count. O Caller supplied buffer of size 255 bytes to store supported thermostat operating state logging (ZW_THRMO_OP_STA_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX silabs.com | Building a more connected world. Page 171 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.21.5 zwif_thrmo_op_sta_log_rpt_set Setup a thermostat operating state logging report callback function. Table 499 zwif_thrmo_op_sta_log_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat operating state interface handle. rpt_cb zwrep_thrmo_op_sta_log_fn I Report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 500 zwrep_thrmo_op_sta_log_fn Parameters Attribute Type I/O ifd zwifd_t * I sta_log zwthrmo_op_sta_log_t I * sta_log_cnt uint8_t I ts time_t I Description Thermostat operating state interface handle. State logging array. Number of state loggings in sta_log. Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored.. Attribute tmstamp log_type today_hr Type time_t uint8_t uint8_t today_mn uint8_t prev_hr uint8_t prev_mn uint8_t Table 501 zwthrmo_op_sta_log_t Structure I/O Description O Time stamp. O Operating state log type, ZW_THRMO_OP_STA_XXX. O The number of hours (00 ~ 24) the thermostat has been in the indicated operating state since 12:00 am of the current day. O The number of minutes (00 ~ 59) the thermostat has been in the indicated operating state since 12:00 am of the current day. O The number of hours (00 ~ 24) the thermostat has been in the indicated operating state since 12:00 am of the previous day. O The number of minutes (00 ~ 59) the thermostat has been in the indicated operating state since 12:00 am of the previous day. 11.21.6 zwif_thrmo_op_sta_log_get Get the thermostat operating state logging through report callback. Table 502 zwif_thrmo_op_sta_log_get Parameters Attribute ifd sta_log_type Type zwifd_t * uint8_t * sta_log_type_cnt uint8_t flag int return Int I/O Description I Thermostat operating state interface handle. I Operating state logging type array, ZW_THRMO_OP_STA_XXX, except ZW_THRMO_OP_STA_IDLE. I Number of operating state logging type in sta_log_type array. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 172 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.22 Thermostat Setback Interface API 2019-12-06 This corresponds to the Z-Wave Thermostat Setback CC. 11.22.1 zwif_thrmo_setb_rpt_set Setup a thermostat setback report callback function. Table 503 zwif_thrmo_setb_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat setback interface handle. rpt_cb zwrep_thrmo_setb_fn I Report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd type state tenth_degree Type zwifd_t * uint8_t uint8_t int8_t Table 504 zwrep_thrmo_setb_fn Parameters I/O Description I Thermostat setback interface handle. I setback type (ZW_THRMO_SETB_TYP_XXX). I setback state (ZW_THRMO_SETB_STA_XXX). I 1/10 of a degree. This parameter is valid only if state equals to ZW_THRMO_SETB_STA_SETB. Table 505 ZW_THRMO_SETB_TYP_XXX Thermostat Setback Type ZW_THRMO_SETB_TYP_NO_OVERRIDE ZW_THRMO_SETB_TYP_TEMP_OVR ZW_THRMO_SETB_TYP_PERM_OVR Description No override Temporary override Permanent override Table 506 ZW_THRMO_SETB_STA_XXX Thermostat Setback State ZW_THRMO_SETB_STA_SETB ZW_THRMO_SETB_STA_FROST_PROCT ZW_THRMO_SETB_STA_ENER_SAVE ZW_THRMO_SETB_STA_UNUSED Description Setback in 1/10 degrees (Kelvin) Frost Protection Energy Saving Mode Unused (for reporting only) 11.22.2 zwif_thrmo_setb_get Get the thermostat setback type and state through report callback. Table 507 zwif_thrmo_setb_get Parameters Attribute ifd return Type zwifd_t * int I/O Description I Thermostat setback interface handle O ZW_ERR_NONE on success; else ZW_ERR_XXX silabs.com | Building a more connected world. Page 173 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.22.3 zwif_thrmo_setb_set Set the thermostat setback type and state in the device. Table 508 zwif_thrmo_setb_set Parameters Attribute ifd type state tenth_degree Type zwifd_t * uint8_t uint8_t int8_t return int I/O Description I Thermostat setbackinterface handle. I Setback type (ZW_THRMO_SETB_TYP_XXX). I Setback state (ZW_THRMO_SETB_STA_XXX). I 1/10 of a degree (Kelvin). This parameter is valid if state equals to ZW_THRMO_SETB_STA_SETB. Valid values: -128 to 120 (inclusive) i.e., setback temperature ranges from -12.8 degree K to 12 degree K. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.23 Thermostat Setpoint Interface API This corresponds to the Z-Wave Thermostat Setpoint CC. 11.23.1 zwif_thrmo_setp_rpt_set Setup a thermostat setpoint report callback function. Table 509 zwif_thrmo_setp_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat setpoint interface handle. rpt_cb zwrep_thrmo_setp_fn I Report callback function. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd data ts Type zwifd_t * zwsetp_t * time_t stat_num uint16_t Table 510 zwrep_thrmo_setp_fn Parameters I/O Description I Thermostat setpoint interface handle. I Setpoint data. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I State number that is incremented by one whenever a cache change is detected. Attribute type precision Type uint8_t uint8_t Table 511 zwsetp_t structure I/O Description O Thermostat setpoint type (ZW_THRMO_SETP_TYP_XXX). O Decimal places of the value. The decimal value 1025 with precision 2 is therefore equal to 10.25. silabs.com | Building a more connected world. Page 174 of 224 INS14416-10 unit size data uint8_t uint8_t uint8_t [4] Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 O Thermostat setpoint unit (ZW_THRMO_SETP_UNIT_XXX). O Data size: 1,2,or 4 bytes. O Setpoint data (a signed number) with the first byte as MSB. Table 512 ZW_THRMO_SETP_TYP_XXX Thermostat Setpoint Type ZW_THRMO_SETP_TYP_HEATING ZW_THRMO_SETP_TYP_COOLING ZW_THRMO_SETP_TYP_FURNACE ZW_THRMO_SETP_TYP_DRY ZW_THRMO_SETP_TYP_MOIST ZW_THRMO_SETP_TYP_AUTO_CHANGEOVER ZW_THRMO_SETP_TYP_ENE_SAVE_HEAT ZW_THRMO_SETP_TYP_ENE_SAVE_COOL ZW_THRMO_SETP_TYP_AWAY_HEAT ZW_THRMO_SETP_TYP_AWAY_COOL ZW_THRMO_SETP_TYP_FULL_POWER Description Heating Cooling Furnace Dry air Moist air Auto changeover Energy Save Heating Energy Save Cooling Away heating Away cooling Full power Thermostat Setpoint Unit ZW_THRMO_SETP_UNIT_C ZW_THRMO_SETP_UNIT_F Table 513 ZW_THRMO_SETP_UNIT_XXX Description Celsius Fahrenheit 11.23.2 zwif_thrmo_setp_get Get the thermostat setpoint through report callback. Table 514 zwif_thrmo_setp_get Parameters Attribute ifd type flag return Type zwifd_t * uint8_t int Int I/O Description I Thermostat setpoint interface handle. I Thermostat setpoint type (ZW_THRMO_SETP_TYP_XXX).. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.23.3 zwif_thrmo_setp_set Set the thermostat setpoint in the device. Table 515 zwif_thrmo_setp_set Parameters Attribute ifd data return Type zwifd_t * zwsetp_t * Int I/O Description I Thermostat setpoint interface handle. I Setpoint data. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 175 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 11.23.4 zwif_thrmo_setp_sup_get Get the supported thermostat setpoint types through report callback. For Danfoss Living Connect workaround, the setpoint supported type 0 (Invalid) will be mapped to type 1 (ZW_THRMO_SETP_TYP_HEATING). Table 516 zwif_thrmo_setp_sup_get Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat setpoint interface handle. cb zwrep_thrmo_setp_sup_fn I Report callback function. cache int I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. return Int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd type_len type Type zwifd_t * uint8_t uint8_t * valid int Table 517 zwrep_thrmo_setp_sup_fn Parameters I/O Description I Thermostat setpoint interface handle I size of type buffer I buffer to store supported thermostat setpoint type (ZW_THRMO_SETP_TYP_XXX) I validity of the report. If 1 the report is valid; else this report contains no data and should be ignored 11.23.5 zwif_thrmo_setp_sup_cache_get Get supported thermostat setpoint types from cache. Table 518 zwif_thrmo_setp_sup_cache_get Parameters Attribute ifd type_cnt type Type zwifd_t * uint8_t * uint8_t * return int I/O Description I Thermostat setpoint interface handle. O Supported setpoint types count. O Caller supplied buffer of size 255 bytes to store supported thermostat setpoint types (ZW_THRMO_SETP_TYP_XXX). O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.23.6 zwif_thrmo_setp_sup_range_get Get the supported thermostat temperature range through report callback. Table 519 zwif_thrmo_setp_sup_range_get Parameters Attribute Type I/O Description ifd zwifd_t * I Thermostat setpoint interface handle. type uint8_t I Setpoint type, ZW_THRMO_SETP_TYP_XXX. cb zwrep_thrmo_setp_range_fn I Report callback function. silabs.com | Building a more connected world. Page 176 of 224 INS14416-10 cache int return Int Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 520 zwrep_thrmo_setp_range_fn Parameters Attribute ifd type temp_range temp_range_cnt Type zwifd_t * uint8_t zwsetp_temp_range_t * uint8_t valid int I/O Description I Thermostat setpoint interface handle I Setpoint type, ZW_THRMO_SETP_TYP_XXX. I Supported temperature ranges array. I Temperature ranges count in the "temp_range" array. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.23.7 zwif_thrmo_setp_sup_range_cache_get Get supported thermostat temperature range from cache. Table 521 zwif_thrmo_setp_sup_range_cache_get Parameters Attribute ifd setp_type temp_range Type zwifd_t * uint8_t zwsetp_temp_range_t * temp_range_cnt uint8_t * return int I/O Description I Thermostat setpoint interface handle. I Setpoint type, ZW_THRMO_SETP_TYP_XXX. I Caller supplied temperature ranges array with 2 elements. O Temperature ranges count stored in the "temp_range" array. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.24 Configuration Interface API This corresponds to the Z-Wave Configuration CC for manufacturer-specific device configuration. The semantics of parameters and values are found in the manufacturer user manuals. 11.24.1 zwif_config_rpt_set Set up a configuration parameter report callback function. Table 522 zwif_config_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_config_fn int I/O Description I Configuration interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 177 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute ifd param Type zwifd_t * zwconfig_t * Attribute param_num size data Type uint8_t uint8_t uint8_t[4] use_default uint8_t Table 523 zwrep_config_fn Parameters I/O Description I Configuration interface handle. I Parameter value. Table 524 zwconfig_t Structure I/O Description I/O Parameter number. I/O Data size (1,2,or 4 bytes). I/O Data (a signed or unsigned number, depending on parameter number data format) with the first byte (i.e. data[0]) is the most significant byte. I Parameter flag (only valid for configuration set command): 1=use default factory setting. 0=use the value specified in data[]. 11.24.2 zwif_config_get Get the value of a configuration parameter through report callback function. Table 525 zwif_config_get Parameters Attribute ifd param_num return Type zwifd_t * uint8_t int I/O Description I Configuration interface handle. I Parameter number of the value to get. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.24.3 zwif_config_set Set the value of a configuration parameter. Table 526 zwif_config_set Parameters Attribute Type ifd zwifd_t * param zwconfig_t * I/O Description I Configuration interface handle. I Parameter value to set. 11.24.4 zwif_config_bulk_rpt_set Set up a multiple configuration parameters report callback function. Table 527 zwif_config_bulk_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_cfg_bulk_fn int I/O Description I Configuration interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 178 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute ifd param Type zwifd_t * zwcfg_bulk_t * Table 528 zwrep_cfg_bulk_fn Parameters I/O Description I Configuration interface handle I Parameter value Attribute param_start param_cnt size handshake Type uint16_t uint8_t uint8_t uint8_t deflt_data uint8_t data u8_data s8_data u16_data s16_data u32_data s32_data union [255] uint8_t int8_t uint16_t int16_t uint32_t int32_t Table 529 zwcfg_bulk_t Structure I/O Description I/O Starting parameter number I/O Parameter count I/O Data size (1,2,or 4 bytes) I/O For bulk_set command: request the device to send Configuration Bulk Report once the parameters have been written. 1=request report; 0=do not request report. For bulk report command: 1=indicate that all configuration parameters have been stored in non-volatile memory; 0=indicate that this report is returned in response to a Configuration Bulk Get command. I/O For bulk_set command: 1=use default factory setting and ignore data[]; 0=use the value in data[]. For bulk report command: 1=all advertised configuration parameters in data[] have the factory default value; 0=one or more of the advertised configuration parameters in data[] do not have the factory default value. I/O Configuration data array with number of parameters specified by param_cnt. It is the union of the following: Unsigned data for size=1. Signed data for size=1. Unsigned data for size=2. Signed data for size=2. Unsigned data for size=4. Signed data for size=4. 11.24.5 zwif_config_bulk_get Get multiple configuration parameters report through report callback. Table 530 zwif_config_bulk_get Parameters Attribute ifd param_start param_cnt return Type zwifd_t * uint16_t uint8_t int I/O Description I Configuration interface handle. I Starting parameter number. I Number of parameters to retrieve. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 179 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 11.24.6 zwif_config_bulk_set Set multiple configuration parameters. Table 531 zwif_config_bulk_set Parameters Attribute ifd param return Type zwifd_t * zwcfg_bulk_t * int I/O Description I Configuration interface handle. I Parameter to set. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.24.7 zwif_config_prm_reset Reset all configuration parameters to their default values. Table 532 zwif_config_prm_reset Parameters Attribute Type ifd zwifd_t * return int I/O Description I Configuration interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.24.8 zwif_config_info_get Get configuration parameters information. Table 533 zwif_config_info_get Parameters Attribute ifd cfg_info return Type I/O zwifd_t * I zwcfg_info_cap_t O ** int O Description Configuration interface handle Configuration parameters information if success; NULL on failure. ZW_ERR_NONE on success; else ZW_ERR_XXX NOTE: Caller is required to call zwif_config_info_free to free the memory allocated to cfg_info. Attribute cap cnt info Type uint8_t uint16_t zwcfg_info_t * Table 534 zwcfg_info_cap_t structure I/O Description O Device configuration capabilities, CFG_CAP_XXX XXX Description BULK Support bulk set and bulk report get APIs. DEFAULT_SET Support API to reset all configuration parameters to their default value. O Number of parameters information pointed by 'info'. O Pointer to an array of parameters info. Attribute name Type char * Table 535 zwcfg_info_t structure I/O Description O Name of a parameter. NULL if unavailable. silabs.com | Building a more connected world. Page 180 of 224 INS14416-10 info param_num adv read_only alt_cap format size min_val max_val dflt_val Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 char * O Usage information of a parameter. NULL if unavailable. uint16_t O Parameter number. uint8_t O Flag to indicate if the parameter is to be presented in the "Advanced" parameter section in the controller GUI. 1=advanced; 0=normal. uint8_t O Flag to indicate if the parameter is read-only. 1=read only; 0=read-write. uint8_t O Flag to indicate if the advertised parameter triggers a change in the node's capabilities. 1=yes; 0=no. If yes, the behavior of the device depends on whether it is a Z-Wave Plus version 2 node. If it is, it MUST advertise its new capabilities immediately; else it MUST NOT advertise the new and/or Multi Channel End Point capabilities before being excluded from its current network. uint8_t O Format of data, CFG_FMT_XXX XXX Description SIGN_INT Signed integer. UNSIGN_INT Unsigned integer. ENUM Enumerated (Radio buttons). It must be treated as unsigned integer. BIT_FIELD Bit field (Checkboxes). It must be treated as bit field where each individual bit can be set or reset. uint8_t O Data size: 1, 2 or 4 bytes. If zero, the "param_num" is invalid and all the data fields must be ignored. gen_dat_u O Minimum value of data. Zero if format is bit field. gen_dat_u O Maximum value of data. If the format is "bit field", each individual supported bit MUST be set to `1', while each un- supported bit MUST be set to `0'. gen_dat_u O Default value of data. Attribute u8_data s8_data u16_data s16_data u32_data s32_data Type uint8_t int8_t uint16_t int16_t uint32_t int32_t Table 536 gen_dat_u Union I/O Description O Unsigned data for size=1. O Signed data for size=1. O Unsigned data for size=2. O Signed data for size=2. O Unsigned data for size=4. O Signed data for size=4. 11.24.9 zwif_config_info_free Free configuration parameters information. Caller should not use the cfg_info after this call. silabs.com | Building a more connected world. Page 181 of 224 INS14416-10 Attribute cfg_info Z-Ware SDK 7.13.0 Library C API Reference Manual Table 537 zwif_config_info_free Parameters Type zwcfg_info_cap_t * I/O Description O Configuration parameters information to be free 2019-12-06 11.25 Clock Interface API This corresponds to the Z-Wave Clock CC. 11.25.1 zwif_clock_rpt_set Setup a clock report callback function. Table 538 zwif_clock_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_clock_fn int I/O Description I Clock interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd weekday hour minute Type zwifd_t * uint8_t uint8_t uint8_t Table 539 zwrep_clock_fn Parameters I/O Description I Clock interface handle I Day of week (ZW_CLOCK_XXX) I Hour (in 24 hours format) I Minute Day of Week ZW_CLOCK_UNDEFINED ZW_CLOCK_MONDAY ZW_CLOCK_TUESDAY ZW_CLOCK_WEDNESDAY ZW_CLOCK_THURSDAY ZW_CLOCK_FRIDAY ZW_CLOCK_SATURDAY ZW_CLOCK_SUNDAY Table 540 ZW_CLOCK_XXX Description Undefined Monday Tuesday Wednesday Thursday Friday Saturday Sunday 11.25.2 zwif_clock_get Get current time and week of day through report callback. Table 541 zwif_clock_get Parameters silabs.com | Building a more connected world. Page 182 of 224 INS14416-10 Attribute ifd return Type zwifd_t * int Z-Ware SDK 7.13.0 Library C API Reference Manual I/O Description I Clock interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.25.3 zwif_clock_set Set current time and week of day in the device. Table 542 zwif_clock_set Parameters Attribute ifd weekday hour minute return Type zwifd_t * uint8_t uint8_t uint8_t int I/O Description I Clock interface handle. I Day of week (ZW_CLOCK_XXX). I Hour (in 24 hours format). I Minute. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.26 Climate Control Schedule Interface API This corresponds to the Z-Wave Climate Control Schedule CC. 11.26.1 zwif_clmt_ctl_schd_rpt_set Setup a climate control schedule report callback function. Table 543 zwif_clmt_ctl_schd_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Climate control schedule interface handle. rpt_cb zwrep_clmt_ctl_schd_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 544 zwrep_clmt_ctl_schd_fn Parameters Attribute ifd sched Type zwifd_t * zwcc_shed_t * I/O Description I Climate control schedule interface handle I Climate control schedule Attribute weekday total swpts Table 545 zwcc_shed_t Structure Type I/O uint8_t O uint8_t O zwcc_shed_swpt_t O [9] Description Day of week. Valid from ZW_CLOCK_MONDAY to ZW_CLOCK_SUNDAY. Total number of valid schedule entries. Schedule entries (switchpoints). The entries must be ordered by time, ascending from 00:00 towards 23:59. No duplicates of time shall be allowed. silabs.com | Building a more connected world. Page 183 of 224 INS14416-10 Attribute hour minute state tenth_deg Type uint8_t uint8_t uint8_t int8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 546 zwcc_shed_swpt_t Structure I/O Description O Hour: 0 ~ 23. O Minute: 0 ~ 59. O Schedule state, ZW_THRMO_SETB_STA_XXX. O 1/10 of a degree (Kelvin). This parameter is valid if state equals to ZW_THRMO_SETB_STA_SETB. Valid values: -128 to 120 (inclusive). i.e. setback temperature ranges from -12.8 degree K to 12 degree K. 11.26.2 zwif_clmt_ctl_schd_get Get the climate control schedule of a specific weekday through report callback. Table 547 zwif_clmt_ctl_schd_get Parameters Attribute ifd weekday return Type zwifd_t * uint8_t int I/O Description I Climate control schedule interface handle. O Day of week. Valid from ZW_CLOCK_MONDAY to ZW_CLOCK_SUNDAY. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.26.3 zwif_clmt_ctl_schd_set Set the climate control schedule in a device for a specific weekday. Table 548 zwif_clmt_ctl_schd_set Parameters Attribute ifd sched return Type zwifd_t * zwcc_shed_t * int I/O Description I Climate control schedule interface handle. I Climate control schedule. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.26.4 zwif_clmt_ctl_schd_chg_rpt_set Setup a climate control schedule change report callback function. Table 549 zwif_clmt_ctl_schd_chg_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Climate control schedule interface handle. rpt_cb zwrep_clmt_ctl_schd_chg_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd Type zwifd_t * Table 550 zwrep_clmt_ctl_schd_chg_fn Parameters I/O Description I Climate control schedule change interface handle. silabs.com | Building a more connected world. Page 184 of 224 INS14416-10 chg_counter uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Climate control schedule change counter. If the Change Counter is different from last time, this indicates a change in a climate control schedule. Value from 1 to 255 indicates the climate control schedule change mechanism is enabled. Value of 0 indicates the climate control schedule change mechanism is temporarily disabled by the override function. 11.26.5 zwif_clmt_ctl_schd_chg_get Get climate control schedule change counter through report callback. Table 551 zwif_clmt_ctl_schd_chg_get Parameters Attribute ifd return Type zwifd_t * int I/O Description I Climate control schedule interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.26.6 zwif_clmt_ctl_schd_ovr_rpt_set Setup a climate control schedule override report callback function. Table 552 zwif_clmt_ctl_schd_ovr_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Climate control schedule interface handle. rpt_cb zwrep_clmt_ctl_schd_ovr_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Table 553 zwrep_clmt_ctl_schd_ovr_fn Parameters Attribute Type I/O Description ifd zwifd_t * I Climate control schedule interface handle schd_ovr zwcc_shed_ovr_t * I Climate control schedule override Attribute type state tenth_deg Type uint8_t uint8_t int8_t Table 554 zwcc_shed_t Structure I/O Description O Schedule override type, ZW_THRMO_SETB_TYP_XXX. O Schedule override state, ZW_THRMO_SETB_STA_XXX. O 1/10 of a degree (Kelvin). This parameter is valid if state equals to ZW_THRMO_SETB_STA_SETB. Valid values: -128 to 120 (inclusive) i.e. setback temperature ranges from -12.8 degree K to 12 degree K. 11.26.7 zwif_clmt_ctl_schd_ovr_get Get the climate control schedule override through report callback. Table 555 zwif_clmt_ctl_schd_ovr_get Parameters silabs.com | Building a more connected world. Page 185 of 224 INS14416-10 Attribute ifd return Type zwifd_t * int Z-Ware SDK 7.13.0 Library C API Reference Manual I/O Description I Climate control schedule interface handle. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.26.8 zwif_clmt_ctl_schd_ovr_set Set the climate control schedule override in a device. Table 556 zwif_clmt_ctl_schd_ovr_set Parameters Attribute ifd schd_ovr return Type zwifd_t * zwcc_shed_ovr_t * int I/O Description I Climate control schedule interface handle. I Climate control schedule override. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 2019-12-06 11.27 AV Interface API This corresponds to the Z-Wave Simple AV CC, which serves as an AV remote control replacement. 11.27.1 zwif_av_set Send the status of AV button. If parameter down = 1, a timer will be set up. This timer will expire in 0.4 second and send the "key hold" keep alive command to the node. The timer will reload itself upon expiry until another call to this function with parameter down = 0. Table 557 zwif_av_set Parameters Attribute ifd ctl down Type zwifd_t * uint16_t uint8_t return int I/O Description I Audio video interface handle. I Button number ZW_AV_BTN_XX. I Button status: 0=button up. 1=button down. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.27.2 zwif_av_caps Get supported AV commands through report callback function. Table 558 zwif_av_caps Parameters Attribute ifd cb cache Type zwifd_t * zwrep_av_fn int return int I/O Description I Audio video interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. silabs.com | Building a more connected world. Page 186 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Attribute ifd length mask valid Type zwifd_t * uint16_t uint8_t * int Table 559 zwrep_av_fn Parameters I/O Description I Audio video interface handle. I Mask byte length. I Mask buffer pointer. I Validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. 11.28 Protection Interface API This corresponds to the Z-Wave Protection CC. 11.28.1 zwif_prot_rpt_set Setup a protection report callback function. Table 560 zwif_prot_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_prot_fn int I/O Description I Protection interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd local_prot rf_prot ts Type zwifd_t * uint8_t uint8_t time_t snum_local uint16_t snum_rf uint16_t Table 561 zwrep_prot_fn Parameters I/O Description I Protection interface handle. I local protection state (ZW_LPROT_XXX). I RF protection state (ZW_RFPROT_XXX). I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. I state number that is incremented by one whenever a local protection state change is detected I state number that is incremented by one whenever a RF protection state change is detected Local protection state ZW_LPROT_UNPROT ZW_LPROT_SEQ ZW_LPROT_NO_CTL Table 562 ZW_LPROT_XXX Description Unprotected - The device is not protected, and can be operated normally via the user interface. Protection by sequence - The device is protected by altering the way the device normally is operated into a more complicated sequence of actions. No operation possible - It is not possible at all to control a device directly via the user interface. silabs.com | Building a more connected world. Page 187 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 RF protection state ZW_RFPROT_UNPROT ZW_RFPROT_NO_CTL ZW_RFPROT_NO_RESP Table 563 ZW_RFPROT_XXX Description Unprotected - The device must accept and respond to all RF Commands. No RF control - all runtime Commands are ignored by the device. The device must still respond with status on requests. No RF response at all. The device will not even reply to status requests. 11.28.2 zwif_prot_get Get the protection state through report callback. Table 564 zwif_prot_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Protection interface handle. I flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.28.3 zwif_prot_set Set the protection state in the device. Table 565 zwif_prot_set Parameters Attribute ifd local_prot rf_prot Type zwifd_t * uint8_t uint8_t return int I/O Description I Protection interface handle I Local protection state (ZW_LPROT_XXX). I RF protection state (ZW_RFPROT_XXX). For device that supports only version 1, this field will be ignored. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.28.4 zwif_prot_sup_get Get the supported protection states through report callback. Table 566 zwif_prot_sup_get Parameters Attribute ifd cb cache Type zwifd_t * zwrep_prot_sup_fn int return int I/O Description I Protection interface handle. I Report callback function. I Flag: to get data from cached only. If set, no fetching from real device when cache unavailable. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type Table 567 zwrep_prot_sup_fn Parameters I/O Description silabs.com | Building a more connected world. Page 188 of 224 INS14416-10 ifd sup_sta valid Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 zwifd_t * I Protection interface handle. zwprot_sup_t * I supported Protection States. int I validity of the report. If 1 the report is valid; else this report contains no data and should be ignored. Attribute excl_ctl tmout Type uint8_t uint8_t lprot lprot_len rfprot rfprot_len uint8_t [16] uint8_t uint8_t [16] uint8_t Table 568 zwprot_sup_t structure I/O Description O Flag to indicates whether the device supports Exclusive Control. O Flag to indicates whether the device supports timeout for RF Protection State. O Supported Local Protection States. O Number of supported Local Protection States. O Supported RF Protection States. O Number of supported RF Protection States. 11.28.5 zwif_prot_sup_cache_get Get supported protection states from cache. Table 569 zwif_prot_sup_cache_get Parameters Attribute ifd sup_prot return Type zwifd_t * zwprot_sup_t * int I/O Description I Protection interface handle. O supported protection states. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.28.6 zwif_prot_ec_rpt_set Setup a protection exclusive control report callback function. Table 570 zwif_prot_ec_rpt_set Parameters Attribute ifd rpt_cb return Type zwifd_t * zwrep_prot_ec_fn int I/O Description I Protection interface handle. I Report callback function. O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute ifd node_id Type zwifd_t * uint8_t ts time_t Table 571 zwrep_prot_ec_fn Parameters I/O Description I Protection interface handle. I Node ID that has exclusive control can override the RF protection state of the device and can control it regardless of the protection state. Node ID of zero is used to reset the protection exclusive control state. I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. silabs.com | Building a more connected world. Page 189 of 224 INS14416-10 stat_num uint16_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I state number that is incremented by one whenever a node id change is detected 11.28.7 zwif_prot_ec_get Get the protection exclusive control node through report callback. Table 572 zwif_prot_ec_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Protection interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.28.8 zwif_prot_ec_set Set the protection exclusive control node in the device. Table 573 zwif_prot_ec_set Parameters Attribute Type ifd zwifd_t * node_id uint8_t I/O Description I Protection interface handle I Node ID that has exclusive control can override the RF protection state of the device and can control it regardless of the protection state. Node ID of zero is used to reset the protection exclusive control state. 11.28.9 zwif_prot_tmout_rpt_set Setup a RF protection timeout report callback function. Table 574 zwif_prot_tmout_rpt_set Parameters Attribute Type I/O Description ifd zwifd_t * I Protection interface handle. rpt_cb zwrep_prot_tmout_fn I Report callback function. return int O ZW_ERR_NONE on success; else ZW_ERR_XXX. Attribute Type ifd zwifd_t * remain_tm uint8_t Table 575 zwrep_prot_tmout_fn Parameters I/O Description I Protection interface handle I Remaining time that a device will remain in protection mode. 0x00 = No timer is set. All "normal operation" Commands must be accepted. 0x01 to 0x3C = 1 second (0x01) to 60 seconds (0x3C); 0x41 to 0xFE = 2 minutes (0x41) to 191 minutes (0xFE); 0xFF = No Timeout - The Device will remain in RF Protection mode infinitely. silabs.com | Building a more connected world. Page 190 of 224 INS14416-10 ts time_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 I Time stamp. If this is zero, the callback has no data and hence other parameter values should be ignored. 11.28.10 zwif_prot_tmout_get Get the remaining time that a device will remain in RF protection mode through report callback. Table 576 zwif_prot_tmout_get Parameters Attribute ifd flag return Type zwifd_t * int int I/O Description I Protection interface handle. I Flag, see ZWIF_GET_BMSK_XXX. O ZW_ERR_NONE on success; else ZW_ERR_XXX. 11.28.11 zwif_prot_tmout_set Set the RF protection timeout in the device. Table 577 zwif_prot_tmout_set Parameters Attribute Type ifd zwifd_t * tmout uint8_t I/O Description I Protection interface handle. I Timeout specifies the time (in different resolutions) a device will remain in RF Protection mode. 0 = No timer is set. All "normal operation" commands MUST be accepted. 0x01 to 0x3C = 1 second (0x01) to 60 seconds (0x3C); 0x41 to 0xFE = 2 minutes (0x41) to 191 minutes (0xFE); 0xFF = No Timeout - The Device will remain in RF Protection mode infinitely. silabs.com | Building a more connected world. Page 191 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 12 Device Database File Format 2019-12-06 The device database is a text file contains the records in JSON format. The following explains different record types using c-style comments (/* and */). Please note that c-style comments are invalid in JSON standard and hence should be removed in a real-use case. { "global_settings": [ { "wakeup_interval":480 /* Wakeup interval in seconds to set whenever a new sleep capable device is added to the network. Value of zero or absent of this entry means do not change the device default value*/ } ], "device_records": [ { "_comment": "X company sensors", "vid":1, /* vendor or manufacturer id */ "ptype": 4952, /* product type id */ "pid":3030, /* product id */ "category":1, /* device category as defined in DEV_XXX */ "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint which is node level,1 and onwards for real endpoints) */ "interface":[ /*interfaces*/ { "if_type": 1, /*interface type as defined in IF_REC_TYPE_XXX */ "grp_id": [1, 3, 5] /*group id for the controller to set its node id into the group(s)*/ }, { "if_type": 2, /*interface type as defined in IF_REC_TYPE_XXX */ "config":[ /*Configuration set parameter*/ { "param_num": 1, /* parameter number */ "param_size":2, /* data size: 1,2,or 4 bytes*/ "param_val":-10000 /* configuration parameter value (signed integer)*/ }, { "param_num": 2, /* parameter number */ "param_size":1, /* data size: 1,2,or 4 bytes*/ "param_val":15 /* configuration parameter value (signed integer)*/ } ], "config_info":[ /*Configuration parameter information*/ { "param_num": 1, /* parameter number */ "param_name": "Sampling interval", /* parameter name */ "param_info": "Control the sampling interval in milliseconds (ms)", /* parameter info */ "param_size": 1, /* data size: 1,2,or 4 bytes*/ "param_min": 10, /* minimum configuration parameter value (signed integer)*/ "param_max": 100,/* maximum configuration parameter value (signed integer)*/ "param_deflt":50 /* default configuration parameter value (signed integer)*/ }, { "param_num": 2, /* parameter number */ "param_name": "Sensitivity", /* parameter name */ silabs.com | Building a more connected world. Page 192 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "param_info": "Sensitivity: 0=low, 1=normal, 2=high", /* parameter info */ "param_size": 1, /* data size: 1,2,or 4 bytes*/ "param_min": 0, /* minimum configuration parameter value (signed integer)*/ "param_max": 2,/* maximum configuration parameter value (signed integer)*/ "param_deflt":1 /* default configuration parameter value (signed integer)*/ } ] } ] }, { "epid":1, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "create_interface":113, /* Create command class ID 113 (alarm command class) in this endpoint. This interface must not already exist in the actual device and endpoint */ "create_interface_version":4, /* Version for the created command class */ "redirect":[ /* Command redirection*/ { "interface": 156, /* CC ID for redirection*/ "command": -1, /* CC command 0-255 for redirection. -1 means don't care*/ "target_ep": 0 /* Target endpoint to redirect the command to. In this example, redirect command from ep1 to ep0 */ } ], "interface":[ /*interfaces*/ { "if_type": 3, /*interface type as defined in IF_REC_TYPE_XXX */ "bin_sensor_type": 12, /*supported binary sensor type ZW_BSENSOR_TYPE_XXX. This field is only valid for version 1 (optional) */ "no_event_clear": 1, /*indicate the interface is not capable to sent event clear, i.e. binary sensor value of zero (optional); 1=not capable; 0 or absent of this field=capable. */ "event_clear_timeout": 60, /*timeout in seconds (max: 3600 s), to generate event_clear callback to user application. This field is only valid when "no_event_clear" = 1. Default is 5 minutes.(optional)*/ "bin_sensor":[ /*Report conversion array*/ {/*Each element must contain "match" and "result" block, in the order of "match" followed by "result"*/ "match":[/*The block that contains the original binary sensor report data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "type": 12, /*binary sensor type ZW_BSENSOR_TYPE_XXX (optional)*/ "state": 255, /*binary sensor state 0 or 255. -1 means don't care. */ IF_REC_TYPE_XXX*/ "result_if_type": 6 /* Type of the resulted conversion as defined in } ], "result":[ /*The block that contains the resultant report. Cannot be empty */ /*If a property is missing, it will follow the same value from the original report*/ { "zw_alarm_type": 7, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Burglar", /*Alarm type name (optional)*/ silabs.com | Building a more connected world. Page 193 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "zw_alarm_event":8, /*Z-Wave alarm event (optional)*/ (optional)*/ "alarm_level_name":"Motion detected" /*Alarm level name } ] }, { "match":[/*The block that contains the original binary sensor report data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "type": 12, /*binary sensor type ZW_BSENSOR_TYPE_XXX (optional)*/ "state": 0, /*binary sensor state 0 or 255. -1 means don't care. */ IF_REC_TYPE_XXX*/ "result_if_type": 6 /* Type of the resulted conversion as defined in } ], "result":[ /*The block that contains the resultant report. Cannot be empty */ /*If a property is missing, it will follow the same value from the original report*/ { "zw_alarm_type": 7, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Burglar", /*Alarm type name (optional)*/ "zw_alarm_event":0, /*Z-Wave alarm event (optional)*/ "alarm_level_name":"Event inactive", /*Alarm level name (optional)*/ "zw_alarm_param_type":5, /*Z-Wave alarm param type (optional)*/ "zw_alarm_param":[8] /*Z-Wave alarm parameters (optional)*/ } ] } ] }, { "if_type": 4, /*interface type as defined in IF_REC_TYPE_XXX */ "sensor_type": 3, /* sensor type ZW_SENSOR_TYPE_XXX */ "sensor_unit": 0 /* supported sensor unit ZW_SENSOR_UNIT_XXX */ } ] } ] }, { "_comment": "X company meter", "vid":1, /* vendor or manufacturer id */ "ptype": 4950, /* product type id */ "pid":3030, /* product id */ "category":10, /* device category as defined in DEV_XXX */ silabs.com | Building a more connected world. Page 194 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "interface":[ /*interfaces*/ { "if_type": 1, /*interface type as defined in IF_REC_TYPE_XXX */ "grp_id": [1] /*group id for the controller to set its node id into the group*/ }, { "if_type": 2, /*interface type as defined in IF_REC_TYPE_XXX */ "config":[ /*Configuration parameter*/ { "param_num": 1, /* parameter number */ "param_size":2, /* data size: 1,2,or 4 bytes*/ "param_val":-10000 /* configuration parameter value (signed integer)*/ } ] }, { "if_type": 5, /*interface type as defined in IF_REC_TYPE_XXX */ "meter_type": 1, /*meter type ZW_METER_TYPE_XXX */ "meter_supported_units":17, /*supported unit bit-mask; see Meter Supported Unit Bit-mask table */ "meter_rate_type": 1, /*supported rate type: ZW_METER_RATE_XXX (optional)*/ "meter_reset_cap": 1 /*meter reset capability: 1=capable to reset; 0=incapable to reset (optional). If not present, default to incapable to reset*/ } ] } ] }, { "_comment": "All alarms manufactured by Y company. pid= -1 means don't care; i.e. it matches anything", "vid":2, /* vendor or manufacturer id */ "ptype": 5, /* product type id */ "pid":-1, /* product id */ "category":1, /* device category as defined in DEV_XXX */ "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "interface":[ /*interfaces*/ { "if_type": 6, /*interface type as defined in IF_REC_TYPE_XXX */ "user_def_version": 7, /*user-defined interface version which will be reported to user application (optional)*/ "no_event_clear": 1, /*indicate the interface is not capable to sent event clear notification (optional); 1=not capable; 0 or absent of this field=capable. NOTE: This field is valid only for notification CC version 4 and higher.*/ "alarm":[ { "match":[ /*The block that contains the original alarm report data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "alarm_type": 21, /*Vendor specific alarm type (optional)*/ "alarm_level": 2 /*Vendor specific alarm level (optional)*/ } ], "result":[ /*The block that contains the resultant report. Cannot be empty*/ /*If a property is missing, it will follow the same value from the original report*/ { silabs.com | Building a more connected world. Page 195 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "zw_alarm_type": 6, /*Z-Wave alarm type mapped from vendor specific proprietary alarm type (optional)*/ "alarm_type_name": "Access Control", /*Alarm type name (optional)*/ "zw_alarm_event":5, /*Z-Wave alarm event mapped from vendor specific alarm level (optional)*/ "alarm_level_name":"Keypad Lock", /*Alarm level name (optional)*/ "zw_alarm_param_type":2, /*Z-Wave alarm parameter type as defined in ZW_ALRM_PARAM_XXX (Compulsory when zw_alarm_param is defined in either match/result block)*/ "zw_alarm_param":[0,1] /*Z-Wave alarm event parameters in an array (optional)*/ } ] }, { "match":[ /*The block that contains the original alarm report data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "alarm_type": 9, /*Vendor specific alarm type (optional)*/ "alarm_level_range":[10,20] /*Vendor specific alarm level range, means all values from 10, 20 (both number inclusive) will be used for translation. And they will be translated into the same report. (optional)*/ } ], "result":[ /*The block that contains the resultant report. Cannot be empty*/ /*If a property is missing, it will follow the same value from the original report*/ { "zw_alarm_type": 6, /*Z-Wave alarm type mapped from vendor specific proprietary alarm type (optional)*/ "alarm_type_name": "Access Control", /*Alarm type name (optional)*/ "zw_alarm_event":5, /*Z-Wave alarm event mapped from vendor specific alarm level (optional)*/ "alarm_level_name":"Keypad Lock", /*Alarm level name (optional)*/ "zw_alarm_param_type":4, /*Z-Wave alarm parameter type as defined in ZW_ALRM_PARAM_XXX (Compulsory when zw_alarm_param is defined in either match/result block)*/ "zw_alarm_param":[1] /*Z-Wave alarm event parameters in an array (optional)*/ } ] }, { "match":[ /*The block that contains the original alarm report data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "alarm_type": 9, /*Vendor specific alarm level (optional)*/ "alarm_level": 2, /*Vendor specific alarm level (optional)*/ "zw_alarm_type": 6, /*Z-Wave alarm type (optional)*/ "zw_alarm_event": 5, /*Z-Wave alarm event(optional)*/ "zw_alarm_param":[0,1,2] /*Z-Wave alarm event parameters(optional)*/ } ], "result":[ /*The block that contains the resultant report. Cannot be empty */ /*If a property is missing, it will follow the same value from the original report*/ { "zw_alarm_event": 7 /*Z-Wave alarm event(optional)*/ } ] } ] } ] } silabs.com | Building a more connected world. Page 196 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 ] }, { "_comment": "X company sensors", "vid":271, /* vendor or manufacturer id */ "ptype": 1792, /* product type id */ "pid":4096, /* product id */ "category":1, /* device category as defined in DEV_XXX */ "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "create_interface":113, /* Create CC ID 113 (alarm CC) in this endpoint. This interface must not already exist in the actual device and endpoint */ "create_interface_version":4, /* Version for the created CC */ "interface":[ /*interfaces*/ { "if_type": 7, /*interface type as defined in IF_REC_TYPE_XXX */ "basic":[ { "match":[ /*The block that contains the original basic command data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "command": 1, /*Basic CC command. eg. BASIC_SET*/ "value":0,/* Command value 0-255. -1 means don't care. */ "result_if_type": 6 /* Type of the resulted conversion as defined in IF_REC_TYPE_XXX*/ } ], "result":[ /*The block that contains the resultant report. Cannot be empty.*/ /*Content of this block will depends on the value of "result_if_type" in the match block. */ { "zw_alarm_type": 6, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Access Control", /*Alarm type name (optional)*/ "zw_alarm_event":11, /*Z-Wave alarm event(optional)*/ "alarm_level_name":"Lock is Jammed" /*Alarm level name (optional)*/ } ] }, { "match":[ { "command": 1, /*Basic CC command. eg. BASIC_SET*/ "value":255, /* Command value 0-255. -1 means don't care. */ "result_if_type": 6 /* Type of the resulted conversion as defined in IF_REC_TYPE_XXX*/ } ], "result":[ { "zw_alarm_type": 6, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Access Control", /*Alarm type name (optional)*/ "zw_alarm_event":5, /*Z-Wave alarm event(optional)*/ "alarm_level_name":"Keypad Lock" /*Alarm level name (optional)*/ } ] } ] } ] } ] }, { silabs.com | Building a more connected world. Page 197 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "_comment": "X company alarm sensors", "vid":271, /* vendor or manufacturer id */ "ptype": 1792, /* product type id */ "pid":4096, /* product id */ "category":1, /* device category as defined in DEV_XXX */ "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "create_interface":113, /* Create CC ID 113 (alarm CC) in this endpoint. This interface must not already exist in the actual device and endpoint */ "create_interface_version":4, /* Version for the created CC */ "interface":[ /*interfaces*/ { "if_type": 8, /*interface type as defined in IF_REC_TYPE_XXX */ "no_event_clear": 1, /*indicate the interface is not capable to sent event clear, i.e. alarm sensor value of zero (optional); 1=not capable; 0 or absent of this field=capable. */ "event_clear_timeout": 60, /*timeout in seconds (max: 3600 s), to generate event_clear callback to user application. This field is only valid when "no_event_clear" = 1. Default is 5 minutes.(optional)*/ "hidden":1, /*hide this interface from user application (optional)*/ "alrm_snsr":[ { /*Each element must contain "match" and "result" block, in the order of "match" followed by "result"*/ match":[ /*The block that contains the original alarm sensor command data to compare against. Cannot be empty */ /*All the properties need to be met for the conversion to happen. If a property is missing, it will not be included for comparison*/ { "type": 5, /*Alarm sensor type. eg. Water leak*/ "state":0, /* One Alarm sensor state value 0-255. -1 means don't care. */ "result_if_type": 6 /* Type of the resulted conversion as defined in IF_REC_TYPE_XXX*/ } ], "result":[ /*The block that contains the resultant report. Cannot be empty*/ /*Content of this block will depends on the value of "result_if_type" in the match block. */ { "zw_alarm_type": 5, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Water Alarm", /*Alarm type name (optional)*/ "zw_alarm_event":0, /*Z-Wave alarm event(optional)*/ "alarm_level_name":"Event inactive", /*Alarm level name (optional)*/ "zw_alarm_param_type":5, /*Z-Wave alarm param type (optional)*/ "zw_alarm_param":[4] /*Z-Wave alarm parameters (optional)*/ } ] }, { "match":[ { "type": 5, /*Alarm sensor type. eg. Water leak*/ "state_range":[1,255], /* All Alarm sensor state values within the range. */ "result_if_type": 6 /* Type of the resulted conversion as defined in IF_REC_TYPE_XXX*/ } ], "result":[ { "zw_alarm_type": 5, /*Z-Wave alarm type (optional)*/ "alarm_type_name": "Water Alarm", /*Alarm type name (optional)*/ "zw_alarm_event":4, /*Z-Wave alarm event(optional)*/ silabs.com | Building a more connected world. Page 198 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "alarm_level_name":"Water level dropped" /*Alarm level name (optional)*/ } ] } ] } ] } ] }, { "_comment": "X company thermostat setpoint", "vid":271, /* vendor or manufacturer id */ "ptype":1882, /* product type id */ "pid":30, /* product id */ "category":27, /* device category as defined in DEV_XXX */ "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "interface":[ /*interfaces*/ { "if_type": 9, /*interface type as defined in IF_REC_TYPE_XXX */ "thrmo_setp":[ { "type": 11, /* thermostat setpoint type, ZW_THRMO_SETP_TYP_XXX */ "min_unit": 0, /* Temperature unit, ZW_THRMO_SETP_UNIT_XXX*/ "min_value": "25.5", /* Minimum temperature value as string, may contain decimal point */ "max_unit": 0, /* Temperature unit, ZW_THRMO_SETP_UNIT_XXX*/ "max_value": "30.5" /* Maximum temperature value as string, may contain decimal point */ }, { "type": 11, /* Same thermostat setpoint type as in above entry*/ "min_unit": 1, /* In different temperature unit*/ "min_value": "77.9", /* Minimum temperature value as string, may contain decimal point */ "max_unit": 1, /* Temperature unit, ZW_THRMO_SETP_UNIT_XXX*/ "max_value": "86.9" /* Maximum temperature value as string, may contain decimal point */ }, { "type": 12, /* thermostat setpoint type, ZW_THRMO_SETP_TYP_XXX */ "min_unit": 0, /* Temperature unit, ZW_THRMO_SETP_UNIT_XXX*/ "min_value": "12.5", /* Minimum temperature value as string, may contain decimal point */ "max_unit": 0, /* Temperature unit, ZW_THRMO_SETP_UNIT_XXX*/ "max_value": "28" /* Maximum temperature value as string, may contain decimal point */ } ] } ] } ] }, { "_comment": "XYZ company door lock", "vid":234, /* vendor or manufacturer id */ "ptype":1882, /* product type id */ "pid":3, /* product id */ "category":7, /* device category as defined in DEV_XXX */ silabs.com | Building a more connected world. Page 199 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "ep": [ /*endpoints */ { "epid":0, /* Endpoint id (starting from 0 for virtual endpoint, 1 and onwards for real endpoints) */ "interface":[ /*interfaces*/ { "if_type": 10, /*IF_REC_TYPE_DOOR_LOCK, the interface type as defined in IF_REC_TYPE_XXX */ "op_mode": [0, 1, 255], /*Supported door lock operation modes, as defined in ZW_DOOR_XXX */ "op_type": [1, 2], /*Supported door lock operation types, as defined in ZW_DOOR_OP_XXX */ "out_handle": 7, /*Supported outside door handle mode bitmask. It's a 4-bit mask. Maximum value is 15 */ "in_handle": 15 /*Supported inside door handle mode bitmask. It's a 4-bit mask. Maximum value is 15 */ }, { "if_type": 11, /*IF_REC_TYPE_MULTI_CMD, the interface type as defined in IF_REC_TYPE_XXX */ "send_encap": 0 /*control whether to send consecutive commands using multi-command encapsulation. 0 = no encapsulation; 1 = use encapsulation*/ } ] } ] } ] } silabs.com | Building a more connected world. Page 200 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 13 Home Network File Format 2019-12-06 13.1 Introduction The main usage of persistent storage is to store the entire Z-Wave network structure which consists of network, nodes, endpoints and interfaces. The typical data stored are the network entities property, capability, and run-time cache derived from reports sent by devices. The file format of the persistent storage is a widely used lightweight data-interchange JSON (JavaScript Object Notation) format. It is easy for humans to read and write; likewise, it is also easy for machines to parse and generate. All data are stored in big-endian format as in Z-Wave CC definitions when applicable. The following subsections documents the "name-value" pairs used in the persistent storage file. The main purpose of this documentation is to allow porting of Z-Wave network structure data generated in other formats by other "non-Z-Ware library-based" applications to Z-Ware library-based applications. For this reason, developers may skip reading this section if there is no requirement for data porting. Developers who are interested in porting are strongly advised to read the source code in src/zip_pstorage.c and reuse the functions in the source file in order to speed up the porting process. 13.2 Top Level Entities The top level JSON entities are persistent file version, network and nodes as shown in the table below. Table 578 Top level entities Name ver_major ver_minor network node Value Type uint8_t uint8_t JSON Data Type number number object array Description Major version of persistent storage file Minor version of persistent storage file Network object Node object array 13.3 Network Z-Wave network entities are shown as in the table below. Table 579 Network object Name Value Type home_id uint32_t assc_node_id uint8_t assc_ep_id uint8_t JSON Data Type number number number Description Z-Wave network home id Lifeline (group 1) association node id. Value of zero denotes there is no node association. Lifeline (group 1) association endpoint id if the association type is endpoint association by way of multi-channel association set command. This entry silabs.com | Building a more connected world. Page 201 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 MUST be omitted if the association type is node association. 13.4 Nodes Z-Wave node entities are shown as in the table below. Table 580 Node object Name node_id vendor_id vendor_product_type product_id endpoint_count aggregated_ep_count node_property sleep_capability always_listening zwave_lib_type zwave_protocol_ver application_ver multi_cmd_support listening_sleeping_slave device_category basic_device_class wakeup_interval device_id_type# device_id_format# Value Type uint8_t uint16_t uint16_t uint16_t uint8_t uint8_t uint8_t JSON Data Type number number number number number number number uint8_t number uint8_t number uint8_t uint16_t uint16_t number number number uint8_t number uint8_t uint8_t uint8_t int32_t uint8_t uint8_t number number number number number number Description Z-Wave node id Vendor/Manufacturer id Vendor/Manufacturer product type Product id Number of endpoints Number of aggregated endpoints Node property bitmask as defined in NODE_PROPTY_XXX Flag to indicate the node is capable to sleep with Reporting Sleeping Slave (RSS) role type. 1=sleep capable; 0=always listening. Flag to indicate whether the node is always listening and awake (non-sleeping). 1=always listening and awake; 0=otherwise Z-Wave protocol library type Z-Wave protocol version Application version (also known as firmware 0 version) assigned by the manufacturer Flag to indicate whether the node supports multi-command encapsulation. 1=support; 0=otherwise Flag to indicate whether the node is a listening sleeping slave (LSS). 1=yes; 0=no Device category as defined in "DEV_XXX Meaning and Values" table. Z-Wave basic device class Wake up interval in seconds. Value of -1 = invalid or unknown Device id type Device id data format as defined in DEV_ID_FMT_XXX silabs.com | Building a more connected world. Page 202 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 device_id_data# uint8_t [] number Device id data stored in uint8_t number array array hardware_ver@ uint8_t number Hardware version firmware_versions@ uint16_t [] number Firmware versions stored in uint16_t array number array with the first item is firmware 1 version s2_granted_keys* uint8_t number Security 2 keys granted to the node. s2_dsk* char [] string Security 2 Device Specific Key (DSK) zwave_software_versions^ array Z-Wave software version object array ep array Endpoint object array NOTE: Entities marked with (#) are only required if the node supports Manufacturer Specific CC version 2; those marked with (@) are only required if the node supports Version CC version 2 and above; those marked with (*) are only required if the node included in Security 2 capable network; those marked with (^) are only required if the node supports Version CC version 3 and above. Table 581 Z-Wave software version object Name sw_ver_type sw_ver_major sw_ver_minor sw_ver_patch sw_ver_build Value Type uint8_t uint8_t uint8_t uint8_t uint16_t JSON Data Type number number number number number Description Version type as defined in VER_TYPE_XXX Major version Minor version Patch version Build number. Zero if unused 13.5 Endpoints Z-Wave endpoint entities are shown as in the table below. Table 582 Endpoint object Name ep_id Value Type JSON Data Type uint8_t number generic_dev_class specific_dev_class ep_name ep_location zwave+_version# zwave+_role_type# zwave+_node_type# zwave+_installer_icon_type# zwave+_user_icon_type# uint8_t uint8_t char [] char [] uint8_t uint8_t uint8_t uint16_t uint16_t number number string string number number number number number Description Z-Wave endpoint id. Value of zero denotes virtual endpoint (i.e. root device); value of 1 onwards denotes actual endpoint. Z-Wave generic device class Z-Wave specific device class Optional endpoint's name Optional endpoint's location Z-Wave+ version Z-Wave+ role type Z-Wave+ node type Installer icon type User icon type silabs.com | Building a more connected world. Page 203 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 aggregated_ep_members@ uint8_t [] number Array of aggregated endpoint id array intf array Interface object array NOTE: Entities marked with (#) are only required if the node supports Z-Wave Plus Info CC version 2; those marked with (@) are only required if the node supports Multi Channel CC version 4 and above 13.6 Interfaces Z-Wave interface entities are shown as in the tables below. The Common Interface object contains the entities common to all interfaces. The rest of the tables are interface specific to the Z-Wave CC. Table 583 Common Interface object Name cc cc_ver cc_propty Value Type uint16_t uint8_t uint8_t JSON Data Type number number number Description Z-Wave CC Z-Wave CC version Properties of the interface (bitmask) as defined in IF_PROPTY_XXX 13.6.1 Association Group Info CC Table 584 Interface object for Association Group Info CC Name assoc_grp_info_dynamic assoc_grp_info Value Type uint8_t JSON Data Type number array Description Flag to indicate the group info is dynamic. 1=dynamic; 0=static Association Group Info object array Name group_id group_profile group_name cmd_list Table 585 Association Group Info object Value Type uint8_t uint16_t char [] JSON Data Type number number string array Description Group id Profile Group name string in UTF-8 Command object array Name class cmd Table 586 Command object Value Type JSON Data Type uint16_t number uint8_t number Description Z-Wave CC Command of the CC silabs.com | Building a more connected world. Page 204 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 13.6.2 Configuration CC Table 587 Interface object for Configuration CC Name config_param_capabilities config_param_info Value Type uint8_t JSON Data Type number array Description Device configuration capabilities (bitmask) as defined in CFG_CAP_XXX Configuration parameter object array Table 588 Configuration parameter object Name name info param_number advanced Value Type char [] char [] uint16_t uint8_t read_only uint8_t trigger_change uint8_t format size uint8_t uint8_t min_value max_value default_value Type depends on "format" & "size" JSON Data Type string string number number number number number number number number number Description Name of a parameter Usage information of a parameter Parameter number Flag to indicate if the parameter is to be presented in the "Advanced" parameter section in the controller GUI. 1=advanced; 0=normal Flag to indicate if the parameter is read-only. 1=read only; 0=read-write Flag to indicate if the advertised parameter triggers a change in the node's capabilities. 1=yes; 0=no. If yes, the behavior of the device depends on whether it is a Z-Wave Plus version 2 node. If it is, it MUST advertise its new capabilities immediately; else it MUST NOT advertise the new and/or Multi Channel End Point capabilities before being excluded from its current network Format of data as defined in CFG_FMT_XXX Data size: 1, 2 or 4 bytes. If zero, the "param_number" is invalid and all the data fields must be ignored Minimum value of data. Zero if format is bit field Maximum value of data. If the format is "bit field", each individual supported bit MUST be set to '1', while each un-supported bit MUST be set to '0'. Default value of data. 13.6.3 Association and Multi Channel Association CC Table 589 Interface object for Association and Multi channel Association CC Name max_groups cache Value Type uint8_t JSON Data Type number array Description Maximum supported group count Association Group Cache object array silabs.com | Building a more connected world. Page 205 of 224 INS14416-10 Name ts grp_id max_supp member Value Type time_t uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual Table 590 Association Group Cache object JSON Data Type number number number array Description Time stamp Group id Maximum supported members Group member object array 2019-12-06 Name node_id ep_id Value Type uint8_t uint8_t Table 591 Group member object JSON Data Type number number Description Node id Endpoint id. Value of 255 denotes node association; other values denote endpoint association 13.6.4 Central Scene CC Table 592 Interface object for Central Scene CC Name scene_count max_key_attrib_count_per_scene Value Type uint8_t uint8_t slow_refresh uint8_t same_key_attrib uint8_t scene JSON Data Type number number number number array Description Maximum number of supported scenes Maximum number of key attributes per scene Flag to indicate support slow refresh of Key Held Down notification. Nonzero=support; 0=unsupported Flag to indicate if all scenes are supporting the same key attributes. 1=same; 0=different Scene object array Name scene_number key_attrib Value Type uint8_t uint8_t [] Table 593 Scene object JSON Data Type number number array Description Scene id (starting from 1) Key attributes stored in uint8_t number array 13.6.5 Multi Level Sensor CC Table 594 Interface object for Multi Level Sensor CC Name supp_sensor cache Value Type JSON Data Type array array Description Multi level sensor object array Multi level sensor Cache object array silabs.com | Building a more connected world. Page 206 of 224 INS14416-10 Name type unit_bitmask Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 595 Multi level sensor object Value Type uint8_t uint8_t JSON Data Type number number Description Supported sensor type Supported sensor units (bitmask) Table 596 Multi level sensor Cache object Name ts sensor_type sensor_unit precision value Value Type time_t uint8_t uint8_t uint8_t uint8_t [] JSON Data Type number number number number number array Description Time stamp Sensor type as defined in ZW_SENSOR_TYPE_XXX Sensor unit as defined in ZW_SENSOR_UNIT_XXX Decimal places of the value. Sensor value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. 13.6.6 Indicator CC Table 597 Interface object for Indicator CC Name supp_indicator cache Value Type JSON Data Type array array Description Indicator object array Indicator Cache object array Name id property_id Value Type uint8_t uint8_t [] Table 598 Indicator object JSON Data Type number number array Description Supported indicator id as defined in ZWIND_ID_XXX Property id stored in uint8_t number array. Name ts sn indicator_id property Table 599 Indicator Cache object Value Type time_t uint16_t uint8_t JSON Data Type number number number array Description Time stamp State number that is incremented by one whenever a cache value change is detected Indicator id as defined in ZWIND_ID_XXX Indicator property object array Table 600 Indicator property object silabs.com | Building a more connected world. Page 207 of 224 INS14416-10 Name id value Value Type uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual JSON Data Type number number Description Property id Property value 2019-12-06 13.6.7 Thermostat Fan Mode CC Table 601 Interface object for Thermostat Fan Mode CC Name off_mode_supp supp_mode cache Value Type uint8_t uint8_t [] JSON Data Type number number array array Description Flag to indicate whether off mode is supported Supported fan modes stored in uint8_t number array. Thermostat Fan Mode Cache object array Name ts sn off mode Table 602 Thermostat Fan Mode Cache object Value Type time_t uint16_t JSON Data Type number number uint8_t uint8_t number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Flag to indicate the the fan is fully switched off. Fan mode as defined in ZW_THRMO_FAN_MD_XXX 13.6.8 Thermostat Mode CC Table 603 Interface object for Thermostat Mode CC Name supp_mode cache Value Type uint8_t [] JSON Data Type number array array Description Supported modes stored in uint8_t number array. Thermostat Mode Cache object array Name ts sn mode manf_data Table 604 Thermostat Mode Cache object Value Type time_t uint16_t uint8_t uint8_t [] JSON Data Type number number number number array Description Time stamp State number that is incremented by one whenever a cache value change is detected Mode as defined in ZW_THRMO_MD_XXX Manufacturer data (when the mode is ZW_THRMO_MD_MANF_SPECIFIC) stored in uint8_t number array. silabs.com | Building a more connected world. Page 208 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 13.6.9 Thermostat Setpoint CC Table 605 Interface object for Thermostat Setpoint CC Name supp_type_count supp_type cache Value Type uint8_t JSON Data Type number array array Description Number of supported setpoint types Thermostat Setpoint object array Thermostat Setpoint Cache object array Table 606 Thermostat Setpoint object Name Value Type JSON Data Type Description type uint8_t number Supported setpoint type as defined in ZW_THRMO_SETP_TYP_XXX unit_min# uint8_t number Minimum setpoint temperature unit as defined in ZW_THRMO_SETP_UNIT_XXX precision_min# uint8_t number Decimal places of the minimum setpoint temperature value value_min# uint8_t [] number array Minimum setpoint temperature value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. unit_max# uint8_t number Maximum setpoint temperature unit as defined in ZW_THRMO_SETP_UNIT_XXX precision_max# uint8_t number Decimal places of the maximum setpoint temperature value value_max# uint8_t [] number array Maximum setpoint temperature value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. NOTE: Entities marked with (#) must be omitted if the information is unavailable because the node supports only Thermostat Setpoint CC version less than 3. Table 607 Thermostat Setpoint Cache object Name ts sn type unit precision Value Type time_t uint16_t uint8_t uint8_t uint8_t JSON Data Type number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Thermostat setpoint type as defined in ZW_THRMO_SETP_TYP_XXX Temperature unit as defined in ZW_THRMO_SETP_UNIT_XXX Decimal places of the value. silabs.com | Building a more connected world. Page 209 of 224 INS14416-10 value uint8_t [] Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 number array Temperature value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. 13.6.10 Thermostat Operating State CC Table 608 Interface object for Thermostat Operating State CC Name Value Type supp_log uint8_t [] cache JSON Data Type number array array Description Supported operating state logging stored in uint8_t number array. Thermostat Operating State Cache object array. The array must not contain more than one cache object for "operating state" but can contain multiple cache objects for "logging". Table 609 Thermostat Operating State Cache object for "Operating State" Name Value Type JSON Data Type ts time_t number op_state uint8_t number Description Time stamp Operating state as defined in ZW_THRMO_OP_STA_XXX Table 610 Thermostat Operating State Cache object for "Logging" Name ts log_type today_h today_m prev_h prev_m Value Type time_t uint8_t uint8_t uint8_t uint8_t uint8_t JSON Data Type number number number number number number Description Time stamp logging type as defined in ZW_THRMO_OP_STA_XXX The number of hours (00 ~ 24) the thermostat has been in the indicated operating state since 12:00 am of the current day The number of minutes (00 ~ 59) the thermostat has been in the indicated operating state since 12:00 am of the current day The number of hours (00 ~ 24) the thermostat has been in the indicated operating state since 12:00 am of the previous day The number of minutes (00 ~ 59) the thermostat has been in the indicated operating state since 12:00 am of the previous day 13.6.11 Thermostat Fan State CC Table 611 Interface object for Thermostat Fan State CC silabs.com | Building a more connected world. Page 210 of 224 INS14416-10 Name cache Value Type Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 JSON Data Type array Description Thermostat Fan State Cache object array Name ts fan_stat Value Type time_t uint8_t Table 612 Thermostat Fan State Cache object JSON Data Type number number Description Time stamp Fan state as defined in ZW_THRMO_FAN_STA_XXX 13.6.12 Multi Level Switch CC Table 613 Interface object for Multi Level Switch CC Name primary_type secondary_type cache Value Type uint8_t uint8_t JSON Data Type number number array Description Primary switch type as defined in SW_TYPE_XXX Secondary switch type as defined in SW_TYPE_XXX Multi Level Switch Cache object array Name ts sn curr_val tgt_val dur Table 614 Multi Level Switch Cache object Value Type time_t uint16_t uint8_t uint8_t uint8_t JSON Data Type number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Current value: 0 = off; 0x01~0x63 = percentage (%);0xFE = Unknown; 0xFF = On. Target value with same interpretation as curr_val Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved 13.6.13 Binary Switch CC Name cache Table 615 Interface object for Binary Switch CC Value Type JSON Data Type array Description Binary Switch Cache object array Name ts Table 616 Binary Switch Cache object Value Type JSON Data Type Description time_t number Time stamp silabs.com | Building a more connected world. Page 211 of 224 INS14416-10 sn uint16_t curr_val tgt_val dur uint8_t uint8_t uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 number number number number State number that is incremented by one whenever a cache value change is detected Current value: 0 = off; 0xFE = Unknown; 0xFF = On. Target value with same interpretation as curr_val Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved 13.6.14 Binary Sensor CC Table 617 Interface object for Binary Sensor CC Name supp_sensor cache Value Type uint8_t [] JSON Data Type number array array Description Supported binary sensor types stored in uint8_t number array. Binary Sensor Cache object array Name ts type state Table 618 Binary Sensor Cache object Value Type time_t uint8_t uint8_t JSON Data Type number number number Description Time stamp Binary sensor type as defined in ZW_BSENSOR_TYPE_XXX Sensor state: 0=idle; 0xFF=event detected 13.6.15 Simple AV Control CC Table 619 Interface object for Simple AV Control CC Name Value Type supp_av_ctl_command_bitmask uint8_t [] JSON Data Type number array Description Supported AV Control Commands (bitmask) stored in uint8_t number array. 13.6.16 Alarm or Notification CC Table 620 Interface object for Alarm CC Name Value Type supp_v1_type uint8_t supp_type cache JSON Data Type number array array Description Flag to indicate whether vendor specific alarm type supported Alarm object array Alarm Cache object array Table 621 Alarm object silabs.com | Building a more connected world. Page 212 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Name Value Type JSON Data Type type uint8_t number event_bitmask uint8_t [] number array Description Supported Alarm type as defined in ZW_ALRM_XXX Supported events (bitmask) stored in uint8_t number array. Table 622 Alarm Cache object Name Value Type JSON Data Type Description ts time_t number Time stamp v1_type uint8_t number Vendor specific alarm type v1_level uint8_t number Vendor specific alarm level type# uint8_t number Z-Wave alarm type as defined in ZW_ALRM_XXX zensor_id# uint8_t number Zensor Net source node id. This field is 0 if device is not based on Zensor Net status# uint8_t number Z-Wave alarm status as defined in ZW_ALRM_STS_XXX event# uint8_t number Z-Wave alarm event as defined in ZW_ALRM_EVT_XXX seq_no# uint8_t number Z-Wave alarm sequence number evt_param# array Alarm event parameter object array NOTE: Entities marked with (#) must be omitted if the information is unavailable because the node supports only Alarm or Notification CC version less than 3. Table 623 Alarm event parameter object Name Value Type JSON Data Type evt_param_type uint8_t number evt_param uint8_t [] number array Description Z-Wave alarm event parameter type (ZW_ALRM_PARAM_XXX) Z-Wave alarm event parameter stored in uint8_t number array. 13.6.17 Protection CC Table 624 Interface object for Protection CC Name excl_ctl_supp Value Type JSON Data Type uint8_t number timeout_supp uint8_t number supp_local_state uint8_t [] number array supp_rf_state uint8_t [] number array cache array Description Flag to indicates whether the device supports Exclusive Control Flag to indicates whether the device supports timeout for RF Protection State Supported Local Protection States stored in uint8_t number array. Supported RF Protection States stored in uint8_t number array. Protection Cache object array. The array must not contain more than one cache object for silabs.com | Building a more connected world. Page 213 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 "protection state", "exclusive control" and "timeout" respectively. Table 625 Protection Cache object for "Protection State" Name ts local_state rf_state sn_local Value Type time_t uint8_t uint8_t uint16_t JSON Data Type number number number number sn_rf uint16_t number Description Time stamp Local protection state as defined in ZW_LPROT_XXX RF protection state as defined in ZW_RFPROT_XXX State number that is incremented by one whenever the cache for "local protection state" has changed State number that is incremented by one whenever the cache for "RF protection state" has changed Name ts ec_node sn_ec Table 626 Protection Cache object for "Exclusive Control" Value Type time_t uint8_t uint16_t JSON Data Type number number number Description Time stamp NodeID that has exclusive control State number that is incremented by one whenever the cache for "exclusive control node id" has changed Table 627 Protection Cache object for "Timeout" Name Value Type ts time_t remain_tmout uint8_t JSON Data Type number number Description Time stamp Remaining timeout. 0x00 = No timer is set. All "normal operation" Commands must be accepted. 0x01 to 0x3C = 1 second (0x01) to 60 seconds (0x3C); 0x41 to 0xFE = 2 minutes (0x41) to 191 minutes (0xFE); 0xFF = No Timeout - The Device will remain in RF Protection mode infinitely. 13.6.18 User Code CC Table 628 Interface object for User Code CC Name max_user cap_bitmask Value Type uint16_t uint16_t JSON Data Type number number Description Maximum number of supported users User code capabilities bitmask as defined in ZW_USRCOD_CAP_XXX silabs.com | Building a more connected world. Page 214 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 supp_status uint8_t [] number array supp_keypad_mode uint8_t [] number array supp_ascii_key cache uint8_t [] number array array supported user id status (ZW_USRCOD_XXX) stored in uint8_t number array. supported keypad modes (ZW_KEYPAD_MOD_XXX) stored in uint8_t number array. supported ASCII keys stored in uint8_t number array. User Code Cache object array Table 629 User Code Cache object Name ts sn Value Type time_t uint16_t keypad_mode uint8_t JSON Data Type number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Keypad mode 13.6.19 Meter CC Table 630 Interface object for Meter CC Name supp_type reset_supp Value Type JSON Data Type uint8_t number uint8_t number supp_rate uint8_t number supp_unit_bitmask uint16_t number cache array Description Supported meter type as defined in ZW_METER_TYPE_XXX Flag to indicate capability to reset all accumulated values stored in the meter device. 1=reset supported, 0= unsupported. Supported rate type as defined in ZW_METER_RATE_XXX or 0 if the supported rate type information is unavailable Supported unit bitmask as defined in ZW_METER_SUP_UNIT_XXX Meter Cache object array Name ts type unit rate precision value Table 631 Meter Cache object Value Type time_t uint8_t uint8_t uint8_t uint8_t uint8_t [] JSON Data Type number number number number number number array Description Time stamp Meter type as defined in ZW_METER_TYPE_XXX Meter unit as defined in ZW_METER_UNIT_XXX Meter rate type as defined in ZW_METER_RATE_XXX Decimal places of the value. Meter reading value stored in uint8_t number array. The number of items in the array is silabs.com | Building a more connected world. Page 215 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. delta_time# uint16_t number Elapsed time in seconds between the 'Meter Value' and the 'Previous Meter Value' measurements previous_value# uint8_t [] number array Previous meter reading value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. NOTE: Entities marked with (#) must be omitted if the information is unavailable because the node supports only Meter CC version less than 2 or "delta_time" equals to zero 13.6.20 Meter Table Monitor CC Table 632 Interface object for Meter Table Monitor CC Name cap_bitmask Value Type uint8_t JSON Data Type number Description Capability bitmask as defined in ZW_METER_CAP_XXX. ZW_METER_CAP_MON means id & admin number available. ZW_METER_CAP_CFG means admin number can be set (i.e. the device supports Meter Table Configuration CC). id char [] admin_number char [] string string ID, used for identification of customer and metering device Admin number used to identify customer 13.6.21 Door Lock CC Table 633 Interface object for Door Lock CC Name cap_bitmask Value Type JSON Data Type uint8_t number supp_in_handle_bitmask uint8_t number supp_out_handle_bitmask uint8_t number Description Door lock capabilities bitmask as defined in ZW_DLCK_CAP_XXX Supported inside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if the corresponding handle can be enabled and disabled; else the corresponding handle cannot be enabled or disabled. Supported outside door handle mode bitmask. It's a 4-bit mask; bit set to 1 if silabs.com | Building a more connected world. Page 216 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 supp_component_bitmask uint8_t supp_operation_type uint8_t [] supp_mode cache uint8_t [] number number array number array array the corresponding handle can be enabled and disabled; else the corresponding handle cannot be enabled or disabled. Supported door lock component bitmask (ZW_COND_XXX) that can be reported in the Door Lock condition field of the Door Lock Operation Report Command Supported operation types (ZW_DOOR_OP_XXX) stored in uint8_t number array. Supported modes (ZW_DOOR_XXX) stored in uint8_t number array. Door lock Cache object array. The array must not contain more than one cache object for "Operation Status" and "Configuration" respectively. Table 634 Door Lock Cache object for "Operation Status" Name ts sn Value Type time_t uint16_t out_mode uint8_t in_mode uint8_t mode cond uint8_t uint8_t tmout_m uint8_t tmout_s uint8_t tgt_mode uint8_t dur uint8_t JSON Data Type number number number number number number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Outside door handles mode. It's a 4-bit mask; bit=0 for disabled, bit=1 for enabled. When disabled, the actual handle cannot open the door locally. When enabled, the actual handle can open the door locally Inside door handles mode. It's a 4-bit mask; bit=0 for disabled, bit=1 for enabled Current door lock mode (ZW_DOOR_XXX) Door condition (i.e. status) bitmask as defined in ZW_COND_XXX_MASK The remaining time in minutes before the door lock will automatically be locked again. Value of 0xFE means timeout is not supported The remaining time in seconds before the door lock will automatically be locked again. Value of 0xFE means timeout is not supported Target door lock mode (ZW_DOOR_XXX) Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved Table 635 Door Lock Cache object for "Configuration" silabs.com | Building a more connected world. Page 217 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Name ts sn Value Type time_t uint16_t type uint8_t out_hdl_stat uint8_t in_hdl_stat uint8_t tmout_m uint8_t tmout_s uint8_t blk_to_blk uint8_t twist_asst uint8_t auto_rlck_tm uint16_t hold_rel_tm uint16_t JSON Data Type number number number number number number number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Door lock operation type (ZW_DOOR_OP_XXX) Outside door handles state. It's a 4-bit mask; bit set to 0 if disabled; bit set to 1 if enabled. When disabled, the actual handle cannot open the door locally. When enabled, the actual handle can open the door locally. Inside door handles state. It's a 4-bit mask; bit=0 for disable, bit=1 for enable Lock timeout in minutes. Valid value: 0 to 253. Value of 0xFE means timeout is not supported Lock timeout in seconds. Valid value: 0 to 59. Value of 0xFE means timeout is not supported Flag to indicate if the block-to-block functionality is enabled. Non-zero means enabled; zero means disabled Flag to indicate if the twist assist functionality is enabled. Non-zero means enabled; zero means disabled Time setting in seconds for auto-relock functionality. Zero means the functionality is disabled Time setting in seconds for letting the latch retracted after the supporting node's mode has been changed to unsecured. Zero means the functionality is disabled 13.6.22 Door Lock Logging CC Table 636 Interface object for Door Lock Logging CC Name max_logs Value Type JSON Data Type uint8_t number Description Maximum number of reports the audit trail supports 13.6.23 Alarm Sensor CC Table 637 Interface object for Alarm Sensor CC Name supp_sensor cache Value Type uint8_t [] JSON Data Type number array array Description Supported sensor types stored in uint8_t number array. Alarm sensor Cache object array silabs.com | Building a more connected world. Page 218 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 Table 638 Alarm Sensor Cache object Name ts type Value Type time_t uint8_t state uint8_t src_node_id uint8_t active_tm uint16_t JSON Data Type number number number number number Description Time stamp Alarm Sensor type as defined in ZW_ALRM_SNSR_TYPE_XXX Sensor state: 0=no alarm; 0xFF=alarm; 1-99: alarm severity in percentage Source node ID with the alarm condition. Not valid in Zensor Net Alarm active time since last received report in seconds. Zero means this field must be ignored. 13.6.24 Barrier Operator CC Table 639 Interface object for Barrier Operator CC Name Value Type supp_subsys_type uint8_t [] cache JSON Data Type number array array Description Supported event signaling capabilities stored in uint8_t number array. Barrier Operator Cache object array Table 640 Barrier Operator Cache object Name ts sn Value Type time_t uint16_t JSON Data Type number number sub_type uint8_t number sub_state uint8_t number Description Time stamp State number that is incremented by one whenever a cache value change is detected Subsystem type as defined in ZW_BAR_NOTIF_TYP_XXX. If zero, sub_state represents barrier operator state. Subsystem state: 0=off; 0xFF=on 13.6.25 Color Switch CC Table 641 Interface object for Color Switch CC Name supp_color_comp cache Value Type uint8_t [] JSON Data Type number array array Description Supported color components stored in uint8_t number array. Color Switch Cache object array Name Table 642 Color Switch Cache object Value Type JSON Data Type Description silabs.com | Building a more connected world. Page 219 of 224 INS14416-10 ts sn time_t uint16_t id uint8_t value uint8_t tgt_value uint8_t dur uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 number number number number number number Time stamp State number that is incremented by one whenever a cache value change is detected Color component id as defined in COL_SW_COMP_ID_XXX. Value Target value Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved 13.6.26 Sound Switch CC Table 643 Interface object for Sound Switch CC Name total_tone_supp tone_info cache Value Type uint8_t JSON Data Type number array array Description Total number of tones supported Sound Switch object array Sound Switch Cache object array. The array must not contain more than one cache object for "Tone Played" and "Tone Configuration" respectively. Table 644 Sound Switch object Name id duration name Value Type uint8_t uint16_t char [] JSON Data Type number number string Description Tone ID Tone duration in seconds Name or label for the Tone ID Table 645 Sound Switch Cache object for "Tone Played" Name ts sn Value Type time_t uint16_t current_tone uint8_t current_volume uint8_t JSON Data Type number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Tone ID of current tone being played Current tone playing volume (Note: Applicable only to Sound Switch CC version 2 and above) Name ts sn Table 646 Sound Switch Cache object for "Tone Configuration" Value Type time_t uint16_t JSON Data Type number number Description Time stamp State number that is incremented by one whenever a cache value change is detected silabs.com | Building a more connected world. Page 220 of 224 INS14416-10 volume uint8_t default_tone uint8_t Z-Ware SDK 7.13.0 Library C API Reference Manual number number Volume of the device Default tone ID 2019-12-06 13.6.27 Window Covering CC Table 647 Interface object for Window Covering CC Name Value Type supp_param_id uint8_t [] cache JSON Data Type number array array Description Supported parameters stored in uint8_t number array. Window Covering Cache object array Table 648 Window Covering Cache object Name ts sn Value Type time_t uint16_t id value tgt_value dur uint8_t uint8_t uint8_t uint8_t JSON Data Type number number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Parameter id as defined in WIN_COVER_ID_XXX. Current value with range 0~99. 0=Closed; 99=Open Target value with same interpretation as value Duration needed to reach the target value: 0 = already at the target; 0x01~0x7F = seconds in 1-second resolution; 0x80~0xFD = 1~126 minutes in 1-minute resolution; 0xFE = Unknown duration; 0xFF = reserved 13.6.28 Battery CC Table 649 Interface object for Battery CC Name Value Type JSON Data Type Description cache array Battery Cache object array Name ts level rechargeable* Value Type time_t uint8_t uint8_t Table 650 Battery Cache object JSON Data Type number number number Description Time stamp of battery report Battery level. Values 0x00 to 0x64 indicate the battery percentage level from 0 to 100%. Level 0xFF indicates a low-battery warning Flag to indicate if the battery is rechargeable. 1=rechargeable; 0=non-rechargeable silabs.com | Building a more connected world. Page 221 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 charging_status* uint8_t number Charging status if battery is rechargeable, BATT_STS_XXX. For non-rechargeable battery, set this value to 0. backup_battery* uint8_t number Flag to indicate if the battery is utilized for back- up purposes of a main powered connected device. 1=backup; 0=battery is used for primary means of power overheating* uint8_t number Flag to indicate if overheating is detected. 1=overheating; 0=operating within the normal temperature range low_fluid* uint8_t number Flag to indicate if the battery fluid is low and should be refilled. 1=low; 0=normal recharging_req* uint8_t number Status to indicate if the battery needs to be recharged (for rechargeable battery) or replaced (for non-rechargeable battery), BATT_RECHG_XXX disconnected* uint8_t number Flag to indicate if the battery is currently disconnected or removed from the node. 1=disconnected and the node is running on an alternative power source; 0=connected health_ts# time_t number Time stamp of battery health report max_capacity# uint8_t number The percentage indicating the maximum capacity of the battery. Values in the range 0x00..0x64 indicate the maximum capacity of the battery in the percentage level from 0 to 100%. Value of 0xFF indicates the maximum capacity of the battery is unknown precision# uint8_t number Decimal places of the battery temperature value. E.g. the decimal value 1025 with precision 2 is equal to 10.25 unit# uint8_t number Unit used in battery temperature. 0=Celsius; other values are reserved temperature_value# uint8_t [] number array Temperature value stored in uint8_t number array. The number of items in the array is determined by the value data size which could be 1, 2 or 4. The first item in the array stores the most significant byte (MSB) of the value. Absent of this field indicates the battery temperature is unknown. Note: Those marked with (*) are only applicable to Battery Report from Battery CC version 2 and above. Those marked with (#) are only applicable to Battery Health Report from Battery CC version 2 and above. 13.6.29 Basic CC Table 651 Interface object for Basic CC silabs.com | Building a more connected world. Page 222 of 224 INS14416-10 Z-Ware SDK 7.13.0 Library C API Reference Manual Name Value Type JSON Data Type cache array Description Basic Cache object array 2019-12-06 Table 652 Basic Cache object Name ts sn Value Type time_t uint16_t curr_val uint8_t tgt_val uint8_t dur uint8_t JSON Data Type number number number number number Description Time stamp State number that is incremented by one whenever a cache value change is detected Current value: 0 = off; 0x01~0x63 = percentage (%);0xFE = Unknown; 0xFF = On Target value with same interpretation as curr_val Duration: 0 = already at the target; 0x01~0x7F = seconds; 0x80~0xFD = 1~126 minutes; 0xFE = Unknown duration; 0xFF = reserved silabs.com | Building a more connected world. Page 223 of 224 INS14416-10 References Z-Ware SDK 7.13.0 Library C API Reference Manual 2019-12-06 [1] Silicon Labs, SDS10243, SDS, Z-Wave Protocol Overview [2] Silicon Labs, INS10244, INS, Z-Wave Node Type Overview and Network Installation Guide [3] Silicon Labs, SDS10242, SDS, Z-Wave Device Classes [4] Silicon Labs, SDS13781, SDS, Z-Wave Application Command Class Specification [5] Silicon Labs, SDS13782, SDS, Z-Wave Management Command Class Specification [6] Silicon Labs, SDS13783, SDS, Z-Wave Transport-Encapsulation Command Class Specification [7] Silicon Labs, SDS13784, SDS, Z-Wave Network-Protocol Command Class Specification silabs.com | Building a more connected world. Page 224 of 224 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW www.silabs.com/simplicity Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the performance of the product. Silicon Labs shall have no liability for the consequences of use of the information supplied in this document. This document does not imply or expressly grant any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket approval is required, or Life Support Systems without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such unauthorized applications. Trademark Information Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, ClockBuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world's most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress® , Zentri, the Zentri logo and Zentri DMS, ZWave®, and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. Wi-Fi is a registered trademark of the Wi-Fi Alliance. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.comAspose.Words for .NET 19.2