Zigbee Protocol Controller 1.6.0
zigpc_gateway.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
22#ifndef ZIGPC_GATEWAY_H
23#define ZIGPC_GATEWAY_H
24
25#include "zigpc_common_zigbee.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
41
50
63 zigbee_endpoint_id_t endpoint_id,
64 zcl_cluster_id_t cluster_id,
65 const zcl_frame_t *frame);
66
77 zcl_cluster_id_t cluster_id,
78 const zcl_frame_t *frame);
79
92 uint8_t endpoint_id,
93 zcl_cluster_id_t cluster_id,
94 const uint8_t *report_record,
95 unsigned int record_size);
96
107 uint8_t source_endpoint_id,
108 zcl_cluster_id_t cluster_id,
109 const zigbee_eui64_t dest_eui64,
110 uint8_t dest_endpoint_id);
111
113 uint8_t source_endpoint_id,
114 zcl_cluster_id_t cluster_id,
115 const zigbee_eui64_t dest_eui64,
116 uint8_t dest_endpoint_id);
130 const zigbee_endpoint_t endpoint,
131 const zigbee_eui64_t gateway_eui64);
132
141bool zigpc_gateway_install_code_is_valid(const uint8_t *install_code,
142 uint8_t install_code_length);
143
157 const zigbee_install_code_t install_code,
158 const uint8_t install_code_length,
159 bool is_well_known_key_add);
160
174
188
203 zigbee_endpoint_id_t endpoint_id);
204
213 unsigned int filename_size);
214
220
228
234
245
252const char *zigpc_gateway_get_counters_entry_label(size_t offset);
253
260
266
268
274
280
281#ifdef __cplusplus
282}
283#endif
284
285#endif //ZIGPC_GATEWAY_H
286
uint32_t sl_status_t
Definition: sl_status.h:139
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
uint8_t zigbee_install_code_t[ZIGBEE_INSTALL_CODE_LENGTH]
Zigbee 3.0 Install Code.
Definition: zigpc_common_zigbee.h:206
uint16_t zcl_cluster_id_t
A representation of the endpoint cluster id used in ZCL.
Definition: zigpc_common_zigbee.h:254
uint16_t zigbee_multicast_id_t
Definition: zigpc_common_zigbee.h:242
uint8_t zigbee_endpoint_id_t
A representation of the endpoint id used on the Zigbee protocol.
Definition: zigpc_common_zigbee.h:248
sl_status_t zigpc_gateway_discover_endpoint(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id)
Request to interview device endpoint on the Zigbee Network. If the device is not on the Zigbee networ...
sl_status_t zigpc_gateway_discover_device(const zigbee_eui64_t eui64)
Request to interview node on the Zigbee Network. If the node is not on the Zigbee network,...
void zigpc_gateway_command_print_nwk_key(void)
Send command to print Ember NWK key.
void zigpc_gateway_command_print_info(void)
Send command to print ZigbeeHost info.
sl_status_t zigpc_gateway_request_binding(const zigbee_eui64_t source_eui64, uint8_t source_endpoint_id, zcl_cluster_id_t cluster_id, const zigbee_eui64_t dest_eui64, uint8_t dest_endpoint_id)
Request to send a ZCL Configure Reporting command to an end device.
uint8_t zigpc_gateway_get_neighbor_count()
Get current active count in the neighbor adress table.
sl_status_t zigpc_gateway_send_zcl_command_frame(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id, zcl_cluster_id_t cluster_id, const zcl_frame_t *frame)
Request to send a ZCL frame to an end device.
size_t zigpc_gateway_get_counters_capacity()
Get the counters capacity.
sl_status_t zigpc_gateway_send_zcl_frame_multicast(zigbee_multicast_id_t multicast_id, zcl_cluster_id_t cluster_id, const zcl_frame_t *frame)
Request to send a ZCL frame to a multicast group.
sl_status_t zigpc_gateway_get_counters_list(uint16_t *list, size_t count)
Populate counters values to list provided.
sl_status_t zigpc_gateway_bootload_restart()
sl_status_t zigpc_gateway_network_permit_joins(bool enable)
Request to enable/disable permitting Zigbee devices to join the network.
sl_status_t zigpc_gateway_network_init(void)
Request to initialize the Zigbee Network. The gateway will establish the Gateway device as a Zigbee C...
void zigpc_gateway_clear_counters()
clear the counter plugin tokens
sl_status_t zigpc_gateway_add_node(const zigbee_eui64_t node_eui64, const zigbee_install_code_t install_code, const uint8_t install_code_length, bool is_well_known_key_add)
Request to add a node to the Zigbee Network using the Z3 Install Code Method.
bool zigpc_gateway_install_code_is_valid(const uint8_t *install_code, uint8_t install_code_length)
Validate if install code can be accepted by EmberAf layer.
sl_status_t zigpc_gateway_request_unbind(const zigbee_eui64_t source_eui64, uint8_t source_endpoint_id, zcl_cluster_id_t cluster_id, const zigbee_eui64_t dest_eui64, uint8_t dest_endpoint_id)
void zigpc_gateway_send_emberaf_command(char *array)
Send command to the ember CLI.
sl_status_t zigpc_gateway_get_neighbor_eui64(uint8_t index, zigbee_eui64_t eui64)
Get a specific neighbor EUI64 from its index.
sl_status_t zigpc_gateway_request_binding_endpoint(const zigbee_eui64_t eui64, const zigbee_endpoint_t endpoint, const zigbee_eui64_t gateway_eui64)
Request to send a ZCL Configure Reporting command to an end device.
const char * zigpc_gateway_get_counters_entry_label(size_t offset)
Get the label of the counters entry based on the offset passed in.
sl_status_t zigpc_gateway_remove_node(const zigbee_eui64_t eui64)
Request to remove node on the Zigbee Network. If the node is not on the Zigbee network,...
sl_status_t zigpc_gateway_add_ota_image(const char *filename, unsigned int filename_size)
zigpc_gateway_add_ota_image - add an OTA image to the ota-server plugin
sl_status_t zigpc_gateway_configure_reports(const zigbee_eui64_t eui64, uint8_t endpoint_id, zcl_cluster_id_t cluster_id, const uint8_t *report_record, unsigned int record_size)
Request to send a ZCL Configure Reporting command to an end device.
Definition: list.c:52
Definition: zigpc_common_zigbee.h:293
a model for a zigbee ZCL endpoint
Definition: zigpc_common_zigbee.h:362