/* * Copyright (c) 2012-2022 DSR Corporation, Denver CO, USA * Copyright (c) 2021-2022 Espressif Systems (Shanghai) PTE LTD * All rights reserved. * * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form, except as embedded into a Espressif Systems * integrated circuit in a product or a software update for such product, * must reproduce the above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or other materials * provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its contributors * may be used to endorse or promote products derived from this software without * specific prior written permission. * * 4. Any software provided in binary form under this license must not be reverse * engineered, decompiled, modified and/or disassembled. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* PURPOSE: ZBOSS Zigbee cluster library API header */ #ifndef ZBOSS_API_ZCL_H #define ZBOSS_API_ZCL_H 1 #include "zb_types.h" #include "zcl/zb_zcl_config.h" #include "zcl/zb_zcl_common.h" #include "zcl/zb_zcl_commands.h" #if defined (ZB_NO_SINGLE_PRECISION_DATA_TYPE) /* * The following ZCL clusters use zb_single_t, which is not supported * if ZB_NO_SINGLE_PRECISION_DATA_TYPE is defined. */ // TODO: Analog Input (Basic) also uses zb_single_t #undef ZB_ZCL_SUPPORT_CLUSTER_ANALOG_VALUE #undef ZB_ZCL_SUPPORT_CLUSTER_MULTISTATE_VALUE /* All 4.13 Concentration Measurement clusters */ #undef ZB_ZCL_SUPPORT_CLUSTER_PM2_5_MEASUREMENT #undef ZB_ZCL_SUPPORT_CLUSTER_CARBON_DIOXIDE_MEASUREMENT #endif /* ZB_NO_SINGLE_PRECISION_DATA_TYPE */ #if !(defined ZB_ZCL_DISABLE_REPORTING) #include "zcl/zb_zcl_reporting.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_SCENES) #include "zcl/zb_zcl_scenes.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_BASIC) #include "zcl/zb_zcl_basic.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ALARMS) #include "zcl/zb_zcl_alarms.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_POWER_CONFIG) #include "zcl/zb_zcl_power_config.h" #endif #if defined(ZB_ZCL_SUPPORT_CLUSTER_IDENTIFY) #include "zcl/zb_zcl_identify.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ON_OFF_SWITCH_CONFIG) #include "zcl/zb_zcl_on_off_switch_conf.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ON_OFF) || defined (ZB_ZCL_SUPPORT_CLUSTER_LEVEL_CONTROL) #include "zcl/zb_zcl_on_off.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_GROUPS) #include "zcl/zb_zcl_groups.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DOOR_LOCK) #include "zcl/zb_zcl_door_lock.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ANALOG_INPUT) #include "zcl/zb_zcl_analog_input.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ANALOG_VALUE) #include "zcl/zb_zcl_analog_value.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_BINARY_INPUT) #include "zcl/zb_zcl_binary_input.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_MULTISTATE_INPUT) #include "zcl/zb_zcl_multistate_input.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_MULTISTATE_VALUE) #include "zcl/zb_zcl_multistate_value.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_CARBON_DIOXIDE_MEASUREMENT) #include "zcl/zb_zcl_carbon_dioxide_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_PM2_5_MEASUREMENT) #include "zcl/zb_zcl_pm2_5_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DEVICE_TEMP_CONFIG) #include "zcl/zb_zcl_device_temp_config.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_LEVEL_CONTROL) #ifndef ZB_CVC_FEATURE_SUPPORT #define ZB_CVC_FEATURE_SUPPORT #endif #include "zcl/zb_zcl_level_control.h" #endif #if defined ZB_ZCL_SUPPORT_CLUSTER_WINDOW_COVERING #include "zcl/zb_zcl_window_covering.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_COLOR_CONTROL) #include "zcl/zb_zcl_color_control.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_SHADE_CONFIG) #include "zcl/zb_zcl_shade_config.h" #endif #include "zcl/zb_zcl_cvc_commands.h" #ifdef ZB_CONTROL4_NETWORK_SUPPORT #include "zcl/zb_zcl_control4_networking.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_TEMP_MEASUREMENT) #include "zcl/zb_zcl_temp_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_PRESSURE_MEASUREMENT) #include "zcl/zb_zcl_pressure_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_REL_HUMIDITY_MEASUREMENT) #include "zcl/zb_zcl_rel_humidity_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ILLUMINANCE_MEASUREMENT) #include "zcl/zb_zcl_illuminance_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_ACE) #include "zcl/zb_zcl_ias_ace.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_WD) #include "zcl/zb_zcl_ias_wd.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_ZONE) #include "zcl/zb_zcl_ias_zone.h" #endif #if defined(ZB_ZCL_SUPPORT_CLUSTER_DIAGNOSTICS) #include "zcl/zb_zcl_diagnostics.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_CUSTOM_CLUSTER) #include "zcl/zb_zcl_custom_cluster.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_TIME) #include "zcl/zb_zcl_time.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DEHUMIDIFICATION_CONTROL) #include "zcl/zb_zcl_dehumidification_control.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ELECTRICAL_MEASUREMENT) #include "zcl/zb_zcl_el_measurement.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_FAN_CONTROL) #include "zcl/zb_zcl_fan_control.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_EN50523_APPLIANCE_EVENTS_AND_ALERTS) #include "zcl/zb_zcl_en50523_appliance_events_and_alerts.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_METERING) #include "zcl/zb_zcl_metering.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_THERMOSTAT) #include "zcl/zb_zcl_thermostat.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_THERMOSTAT_UI_CONFIG) #include "zcl/zb_zcl_thermostat_ui_config.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_OCCUPANCY_SENSING) #include "zcl/zb_zcl_occupancy_sensing.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_METER_IDENTIFICATION) #include "zcl/zb_zcl_meter_identification.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_WWAH) #include "zcl/zb_zcl_wwah.h" #endif /* ZB_ZCL_SUPPORT_CLUSTER_WWAH */ #if defined (ZB_ZCL_SUPPORT_CLUSTER_POLL_CONTROL) #include "zcl/zb_zcl_poll_control.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_OTA_UPGRADE) #include "zcl/zb_zcl_ota_upgrade.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_PRICE) #include "zcl/zb_zcl_price.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DRLC) #include "zcl/zb_zcl_drlc.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_METERING) #include "zcl/zb_zcl_metering.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_MESSAGING) #include "zcl/zb_zcl_messaging.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DAILY_SCHEDULE) #include "zcl/zb_zcl_daily_schedule.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_TUNNELING) #include "zcl/zb_zcl_tunneling.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_SUBGHZ) #include "zcl/zb_zcl_subghz.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_PREPAYMENT) #include "zcl/zb_zcl_prepayment.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_CALENDAR) #include "zcl/zb_zcl_calendar.h" #endif #ifdef ZB_ENABLE_SE_CLUSTERS #if defined (ZB_ZCL_SUPPORT_CLUSTER_EVENTS) #include "zcl/zb_zcl_events.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_ENERGY_MANAGEMENT) #include "zcl/zb_zcl_energy_mgmt.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_MDU_PAIRING) #include "zcl/zb_zcl_mdu_pairing.h" #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_DEVICE_MANAGEMENT) #include "zcl/zb_zcl_device_management.h" #endif #endif /* ZB_ENABLE_SE_CLUSTERS */ #ifdef ZB_ENABLE_CUSTOM_CLUSTERS #include "zcl/zb_zcl_tunnel.h" #include "zcl/zb_zcl_ir_blaster.h" #endif /* ZB_ENABLE_CUSTOM_CLUSTERS */ #if defined ZB_ENABLE_ZGP_CLUSTER //#include "zgp/zgp_internal.h" #endif #include "zcl/zb_zcl_grpw_bed_sensor.h" #include "zcl/zb_zcl_grpw_freq_agility.h" /** * \addtogroup ZB_ZCL_INITIALIZATION * @{ * @details * Most of initialization is being handled automatically during device start. However, * application may set additional callbacks for event handling. Particularly: * @li @ref ZB_ZCL_SET_MODIFY_ATTR_VALUE_CB macro sets callback for attribute change handling. * This event could arise, for example, as a result of @ref write_attr_cmd "Write attributes" * command execution. * @li @ref ZB_ZCL_SET_REPORT_ATTR_CB and @ref ZB_ZCL_SET_NO_REPORTING_CB macros set * callbacks for handling "report attribute" and "no reporting" callbacks respectively. For more * information see @ref ZB_ZCL_REPORTING "Attribute reporting" description. * * Sample use ZB_ZCL_SET_REPORT_ATTR_CB * @snippet light_sample/dimmable_light/bulb.c zb_zcl_set_report_attr_cb_example * @snippet light_sample/dimmable_light/bulb.c zb_zcl_set_report_attr_cb * * Sample use ZB_ZCL_SET_NO_REPORTING_CB * @snippet doxygen_snippets.dox ZB_ZCL_SET_NO_REPORTING_CB_func_snippet_reporting_srv_th_c * @snippet doxygen_snippets.dox ZB_ZCL_SET_NO_REPORTING_CB_snippet_reporting_srv_th_c * */ /** @brief ZCL version. * According ZCL 8 spec: * 3.2.2.2.1 ZCLVersion Attribute * The ZCLVersion attribute represents a published set of foundation items (in Chapter 2), * such as global commands and functional descriptions. * For this version of the ZCL (this document), this attribute SHALL be set to 8. * In the future, this value SHALL align with the release revision of the ZCL(CCB 2722). */ #define ZB_ZCL_VERSION 8U /** * @brief Set modify attribute value callback. * The macro sets a callback being called on external attribute change. The callback will be * provided with all data necessary for correct value change handling. * @param func_ptr - a callback to set (of type @ref zb_zcl_modify_attr_value_cb_t). * @hideinitializer */ #define ZB_ZCL_SET_MODIFY_ATTR_VALUE_CB(func_ptr) ZCL_CTX().modify_attr_value_cb = (func_ptr) #if !(defined ZB_ZCL_DISABLE_REPORTING) || defined(DOXYGEN) /** * @brief Set report attribute callback. * The macro sets a callback being called on receive attribute report. The callback will * be provided with all data necessary for correct attribute handling. * @param func_ptr - callback to set (of type @ref zb_zcl_report_attr_cb_t). * @hideinitializer */ #define ZB_ZCL_SET_REPORT_ATTR_CB(func_ptr) ZCL_CTX().report_attr_cb = (func_ptr) /** * @brief Set no reporting callback. * The macro sets a callback being called on remote attribute reporting timeout. The callback will * be provided with all data necessary for correct attribute report timeout handling. * @param func_ptr - callback to set (of type @ref zb_zcl_no_reporting_cb_t). * @hideinitializer */ #define ZB_ZCL_SET_NO_REPORTING_CB(func_ptr) ZCL_CTX().no_reporting_cb = (func_ptr) #endif /** * @brief Set "Set default value all attribute" callback. * The macro sets a callback being called for need to set attribute to default value. * @param func_ptr - callback to set (of type @ref zb_zcl_set_default_value_attr_cb_t). * @hideinitializer */ #define ZB_ZCL_SET_DEFAULT_VALUE_CB(func_ptr) ZCL_CTX().set_default_attr_cb = (func_ptr) #if defined ZB_ENABLE_HA /** * @brief Set "Check attribute value" callback. * The macro sets a callback being called for need to check attribute value. * * @deprecated This callback will be removed in the next Major release after February 2023 * Use @ref ZB_ZCL_CHECK_ATTR_VALUE_MANUF_CB instead * * @param func_ptr - callback to set (of type @ref zb_zcl_app_check_attr_value_cb_t). * @hideinitializer */ #define ZB_ZCL_CHECK_ATTR_VALUE_CB(func_ptr) ZCL_CTX().app_check_attr_value_cb = (func_ptr) /** * @brief Set "Check attribute value" callback to check with manufacturer specific code. * The macro sets a callback being called for need to check attribute value. * @param func_ptr - callback to set (of type @ref zb_zcl_app_check_attr_value_manuf_cb_t). * @hideinitializer */ #define ZB_ZCL_CHECK_ATTR_VALUE_MANUF_CB(func_ptr) ZCL_CTX().app_check_attr_value_manuf_cb = (func_ptr) /** @brief Set "Discovery manufacture command" callback. The macro sets a callback that will be called to get a list of manufacture specific commands. @param func_ptr - callback to set (of type @ref zb_zcl_disc_manuf_cmd_cb_t). @hideinitializer Sample use Discovery manufacture command callback @par Example Example custom callback @code zb_uint8_t list_my_manufacture_command_generate[] = { MY_COMMAND_GENERATE_1, MY_COMMAND_GENERATE_2, MY_COMMAND_GENERATE_3, MY_COMMAND_GENERATE_4, }; zb_uint8_t list_my_manufacture_command_receive[] = { MY_COMMAND_RECEIVE_1, MY_COMMAND_RECEIVE_2, MY_COMMAND_RECEIVE_3, }; zb_uint8_t my_disc_manuf_cmd_cb( zb_uint8_t direction, zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint16_t manuf_id, zb_bool_t recv_cmd_type, zb_uint8_t **value) { zb_uint8_t ret; if(manuf_id!=MY_MANUFACTURE_ID && manuf_id!=ZB_ZCL_MANUFACTURER_WILDCARD_ID) return 0; if (!recv_cmd_type) { value = &list_my_manufacture_command_generate; ret = sizeof(list_my_manufacture_command_generate); } else { value = &list_my_manufacture_command_receive; ret = sizeof(list_my_manufacture_command_receive); } return ret; } @endcode @par @par Example Example register callback @code ZB_ZCL_SET_DISC_MANUFACTURE_COMMAND_CB(&my_disc_manuf_cmd_cb); @endcode @par */ #define ZB_ZCL_SET_DISC_MANUFACTURE_COMMAND_CB(func_ptr) ZCL_CTX().disc_manuf_cmd_cb = (func_ptr) #endif /* ZB_ENABLE_HA */ /** * @brief Set user callback to notify an application a broadcast EP command received. * @param func_ptr - callback to set (of type @ref zb_device_handler_t). * @return processing status (see @ref zb_bool_t) * Value of ZB_TRUE means that the application successfully processed a command - ZBOSS stack * will do nothing in this case and will free a buffer automatically. * If set to ZB_FALSE, default stack processing will be performed. * @note Do not use this callback unless you are sure you need it. * ZBOSS stack performs additional command checks that can be skipped by an application. */ #define ZB_ZCL_SET_BROADCAST_EP_CB(func_ptr) ZCL_CTX().broadcast_ep_cb = (func_ptr) /** @cond internals_doc */ /** * @brief Get current time in units. * Uint = 1/10 sec */ #define ZB_GET_TIME_IN_UNITS() ZB_SYS_TIMER_INTERVAL_TO_TIME_UNITS(ZB_TIMER_GET()) /** * @brief Convert system timer interval to units * Uint = 1/10 sec */ #define ZB_SYS_TIMER_INTERVAL_TO_TIME_UNITS(interval) ZB_SYS_TIMER_INTERVAL_TO_MSEC(interval) / 100U /** * @brief Convert units to system timer interval. * Uint = 1/10 sec */ #define ZB_TIME_UNITS_TO_SYS_TIMER_INTERVAL(uints) ZB_MILLISECONDS_TO_SYS_TIMER_INTERVAL((uints)*100U) /** @endcond */ /* internals_doc */ /** * Types of device user application callbacks * @see zb_zcl_device_callback_param_t */ typedef enum zb_zcl_device_callback_id_e { /** Inform user about attribute value modification */ ZB_ZCL_SET_ATTR_VALUE_CB_ID = 0, /** @cond DOXYGEN_INTERNAL_DOC */ /** Inform user about received attribute report */ ZB_ZCL_REPORT_ATTR_CB_ID, /** Inform user that report was not received during defined time interval */ ZB_ZCL_NO_REPORTING_CB_ID, /** @endcond */ /* DOXYGEN_INTERNAL_DOC */ /** Inform user about change On/Off effect @see ZCL spec 6.6.1.4.4.2 */ ZB_ZCL_ON_OFF_WITH_EFFECT_VALUE_CB_ID, /** Inform user about ZCL Shade cluster shade position value modification */ ZB_ZCL_SHADE_SET_VALUE_CB_ID, /** Inform user that shade_get_value_param of ZCL Shade custer could be changed */ ZB_ZCL_SHADE_GET_VALUE_CB_ID, /** Inform user about call identify effect command @see ZCL spec 6.3.1.2.1 */ ZB_ZCL_IDENTIFY_EFFECT_CB_ID, /** Inform user about ZCL Level Control cluster attributes value modification */ ZB_ZCL_LEVEL_CONTROL_SET_VALUE_CB_ID, /** Inform user about enroll result command @see ZCL spec 8.2.2.3.1 */ ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_VALUE_CB_ID, /** Inform user about call Start warning command @see ZCL spec 8.4.2.3.1 */ ZB_ZCL_IAS_WD_START_WARNING_VALUE_CB_ID, /** Inform user about call Squawk command @see ZCL spec 8.4.2.3.2 */ ZB_ZCL_IAS_WD_SQUAWK_VALUE_CB_ID, /** @b Server. Inform user about IAS ACE Arm command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_arm_t * @param[out] param_out @ref zb_zcl_ias_ace_arm_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CMD_IAS_ACE_ARM_RESP_ID "Arm Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_ARM_CB_ID, /** @b Server. Inform user about IAS ACE Bypass command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_bypass_t * @param[out] param_out @ref zb_zcl_ias_ace_bypass_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CMD_IAS_ACE_BYPASS_RESPONSE_ID "Bypass Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_BYPASS_CB_ID, /** @b Server. Inform user about IAS ACE Emergency command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_EMERGENCY_CB_ID, /** @b Server. Inform user about IAS ACE Fire command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_FIRE_CB_ID, /** @b Server. Inform user about IAS ACE Panic command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_PANIC_CB_ID, /** @b Server. Inform user about IAS ACE Get Panel Status command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[out] param_out @ref zb_zcl_ias_ace_get_panel_status_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CMD_IAS_ACE_GET_PANEL_STATUS_RESPONSE_ID "Get Panel Status Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_PANEL_STATUS_CB_ID, /** @b Server. Inform user about IAS ACE Get Bypassed Zone List command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[out] param_out @ref zb_zcl_ias_ace_set_bypassed_zone_list_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CMD_IAS_ACE_SET_BYPASSED_ZONE_LIST_ID "Set Bypassed Zone List" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_BYPASSED_ZONE_LIST_CB_ID, /** @b Server. Inform user about IAS ACE Get Zone Status command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_get_zone_status_t * @param[out] param_out @ref zb_zcl_ias_ace_get_zone_status_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CMD_IAS_ACE_GET_ZONE_STATUS_RESPONSE_ID "Get Zone Status Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_ZONE_STATUS_CB_ID, /** @b Client. Inform user about IAS ACE Arm Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_arm_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_ARM_RESP_CB_ID, /** @b Client. Inform user about IAS ACE Get Zone ID Map Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_get_zone_id_map_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_ZONE_ID_MAP_RESP_CB_ID, /** @b Client. Inform user about IAS ACE Get Zone Info Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_get_zone_info_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_ZONE_INFO_RESP_CB_ID, /** @b Client. Inform user about IAS ACE Zone Status Changed command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_zone_status_changed_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_ZONE_STATUS_CHANGED_CB_ID, /** @b Client. Inform user about IAS ACE Panel Status Changed command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_panel_status_changed_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_PANEL_STATUS_CHANGED_CB_ID, /** @b Client. Inform user about IAS ACE Get Panel Status Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_get_panel_status_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_PANEL_STATUS_RESP_CB_ID, /** @b Client. Inform user about IAS ACE Set Bypassed Zone List command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_set_bypassed_zone_list_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_SET_BYPASSED_ZONE_LIST_CB_ID, /** @b Client. Inform user about IAS ACE Bypass Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_bypass_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_BYPASS_RESP_CB_ID, /** @b Client. Inform user about IAS ACE Get Zone Status Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_ias_ace_get_zone_status_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_IAS_ACE_GET_ZONE_STATUS_RESP_CB_ID, /** Inform user about OTA Upgrade commands */ ZB_ZCL_OTA_UPGRADE_VALUE_CB_ID, /** Inform user about OTA Upgrade query image response command */ ZB_ZCL_OTA_UPGRADE_QUERY_IMAGE_RESP_CB_ID, /** Inform user about Basic Reset to Factory Defaults commands */ ZB_ZCL_BASIC_RESET_CB_ID, /** Inform user about call Thermostat weekly schedule command @see HA spec 10.1.3.3 */ ZB_ZCL_THERMOSTAT_WEEKLY_SCHEDULE_SET_CB_ID, /** Inform user about call Thermostat command @see HA spec 10.1.3.3 */ ZB_ZCL_THERMOSTAT_VALUE_CB_ID, /** Inform user about Check-In command from polled device */ ZB_ZCL_POLL_CONTROL_CHECK_IN_CLI_CB_ID, /** @b Server. Inform user about EN50523 Appliance Events and Alerts Get Alerts command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[out] param_out zb_zcl_en50523_appl_ev_and_alerts_get_alerts_resp_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_EN50523_APPL_EV_AND_ALERTS_GET_ALERTS_CB_ID, /** @b Client. Inform user about EN50523 Appliance Events and Alerts Get Alerts Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in zb_zcl_en50523_appl_ev_and_alerts_get_alerts_resp_t * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_EN50523_APPL_EV_AND_ALERTS_GET_ALERTS_RESP_CB_ID, /** @b Client. Inform user about EN50523 Appliance Events and Alerts Alerts Notification command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in zb_zcl_en50523_appl_ev_and_alerts_alerts_notif_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_EN50523_APPL_EV_AND_ALERTS_ALERTS_NOTIFICATION_CB_ID, /** @b Client. Inform user about EN50523 Appliance Events and Alerts Event Notification command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in zb_zcl_en50523_appl_ev_and_alerts_event_notif_t * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_EN50523_APPL_EV_AND_ALERTS_EVENT_NOTIFICATION_CB_ID, /** @b Server. Inform user about Query next image request */ ZB_ZCL_OTA_UPGRADE_SRV_QUERY_IMAGE_CB_ID, /** @b Server. Inform user about the first Image block request */ ZB_ZCL_OTA_UPGRADE_SRV_UPGRADE_STARTED_CB_ID, /** @b Server. Inform user about the aborted Image block request */ ZB_ZCL_OTA_UPGRADE_SRV_UPGRADE_ABORTED_CB_ID, /** @b Server. Inform user about finished OTA upgrade */ ZB_ZCL_OTA_UPGRADE_SRV_UPGRADE_END_CB_ID, /**@b Server. Ask user about payload for PublishPrice request. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_in @ref zb_zcl_price_get_current_price_payload_t * @param[out] param_out @ref zb_zcl_price_publish_price_payload_t * * One of the following statuses must be returned: * @return RET_OK - price data is available. * Send @ref ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE "PublishPrice" command. * @return RET_NOT_FOUND - price data isn't available. Default Response will be send if requested. * */ ZB_ZCL_PRICE_GET_CURRENT_PRICE_CB_ID, /**@b Server. Notify user about GetScheduledPrices request. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[out] param_out param_in @ref zb_zcl_price_get_scheduled_prices_payload_t * * One of the following statuses must be returned: * @return RET_OK - price data is available. * @return RET_NOT_FOUND - price data isn't available. Default Response will be send if requested. * */ ZB_ZCL_PRICE_GET_SCHEDULED_PRICES_CB_ID, /** @b Server. Notify user about GetTierLabels request. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_out param_in @ref zb_zcl_price_get_tier_labels_payload_t * * One of the following statuses must be returned: * @return RET_OK - price data is available. In this case application must send reply using * new buffer. Stack free buffer in this case. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * @return RET_NOT_FOUND - price data isn't available. Default Response will be send if requested. * */ ZB_ZCL_PRICE_GET_TIER_LABELS_CB_ID, /** @b Client. Inform user about PublishPrice request. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_price_publish_price_payload_t * @param[out] param_out @ref zb_zcl_price_ack_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_PRICE_CLI_CMD_PRICE_ACK "PriceAcknowledgement" command. * @return RET_ERROR - command is handled with errors * */ ZB_ZCL_PRICE_PUBLISH_PRICE_CB_ID, /** @b Client. Inform user about PublishTierLabels request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_price_publish_tier_labels_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors * */ ZB_ZCL_PRICE_PUBLISH_TIER_LABELS_CB_ID, /** @b Server. Inform user about PriceAck command. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_price_ack_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_PRICE_PRICE_ACK_CB_ID, /** @b Server. Inform user about change of state for an active Load Control event * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_drlc_report_event_status_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_DRLC_REPORT_EVENT_STATUS_CB_ID, /** @b Server. Ask user about currently active or scheduled Load Control Events * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_drlc_get_scheduled_events_payload_t * @param[out] param_out @ref zb_zcl_drlc_lce_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT "LoadControlEvent" command * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_DRLC_GET_SCHEDULED_EVENTS_CB_ID, /** @b Client. Inform user about received Load Control Event * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_drlc_lce_payload_t * @param[out] param_out @ref zb_zcl_drlc_report_event_status_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS "ReportEventStatus" in response. * @return RET_IGNORE - application doesn't received and resolved time. Drop event. * Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_DRLC_LOAD_CONTROL_EVENT_CB_ID, /** @b Client. Inform user about Load Control Event cancellation * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_price_publish_price_payload_t * @param[out] param_out @ref zb_zcl_price_ack_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS "ReportEventStatus" in response. * @return RET_IGNORE - application doesn't received and resolved time. Drop event. * Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_DRLC_CANCEL_LOAD_CONTROL_EVENT_CB_ID, /** @b Client. Inform user about all Load Control Events cancellation * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_drlc_cancel_lce_payload_t * @param[out] param_out @ref zb_zcl_drlc_report_event_status_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_IGNORE - application doesn't received and resolved time. Drop events. * Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_DRLC_CANCEL_ALL_LOAD_CONTROL_EVENTS_CB_ID, /** @b Server. Inform user about received Message Confirmation request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_messaging_message_confirm_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_MESSAGING_MSG_CONFIRMATION_CB_ID, /** @b Server. Ask user about payload for Display Message request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[out] param_out @ref zb_zcl_messaging_get_last_message_response_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_MESSAGING_SRV_CMD_DISPLAY_MESSAGE "DisplayMessage" command * @return RET_NOT_FOUND - no messages is available. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_MESSAGING_GET_LAST_MSG_CB_ID, /** @b Client. Inform user about received Cancel Message request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_messaging_cancel_message_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_MESSAGING_CANCEL_MSG_CB_ID, /** @b Client. Inform user about received Display Message request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_messaging_display_message_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_MESSAGING_DISPLAY_MSG_CB_ID, /** @b Server. Inform user about request to setup a tunnel association with the server * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_request_tunnel_t * @param[out] param_out tunnel_status * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_TUNNELING_REQUEST_TUNNEL_CB_ID, /** @b Client. Inform user about response to a RequestTunnel command * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_request_tunnel_response_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_TUNNELING_REQUEST_TUNNEL_RESPONSE_CB_ID, /** @b Server. Inform user about received TransferData request * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_transfer_data_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * Send @ref ZB_ZCL_TUNNELING_SRV_CMD_TRANSFER_DATA_ERROR "TransferDataError" command */ ZB_ZCL_TUNNELING_TRANSFER_DATA_CLI_CB_ID, /** @b Client. Inform user about received TransferData request * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_transfer_data_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * Send @ref ZB_ZCL_TUNNELING_SRV_CMD_TRANSFER_DATA_ERROR "TransferDataError" command */ ZB_ZCL_TUNNELING_TRANSFER_DATA_SRV_CB_ID, /** @b Server. Inform user about received TransferDataError request * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_transfer_data_error_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_TUNNELING_TRANSFER_DATA_ERROR_CLI_CB_ID, /** @b Client. Inform user about received TransferDataError request * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_transfer_data_error_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_TUNNELING_TRANSFER_DATA_ERROR_SRV_CB_ID, /** @b Server. Inform user about closing the tunnel with the server. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_tunneling_close_tunnel_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - @e TunnelID value doesn't match an active tunnel on the server. * Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_TUNNELING_CLOSE_TUNNEL_CB_ID, #if defined ZB_ENABLE_SE || defined ZB_ZCL_SUPPORT_CLUSTER_CALENDAR || defined DOXYGEN /** @cond DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ /** @b Server. Inform user about GetProfile request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_profile_payload_t * @param[out] param_out @ref zb_zcl_metering_get_profile_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_METERING_SRV_CMD_GET_PROFILE_RESPONSE "GetProfileResponse" command. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ /** @b Server. Ask user about payload for PublishCalendar request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_get_calendar_payload_t * @param[out] param_out @ref zb_zcl_calendar_publish_calendar_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_CALENDAR "PublishCalendar" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_CALENDAR_CB_ID, /** @b Server. Ask user about payload for PublishDayProfiles request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_get_day_profiles_payload_t * @param[out] param_out @ref zb_zcl_calendar_publish_day_profile_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_DAY_PROFILE "PublishDayProfiles" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_DAY_PROFILES_CB_ID, /** @b Server. Ask user about payload for PublishWeekProfiles request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_get_week_profiles_payload_t * @param[out] param_out @ref zb_zcl_calendar_publish_week_profile_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_WEEK_PROFILE "PublishWeekProfiles" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_WEEK_PROFILES_CB_ID, /** @b Server. Ask user about payload for PublishSeasons request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_get_seasons_payload_t * @param[out] param_out @ref zb_zcl_calendar_publish_seasons_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_SEASONS "PublishSeasons" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_SEASONS_CB_ID, /** @b Server. Ask user about payload for PublishSpecialDays request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_get_special_days_payload_t * @param[out] param_out @ref zb_zcl_calendar_publish_special_days_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_SPECIAL_DAYS "PublishSpecialDays" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_SPECIAL_DAYS_CB_ID, /** @b Server. Ask user about payload for CancelCalendar request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[out] param_out @ref zb_zcl_calendar_cancel_calendar_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_CALENDAR_SRV_CMD_CANCEL_CALENDAR "CancelCalendar" command. * @return RET_NOT_FOUND - no calendar is found. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_GET_CALENDAR_CANCELLATION_CB_ID, /** @b Client. Inform user about PublishCalendar request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_publish_calendar_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_PUBLISH_CALENDAR_CB_ID, /** @b Client. Calendar Inform user about PublishDayProfile request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_publish_day_profile_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_PUBLISH_DAY_PROFILE_CB_ID, /** @b Client. Calendar Inform user about PublishWeekProfile request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_publish_week_profile_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_PUBLISH_WEEK_PROFILE_CB_ID, /** @b Client. Calendar Inform user about PublishSeasons request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_publish_seasons_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_PUBLISH_SEASONS_CB_ID, /** @b Client. Calendar Inform user about PublishSpecialDays request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_publish_special_days_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_PUBLISH_SPECIAL_DAYS_CB_ID, /** @b Client. Calendar Inform user about CancelCalendar request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_calendar_cancel_calendar_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_NOT_FOUND - IssuerCalendarID doesn't match with one of the stored * calendar instances. Default Response will be send if requested. * @return RET_NO_MEMORY - not able to store new calendar instance. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_CALENDAR_CANCEL_CALENDAR_CB_ID, /** @endcond */ /* DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ #endif /* ZB_ENABLE_SE || ZB_ZCL_SUPPORT_CLUSTER_CALENDAR */ #if defined ZB_ENABLE_SE || defined ZB_ZCL_SUPPORT_CLUSTER_DAILY_SCHEDULE /** @cond DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ /** @b Server. Inform user about GetScheduleCancellation request. * * @param[out] param_out @ref zb_zcl_daily_schedule_cancel_schedule_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. Send @ref * ZB_ZCL_DAILY_SCHEDULE_SRV_CMD_CANCEL_SCHEDULE "CancelSchedule" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_GET_SCHEDULE_CANCELLATION_CB_ID, /** @b Server. Inform user about GetDayProfile request. * * @param[in] param_in @ref zb_zcl_daily_schedule_get_day_profile_payload_t * @param[out] param_out @ref zb_zcl_daily_schedule_publish_day_profile_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. Send @ref * ZB_ZCL_DAILY_SCHEDULE_SRV_CMD_PUBLISH_DAY_PROFILE "PublishDayProfile" command. * Application may put one or several day schedule entries. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_GET_DAY_PROFILE_CB_ID, /** @b Server. Inform user about GetSchedule request. * * @param[in] param_in @ref zb_zcl_daily_schedule_get_schedule_payload_t * @param[out] param_out @ref zb_zcl_daily_schedule_publish_schedule_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. Send @ref * ZB_ZCL_DAILY_SCHEDULE_SRV_CMD_PUBLISH_SCHEDULE "PublishSchedule" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_GET_SCHEDULE_CB_ID, /** @b Client. Inform user about PublishSchedule cmd. * * @param[in] param_in @ref zb_zcl_daily_schedule_publish_schedule_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_PUBLISH_SCHEDULE_CB_ID, /** @b Client. Inform user about PublishDayProfile cmd. * * @param[in] param_in @ref zb_zcl_daily_schedule_publish_schedule_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_PUBLISH_DAY_PROFILE_CB_ID, /** @b Client. Inform user about CancelSchedule cmd. * * @param[in] param_in @ref zb_zcl_daily_schedule_cancel_schedule_payload_t * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_CANCEL_SCHEDULE_CB_ID, /** @b Client. Inform user about CancelAllSchedules cmd. * * One of the following statuses must be returned: * @return RET_OK - command is handled successfully. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DAILY_SCHEDULE_CANCEL_ALL_SCHEDULES_CB_ID, /** @endcond */ /* DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ #endif /* ZB_ENABLE_SE || ZB_ZCL_SUPPORT_CLUSTER_DAILY_SCHEDULE */ #if defined ZB_ENABLE_SE || defined ZB_ZCL_SUPPORT_CLUSTER_ENERGY_MANAGEMENT || defined DOXYGEN /** @cond DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ /** @b Client. Inform user about ReportEventStatus request * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_energy_management_report_event_status_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_ENERGY_MANAGEMENT_REPORT_EVENT_STATUS_CB_ID, /** @b Server. Inform user about ManageEvent request * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * * @param[in] param_in @ref zb_zcl_energy_management_manage_event_payload_t * @param[out] param_out @ref zb_zcl_energy_management_report_event_status_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_ENERGY_MANAGEMENT_SRV_CMD_REPORT_EVENT_STATUS "ReportEventStatusCommandPayload" command. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_ENERGY_MANAGEMENT_MANAGE_EVENT_CB_ID, /** @endcond */ /* DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ #endif /* ZB_ENABLE_SE || ZB_ZCL_SUPPORT_CLUSTER_ENERGY_MANAGEMENT */ #if defined ZB_ENABLE_SE || defined ZB_ZCL_SUPPORT_CLUSTER_MDU_PAIRING /** @cond DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ /** @b Server. Inform user about MDU Paring Request. You may provide MDU list as reply * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * * @param[in] param_in @ref zb_zcl_mdu_pairing_request_t * @param[out] param_out @ref zb_zcl_mdu_pairing_response_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_MDU_PAIRING_SRV_CMD_PAIRING_RESPONSE "MDUPairingResponse" command * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. */ ZB_ZCL_MDU_PAIRING_REQUEST_CB_ID, /** @b Client. Inform user about MDU Pairing Response. List of MDU Paired devices passed * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_mdu_pairing_response_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. */ ZB_ZCL_MDU_PAIRING_RESPONSE_CB_ID, /** @endcond */ /* DOXYGEN_ZCL_SECTION && DOXYGEN_SE_SECTION */ #endif /* ZB_ENABLE_SE || ZB_ZCL_SUPPORT_CLUSTER_MDU_PAIRING */ /** @b Server. Inform user about GetProfile request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_profile_payload_t * @param[out] param_out @ref zb_zcl_metering_get_profile_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_METERING_SRV_CMD_GET_PROFILE_RESPONSE "GetProfileResponse" command. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_GET_PROFILE_CB_ID, /** @b Server. Inform user about RequestFastPollMode request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_request_fast_poll_mode_payload_t * @param[out] param_out @ref zb_zcl_metering_request_fast_poll_mode_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_METERING_SRV_CMD_REQUEST_FAST_POLL_MODE_RESPONSE "RequestFastPollModeResponse" command. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_REQUEST_FAST_POLL_MODE_CB_ID, /** @b Server. Inform user about GetSnapshot request. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_snapshot_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. In this case application must send reply using * new buffer. Stack free buffer in this case. * @return RET_NOT_FOUND - price data isn't available. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_GET_SNAPSHOT_CB_ID, /** @b Server. Inform user about GetSampledData request. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_sampled_data_payload_t * @param[out] param_out @ref zb_zcl_metering_get_sampled_data_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_METERING_SRV_CMD_GET_SAMPLED_DATA_RESPONSE "GetSampledData" command. * @return RET_NOT_FOUND - price data isn't available. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_GET_SAMPLED_DATA_CB_ID, /** @b Client. Inform user about response to GetProfileResponse command. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_profile_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_GET_PROFILE_RESPONSE_CB_ID, /** @b Client. Inform user about response to RequestFastPollMode command. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_request_fast_poll_mode_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_REQUEST_FAST_POLL_MODE_RESPONSE_CB_ID, /** @b Client. Inform user about response to GetSnapshot command. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_publish_snapshot_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_PUBLISH_SNAPSHOT_CB_ID, /** @b Client. Inform user about response to GetSampledData command. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_metering_get_sampled_data_response_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_METERING_GET_SAMPLED_DATA_RESPONSE_CB_ID, /** @cond DOXYGEN_INTERNAL_DOC */ /** Inform user about APS fragmented data transfer completion */ ZB_ZCL_BIG_DATA_TRANSFER_COMPLETE_CB_ID, /** @endcond */ /* DOXYGEN_INTERNAL_DOC */ #ifdef ZB_ENABLE_SE /** Inform user about Time receiving from Time server */ ZB_ZCL_TIME_SYNC_CB_ID, ZB_ZCL_TIME_SYNC_FAILED_CB_ID, #endif /* ZB_ENABLE_SE */ /** @b Server. Inform user about Window Covering Up/Open command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_UP_OPEN_CB_ID, /** @b Server. Inform user about Window Covering Down/Close command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_DOWN_CLOSE_CB_ID, /** @b Server. Inform user about Window Covering Stop command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_STOP_CB_ID, /** @b Server. Inform user about Window Covering Go to Lift Value command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_go_to_lift_value_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_GO_TO_LIFT_VALUE_CB_ID, /** @b Server. Inform user about Window Covering Go to Lift Percentage command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_go_to_lift_percentage_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_GO_TO_LIFT_PERCENTAGE_CB_ID, /** @b Server. Inform user about Window Covering Go to Tilt Value command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_go_to_tilt_value_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_GO_TO_TILT_VALUE_CB_ID, /** @b Server. Inform user about Window Covering Go to Tilt Percentage command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_go_to_tilt_percentage_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_WINDOW_COVERING_GO_TO_TILT_PERCENTAGE_CB_ID, /** @b Server. Inform application about incoming Add Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_add_scene_req_t Fixed part of Add Scene request. Scene * Extension Set is placed after this structure (no little-endian conversion). * @param[out] param_out @ref zb_uint8_t ZCL status - @ref ZB_ZCL_STATUS_INVALID_FIELD, * @ref ZB_ZCL_STATUS_SUCCESS or @ref ZB_ZCL_STATUS_INSUFF_SPACE * * One of the following statuses must be returned: * @return RET_OK - successfully handle command (except the case of updating existing entry). Send * @ref ZB_ZCL_CMD_SCENES_ADD_SCENE_RESPONSE "Add Scene Response" command (with ZCL status from * param_out). * @return RET_ALREADY_EXISTS - successfully handle command (update existing entry). Send * @ref ZB_ZCL_CMD_SCENES_ADD_SCENE_RESPONSE "Add Scene Response" command (with ZCL status from param_out). * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_ADD_SCENE_CB_ID, /** @b Server. Inform application about incoming Store Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_store_scene_req_t * @param[out] param_out @ref zb_uint8_t ZCL status - @ref ZB_ZCL_STATUS_INVALID_FIELD, * @ref ZB_ZCL_STATUS_SUCCESS or @ref ZB_ZCL_STATUS_INSUFF_SPACE * * One of the following statuses must be returned: * @return RET_OK - successfully handle command (except the case of updating existing entry). Send * @ref ZB_ZCL_CMD_SCENES_STORE_SCENE_RESPONSE "Store Scene Response" command (with ZCL status from * param_out). * @return RET_ALREADY_EXISTS - successfully handle command (update existing entry). Send * @ref ZB_ZCL_CMD_SCENES_STORE_SCENE_RESPONSE "Store Scene Response" command (with ZCL status from param_out). * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_STORE_SCENE_CB_ID, /** @b Server. Inform application about incoming View Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_view_scene_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. In this case application must send * @ref ZB_ZCL_CMD_SCENES_VIEW_SCENE_RESPONSE "View Scene Response" using new buffer. Stack free * buffer in this case. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_VIEW_SCENE_CB_ID, /** @b Server. Inform application about incoming Remove Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_remove_scene_req_t * @param[out] param_out @ref zb_uint8_t ZCL status - @ref ZB_ZCL_STATUS_INVALID_FIELD, * @ref ZB_ZCL_STATUS_SUCCESS or @ref ZB_ZCL_STATUS_NOT_FOUND * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Send * @ref ZB_ZCL_CMD_SCENES_REMOVE_SCENE_RESPONSE "Remove Scene Response" command (with ZCL status * from param_out). * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_REMOVE_SCENE_CB_ID, /** @b Server. Inform application about incoming Remove All Scenes request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_remove_all_scenes_req_t * @param[out] param_out @ref zb_uint8_t ZCL status - @ref ZB_ZCL_STATUS_INVALID_FIELD or * @ref ZB_ZCL_STATUS_SUCCESS * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Send * @ref ZB_ZCL_CMD_SCENES_REMOVE_ALL_SCENES_RESPONSE "Remove All Scenes Response" command (with * ZCL status from param_out). * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_REMOVE_ALL_SCENES_CB_ID, /** @b Server. Inform application about incoming Recall Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_recall_scene_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_RECALL_SCENE_CB_ID, /** @b Server. Inform application about incoming Get Scene Membership request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_get_scene_membership_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. In this case application must send * @ref ZB_ZCL_CMD_SCENES_GET_SCENE_MEMBERSHIP_RESPONSE "Get Scene Membership Response" using new * buffer. Stack free buffer in this case. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_GET_SCENE_MEMBERSHIP_CB_ID, #ifndef ZB_ZCL_SCENES_OPTIONAL_COMMANDS_DISABLED /** @b Server. Inform application about incoming Enhanced Add Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_add_scene_req_t Fixed part of Enhanced Add Scene request - it is * the same as for the Add Scene request, but the Transition Time field is measured in tenths of a second * rather than in seconds. Scene Extension Set is placed after this structure (no little-endian conversion). * @param[out] param_out @ref zb_uint8_t ZCL status - @ref ZB_ZCL_STATUS_INVALID_FIELD, * @ref ZB_ZCL_STATUS_SUCCESS or @ref ZB_ZCL_STATUS_INSUFF_SPACE * * One of the following statuses must be returned: * @return RET_OK - successfully handle command (except the case of updating existing entry). Send * @ref ZB_ZCL_CMD_SCENES_ADD_SCENE_RESPONSE "Add Scene Response" command (with ZCL status from * param_out). * @return RET_ALREADY_EXISTS - successfully handle command (update existing entry). Send * @ref ZB_ZCL_CMD_SCENES_ADD_SCENE_RESPONSE "Add Scene Response" command (with ZCL status from param_out). * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_ENHANCED_ADD_SCENE_CB_ID, /** @b Server. Inform application about incoming Enhanced View Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_view_scene_req_t - it is the same as for View Scene request. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. In this case application must send * @ref ZB_ZCL_CMD_SCENES_VIEW_SCENE_RESPONSE "View Scene Response" using new buffer. Stack free * buffer in this case. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_ENHANCED_VIEW_SCENE_CB_ID, /** @b Server. Inform application about incoming Copy Scene request. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_copy_scene_req_t * @param[out] param_out zb_uint8_t *num_copied_scenes - a number of copied scenes. * It is used to increase @ref ZB_ZCL_ATTR_SCENES_SCENE_COUNT_ID attribute value in case of successfully scenes copying. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. In this case application must send * @ref ZB_ZCL_CMD_SCENES_COPY_SCENE_RESPONSE "Copy Scene Response" using new buffer. Stack free * buffer in this case. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_SCENES_COPY_SCENE_CB_ID, #endif /* !ZB_ZCL_SCENES_OPTIONAL_COMMANDS_DISABLED */ /** @b Server. Internal: indicate to application that it is needed to remove all scenes on all * endpoints for given group_id. * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * @param[in] param_in @ref zb_zcl_scenes_remove_all_scenes_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_SCENES_INTERNAL_REMOVE_ALL_SCENES_ALL_ENDPOINTS_CB_ID, /** @b Server. Internal: indicate to application that it is needed to remove all scenes on all * endpoints for all groups (full reset of scenes table). * * User's application callback is initialized by RET_ERROR status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_SCENES_INTERNAL_REMOVE_ALL_SCENES_ALL_ENDPOINTS_ALL_GROUPS_CB_ID, /** @b Server. Inform user about Door Lock Lock Door command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[out] param_out @ref zb_zcl_door_lock_read_lock_door_res_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_DOOR_LOCK_SEND_LOCK_DOOR_RES "Lock Door Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DOOR_LOCK_LOCK_DOOR_CB_ID, /** @b Server. Inform user about Door Lock Unlock Door command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[out] param_out @ref zb_zcl_door_lock_read_unlock_door_res_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * Send @ref ZB_ZCL_DOOR_LOCK_SEND_UNLOCK_DOOR_RES "Unlock Door Response" command. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DOOR_LOCK_UNLOCK_DOOR_CB_ID, /** @b Client. Inform user about Door Lock Lock Door Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_door_lock_read_lock_door_res_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DOOR_LOCK_LOCK_DOOR_RESP_CB_ID, /** @b Client. Inform user about Door Lock Unlock Door Response command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_door_lock_read_unlock_door_res_payload_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_DOOR_LOCK_UNLOCK_DOOR_RESP_CB_ID, /** @b Server. Inform user about Alarms Reset Alarm command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in @ref zb_zcl_alarms_reset_alarm_req_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_ALARMS_RESET_ALARM_CB_ID, /** @b Server. Inform user about Alarms Reset All Alarms command. * * User's application callback is initialized by RET_OK status of device * callback parameters. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. * */ ZB_ZCL_ALARMS_RESET_ALL_ALARMS_CB_ID, #ifdef ZB_ENABLE_CUSTOM_CLUSTERS ZB_ZCL_IR_BLASTER_TRANSMIT_IR_DATA_CB_ID, ZB_ZCL_IR_BLASTER_TRANSMISSION_STATUS_CB_ID, ZB_ZCL_IR_BLASTER_GET_IR_SIGNATURE_CB_ID, ZB_ZCL_IR_BLASTER_GET_IR_SIGNATURE_RESP_CB_ID, #endif /* ZB_ENABLE_CUSTOM_CLUSTERS */ /** @b Client. Inform user about Alarms Alarm command. * User's application callback is initialized by RET_OK status of device * callback parameters. * @param[in] param_in zb_zcl_alarms_alarm_res_t * * One of the following statuses must be returned: * @return RET_OK - successfully handled command. Response will be send if requested. * @return RET_ERROR - command is handled with errors * */ ZB_ZCL_ALARMS_ALARM_CB_ID, /** @b Server. Inform user about receiving "Enable WWAH App Event Retry Algorithm" command. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_in zb_zcl_wwah_enable_wwah_app_event_retry_algorithm_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_WWAH_ENABLE_APP_EVENT_RETRY_ALGORITHM_CB_ID, /** @b Server. Inform user about receiving "Disable WWAH App Event Retry Algorithm" command. * * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameters. * @param[in] param_in zb_zcl_wwah_enable_wwah_app_event_retry_algorithm_t * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Default Response will be send if requested. * @return RET_ERROR - command is handled with errors. Default Response will be send if requested. * */ ZB_ZCL_WWAH_DISABLE_APP_EVENT_RETRY_ALGORITHM_CB_ID, /** @b Server. Inform user application about Control4 Network ZAP information * changes (event=ZB_ZCL_CONTROL4_NETWORK_ZAP_UPDATED) or failure to get changes * (event=ZB_ZCL_CONTROL4_NETWORK_ZAP_DISCOVER_FAILED) after expiring the * ZB_ZCL_CONTROL4_NETWORK_SEARCHING_ZAP_ATTEMPTS retries * * @param[in] param_in zb_zcl_control4_zap_info_notify_t */ ZB_ZCL_CONTROL4_NETWORK_ZAP_INFO_CB_ID, /** @b Server. Inform user about receiving "Debug Report Query" command. * If debug report exists, application must return pointer to this report * User's application callback is initialized by RET_NOT_FOUND status of device * callback parameter. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. Debug Report Query Response will be send. * param out must point to zb_zcl_wwah_debug_report_t * For example: * zb_zcl_wwah_debug_report_t debug_report_table[10] * ZB_ZCL_DEVICE_CMD_PARAM_OUT_SET(param, &debug_report_table[4]); * @return RET_ERROR, RET_NOT_FOUND - command is handled with errors. * Default Response will be send. */ ZB_ZCL_WWAH_DEBUG_REPORT_QUERY_CB_ID, /** @b Server. Inform user about receiving "Set IAS Zone Enrollment Method" command. * * One of the following statuses must be returned: * @return RET_OK - successfully handle command. * @return RET_ERROR - command is handled with errors. * Default Response will be send. */ ZB_ZCL_WWAH_SET_IAS_ZONE_ENROLLMENT_METHOD_CB_ID, } zb_zcl_device_callback_id_t; /** @cond internals_doc */ /** Generic in/out params for cluster commands handlers. */ typedef struct zb_zcl_device_cmd_generic_param_s { /** Input packet header metadata. * Represents packet header information for incoming packets. */ const zb_zcl_parsed_hdr_t *in_cmd_info; /** Input packet payload. */ const void *in; /** Output packet payload. * User application should fill the payload with specific data. * ZCL can fill some of fields of payload with default/calculated values. */ void *out; } zb_zcl_device_cmd_generic_param_t; /** @endcond */ /* internals_doc */ /** * @brief Data for Device user application callback. * This structure has receive to User application callback (see @ref zb_callback_t). * @hideinitializer * */ typedef struct zb_zcl_device_callback_param_s { /** Type of device callback (see @ref zb_zcl_device_callback_id_e) */ zb_zcl_device_callback_id_t device_cb_id; zb_uint8_t endpoint; zb_zcl_attr_access_t attr_type; /** Return status (see zb_ret_t) */ zb_ret_t status; /** Callback custom data */ union { zb_zcl_set_attr_value_param_t set_attr_value_param; #if defined (ZB_ZCL_SUPPORT_CLUSTER_ON_OFF) /* Off with effect command, On/Off cluster */ zb_zcl_on_off_set_effect_value_param_t on_off_set_effect_value_param; /* */ #endif #if defined(ZB_ZCL_SUPPORT_CLUSTER_IDENTIFY) zb_zcl_identify_effect_value_param_t identify_effect_value_param; #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_SHADE_CONFIG) // TODO: descript parameters struct for translate to User App ZB_ZCL_SHADE_SET_VALUE_CB_ID event zb_zcl_shade_set_value_param_t shade_set_value_param; // TODO: descript parameters struct for translate to User App ZB_ZCL_SHADE_GET_VALUE_CB_ID event zb_zcl_shade_get_value_param_t shade_get_value_param; #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_LEVEL_CONTROL) zb_zcl_level_control_set_value_param_t level_control_set_value_param; #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_WD) zb_zcl_ias_wd_start_warning_value_param_t start_warning_value_param; #endif #if defined ZB_ENABLE_HA #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_ZONE) zb_zcl_ias_zone_enroll_response_value_param_t enroll_response_value_param; #endif #endif /* defined ZB_ENABLE_HA */ /* moved thermostat_value_param out of ZB_ENABLE_HA to be able to compile without that define */ #if defined ZB_ZCL_SUPPORT_CLUSTER_THERMOSTAT zb_zcl_thermostat_value_param_t thermostat_value_param; zb_zcl_thermostat_weekly_schedule_table_param_t thermostat_weekly_schedule_table_param; #endif #if defined (ZB_ZCL_SUPPORT_CLUSTER_IAS_WD) zb_zcl_ias_wd_squawk_value_param_t squawk_value_param; #endif #ifdef ZB_ZCL_SUPPORT_CLUSTER_IR_BLASTER zb_zcl_ir_blaster_transmit_ir_data_value_param_t irb_tr_value_param; zb_zcl_ir_blaster_transmission_status_value_param_t irb_tr_status_value_param; zb_zcl_ir_blaster_get_ir_signature_value_param_t irb_get_ir_sig_value_param; zb_zcl_ir_blaster_get_ir_signature_resp_value_param_t irb_get_ir_sig_resp_value_param; #endif #if defined ZB_ENABLE_HA #if defined ZB_HA_ENABLE_OTA_UPGRADE_CLIENT || defined DOXYGEN // zb_zcl_ota_upgrade_value_param_t ota_value_param; #endif /*defined ZB_HA_ENABLE_OTA_UPGRADE_CLIENT || defined DOXYGEN */ #if defined ZB_ZCL_SUPPORT_CLUSTER_POLL_CONTROL zb_zcl_poll_control_check_in_cli_param_t checkin_cli_param; #endif /* defined ZB_ZCL_SUPPORT_CLUSTER_POLL_CONTROL */ #if defined ZB_HA_ENABLE_OTA_UPGRADE_SERVER zb_zcl_ota_upgrade_srv_query_img_param_t ota_upgrade_srv_query_img_param; zb_zcl_ota_upgrade_srv_upgrade_started_param_t ota_upgrade_srv_upgrade_started_param; zb_zcl_ota_upgrade_srv_upgrade_aborted_param_t ota_upgrade_srv_upgrade_aborted_param; zb_zcl_ota_upgrade_srv_upgrade_end_param_t ota_upgrade_srv_upgrade_end_param; #endif #if defined ZB_HA_ENABLE_OTA_UPGRADE_CLIENT zb_zcl_ota_upgrade_query_img_resp_param_t ota_upgrade_query_img_resp_param; #endif #endif /* defined ZB_ENABLE_HA */ zb_zcl_device_cmd_generic_param_t gnr; } cb_param; } zb_zcl_device_callback_param_t; /** @cond internals_doc */ /** The way of accessing to @ref zb_zcl_device_callback_param_t from buf ref. */ #define ZB_ZCL_DEVICE_CMD_PARAM(_param) \ (ZB_BUF_GET_PARAM((_param), zb_zcl_device_callback_param_t)) /** Set INPUT device callback parameter with specific value. */ #define ZB_ZCL_DEVICE_CMD_PARAM_IN_SET(_param, _pvalue) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->cb_param.gnr.in = _pvalue) /** Set OUTPUT device callback parameter with specific value. */ #define ZB_ZCL_DEVICE_CMD_PARAM_OUT_SET(_param, _pvalue) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->cb_param.gnr.out = _pvalue) /** Init all fields of device callback params. */ #define ZB_ZCL_DEVICE_CMD_PARAM_INIT_WITH(_param, _cb_id, _status, _cmd_info, _in, _out) \ (ZB_BZERO(ZB_ZCL_DEVICE_CMD_PARAM(_param), sizeof(*ZB_ZCL_DEVICE_CMD_PARAM(_param))), \ (ZB_ZCL_DEVICE_CMD_PARAM_CB_ID(_param) = _cb_id, \ (ZB_ZCL_DEVICE_CMD_PARAM_ENDPOINT(_param) = (_cmd_info != NULL ? \ ZB_ZCL_PARSED_HDR_SHORT_DATA((typeof(ZB_ZCL_DEVICE_CMD_PARAM_CMD_INFO(_param)))_cmd_info).dst_endpoint : 0x00),\ (ZB_ZCL_DEVICE_CMD_PARAM_STATUS(_param) = _status, \ (ZB_ZCL_DEVICE_CMD_PARAM_CMD_INFO(_param) = _cmd_info, \ (ZB_ZCL_DEVICE_CMD_PARAM_IN_SET(_param, _in), \ (ZB_ZCL_DEVICE_CMD_PARAM_OUT_SET(_param, _out)))))))) /** @endcond */ /* internals_doc */ /** Get INPUT device callback parameter from buffer reference. * @param _param - Reference to buffer. * @param _ptype - Target data type. * @return - Pointer to @e _ptype data. * @see @ref zb_zcl_device_callback_param_t. */ #define ZB_ZCL_DEVICE_CMD_PARAM_IN_GET(_param, _ptype) \ ((const _ptype *) ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->cb_param.gnr.in)) /** Get OUTPUT device callback parameter from buffer reference. * @param _param - Reference to buffer. * @param _ptype - Target data type * @return - Pointer to @e _ptype data. */ #define ZB_ZCL_DEVICE_CMD_PARAM_OUT_GET(_param, _ptype) \ ((_ptype *) ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->cb_param.gnr.out)) /** Get access to @ref zb_zcl_parsed_hdr_t data from device callback parameter. * @param _param - Reference to buffer. * @return - Pointer to @ref zb_zcl_parsed_hdr_t structure. */ #define ZB_ZCL_DEVICE_CMD_PARAM_CMD_INFO(_param) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->cb_param.gnr.in_cmd_info) /** Get access to @ref zb_zcl_device_callback_param_t::device_cb_id of device callback parameters. * @param _param - Reference to buffer. */ #define ZB_ZCL_DEVICE_CMD_PARAM_CB_ID(_param) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->device_cb_id) /** Get access to @ref zb_zcl_device_callback_param_t::status of device callback parameters. * @param _param - Reference to buffer. * @return - zb_ret_t value of current status. */ #define ZB_ZCL_DEVICE_CMD_PARAM_STATUS(_param) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->status) /* Set ENDPOINT device callback parameter with specific value. */ #define ZB_ZCL_DEVICE_CMD_PARAM_ENDPOINT(_param) \ ((ZB_ZCL_DEVICE_CMD_PARAM(_param))->endpoint) /** @cond internals_doc */ /** @brief ZCL default handler. * * This function handles ZCL commands which was not processed by application. * * @param param - reference to the buffer containing ZCL packet. * @return @ref ZB_TRUE if packet was processed; @ref ZB_FALSE - otherwise */ zb_uint8_t zb_zcl_handle(zb_uint8_t param); /** Get ZCL TSN stored in ZCL frame @param buffer - pointer to a buffer with ZCL frame @return TSN value */ zb_uint8_t zb_zcl_get_tsn_from_packet(zb_bufid_t buffer); #if !(defined ZB_ZCL_DISABLE_REPORTING) void zb_zcl_adjust_reporting_timer(zb_uint8_t param); void zb_zcl_update_reporting_info(zb_zcl_reporting_info_t *rep_info); zb_ret_t zb_zcl_put_default_reporting_info(zb_zcl_reporting_info_t* default_rep_info_ptr); void zb_zcl_remove_default_reporting_info(zb_uint16_t cluster_id, zb_uint8_t cluster_role); void zb_zcl_mark_report_not_sent(zb_zcl_reporting_info_t *rep_info); #endif /** Register device context. @param _device_ctx - pointer to device context Use @ref ZB_AF_REGISTER_DEVICE_CTX. */ void zb_zcl_register_device_ctx(zb_af_device_ctx_t *device_ctx); void zb_zcl_init_endpoint(zb_af_endpoint_desc_t* ep); zb_bool_t zb_zcl_check_cluster_list(void); /** @endcond */ /* internals_doc */ /** @} */ /* ZB_ZCL_INITIALIZATION */ #ifdef ZB_BDB_MODE /*! \addtogroup zboss_bdb_api @{ @defgroup zboss_bdb_comm_params BDB commissioning parameters @defgroup zboss_bdb_comm_start BDB commissioning start & status @defgroup zboss_bdb_comm_fb BDB Finding and Binding @} */ /** @addtogroup zboss_bdb_comm_params @{ */ /** @cond internals_doc */ /** @brief BDB error codes */ enum zb_bdb_error_codes_e { ZB_BDB_STATUS_SUCCESS = 0, /*!zcl.selector /** Returns ZCL context. @return pointer ZCL context */ zb_zcl_globals_t *zb_zcl_get_ctx(void); /** @endcond */ /* internals_doc */ /** Returns pointer to ZCL context */ #define ZCL_CTX() (*zb_zcl_get_ctx()) /*! @} */ /* ZB_ZCL_INITIALIZATION */ #define ZB_ZCL_MAX_EP_NUMBER 10U typedef zb_uint8_t *(*zb_zcl_put_payload_cb_t)(zb_uint8_t *, const void *); void zb_zcl_send_cmd( zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_zcl_frame_direction_t direction, zb_uint8_t src_ep, const void *payload, zb_uint8_t payload_size, zb_zcl_put_payload_cb_t put_payload, zb_zcl_cluster_id_t cluster_id, zb_zcl_disable_default_response_t def_resp, zb_uint8_t cmd_id, zb_callback_t cb ); void zb_zcl_send_cmd_tsn( zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_zcl_frame_direction_t direction, zb_uint8_t src_ep, const void *payload, zb_uint8_t payload_size, zb_zcl_put_payload_cb_t put_payload, zb_zcl_cluster_id_t cluster_id, zb_zcl_disable_default_response_t def_resp, zb_uint8_t cmd_id, zb_uint8_t tsn, zb_callback_t cb ); zb_bool_t zb_zcl_send_default_handler(zb_uint8_t param, const zb_zcl_parsed_hdr_t *cmd_info, zb_zcl_status_t status); void zb_zcl_send_default_resp_ext(zb_uint8_t param, const zb_zcl_parsed_hdr_t *cmd_info, zb_zcl_status_t status); #if defined ZB_APS_ENCRYPTION_PER_CLUSTER void zb_zcl_set_cluster_encryption(zb_uint8_t endpoint_id, zb_uint16_t cluster_id, zb_uint8_t encrypt); #endif /* ZB_APS_ENCRYPTION_PER_CLUSTER */ /** Convert deprecated statuses into ZCL8 statuses. Status enumerations (see ZCL8 spec 2.6.3) list was changed in ZCL8 spec. LIMIT_REACHED, DUPLICATE_EXISTS, SUCCESS ==> SUCCESS INCONSISTENT_STARTUP_STATE, DEFINED_OUT_OF_BAND, ACTION_DENIED, HARDWARE_FAILURE, SOFTWARE_FAILURE ==> FAILURE WRITE_ONLY, NOT_AUTHORIZED ==> NOT_AUTHORIZED MALFORMED_COMMAND, INVALID_FIELD ==> INVALID_FIELD UNSUP_CLUSTER_COMMAND, UNSUP_GENERAL_COMMAND, UNSUP_MANUF_CLUSTER_COMMAND, UNSUP_MANUF_GENERAL_COMMAND ==> UNSUP_COMMAND INCONSISTENT, CALIBRATION_ERROR, RESERVED ==> RESERVED The function will convert statuses in ZB_ZCL_AUTO_MODE and ZB_ZCL_COMPATIBILITY_MODE ZCL8 backward compatibility modes. ZB_ZCL_LEGACY_MODE implies that application can still use obsolete statuses, so in that mode the function doesn't make any conversion. @param status - Status got over the air. @return - Converted status. */ zb_zcl_status_t zb_zcl_zcl8_statuses_conversion(zb_zcl_status_t status); /* Gateway endpoints configuration */ zb_ret_t zb_zcl_add_gateway_endpoint(zb_uint8_t endpoint); zb_ret_t zb_zcl_remove_gateway_endpoint(zb_uint8_t endpoint); #endif /* ZBOSS_API_ZCL_H */