Initial commit: ESP32-C6 Zigbee sensor switch project
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @brief Alarms cluster attribute identifiers */
|
||||
typedef enum esp_zb_zcl_alarms_attr_e {
|
||||
ESP_ZB_ZCL_ATTR_ALARMS_ALARM_COUNT_ID = 0x0000, /*!< AlarmCount attribute */
|
||||
ESP_ZB_ZCL_ATTR_ALARMS_ALARM_TABLE_SIZE_ID = 0xEFFE, /*!< Internal AlarmTable size attribute */
|
||||
ESP_ZB_ZCL_ATTR_ALARMS_ALARM_TABLE_ID = 0xEFFF, /*!< Internal AlarmTable attribute */
|
||||
} esp_zb_zcl_alarms_attr_t;
|
||||
|
||||
/** @brief Minimum value for AlarmCount attribute */
|
||||
#define ESP_ZB_ZCL_ALARMS_ALARM_COUNT_MIN_VALUE (0x0000)
|
||||
/** @brief Maximum value for AlarmCount attribute */
|
||||
#define ESP_ZB_ZCL_ALARMS_ALARM_COUNT_MAX_VALUE (0x00FF)
|
||||
/** @brief Default value for AlarmCount attribute */
|
||||
#define ESP_ZB_ZCL_ALARMS_ALARM_COUNT_DEFAULT_VALUE (0x0000)
|
||||
|
||||
/** @brief Default value for AlarmTableSize attribute */
|
||||
#define ESP_ZB_ZCL_ALARMS_ALARM_TABLE_SIZE_DEFAULT_VALUE (0x000F)
|
||||
|
||||
/** @brief Alarms cluster command identifiers */
|
||||
typedef enum esp_zb_zcl_alarms_cmd_req_e {
|
||||
ESP_ZB_ZCL_CMD_ALARMS_RESET_ALARM_ID = 0x00, /*!< Reset alarm command. */
|
||||
ESP_ZB_ZCL_CMD_ALARMS_RESET_ALL_ALARMS_ID = 0x01, /*!< Reset all alarms command. */
|
||||
ESP_ZB_ZCL_CMD_ALARMS_GET_ALARM_ID = 0x02, /*!< Get alarms command. */
|
||||
ESP_ZB_ZCL_CMD_ALARMS_RESET_ALARM_LOG_ID = 0x03 /*!< Reset alarm log command. */
|
||||
} esp_zb_zcl_alarms_cmd_req_t;
|
||||
|
||||
/** @brief Alarms cluster command identifiers */
|
||||
typedef enum esp_zb_zcl_alarms_cmd_resp_e {
|
||||
ESP_ZB_ZCL_CMD_ALARMS_ALARM_ID = 0x00, /*!< Alarm command. */
|
||||
ESP_ZB_ZCL_CMD_ALARMS_GET_ALARM_RESP_ID = 0x01, /*!< Get alarm response command. */
|
||||
} esp_zb_zcl_alarms_cmd_resp_t;
|
||||
|
||||
/**
|
||||
* @brief Alarm cluster server initialization
|
||||
*
|
||||
*/
|
||||
void esp_zb_zcl_alarms_init_server(void);
|
||||
|
||||
/**
|
||||
* @brief Alarm cluster client initialization
|
||||
*
|
||||
*/
|
||||
void esp_zb_zcl_alarms_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ALARMS_SERVER_ROLE_INIT esp_zb_zcl_alarms_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ALARMS_CLIENT_ROLE_INIT esp_zb_zcl_alarms_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,369 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Analog Input cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_DESCRIPTION_ID = 0x001c, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_MAX_PRESENT_VALUE_ID = 0x0041, /*!< MaxPresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_MIN_PRESENT_VALUE_ID = 0x0045, /*!< MinPresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_RELIABILITY_ID = 0x0067, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_RESOLUTION_ID = 0x006a, /*!< Resolution attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_STATUS_FLAGS_ID = 0x006f, /*!< StatusFlags attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_ENGINEERING_UNITS_ID = 0x0075, /*!< EngineeringUnits attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_INPUT_APPLICATION_TYPE_ID = 0x0100, /*!< ApplicationType attribute */
|
||||
} esp_zb_zcl_analog_input_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_analog_input_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_analog_input_reliability_value_t;
|
||||
|
||||
/** Analog Input cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Analog Input
|
||||
* clusters have Group = 0x00.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
|
||||
#define ESP_ZB_ZCL_AI_GROUP_ID 0x00
|
||||
#define ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(_type, _id) (((_type & 0xff) << 16) | (_id & 0xffff))
|
||||
|
||||
/** @brief Values for Analog Input cluster applications type*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_TEMPERATURE, /*!< Temperature */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_HUMIDITY, /*!< Humidity */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_PRESSURE, /*!< Pressure */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_FLOW, /*!< Flow */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_PERCENTAGE, /*!< Percentage */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_PPM, /*!< Ppm */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_RPM, /*!< Rpm */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_CURRENT_IN_AMPS, /*!< Current In AMPS */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_FREQUENCY, /*!< Frequency */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_WATTS, /*!< Power In Watts */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_KILOWATTS, /*!< Power In Kilowatts */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_ENERGY, /*!< Energy */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_COUNT_UNITLESS, /*!< Count Unitless */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_ENTHALPY, /*!< Enthalpy */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_TIME, /*!< Time */
|
||||
/* Types 0x0f to 0xfe are reserved */
|
||||
ESP_ZB_ZCL_AI_APP_TYPE_OTHER = 0xff, /*!< Other */
|
||||
} esp_zb_zcl_ai_application_types_t;
|
||||
|
||||
/** @brief Values for 'Temperature in degrees Celsius' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_2_PIPE_ENTERING = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_TEMPERATURE, 0x0000), /*!< 2 Pipe Entering */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_2_PIPE_LEAVING, /*!< 2 Pipe Leaving */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_BOILER_ENTERING, /*!< Boiler Entering */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_BOILER_LEAVING, /*!< Boiler Leaving */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CHILLER_CHILLED_WATER_ENTERING, /*!< Chiller Chilled Water Entering */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CHILLER_CHILLED_WATER_LEAVING, /*!< Chiller Chilled Water Leaving */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CHILLER_CONDENSER_WATER_ENTERING, /*!< Chiller Condenser Water Entering */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CHILLER_CONDENSER_WATER_LEAVING, /*!< Chiller Condenser Water Leaving */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_COLD_DECK, /*!< Cold Deck */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_COOLING_COIL_DISCHARGE, /*!< Cooling Coil Discharge */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_COOLING_ENTERING_WATER, /*!< Cooling entering water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_COOLING_LEAVING_WATER, /*!< Cooling leaving Water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CONDENSER_WATER_RETURN, /*!< Condenser water return */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_CONDENSER_WATER_SUPPLY, /*!< Condenser water supply */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_DECOUPLE_LOOP_0, /*!< Decouple loop 0. Note: Decouple loop is duplicated in spec */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_BUILDING_LOAD, /*!< Building load */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_DECOUPLE_LOOP_1, /*!< Decouple loop 1 */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_DEW_POINT, /*!< Dew point */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_DISCHARGE_AIR, /*!< Discharge air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_DISCHARGE, /*!< Discharge */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_EXHAUST_AIR_AFTER_HEAT_RECOVERY, /*!< Exhaust air after heat recovery */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_EXHAUST_AIR, /*!< Exhaust air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_GLYCOL, /*!< Glycol */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_HEAT_RECOVERY_AIR, /*!< Heat recovery air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_HOT_DECK, /*!< Hot deck */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_HEAT_EXCHANGER_BYPASS, /*!< Heat exchanger bypass */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_HEAT_EXCHANGER_ENTERING, /*!< Heat exchanger entering */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_HEAT_EXCHANGER_LEAVING, /*!< Heat eXchanger leaving */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_MECHANICAL_ROOM, /*!< Mechanical room */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_MIXED_AIR_0, /*!< Mixed air 0. Mixed air is duplicated in spec */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_MIXED_AIR_1, /*!< Mixed air 1 */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_OUTDOOR_AIR_DEWPOINT, /*!< Outdoor air dewpoint */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_OUTDOOR_AIR, /*!< Outdoor air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PREHEAT_AIR, /*!< Preheat air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PREHEAT_ENTERING_WATER, /*!< Preheat entering water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PREHEAT_LEAVING_WATER, /*!< Preheat leaving water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PRIMARY_CHILLED_WATER_RETURN, /*!< Primary chilled water return */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PRIMARY_CHILLED_WATER_SUPPLY, /*!< Primary chilled water supply */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PRIMARY_HOT_WATER_RETURN, /*!< Primary hot watter return */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_PRIMARY_HOT_WATER_SUPPLY, /*!< Primary hot watter supply */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_REHEAT_COIL_DISCHARGE, /*!< Reheat coil discharge */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_REHEAT_ENTERING_WATER, /*!< Reheat entering water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_REHEAT_LEAVING_WATER, /*!< Reheat leaving water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_RETURN_AIR, /*!< Return air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SECONDARY_CHILLED_WATER_RETURN, /*!< Secondary chilled water return */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SECONDARY_CHILLED_WATER_SUPPLY, /*!< Secondary chilled water supply */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SECONDARY_HW_RETURN, /*!< Secondary hw return */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SECONDARY_HW_SUPPLY, /*!< Secondary hw supply */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SIDELOOP_RESET, /*!< Sideloop reset */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SIDELOOP_SETPOINT, /*!< Sideloop setpoint */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SIDELOOP, /*!< Sideloop */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SOURCE, /*!< Source */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SUPPLY_AIR, /*!< Supply air */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_SUPPLY_LOW_LIMIT, /*!< Supply low limit */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_TOWER_BASIN, /*!< Tower basin */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_TWO_PIPE_LEAVING_WATER, /*!< Two pipe leaving water */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_RESERVED, /*!< Reserved */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_ZONE_DEWPOINT, /*!< Zone dewpoint */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_ZONE_SENSOR_SETPOINT, /*!< Zone sensor setpoint */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_ZONE_SENSOR_SETPOINT_OFFSET, /*!< Zone sensor setpoint offset */
|
||||
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_ZONE, /*!< Zone */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_TEMPERATURE_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_TEMPERATURE, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_temperature_in_degrees_celsius_t;
|
||||
|
||||
/** @brief Values for 'Relative Humidity in %' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_DISCHARGE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_HUMIDITY, 0x0000), /*!< Discharge */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_EXHAUST, /*!< Exhaust */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_HOT_DECK, /*!< Hot deck */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_MIXED_AIR, /*!< Mixed air */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_OUTDOOR_AIR, /*!< Outdoor air */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_RETURN, /*!< Return */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_SIDELOOP, /*!< Sideloop */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_SPACE, /*!< Space */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_ZONE, /*!< Zone */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_HUMIDITY_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_HUMIDITY, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_relative_humidity_in_percent_t;
|
||||
|
||||
/** @brief Values for 'Pressure in Pascal' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_PRESSURE_BOILER_PUMP_DIFFERENTIAL = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PRESSURE, 0x0000), /*!< Boier pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_BUILDING_STATIC, /*!< Building static */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_COLD_DECK_DIFFERENTIAL_SENSOR, /*!< Cold deck differential sensor */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_CHILLED_WATER_BUILDING_DIFFERENTIAL, /*!< Chilled water building differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_COLD_DECK_DIFFERENTIAL, /*!< Cold deck differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_COLD_DECK_STATIC, /*!< Cold deck static */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_CONDENSER_WATER_PUMP_DIFFERENTIAL, /*!< Condenser water pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_DISCHARGE_DIFFERENTIAL, /*!< Discharge differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_DISCHARGE_STATIC_1, /*!< Discharge static 1 */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_DISCHARGE_STATIC_2, /*!< Discharge static 2 */
|
||||
|
||||
ESP_ZB_ZCL_AI_PRESSURE_EXHAUST_AIR_DIFFERENTIAL, /*!< Exhaust air differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_EXHAUST_AIR_STATIC, /*!< Exhaust air static */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_EXHAUST_DIFFERENTIAL_0, /*!< Exhaust differential 0. Note: Exhaust differential is duplicated in spec */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_EXHAUST_DIFFERENTIAL_1, /*!< Exhaust differential 1 */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_HOT_DECK_DIFFERENTIAL_0, /*!< Hot deck differential 0. Note: Hot Deck differential is duplicated in spec */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_HOT_DECK_DIFFERENTIAL_1, /*!< Hot deck differential 1 */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_HOT_DECK_STATIC, /*!< Hot deck static */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_HOT_WATER_BLDG_DIFF, /*!< Hot water bldg Diff */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_HEAT_EXCHANGER_STEAM, /*!< Heat exchanger steam */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_MIN_OUTDOOR_AIR_DIFFERENTIAL, /*!< Min outdoor air differential */
|
||||
|
||||
ESP_ZB_ZCL_AI_PRESSURE_OUTDOOR_AIR_DIFFERENTIAL, /*!< Outdoor air differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_PRIMARY_CHILLED_WATER_PUMP_DIFFERENTIAL, /*!< Primary chilled water pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_PRIMATY_HOT_WATER_PUMP_DIFFERENTIAL, /*!< Primary hot water pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_RELIEF_DIFFERENTIAL, /*!< Relief differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_RETURN_AIR_STATIC, /*!< Return air Static */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_RETURN_DIFFERENTIAL, /*!< Return differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_SECONDARY_CHILLED_WATER_PUMP_DIFFERENTIAL, /*!< Secondary chilled water pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_SECONDARY_HOT_WATER_PUMP_DIFFERENTIAL, /*!< Secondary hot water pump differential */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_SIDELOOP, /*!< Sideloop */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_STEAM, /*!< Steam */
|
||||
|
||||
ESP_ZB_ZCL_AI_PRESSURE_SUPPLY_DIFFERENTIAL_SENSOR, /*!< Supply differential sensor */
|
||||
/* 0x0200 to 0xffffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_PRESSURE_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PRESSURE, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_pressure_in_pascal_t;
|
||||
|
||||
/** @brief Values for 'Flow in Liters per Second' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_FLOW_CHILLED_WATER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_FLOW, 0x0000), /*!< Chilled water */
|
||||
ESP_ZB_ZCL_AI_FLOW_CHILLER_CHILLED_WATER, /*!< Chiller chilled water */
|
||||
ESP_ZB_ZCL_AI_FLOW_CHILLER_CONDENSER_WATER, /*!< Chiller condenser water */
|
||||
ESP_ZB_ZCL_AI_FLOW_COLD_DECK, /*!< Cold deck */
|
||||
ESP_ZB_ZCL_AI_FLOW_DECOUPLE_LOOP, /*!< Decouple loop */
|
||||
ESP_ZB_ZCL_AI_FLOW_DISCHARGE, /*!< Discharge */
|
||||
ESP_ZB_ZCL_AI_FLOW_EXHAUST_FAN, /*!< Exhaust fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_EXHAUST, /*!< Exhaust */
|
||||
ESP_ZB_ZCL_AI_FLOW_FAN, /*!< Fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_HOT_DECK, /*!< Flow hot deck */
|
||||
|
||||
ESP_ZB_ZCL_AI_FLOW_HOT_WATER, /*!< Hot water */
|
||||
ESP_ZB_ZCL_AI_FLOW_MIN_OUTDOOR_AIR_FAN, /*!< Min outdoor air fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_MIN_OUTDOOR_AIR, /*!< Min outdoor Air */
|
||||
ESP_ZB_ZCL_AI_FLOW_OUTDOOR_AIR, /*!< Outdoor air */
|
||||
ESP_ZB_ZCL_AI_FLOW_PRIMARY_CHILLED_WATER, /*!< Primary chilled water */
|
||||
ESP_ZB_ZCL_AI_FLOW_RELIEF_FAN, /*!< Relief fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_RELIEF, /*!< Relief */
|
||||
ESP_ZB_ZCL_AI_FLOW_RETURN_FAN, /*!< Return fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_RETURN, /*!< Return */
|
||||
ESP_ZB_ZCL_AI_FLOW_SECONDARY_CHILLED_WATER_FLOW, /*!< Secondary chilled water flow */
|
||||
|
||||
ESP_ZB_ZCL_AI_FLOW_SUPPLY_FAN, /*!< Supply fan */
|
||||
ESP_ZB_ZCL_AI_FLOW_TOWER_FAN, /*!< Tower fan */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_FLOW_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_FLOW, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_flow_in_liters_per_second_t;
|
||||
|
||||
/** @brief Values for 'Percentage %' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_PERCENTAGE_CHILLER_FULL_LOAD_AMPERAGE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PERCENTAGE, 0x0000), /*!< Chiller full load amperage */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_PERCENTAGE_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PERCENTAGE, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_percentage_t;
|
||||
|
||||
/** @brief Values for 'Parts per Million PPM' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_PPM_RETURN_CARBON_DIOXIDE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PPM, 0x0000), /*!< Return carbon dioxide */
|
||||
ESP_ZB_ZCL_AI_PPM_ZONE_CARBON_DIOXIDE, /*!< Zone carbon dioxide */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_PPM_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_PPM, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_ppm_t;
|
||||
|
||||
/** @brief Values for 'Rotational Speed in RPM' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_RPM_EXHAUS_FAN_REMOTE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_RPM, 0x0000), /*!< Exhaust fan remote */
|
||||
ESP_ZB_ZCL_AI_RPM_HEAT_RECOVERY_WHEEL_REMOTE, /*!< Heat recovery wheel remote */
|
||||
ESP_ZB_ZCL_AI_RPM_MIN_OUTDOOR_AIR_FAN_REMOTE, /*!< Min outdoor air fan remote */
|
||||
ESP_ZB_ZCL_AI_RPM_RELIEF_FAN_REMOTE, /*!< Relief fan remote */
|
||||
ESP_ZB_ZCL_AI_RPM_RETURN_FAN_REMOTE, /*!< Return fan remote */
|
||||
ESP_ZB_ZCL_AI_RPM_SUPPLY_FAN_REMOTE, /*!< Supply fan remote */
|
||||
ESP_ZB_ZCL_AI_RPM_VARIABLE_SPEED_DRIVE_MOTOR, /*!< Variable speed drive motor */
|
||||
ESP_ZB_ZCL_AI_RPM_VARIABLE_SPEED_DRIVE_SETPOINT, /*!< Variable speed drive setpoint */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_RPM_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_RPM, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_rpm_t;
|
||||
|
||||
/** @brief Values for 'Current in Amps' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_CURRENT_CHILLER_AMPS = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_CURRENT_IN_AMPS, 0x0000), /*!< Chiller amps */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_CURRENT_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_CURRENT_IN_AMPS, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_current_t;
|
||||
|
||||
/** @brief Values for 'Frequency in Hz' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_FREQUENCY_VARIABLE_SPEED_DRIVE_OUTPUT = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_FREQUENCY, 0x0000), /*!< Variable speed drive output */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_FREQUENCY_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_FREQUENCY, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_frequency_t;
|
||||
|
||||
/** @brief Values for 'Power in Watts' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_POWER_IN_WATTS_CONSUMPTION = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_WATTS, 0x0000), /*!< Consumption */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_POWER_IN_WATTS_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_WATTS, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_power_in_watts_t;
|
||||
|
||||
/** @brief Values for 'Power in kW' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_POWER_IN_KILOWATTS_ABSOLUTE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_KILOWATTS, 0x0000), /*!< Absolute */
|
||||
ESP_ZB_ZCL_AI_POWER_IN_KILOWATTS_CONSUMPTION, /*!< Consumption */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_POWER_IN_KILOWATTS_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_POWER_IN_KILOWATTS, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_power_in_kilowatts_t;
|
||||
|
||||
/** @brief Values for 'Energy in kWH' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_ENERGY_KWH_VARIABLE_SPEED_DRIVE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_ENERGY, 0x0000), /*!< Variable speed drive */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_ENERGY_KWH_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_ENERGY, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_energy_kwh_t;
|
||||
|
||||
/** @brief Values for 'Count - Unitless' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_COUNT_UNITLESS_COUNT = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_COUNT_UNITLESS, 0x0000), /*!< Count */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_COUNT_UNITLESS_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_COUNT_UNITLESS, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_count_unitless_t;
|
||||
|
||||
/** @brief Values for 'Enthalpy in KJoules per Kg' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_ENTHALPY_OUTDOOR_AIR = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_ENTHALPY, 0x0000), /*!< Out door air */
|
||||
ESP_ZB_ZCL_AI_ENTHALPY_RETURN_AIR, /*!< Return air */
|
||||
ESP_ZB_ZCL_AI_ENTHALPY_SPACE, /*!< Space */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_ENTHALPY_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_ENTHALPY, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_enthalpy_t;
|
||||
|
||||
/** @brief Values for 'Time in Seconds' type of Analog Input cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AI_TIME_RELATIVE = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_TIME, 0x0000), /*!< Relative */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AI_TIME_OTHER = ESP_ZB_ZCL_AI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AI_APP_TYPE_TIME, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ai_time_t;
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_RELIABILITY_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Default value for StatusFlags attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAG_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAGS_MIN_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_STATUS_FLAGS_MAX_VALUE 0x0f
|
||||
|
||||
/** Number of attributes mandatory for reporting in Analog Input cluster */
|
||||
#define ESP_ZB_ZCL_ANALOG_INPUT_REPORT_ATTR_COUNT 2
|
||||
|
||||
void esp_zb_zcl_analog_input_init_server(void);
|
||||
void esp_zb_zcl_analog_input_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_INPUT_SERVER_ROLE_INIT esp_zb_zcl_analog_input_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_INPUT_CLIENT_ROLE_INIT esp_zb_zcl_analog_input_init_client
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Analog Output cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_DESCRIPTION_ID = 0x001c, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_MAX_PRESENT_VALUE_ID = 0x0041, /*!< MaxPresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_MIN_PRESENT_VALUE_ID = 0x0045, /*!< MinPresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_PRIORITY_ARRAY_ID = 0x0057, /*!< PriorityArray attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_RELIABILITY_ID = 0x0067, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_RELINQUISH_DEFAULT_ID = 0x0068, /*!< RelinquishDefault attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_RESOLUTION_ID = 0x006a, /*!< Resolution attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_STATUS_FLAGS_ID = 0x006f, /*!< StatusFlags attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_ENGINEERING_UNITS_ID = 0x0075, /*!< EngineeringUnits attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_OUTPUT_APPLICATION_TYPE_ID = 0x0100, /*!< ApplicationType attribute */
|
||||
} esp_zb_zcl_analog_output_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit */
|
||||
} esp_zb_zcl_analog_output_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_ANALOG_OUTPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_analog_output_reliability_value_t;
|
||||
|
||||
/** Analog Output cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Analog Output
|
||||
* clusters have Group = 0x01.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
|
||||
#define ESP_ZB_ZCL_AO_GROUP_ID 0x01
|
||||
#define ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(_type, _id) (((_type & 0xff) << 16) | (_id & 0xffff))
|
||||
|
||||
/** @brief Values for Analog Input cluster applications type */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_TEMPERATURE, /*!< Temperature */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_HUMIDITY, /*!< Humidity */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_PRESSURE, /*!< Pressure */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_FLOW, /*!< Flow */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_PERCENTAGE, /*!< Percentage */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_PPM, /*!< Ppm */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_RPM, /*!< Rpm */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_CURRENT_IN_AMPS, /*!< Current in amps */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_FREQUENCY, /*!< Frequency */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_POWER_IN_WATTS, /*!< Power in watts */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_POWER_IN_KILOWATTS, /*!< Power in kilowatts */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_ENERGY, /*!< Energy */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_COUNT_UNITLESS, /*!< Count unitless */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_ENTHALPY, /*!< Enthalpy */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_TIME, /*!< Time */
|
||||
/* Types 0x0f to 0xfe are reserved */
|
||||
ESP_ZB_ZCL_AO_APP_TYPE_OTHER = 0xff, /*!< Other */
|
||||
} esp_zb_zcl_ao_application_types_t;
|
||||
|
||||
/** @brief Values for 'Temperature in degrees Celsius' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_BOILER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_TEMPERATURE, 0x0000), /*!< Boiler */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_BOILER_SETPOINT, /*!< Boiler setpoint */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_COLD_DECK, /*!< Cold deck */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_CHILLER_SETPOINT_0, /*!< Chiller setpoint 0. Note: Chiller Setpoint is duplicated in spec */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_CHILLER_SETPOINT_1, /*!< Chiller setpoint 1 */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_HOT_DECK, /*!< Hot deck */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_COOLING_VALVE, /*!< Cooling valve */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_ZONE_TEMPERATURE_SETPOINT, /*!< Zone temperature setpoint */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_SETPOINT_OFFSET, /*!< Setpoint offset */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_SETPOINT_SHIFT, /*!< Setpoint shift */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_TEMPERATURE_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_TEMPERATURE, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_temperature_in_degrees_celsius_t;
|
||||
|
||||
/** @brief Values for 'Relative Humidity in %' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_HUMIDITY_HUMIDIFICATION = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_HUMIDITY, 0x0000), /*!< Humidification */
|
||||
ESP_ZB_ZCL_AO_HUMIDITY_ZONE_RELATIVE_HUMIDITY, /*!< Zone relative humidity */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_HUMIDITY_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_HUMIDITY, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_relative_humidity_in_percent_t;
|
||||
|
||||
/** @brief Values for 'Percentage %' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_FACE_BYPASS_DAMPER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_PERCENTAGE, 0x0000), /*!< Face bypass damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HEAT_RECOVERY_VALVE, /*!< Heat recovery valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HEAT_RECOVERY_WHEEL, /*!< Heat recovery wheel */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HEATING_VALVE, /*!< Heating valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HOT_DECK_DAMPER, /*!< Hot deck damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_2_PIPE_DAMPER, /*!< 2 pipe damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_2_PIPE_VALVE, /*!< 2 pipe valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_BOILER_MIXING_VALVE, /*!< Boiler mixing valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_BOX_COOLING_VALVE, /*!< Box cooling valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_BOX_HEATING_VALVE, /*!< Box heating valve */
|
||||
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_CHILLED_WATER_BYPASS_VALVE, /*!< Chilled water bypass valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_COLD_DECK_DAMPER, /*!< Cold deck damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_COOLING_DAMPER, /*!< Cooling damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_COOLING_VALVE, /*!< Cooling valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_DAMPER, /*!< Damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_EXHAUST_AIR_DAMPER, /*!< Exhaust air damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_EXHAUST_DAMPER, /*!< Exhaust damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HOT_WATER_BYPASS_VALVE, /*!< Hot water bypass valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HOT_WATER_MIXING_VALVE, /*!< Hot water mixing valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_MINIMUM_OUTSIDE_AIR_DAMPER, /*!< Minimum outside air damper */
|
||||
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_MINIMUM_OUTSIDE_AIR_FAN, /*!< Minimum outside air fan */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_MIXED_AIR_DAMPER, /*!< Mixed air damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_MIXING_VALVE, /*!< Mixing valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_OUTSIDE_AIR_DAMPER, /*!< Ourside air damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_PRIMARY_CHILLED_WATER_PUMP, /*!< Primary chilled water pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_PRIMARY_HOT_WATER_PUMP, /*!< Primary hot water pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_PRIMARY_HEAT_EXCHANGE_PUMP, /*!< Primary heat exchange pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_PREHEAT_DAMPER, /*!< Preheat damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_PREHEAT_VALVE, /*!< Preheat valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_REHEAT_VALVE_0, /*!< Reheat valve 0. Note: Reheat valve is duplicated in spec */
|
||||
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_REHEAT_VALVE_1, /*!< Reheat valve 1 */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_RETURN_AIR_DAMPER, /*!< Return air damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SECONDARY_CHILLED_WATER_PUMP, /*!< Secondary chilled water pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SEQUENCED_VALVE, /*!< Sequenced valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SECONDARY_HOT_WATER_PUMP, /*!< Secondary hot water pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SECONDARY_HEAT_EXCHANGE_PUMP, /*!< Secondary heat exchange pump */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SIDELOOP, /*!< Sideloop */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SUPPLY_HEATING_VALVE, /*!< Supply heating valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_SUPPLY_DAMPER, /*!< Supply damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_TOWER_BYPASS_VALVE, /*!< Tower bypass valve */
|
||||
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_TOWER_FAN, /*!< Tower fan */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_VALVE, /*!< Value */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_ZONE_1_DAMPER, /*!< Zone 1 damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_ZONE_1_HEATING_VALVE, /*!< Zone 1 heating valve */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HEAT_RECOVERY_EXHAUST_BYPASS_DAMPER, /*!< Heat recovery exhaust bypass damper */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_HEAT_RECOVERY_OUTSIDE_AIR_BYPASS_DAMPER, /*!< Heat recovery outside air bypass damper */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_PERCENTAGE_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_PERCENTAGE, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_percentage_t;
|
||||
|
||||
/** @brief Values for 'Parts per Million PPM' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_PPM_SPACE_CARBON_DIOXIDE_LIMIT = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_PPM, 0x0000), /*!< Space carbon dioxide limit */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_PPM_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_PPM, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_ppm_t;
|
||||
|
||||
/** @brief Values for 'Rotational Speed in RPM' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_RPM_EXHAUST_FAN_SPEED = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_RPM, 0x0000), /*!< Exhaust fan speed */
|
||||
ESP_ZB_ZCL_AO_RPM_FAN_SPEED, /*!< Fan speed */
|
||||
ESP_ZB_ZCL_AO_RPM_RELIEF_FAN_SPEED, /*!< Relief fan speed */
|
||||
ESP_ZB_ZCL_AO_RPM_RETURN_FAN_SPEED, /*!< Return fan speed */
|
||||
ESP_ZB_ZCL_AO_RPM_SUPPLY_FAN_SPEED, /*!< Supply fan speed */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_RPM_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_RPM, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_rpm_t;
|
||||
|
||||
/** @brief Values for 'Time in Seconds' type of Analog Output cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AO_TIME_RELATIVE = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_TIME, 0x0000), /*!< Relative */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AO_TIME_OTHER = ESP_ZB_ZCL_AO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AO_APP_TYPE_TIME, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_ao_time_t;
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for StatusFlags attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAG_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAGS_MIN_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_STATUS_FLAGS_MAX_VALUE 0x0f
|
||||
|
||||
/** Number of attributes mandatory for reporting in Analog Output cluster */
|
||||
#define ESP_ZB_ZCL_ANALOG_OUTPUT_REPORT_ATTR_COUNT 2
|
||||
|
||||
void esp_zb_zcl_analog_output_init_server(void);
|
||||
void esp_zb_zcl_analog_output_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_OUTPUT_SERVER_ROLE_INIT esp_zb_zcl_analog_output_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_OUTPUT_CLIENT_ROLE_INIT esp_zb_zcl_analog_output_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Analog Value cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_DESCRIPTION_ID = 0x001c, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_PRIORITY_ARRAY_ID = 0x0057, /*!< PriorityArray attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_RELIABILITY_ID = 0x0067, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_RELINQUISH_DEFAULT_ID = 0x0068, /*!< RelinquishDefault attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_STATUS_FLAGS_ID = 0x006f, /*!< StatusFlags attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_ENGINEERING_UNITS_ID = 0x0075, /*!< EngineeringUnits attribute */
|
||||
ESP_ZB_ZCL_ATTR_ANALOG_VALUE_APPLICATION_TYPE_ID = 0x0100, /*!< ApplicationType attribute */
|
||||
} esp_zb_zcl_analog_value_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_analog_value_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_analog_value_reliability_value_t;
|
||||
|
||||
/** Analog Value cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* - Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Analog Value
|
||||
* clusters have Group = 0x02.
|
||||
*
|
||||
* - Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* - Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
|
||||
#define ESP_ZB_ZCL_AV_GROUP_ID 0x02
|
||||
#define ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(_type, _id) ((ESP_ZB_ZCL_AV_GROUP_ID << 24) | ((_type & 0xff) << 16) | (_id & 0xffff))
|
||||
|
||||
/** @brief Values for Analog Value cluster applications type */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AV_APP_TYPE_TEMPERATURE = 0x00, /*!< Temperature */
|
||||
ESP_ZB_ZCL_AV_APP_TYPE_AREA = 0x01, /*!< Area */
|
||||
ESP_ZB_ZCL_AV_APP_TYPE_MULTIPLIER = 0x02, /*!< Multiplier */
|
||||
ESP_ZB_ZCL_AV_APP_TYPE_FLOW = 0x03, /*!< Flow */
|
||||
ESP_ZB_ZCL_AV_APP_TYPE_OTHER = 0xff, /*!< Other */
|
||||
} esp_zb_zcl_av_application_types_t;
|
||||
|
||||
/** @brief Values for 'Temperature in degrees Celsius' type of Analog Value cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_SETPOINT_OFFSET_0 = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_TEMPERATURE, 0x0000), /*!< Setpoint Offset */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_TEMP_DEADBAND, /*!< Temp deadband */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_OCCUPIED_HEATING_SETPOINT, /*!< Occupied heating setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_UNOCCUPIED_HEATING_SETPOINT, /*!< Unoccupied heating setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_OCCUPIED_COOLING_SETPOINT, /*!< Occupied cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_UNOCCUPIED_COOLING_SETPOINT, /*!< Unoccupied cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_STANDBY_HEAT_SETPOINT, /*!< Standby heat setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_STANDBY_COOLING_SETPOINT, /*!< Standby cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_OCCUPIED_HEATING_SETPOINT, /*!< Effective occupied heating setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_UNOCCUPIED_HEATING_SETPOINT, /*!< Effective unoccupied heating setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_OCCUPIED_COOLING_SETPOINT, /*!< Effective occupied cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_UNOCCUPIED_COOLING_SETPOINT, /*!< Effective unoccupied cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_STANDBY_HEAT_SETPOINT, /*!< Effective standby heat setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_EFFECTIVE_STANDBY_COOLING_SETPOINT, /*!< Effective standby cooling setpoint */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_SETPOINT_OFFSET_2, /*!< Setpoint offset 2 */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_SETPOINT_SHIFT, /*!< Setpoint shift */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AV_TEMPERATURE_OTHER = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_TEMPERATURE, 0xffff), /*!< Other*/
|
||||
} esp_zb_zcl_av_temperature_in_degrees_celsius_t;
|
||||
|
||||
/** @brief Values for 'Area in Square Metres' type of Analog Value cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AV_AREA_DUCT_AREA = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_AREA, 0x0000), /*!< Duct Area */
|
||||
/* 0x0200 to 0xffffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AV_AREA_OTHER = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_AREA, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_av_area_in_squares_meters_t;
|
||||
|
||||
/** @brief Values for 'Multiplier - Number' type of Analog Value cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AV_MULTIPLIER_DUCT_MULTIPLIER = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_MULTIPLIER, 0x0000), /*!< Duct Area */
|
||||
/* 0x0200 to 0xffffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AV_MULTIPLIER_OTHER = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_MULTIPLIER, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_av_multiplier_number_t;
|
||||
|
||||
/** @brief Values for 'Flow in Litres per Second' type of Analog Value cluster */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_AV_FLOW_MINIMUM_AIR_FLOW = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_FLOW, 0x0000), /*!< Minimum Air Flow */
|
||||
ESP_ZB_ZCL_AV_FLOW_MAXIMUM_AIR_FLOW, /*!< Maximum Air Flow */
|
||||
ESP_ZB_ZCL_AV_FLOW_HEATING_MINIMUM_AIR_FLOW, /*!< Heating Minimum Air Flow */
|
||||
ESP_ZB_ZCL_AV_FLOW_HEATING_MAXIMUM_AIR_FLOW, /*!< Heating Maximum Air Flow */
|
||||
ESP_ZB_ZCL_AV_FLOW_STANDBY_MINIMUM_AIR_FLOW, /*!< Standby Minimum Air Flow */
|
||||
ESP_ZB_ZCL_AV_FLOW_STANDBY_MAXIMUM_AIR_FLOW, /*!< Standby Maximum Air Flow */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_AV_FLOW_OTHER = ESP_ZB_ZCL_AV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_AV_APP_TYPE_FLOW, 0xffff), /*!< Other */
|
||||
} esp_zb_zcl_av_flow_in_liters_per_second_t;
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_RELIABILITY_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Default value for StatusFlags attribute */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAGS_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAGS_MIN_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ANALOG_VALUE_STATUS_FLAGS_MAX_VALUE 0x0f
|
||||
|
||||
void esp_zb_zcl_analog_value_init_server(void);
|
||||
void esp_zb_zcl_analog_value_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_VALUE_SERVER_ROLE_INIT esp_zb_zcl_analog_value_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_ANALOG_VALUE_CLIENT_ROLE_INIT esp_zb_zcl_analog_value_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Basic cluster information attribute set identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_BASIC_ZCL_VERSION_ID = 0x0000, /*!< ZCL version attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_APPLICATION_VERSION_ID = 0x0001, /*!< Application version attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_STACK_VERSION_ID = 0x0002, /*!< Stack version attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_HW_VERSION_ID = 0x0003, /*!< Hardware version attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID = 0x0004, /*!< Manufacturer name attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID = 0x0005, /*!< Model identifier attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_DATE_CODE_ID = 0x0006, /*!< Date code attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_POWER_SOURCE_ID = 0x0007, /*!< Power source attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_GENERIC_DEVICE_CLASS_ID = 0x0008, /*!< The GenericDeviceClass attribute defines the field of application of the GenericDeviceType attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_GENERIC_DEVICE_TYPE_ID = 0x0009, /*!< The GenericDeviceType attribute allows an application to show an icon on a rich user interface (e.g. smartphone app). */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_PRODUCT_CODE_ID = 0x000a, /*!< The ProductCode attribute allows an application to specify a code for the product. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_PRODUCT_URL_ID = 0x000b, /*!< The ProductURL attribute specifies a link to a web page containing specific product information. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_VERSION_DETAILS_ID = 0x000c, /*!< Vendor specific human readable (displayable) string representing the versions of one of more program images supported on the device. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_SERIAL_NUMBER_ID = 0x000d, /*!< Vendor specific human readable (displayable) serial number. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_PRODUCT_LABEL_ID = 0x000e, /*!< Vendor specific human readable (displayable) product label. */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_LOCATION_DESCRIPTION_ID = 0x0010, /*!< Location description attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_PHYSICAL_ENVIRONMENT_ID = 0x0011, /*!< Physical environment attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_DEVICE_ENABLED_ID = 0x0012, /*!< Device enabled attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_ALARM_MASK_ID = 0x0013, /*!< Alarm mask attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_DISABLE_LOCAL_CONFIG_ID = 0x0014, /*!< Disable local config attribute */
|
||||
ESP_ZB_ZCL_ATTR_BASIC_SW_BUILD_ID = 0x4000 /*!< Manufacturer-specific reference to the version of the software. */
|
||||
} esp_zb_zcl_basic_attr_t;
|
||||
|
||||
/**
|
||||
* @brief Permitted values for "Power source" attribute.
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zb_zcl_basic_power_source_e {
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_UNKNOWN = 0x00, /*!< Unknown power source */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_MAINS_SINGLE_PHASE = 0x01, /*!< Single-phase mains. */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_MAINS_THREE_PHASE = 0x02, /*!< 3-phase mains. */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_BATTERY = 0x03, /*!< Battery source. */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_DC_SOURCE = 0x04, /*!< DC source. */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_EMERGENCY_MAINS_CONST = 0x05, /*!< Emergency mains constantly powered. */
|
||||
ESP_ZB_ZCL_BASIC_POWER_SOURCE_EMERGENCY_MAINS_TRANSF = 0x06 /*!< Emergency mains and transfer switch. */
|
||||
} esp_zb_zcl_basic_power_source_t;
|
||||
|
||||
/** The secondary backup power source, @p power is listed in esp_zb_zcl_basic_power_source_t */
|
||||
#define ESP_ZB_ZCL_BASIC_SECONDARY_POWER_SOURCE(power) ((1U << 7) + power)
|
||||
|
||||
/** @brief Default value for ZCL version attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_ZCL_VERSION_DEFAULT_VALUE ((uint8_t)0x08)
|
||||
|
||||
/** @brief Default value for Application version attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_APPLICATION_VERSION_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for Stack version attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_STACK_VERSION_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for Hardware version attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_HW_VERSION_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for Manufacturer name attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_MANUFACTURER_NAME_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Model identifier attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_MODEL_IDENTIFIER_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Date code attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_DATE_CODE_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Power source attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_POWER_SOURCE_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for GenericDeviceClass attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_GENERIC_DEVICE_CLASS_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for GenericDeviceType attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_GENERIC_DEVICE_TYPE_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for ProductCode attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_PRODUCT_CODE_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for ProductURL attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_PRODUCT_URL_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for ManufacturerVersionDetails attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_MANUFACTURER_VERSION_DETAILS_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for SerialNumber attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_SERIAL_NUMBER_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for ProductLabel attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_PRODUCT_LABEL_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for location description attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_LOCATION_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Physical environment attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_PHYSICAL_ENVIRONMENT_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for Device enabled attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_DEVICE_ENABLED_DEFAULT_VALUE ((bool)0x01)
|
||||
|
||||
/** @brief Default value for Alarm mask attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_ALARM_MASK_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for Disable local config attribute */
|
||||
#define ESP_ZB_ZCL_BASIC_DISABLE_LOCAL_CONFIG_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/**
|
||||
* @brief Default value for SWBuildId attribute.
|
||||
* @note Default value supposes that attribute will be stored as Pascal-style string (i. e.
|
||||
* length-byte, then content).
|
||||
*/
|
||||
#define ESP_ZB_ZCL_BASIC_SW_BUILD_ID_DEFAULT_VALUE {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||
|
||||
/*! @brief Basic cluster command identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_BASIC_RESET_ID = 0x00 /*!< "Reset to Factory Defaults" command. */
|
||||
} esp_zb_zcl_basic_cmd_id_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,304 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Binary Input cluster attribute identifiers.
|
||||
*/
|
||||
typedef enum {
|
||||
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_ACTIVE_TEXT_ID = 0x0004, /*!< This attribute holds a human readable description of the ACTIVE state of a binary PresentValue. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_DESCRIPTION_ID = 0x001C, /*!< The description of the usage of the input, output or value, as appropriate to the cluster. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_INACTIVE_TEXT_ID = 0x002E, /*!< This attribute holds a human readable description of the INACTIVE state of a binary PresentValue. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_POLARITY_ID = 0x0054, /*!< This attribute indicates the relationship between the physical state of the input (or output as appropriate for the cluster) and the logical state represented by a binary PresentValue attribute, when OutOfService is FALSE. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_RELIABILITY_ID = 0x0067, /*!< The attribute indicates whether the PresentValue or the operation of the physical input, output or value in question (as appropriate for the cluster) is reliable. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_STATUS_FLAGS_ID = 0x006F, /*!< StatusFlag attribute */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_INPUT_APPLICATION_TYPE_ID = 0x0100, /*!< The attribute indicates the specific application usage for this cluster. */
|
||||
} esp_zb_zcl_binary_input_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_binary_input_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_binary_input_reliability_value_t;
|
||||
|
||||
/** @brief Values for Polarity attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_INPUT_POLARITY_NORMAL = 0x00, /*!< Normal polarity */
|
||||
ESP_ZB_ZCL_BINARY_INPUT_POLARITY_REVERSE = 0x01, /*!< Reverse polarity */
|
||||
} esp_zb_zcl_binary_input_polarity_value_t;
|
||||
|
||||
/** Binary Input cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Binary Input
|
||||
* clusters have Group = 0x00.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_BI_GROUP_ID 0x03
|
||||
#define ESP_ZB_ZCL_BI_SET_APP_TYPE_WITH_ID(_type, _id) (((ESP_ZB_ZCL_BI_GROUP_ID & 0xFF) << 24) | (((_type) & 0xFF) << 16) | ((_id) & 0xFFFF))
|
||||
|
||||
/** @brief Values for Binary Input cluster application types (Type field, bits 16-23) */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_HVAC = 0x00, /*!< Application Domain HVAC */
|
||||
ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_SECURITY = 0x01, /*!< Application Domain Security */
|
||||
/* 0x02 to 0xFE are reserved */
|
||||
ESP_ZB_ZCL_BI_APP_TYPE_OTHER = 0xFF /*!< Other */
|
||||
} esp_zb_zcl_bi_application_types_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_2_PIPE_PUMP_STATUS =
|
||||
ESP_ZB_ZCL_BI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_HVAC, 0x0000), /*!< 2 Pipe Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_AIR_PROVING_SWITCH, /*!< Air Proving Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_ALARM_RESET, /*!< Alarm Reset BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_STATUS, /*!< Boiler Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_FLOW_STATUS, /*!< Boiler Flow Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_GENERAL_ALARM, /*!< Boiler General Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_HIGH_TEMPERATURE_ALARM, /*!< Boiler High Temperature Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_ISOLATION_VALVE_STATUS, /*!< Boiler Isolation Valve Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_MAINTENANCE_SWITCH, /*!< Boiler Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_PUMP_OVERLOAD, /*!< Boiler Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_PUMP_STATUS, /*!< Boiler Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOILER_STATUS_2, /*!< Boiler Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_BOX_HEATING_ALARM, /*!< Box Heating Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_ALARM, /*!< Chiller Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_CHILLED_WATER_FLOW_STATUS, /*!< Chiller Chilled Water Flow Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_CHILLED_WATER_ISOLATION_VALVE_STATUS, /*!< Chiller Chilled Water Isolation Valve Status BI
|
||||
*/
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_CONDENSER_WATER_FLOW_STATUS, /*!< Chiller Condenser Water Flow Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_CONDENSER_WATER_ISOLATION_VALVE_STATUS, /*!< Chiller Condenser Water Isolation Valve
|
||||
Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_MAINTENANCE_SWITCH, /*!< Chiller Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLER_STATUS, /*!< Chiller Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLED_WATER_EXPANSION_TANK_ALARM, /*!< Chilled Water Expansion Tank Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLED_WATER_EXPANSION_TANK_HIGH_PRESSURE_ALARM, /*!< Chilled Water Expansion Tank High Pressure
|
||||
Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLED_WATER_EXPANSION_TANK_LOW_PRESSURE_ALARM, /*!< Chilled Water Expansion Tank Low Pressure
|
||||
Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CHILLED_WATER_EXPANSION_TANK_STATUS, /*!< Chilled Water Expansion Tank Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_COMBUSTION_DAMPER_STATUS, /*!< Combustion Damper Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_COOLING_ALARM, /*!< Cooling Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_COOLING_PUMP_MAINTENANCE_SWITCH, /*!< Cooling Pump Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_COOLING_PUMP_OVERLOAD, /*!< Cooling Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_COOLING_PUMP_STATUS, /*!< Cooling Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_EXPANSION_TANK_ALARM, /*!< Condenser Water Expansion Tank Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_EXPANSION_TANK_HIGH_PRESSURE_ALARM, /*!< Condenser Water Expansion Tank High
|
||||
Pressure Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_EXPANSION_TANK_LOW_PRESSURE_ALARM, /*!< Condenser Water Expansion Tank Low
|
||||
Pressure Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_EXPANSION_TANK_STATUS, /*!< Condenser Water Expansion Tank Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_PUMP_MAINTENANCE_SWITCH, /*!< Condenser Water Pump Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_PUMP_OVERLOAD, /*!< Condenser Water Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_CONDENSER_WATER_PUMP_STATUS, /*!< Condenser Water Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_DECOUPLE_LOOP_FLOW_DIRECTION, /*!< Decouple Loop Flow Direction BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_DISCHARGE_SMOKE, /*!< Discharge Smoke BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_DOOR_STATUS, /*!< Door Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_ECONOMIZER_COMMAND, /*!< Economizer Command BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EMERGENCY_SHUTDOWN, /*!< Emergency Shutdown BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EQUIPMENT_TAMPER, /*!< Equipment Tamper BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_ENERGY_HOLD_OFF, /*!< Energy Hold Off BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXHAUST_FAN_MAINTENANCE_SWITCH, /*!< Exhaust Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXHAUST_FAN_OVERLOAD, /*!< Exhaust Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXHAUST_FAN_STATUS, /*!< Exhaust Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXHAUST_FILTER_STATUS, /*!< Exhaust Filter Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXHAUST_SMOKE, /*!< Exhaust Smoke BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXPANSION_TANK_ALARM, /*!< Expansion Tank Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXPANSION_TANK_HIGH_PRESSURE_ALARM, /*!< Expansion Tank High Pressure Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXPANSION_TANK_LOW_PRESSURE_ALARM, /*!< Expansion Tank Low Pressure Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_EXPANSION_TANK_STATUS, /*!< Expansion Tank Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_FAN_CONTROL_BY_OTHERS, /*!< Fan Control By Others BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_FAN_OVERLOAD, /*!< Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_FILTER_MONITORING, /*!< Filter Monitoring BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_FINAL_FILTER_STATUS, /*!< Final Filter Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_FREE_COOLING_AVAILABILITY, /*!< Free Cooling Availability BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_RECOVERY_PUMP_STATUS, /*!< Heat Recovery Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_RECOVERY_WHEEL_ALARM, /*!< Heat Recovery Wheel Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_RECOVERY_WHEEL_MAINTENANCE_SWITCH, /*!< Heat Recovery Wheel Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_RECOVERY_WHEEL_OVERLOAD, /*!< Heat Recovery Wheel Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_RECOVERY_WHEEL_STATUS, /*!< Heat Recovery Wheel Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEATING_ALARM, /*!< Heating Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEATING_COOLING_PUMP_MAINTENANCE_SWITCH, /*!< Heating/Cooling Pump Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEATING_COOLING_PUMP_OVERLOAD, /*!< Heating/Cooling Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HIGH_HUMIDITY_LIMIT, /*!< High Humidity Limit BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HIGH_STATIC_PRESSURE_FAULT, /*!< High Static Pressure Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HIGH_TEMPERATURE_LIMIT_FAULT, /*!< High Temperature Limit Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HUMIDIFIER_ALARM, /*!< Humidifier Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HUMIDIFIER_MAINTENANCE_SWITCH, /*!< Humidifier Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HUMIDIFIER_OVERLOAD, /*!< Humidifier Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HUMIDIFIER_STATUS, /*!< Humidifier Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_EXCHANGER_ALARM, /*!< Heat Exchanger Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_EXCHANGER_ISOLATION_VALVE_STATUS, /*!< Heat Exchanger Isolation Valve Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_HEAT_EXCHANGER_MAINTENANCE_SWITCH, /*!< Heat Exchanger Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_LIGHTING_STATUS, /*!< Lighting Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_LOW_STATIC_PRESSURE_FAULT, /*!< Low Static Pressure Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_LOW_TEMPERATURE_LIMIT_FAULT, /*!< Low Temperature Limit Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_MINIMUM_OUTDOOR_AIR_DAMPER_END_SWITCH, /*!< Minimum Outdoor Air Damper End Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_MINIMUM_OUTDOOR_AIR_FAN_MAINTENANCE_SWITCH, /*!< Minimum Outdoor Air Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_MINIMUM_OUTDOOR_AIR_FAN_OVERLOAD, /*!< Minimum Outdoor Air Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_MINIMUM_OUTDOOR_AIR_FAN_STATUS, /*!< Minimum Outdoor Air Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_MINIMUM_OUTDOOR_AIR_FAN_VARIABLE_FREQUENCY_DRIVE_FAULT, /*!< Minimum Outdoor Air Fan Variable
|
||||
Frequency Drive Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_OCCUPANCY, /*!< Occupancy BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_OCCUPANCY_SENSOR, /*!< Occupancy Sensor BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_MAINTENANCE_SWITCH, /*!< Primary Chilled Water Pump Maintenance Switch
|
||||
BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_OVERLOAD, /*!< Primary Chilled Water Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_STATUS, /*!< Primary Chilled Water Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_MAINTENANCE_SWITCH_2, /*!< Primary Chilled Water Pump Maintenance
|
||||
Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_OVERLOAD_2, /*!< Primary Chilled Water Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_STATUS_2, /*!< Primary Chilled Water Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRE_FILTER_STATUS, /*!< Pre-Filter Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PREHEAT_ALARM, /*!< Preheat Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PREHEAT_BONNET_SWITCH, /*!< Preheat Bonnet Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PREHEAT_PUMP_MAINTENANCE_SWITCH, /*!< Preheat Pump Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PREHEAT_PUMP_OVERLOAD, /*!< Preheat Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PREHEAT_PUMP_STATUS, /*!< Preheat Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REFRIGERANT_ALARM, /*!< Refrigerant Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REHEAT_ALARM, /*!< Reheat Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REHEAT_BONNET_SWITCH, /*!< Reheat Bonnet Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REHEAT_PUMP_MAINTENANCE_SWITCH, /*!< Reheat Pump Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REHEAT_PUMP_OVERLOAD, /*!< Reheat Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_REHEAT_PUMP_STATUS, /*!< Reheat Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RELIEF_FAN_MAINTENANCE_SWITCH, /*!< Relief Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RELIEF_FAN_OVERLOAD, /*!< Relief Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RELIEF_FAN_STATUS, /*!< Relief Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RELIEF_FAN_VARIABLE_FREQUENCY_DRIVE_FAULT, /*!< Relief Fan Variable Frequency Drive Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_AIR_SMOKE, /*!< Return Air Smoke BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_FAN_MAINTENANCE_SWITCH, /*!< Return Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_FAN_OVERLOAD, /*!< Return Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_FAN_STATUS, /*!< Return Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_FAN_VFD_FAULT, /*!< Return Fan VFD Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_RETURN_SMOKE, /*!< Return Smoke BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_MAINTENANCE_SWITCH, /*!< Secondary Chilled Water Pump 1 Maintenance
|
||||
Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_OVERLOAD, /*!< Secondary Chilled Water Pump 1 Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_STATUS, /*!< Secondary Chilled Water Pump 1 Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_MAINTENANCE_SWITCH_2, /*!< Secondary Chilled Water Pump 1
|
||||
Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_OVERLOAD_2, /*!< Secondary Chilled Water Pump 1 Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP_1_STATUS_2, /*!< Secondary Chilled Water Pump 1 Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SIDELOOP, /*!< Sideloop BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_GENERIC_STATUS, /*!< Generic Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUMMER_WINTER, /*!< Summer Winter BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_ALARM, /*!< Supplemental Heating Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_PUMP_MAINTENANCE_SWITCH, /*!< Supplemental Heating Pump Maintenance Switch BI
|
||||
*/
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_PUMP_OVERLOAD, /*!< Supplemental Heating Pump Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_PUMP_STATUS, /*!< Supplemental Heating Pump Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLY_FAN_MAINTENANCE_SWITCH, /*!< Supply Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLY_FAN_OVERLOAD, /*!< Supply Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLY_FAN_STATUS, /*!< Supply Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_SUPPLY_FAN_VARIABLE_FREQUENCY_DRIVE_FAULT, /*!< Supply Fan Variable Frequency Drive Fault BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TEMPORARY_OCCUPANCY, /*!< Temporary Occupancy BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_LEVEL_ALARM, /*!< Tower Level Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_LEVEL_STATUS, /*!< Tower Level Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_TEMP, /*!< Tower Temp BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_VIBRATION_ALARM_STATUS, /*!< Tower Vibration Alarm Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_LEVEL_ALARM_2, /*!< Tower Level Alarm BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_LEVEL_SWITCH, /*!< Tower Level Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_TEMP_SWITCH, /*!< Tower Temp Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_FAN_ISOLATION_VALVE_STATUS, /*!< Tower Fan Isolation Valve Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_FAN_MAINTENANCE_SWITCH, /*!< Tower Fan Maintenance Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_FAN_OVERLOAD, /*!< Tower Fan Overload BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_TOWER_FAN_STATUS, /*!< Tower Fan Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_UNIT_ENABLE, /*!< Unit Enable BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_UNIT_RESET, /*!< Unit Reset BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_WINDOW_STATUS, /*!< Window Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_ZONE_SENSOR_TEMPORARY_OCCUPANCY, /*!< Zone Sensor Temporary Occupancy BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_AIR_PROVING_SWITCH_2, /*!< Air Proving Switch BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_HEATING_STATUS, /*!< Primary Heating Status BI */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_PRIMARY_COOLING_STATUS, /*!< Primary Cooling Status BI */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_HVAC_OTHER = ESP_ZB_ZCL_BI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_HVAC, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_bi_domain_hvac_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_GLASS_BREAKAGE_DETECTION_0 =
|
||||
ESP_ZB_ZCL_BI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_SECURITY, 0x0000), /*!< Glass Breakage Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_INTRUSION_DETECTION, /*!< Intrusion Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_MOTION_DETECTION, /*!< Motion Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_GLASS_BREAKAGE_DETECTION_1, /*!< Glass Breakage Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_ZONE_ARMED, /*!< Zone Armed */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_GLASS_BREAKAGE_DETECTION_2, /*!< Glass Breakage Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_SMOKE_DETECTION, /*!< Smoke Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_CARBON_DIOXIDE_DETECTION, /*!< Carbon Dioxide Detection */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_HEAT_DETECTION, /*!< Heat Detection */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_BI_DOMAIN_SECURITY_OTHER = ESP_ZB_ZCL_BI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BI_APP_TYPE_DOMAIN_SECURITY, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_bi_domain_security_t;
|
||||
|
||||
/** @brief Default value for ActiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_ACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for InactiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_INACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief OutOfService attribute default value */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for Polarity attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_POLARITY_DEFAULT_VALUE ((uint8_t)0)
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_RELIABILITY_DEFAULT_VALUE ((uint8_t)0)
|
||||
|
||||
/** @brief StatusFlag attribute default value */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAGS_DEFAULT_VALUE ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAGS_MIN_VALUE
|
||||
|
||||
/** @brief StatusFlag attribute minimum value */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAGS_MIN_VALUE 0
|
||||
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_BINARY_INPUT_STATUS_FLAGS_MAX_VALUE 0x0F
|
||||
|
||||
void esp_zb_zcl_binary_input_init_server(void);
|
||||
void esp_zb_zcl_binary_input_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_INPUT_SERVER_ROLE_INIT esp_zb_zcl_binary_input_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_INPUT_CLIENT_ROLE_INIT esp_zb_zcl_binary_input_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,266 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Binary Output cluster attribute identifiers. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_ACTIVE_TEXT_ID = 0x0004U, /*!< Human readable description of the ACTIVE state. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_DESCRIPTION_ID = 0x001CU, /*!< Description of the usage. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_INACTIVE_TEXT_ID = 0x002EU, /*!< Human readable description of the INACTIVE state. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_MIN_OFF_TIME_ID = 0x0042U, /*!< Minimum off time. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_MAX_ON_TIME_ID = 0x0043U, /*!< Maximum on time. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_OUT_OF_SERVICE_ID = 0x0051U, /*!< OutOfService attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_POLARITY_ID = 0x0054U, /*!< Relationship between physical and logical state. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_PRESENT_VALUE_ID = 0x0055U, /*!< PresentValue attribute. */
|
||||
/** TODO: support PriorityArray Attribute */
|
||||
// ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_PRIORITY_ARRAY_ID = 0x0057U, /*!< Priority array attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_RELIABILITY_ID = 0x0067U, /*!< Reliability attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_RELINQUISH_DEFAULT_ID = 0x0068U, /*!< Relinquish default. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_STATUS_FLAGS_ID = 0x006FU, /*!< StatusFlag attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_OUTPUT_APPLICATION_TYPE_ID = 0x0100U, /*!< ApplicationType attribute. */
|
||||
} esp_zb_zcl_binary_output_attr_t;
|
||||
|
||||
|
||||
/** @brief Default value for ActiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_ACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for InactiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_INACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for MinOffTime attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_MIN_OFF_TIME_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_U32_FF
|
||||
/** @brief Default value for MaxOnTime attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_MAX_ON_TIME_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_U32_FF
|
||||
/** @brief OutOfService attribute default value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
/** @brief Default value for Polarity attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_POLARITY_DEFAULT_VALUE ((uint8_t)0)
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_DEFAULT_VALUE ((uint8_t)0)
|
||||
/** @brief Default value for RelinquishDefault attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_RELINQUISH_DEFAULT_DEFAULT_VALUE false
|
||||
/** @brief StatusFlag attribute minimum value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAGS_MIN_VALUE 0x00U
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAGS_MAX_VALUE 0x0FU
|
||||
/** @brief StatusFlag attribute default value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAGS_DEFAULT_VALUE ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAGS_MIN_VALUE
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_APPLICATION_TYPE_MIN_VALUE 0
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_BINARY_OUTPUT_APPLICATION_TYPE_MAX_VALUE ESP_ZB_ZCL_VALUE_U32_FF
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_binary_output_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_binary_output_reliability_value_t;
|
||||
|
||||
/** Binary output cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Binary output
|
||||
* clusters have Group = 0x00.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
/** @brief Values for Polarity attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_POLARITY_NORMAL = 0x00, /*!< Normal polarity */
|
||||
ESP_ZB_ZCL_BINARY_OUTPUT_POLARITY_REVERSE = 0x01, /*!< Reverse polarity */
|
||||
} esp_zb_zcl_binary_output_polarity_value_t;
|
||||
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_BO_GROUP_ID 0x04
|
||||
#define ESP_ZB_ZCL_BO_SET_APP_TYPE_WITH_ID(_type, _id) (((ESP_ZB_ZCL_BO_GROUP_ID & 0xFF) << 24) | (((_type) & 0xFF) << 16) | ((_id) & 0xFFFF))
|
||||
|
||||
/** @brief Values for Binary Output cluster application types (Type field, bits 16-23) */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BO_APP_TYPE_DOMAIN_HVAC = 0x00, /*!< Application Domain HVAC */
|
||||
ESP_ZB_ZCL_BO_APP_TYPE_DOMAIN_SECURITY = 0x01, /*!< Application Domain Security */
|
||||
/* 0x02 to 0xFE are reserved */
|
||||
ESP_ZB_ZCL_BO_APP_TYPE_OTHER = 0xFF /*!< Other */
|
||||
} esp_zb_zcl_bo_application_types_t;
|
||||
|
||||
/** @brief Values for Binary Output cluster HVAC application usages */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_2_PIPE_CIRCULATION_PUMP_STATUS =
|
||||
ESP_ZB_ZCL_BO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BO_APP_TYPE_DOMAIN_HVAC, 0x0000), /*!< 2 Pipe Circulation Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_2_PIPE_VALVE, /*!< 2 Pipe Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_2_PIPE_VALVE_COMMAND, /*!< 2 Pipe Valve Command BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOILER, /*!< Boiler BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOILER_ISOLATION_VALVE, /*!< Boiler Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOILER_PUMP, /*!< Boiler Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_COOLING_2_POSITION, /*!< Box Cooling 2 Position BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_HEATING_2_POSITION, /*!< Box Heating 2 Position BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_HEATING_ENABLE, /*!< Box Heating Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_HEATING_STAGE_1, /*!< Box Heating Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_HEATING_STAGE_2, /*!< Box Heating Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_BOX_HEATING_STAGE_3, /*!< Box Heating Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_CHILLER_1_ISOLATION_VALVE, /*!< Chiller 1 Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_CHILLER, /*!< Chiller BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_CHILLER_CHILLED_WATER_ISOLATION_VALVE, /*!< Chiller Chilled Water Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_CHILLER_CONDENSER_WATER_ISOLATION_VALVE, /*!< Chiller Condenser Water Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COMBUSTION_DAMPER, /*!< Combustion Damper BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COMPRESSOR_STAGE_1, /*!< Compressor Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COMPRESSOR_STAGE_2, /*!< Compressor Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_CIRCULATION_PUMP, /*!< Cooling Circulation Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_1, /*!< Cooling Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_2, /*!< Cooling Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_3, /*!< Cooling Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_4, /*!< Cooling Stage 4 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_5, /*!< Cooling Stage 5 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_6, /*!< Cooling Stage 6 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_7, /*!< Cooling Stage 7 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_STAGE_8, /*!< Cooling Stage 8 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_VALVE, /*!< Cooling Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_COOLING_VALVE_COMMAND, /*!< Cooling Valve Command BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_CHILLED_WATER_PUMP, /*!< Chilled Water Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_ECONOMIZER_ENABLE, /*!< Economizer Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_EXHAUST_AIR_DAMPER, /*!< Exhaust Air Damper BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_EXHAUST_FAN, /*!< Exhaust Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_FAN, /*!< Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_FAN_SPEED_1, /*!< Fan Speed 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_FAN_SPEED_2, /*!< Fan Speed 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_FAN_SPEED_3, /*!< Fan Speed 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEAT_RECOVERY_PUMP, /*!< Heat Recovery Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEAT_RECOVERY_VALVE, /*!< Heat Recovery Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEAT_RECOVERY_WHEEL, /*!< Heat Recovery Wheel BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEATING_STAGE_1, /*!< Heating Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEATING_STAGE_2, /*!< Heating Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEATING_STAGE_3, /*!< Heating Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEATING_VALVE, /*!< Heating Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEATING_VALVE_COMMAND, /*!< Heating Valve Command BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HOT_GAS_BYPASS_VALVE, /*!< Hot Gas Bypass Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HUMIDIFICATION_STAGE_1, /*!< Humidification Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HUMIDIFICATION_STAGE_2, /*!< Humidification Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HUMIDIFICATION_STAGE_3, /*!< Humidification Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HUMIDIFICATION_STAGE_4, /*!< Humidification Stage 4 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HUMIDIFIER_ENABLE, /*!< Humidifier Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_HEAT_EXCHANGER_ISOLATION_VALVE, /*!< Heat Exchanger Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_LIGHTING, /*!< Lighting BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_MINIMUM_OUTSIDE_AIR_DAMPER, /*!< Minimum Outside Air Damper BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_MINIMUM_OUTSIDE_AIR_FAN, /*!< Minimum Outside Air Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_OUTSIDE_AIR_DAMPER, /*!< Outside Air Damper BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PRIMARY_CHILLED_WATER_PUMP_1, /*!< Primary Chilled Water Pump 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PLATE_AND_FRAME_HEAT_EXCHANGER_ISOLATION_VALVE, /*!< Plate-and-Frame Heat Exchanger Isolation
|
||||
Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PRIMARY_HOT_WATER_PUMP, /*!< Primary Hot Water Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PRIMARY_HEAT_EXCHANGE_PUMP, /*!< Primary Heat Exchange Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_CIRCULATION_PUMP, /*!< Preheat Circulation Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_ENABLE, /*!< Preheat Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_1, /*!< Preheat Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_2, /*!< Preheat Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_3, /*!< Preheat Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_4, /*!< Preheat Stage 4 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_5, /*!< Preheat Stage 5 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_6, /*!< Preheat Stage 6 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_7, /*!< Preheat Stage 7 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_STAGE_8, /*!< Preheat Stage 8 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_PREHEAT_VALVE, /*!< Preheat Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_CIRCULATION_PUMP, /*!< Reheat Circulation Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_ENABLE, /*!< Reheat Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_1, /*!< Reheat Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_2, /*!< Reheat Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_3, /*!< Reheat Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_4, /*!< Reheat Stage 4 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_5, /*!< Reheat Stage 5 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_6, /*!< Reheat Stage 6 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_7, /*!< Reheat Stage 7 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REHEAT_STAGE_8, /*!< Reheat Stage 8 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_RELIEF_FAN, /*!< Relief Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_RETURN_FAN, /*!< Return Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REVERSING_VALVE_1, /*!< Reversing Valve 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_REVERSING_VALVE_2, /*!< Reversing Valve 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SECONDARY_CHILLED_WATER_PUMP, /*!< Secondary Chilled Water Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SECONDARY_HOT_WATER_PUMP, /*!< Secondary Hot Water Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SECONDARY_HEAT_EXCHANGE_PUMP, /*!< Secondary Heat Exchange Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP, /*!< Sideloop BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_1, /*!< Sideloop Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_2, /*!< Sideloop Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_3, /*!< Sideloop Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_4, /*!< Sideloop Stage 4 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_5, /*!< Sideloop Stage 5 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_6, /*!< Sideloop Stage 6 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_7, /*!< Sideloop Stage 7 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SIDELOOP_STAGE_8, /*!< Sideloop Stage 8 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_STEAM_ISOLATION_VALVE, /*!< Steam Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_2_POSITION, /*!< Supplemental Heating 2 Position BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_STAGE_1, /*!< Supplemental Heating Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_VALVE, /*!< Supplemental Heating Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_ENABLE, /*!< Supplemental Heating Enable BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLEMENTAL_HEATING_PUMP, /*!< Supplemental Heating Pump BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_SUPPLY_FAN, /*!< Supply Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_BASIN_HEATER_1, /*!< Tower Basin Heater BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_BASIN_MAKEUP_1, /*!< Tower Basin Makeup BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_BASIN_HEATER_2, /*!< Tower Basin Heater BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_BASIN_MAKEUP_2, /*!< Tower Basin Makeup BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_ISOLATION_VALVE, /*!< Tower Isolation Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_FAN, /*!< Tower Fan BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_FAN_SPEED_1, /*!< Tower Fan Speed 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_FAN_SPEED_2, /*!< Tower Fan Speed 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_TOWER_FAN_SPEED_3, /*!< Tower Fan Speed 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_ZONE_HEATING_STAGE_1, /*!< Zone Heating Stage 1 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_ZONE_HEATING_STAGE_2, /*!< Zone Heating Stage 2 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_ZONE_HEATING_STAGE_3, /*!< Zone Heating Stage 3 BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_ZONE_HEATING_VALVE, /*!< Zone Heating Valve BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_2_PIPE_CIRCULATION_PUMP_2, /*!< 2 Pipe Circulation Pump BO */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_HVAC_OTHER =
|
||||
ESP_ZB_ZCL_BO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_BO_APP_TYPE_DOMAIN_HVAC, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_bo_domain_hvac_t;
|
||||
|
||||
/** @brief Values for Binary Output cluster Security application usages */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BO_DOMAIN_SECURITY_ARM_DISARM_COMMAND = ESP_ZB_ZCL_BO_SET_APP_TYPE_WITH_ID(0x02, 0x0000), /*!< Arm Disarm Command BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_SECURITY_OCCUPANCY_CONTROL, /*!< Occupancy Control BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_SECURITY_ENABLE_CONTROL, /*!< Enable Control BO */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_SECURITY_ACCESS_CONTROL, /*!< Access Control BO */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_BO_DOMAIN_SECURITY_OTHER = ESP_ZB_ZCL_BO_SET_APP_TYPE_WITH_ID(0x02, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_bo_domain_security_t;
|
||||
|
||||
void esp_zb_zcl_binary_output_init_server(void);
|
||||
void esp_zb_zcl_binary_output_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_OUTPUT_SERVER_ROLE_INIT esp_zb_zcl_binary_output_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_OUTPUT_CLIENT_ROLE_INIT esp_zb_zcl_binary_output_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Binary Value cluster attribute identifiers. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_ACTIVE_TEXT_ID = 0x0004U, /*!< Human readable description of the ACTIVE state. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_DESCRIPTION_ID = 0x001CU, /*!< Description of the usage. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_INACTIVE_TEXT_ID = 0x002EU, /*!< Human readable description of the INACTIVE state. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_MIN_OFF_TIME_ID = 0x0042U, /*!< Minimum Off Time. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_MIN_ON_TIME_ID = 0x0043U, /*!< Minimum On Time. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_OUT_OF_SERVICE_ID = 0x0051U, /*!< OutOfService attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_PRESENT_VALUE_ID = 0x0055U, /*!< PresentValue attribute. */
|
||||
/** TODO: support PriorityArray Attribute */
|
||||
// ESP_ZB_ZCL_ATTR_BINARY_VALUE_PRIORITY_ARRAY_ID = 0x0057U, /*!< Priority Array attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_RELIABILITY_ID = 0x0067U, /*!< Reliability. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_RELINQUISH_DEFAULT_ID = 0x0068U, /*!< Relinquish default. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_STATUS_FLAGS_ID = 0x006FU, /*!< StatusFlag attribute. */
|
||||
ESP_ZB_ZCL_ATTR_BINARY_VALUE_APPLICATION_TYPE_ID = 0x0100U, /*!< ApplicationType attribute. */
|
||||
} esp_zb_zcl_binary_value_attr_t;
|
||||
|
||||
/** @brief Default value for ActiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_ACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for InactiveText attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_INACTIVE_TEXT_DEFAULT_VALUE {0}
|
||||
/** @brief Default value for MinOffTime attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_MIN_OFF_TIME_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_U32_FF
|
||||
/** @brief Default value for MinOnTime attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_MIN_ON_TIME_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_U32_FF
|
||||
/** @brief OutOfService attribute default value */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
/** @brief Default value for PresentValue attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_PRESENT_VALUE_DEFAULT_VALUE false
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_DEFAULT_VALUE ((uint8_t)0)
|
||||
/** @brief Default value for RelinquishDefault attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_RELINQUISH_DEFAULT_DEFAULT_VALUE false
|
||||
/** @brief Default value for StatusFlag attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAGS_DEFAULT_VALUE 0
|
||||
/** @brief StatusFlag attribute minimum value */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAGS_MIN_VALUE 0x00U
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAGS_MAX_VALUE 0x0FU
|
||||
/** @brief Default value for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_BINARY_VALUE_APPLICATION_TYPE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_binary_value_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_BINARY_VALUE_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_binary_value_reliability_value_t;
|
||||
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_BV_GROUP_ID 0x05
|
||||
#define ESP_ZB_ZCL_BV_SET_APP_TYPE_WITH_ID(_type, _id) (((ESP_ZB_ZCL_BV_GROUP_ID & 0xFF) << 24) | (((_type) & 0xFF) << 16) | ((_id) & 0xFFFF))
|
||||
|
||||
void esp_zb_zcl_binary_value_init_server(void);
|
||||
void esp_zb_zcl_binary_value_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_VALUE_SERVER_ROLE_INIT esp_zb_zcl_binary_value_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_BINARY_VALUE_CLIENT_ROLE_INIT esp_zb_zcl_binary_value_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Carbon Dioxide Measurement cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_CARBON_DIOXIDE_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /*!< MeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_CARBON_DIOXIDE_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /*!< MinMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_CARBON_DIOXIDE_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /*!< MaxMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_CARBON_DIOXIDE_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< Tolerance attribute */
|
||||
} esp_zb_zcl_carbon_dioxide_measurement_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM (0.0)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM (1.0)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM (0.0)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM (1.0)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_CARBON_DIOXIDE_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
void esp_zb_zcl_carbon_dioxide_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_CARBON_DIOXIDE_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_carbon_dioxide_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_CARBON_DIOXIDE_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/**
|
||||
* @brief Color control attribute list
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_HUE_ID = 0x0000, /*!< Current_HUE attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_SATURATION_ID = 0x0001, /*!< Current Saturation attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_REMAINING_TIME_ID = 0x0002, /*!< Remaining Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_X_ID = 0x0003, /*!< CurrentX attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_Y_ID = 0x0004, /*!< CurrentY attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_DRIFT_COMPENSATION_ID = 0x0005, /*!< The DriftCompensation attribute indicates what mechanism */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COMPENSATION_TEXT_ID = 0x0006, /*!< The CompensationText attribute holds a textual indication of what mechanism */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_TEMPERATURE_ID = 0x0007, /*!< Color Temperature Mireds attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_MODE_ID = 0x0008, /*!< Color Mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_OPTIONS_ID = 0x000f, /*!< The Options attribute is a bitmap that determines the default behavior of some cluster commands. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_CURRENT_HUE_ID = 0x4000, /*!< The EnhancedCurrentHue attribute represents non-equidistant steps along the CIE 1931 color triangle. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_COLOR_MODE_ID = 0x4001, /*!< The EnhancedColorMode attribute specifies which attributes are currently determining the color of the device. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_LOOP_ACTIVE_ID = 0x4002, /*!< The ColorLoopActive attribute specifies the current active status of the color loop. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_LOOP_DIRECTION_ID = 0x4003, /*!< The ColorLoopDirection attribute specifies the current direction of the color loop. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_LOOP_TIME_ID = 0x4004, /*!< The ColorLoopTime attribute specifies the number of seconds it SHALL take to perform a full color loop. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_LOOP_START_ENHANCED_HUE_ID = 0x4005, /*!< The ColorLoopStartEnhancedHue attribute specifies the value of the EnhancedCurrentHue attribute from which the color loop SHALL be started. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_LOOP_STORED_ENHANCED_HUE_ID = 0x4006, /*!< The ColorLoopStoredEnhancedHue attribute specifies the value of the EnhancedCurrentHue attribute before the color loop was stored. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_CAPABILITIES_ID = 0x400a, /*!< The ColorCapabilities attribute specifies the color capabilities of the device */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MIN_MIREDS_ID = 0x400b, /*!< The ColorTempPhysicalMinMireds attribute indicates the minimum mired value supported by the hardware. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MAX_MIREDS_ID = 0x400c, /*!< The ColorTempPhysicalMaxMireds attribute indicates the maximum mired value supported by the hardware. */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_COUPLE_COLOR_TEMP_TO_LEVEL_MIN_MIREDS_ID = 0x400d, /*!< The CoupleColorTempToLevelMinMireds attribute specifies a lower bound on the value of the ColorTemperatureMireds attribute */
|
||||
ESP_ZB_ZCL_ATTR_COLOR_CONTROL_START_UP_COLOR_TEMPERATURE_MIREDS_ID = 0x4010, /*!< The StartUpColorTemperatureMireds attribute SHALL define the desired startup color temperature value a lamp SHALL use when it is supplied with power. */
|
||||
} esp_zb_zcl_color_control_attr_t;
|
||||
|
||||
|
||||
/** @brief Default value for CurrentHue attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_CURRENT_HUE_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for CurrentSaturation attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_CURRENT_SATURATION_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for RemainingTime attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_REMAINING_TIME_DEFAULT_VALUE ((uint16_t)0x00)
|
||||
|
||||
/** @brief Current X attribute default value */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_CURRENT_X_DEF_VALUE 0x616b
|
||||
|
||||
/** @brief Current Y attribute default value */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_CURRENT_Y_DEF_VALUE 0x607d
|
||||
|
||||
/** @brief Color Temperature default value (4000K) */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_TEMPERATURE_DEF_VALUE 0x00fa
|
||||
|
||||
/** @brief Default value for ColorMode attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_MODE_DEFAULT_VALUE ((uint8_t)0x01)
|
||||
|
||||
/** @brief Default value for Options attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_OPTIONS_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for EnhancedCurrentHue attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_ENHANCED_CURRENT_HUE_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for EnhancedColorMode attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_ENHANCED_COLOR_MODE_DEFAULT_VALUE ((uint8_t)0x01)
|
||||
|
||||
/** @brief Default value for ColorLoopActive attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_LOOP_ACTIVE_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for ColorLoopDirection attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_LOOP_DIRECTION_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Color Loop Time attribute default value */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_LOOP_TIME_DEF_VALUE 0x0019
|
||||
|
||||
/** @brief Color Loop Start Enhanced Hue attribute default value */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_LOOP_START_DEF_VALUE 0x2300
|
||||
|
||||
/** @brief Default value for ColorLoopStoredEnhancedHue attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_LOOP_STORED_ENHANCED_HUE_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
/** @brief Default value for ColorCapabilities attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_CAPABILITIES_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for ColorTempPhysicalMinMireds attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MIN_MIREDS_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for ColorTempPhysicalMaxMireds attribute */
|
||||
#define ESP_ZB_ZCL_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MAX_MIREDS_DEFAULT_VALUE ((uint16_t)0xFEFF)
|
||||
|
||||
/** @brief Color control cluster command identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE = 0x00, /*!< Move To Hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_HUE = 0x01, /*!< Move Hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_HUE = 0x02, /*!< Step Hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_SATURATION = 0x03, /*!< Move To Saturation command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_SATURATION = 0x04, /*!< Move Saturation command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_SATURATION = 0x05, /*!< Step Saturation command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE_SATURATION = 0x06, /*!< Move To Hue and Saturation command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_COLOR = 0x07, /*!< Move To Color command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_COLOR = 0x08, /*!< Move Color command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_COLOR = 0x09, /*!< Step Color command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_COLOR_TEMPERATURE = 0x0a, /*!< Move to color temperature command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_ENHANCED_MOVE_TO_HUE = 0x40, /*!< Enhanced move to hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_ENHANCED_MOVE_HUE = 0x41, /*!< Enhanced move hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_ENHANCED_STEP_HUE = 0x42, /*!< Enhanced step hue command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_ENHANCED_MOVE_TO_HUE_SATURATION = 0x43, /*!< Enhanced move to hue and saturation command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_COLOR_LOOP_SET = 0x44, /*!< Color loop set command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STOP_MOVE_STEP = 0x47, /*!< Stop move step command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_COLOR_TEMPERATURE = 0x4b, /*!< Move color temperature command */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_COLOR_TEMPERATURE = 0x4c, /*!< Step color temperature command */
|
||||
} esp_zb_zcl_color_control_cmd_id_t;
|
||||
|
||||
/** @brief Direction of Move to Hue defines
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE_SHORTEST = 0x00, /*!< Shortest distance */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE_LONGEST = 0x01, /*!< Longest distance */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE_UP = 0x02, /*!< Up */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_TO_HUE_DOWN = 0x03, /*!< Down */
|
||||
} esp_zb_zcl_color_control_move_to_hue_direction_t;
|
||||
|
||||
/** @brief Direction of Move mode defines.
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_STOP = 0x00, /*!< Stop */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_UP = 0x01, /*!< Up */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_MOVE_DOWN = 0x03, /*!< Down */
|
||||
} esp_zb_zcl_color_control_move_mode_t;
|
||||
|
||||
/** @brief Direction of Step mode defines.
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_UP = 0x01, /*!< Up */
|
||||
ESP_ZB_ZCL_CMD_COLOR_CONTROL_STEP_DOWN = 0x03, /*!< Down */
|
||||
} esp_zb_zcl_color_control_step_mode_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Commissioning Cluster server attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_SHORT_ADDRESS_ID = 0x0000, /**< ShortAddress Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_EXTENDED_PANID_ID = 0x0001, /**< ExtendedPANId Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_PANID_ID = 0x0002, /**< PANId Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_CHANNEL_MASK_ID = 0x0003, /**< ChannelMask Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_PROTOCOL_VERSION_ID = 0x0004, /**< ProtocolVersion Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STACK_PROFILE_ID = 0x0005, /**< StackProfile Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_CONTROL_ID = 0x0006, /**< StartupControl Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_TRUST_CENTER_ADDRESS_ID = 0x0010, /**< TrustCenterAddress Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_TRUST_CENTER_MASTER_KEY_ID = 0x0011, /**< TrustCenterMasterKey Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_NETWORK_KEY_ID = 0x0012, /**< NetworkKey Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_USE_INSECURE_JOIN_ID = 0x0013, /**< UseInsecureJoin Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_PRECONFIGURED_LINK_KEY_ID = 0x0014, /**< PreconfiguredLinkKey Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_NETWORK_KEY_SEQ_NUM_ID = 0x0015, /**< NetworkKeySeqNum Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_NETWORK_KEY_TYPE_ID = 0x0016, /**< NetworkKeyType Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_NETWORK_MANAGER_ADDRESS_ID = 0x0017, /**< NetworkManagerAddress Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_SCAN_ATTEMPTS_ID = 0x0020, /**< ScanAttempts Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_TIME_BETWEEN_SCANS_ID = 0x0021, /**< TimeBetweenScans Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_REJOIN_INTERVAL_ID = 0x0022, /**< RejoinInterval Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_MAX_REJOIN_INTERVAL_ID = 0x0023, /**< MaxRejoinInterval Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_INDIRECT_POLL_RATE_ID = 0x0030, /**< IndirectPollRate Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_PARENT_RETRY_THRESHOLD_ID = 0x0031, /**< ParentRetryThreshold Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_CONCENTRATOR_FLAG_ID = 0x0040, /**< ConcentratorFlag Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_CONCENTRATOR_RADIUS_ID = 0x0041, /**< ConcentratorRadius Attribute */
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_CONCENTRATOR_DISCOVERY_TIME_ID = 0x0042, /**< ConcentratorDiscoveryTime Attribute */
|
||||
} esp_zb_zcl_commissioning_srv_attr_t;
|
||||
|
||||
/** @brief Values for valid Startup Control attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_TYPE_JOINED = 0x00,
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_TYPE_FORM = 0x01,
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_TYPE_REJOIN = 0x02,
|
||||
ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_TYPE_SCRATCH = 0x03,
|
||||
} esp_zb_zcl_commissioning_startup_type_t;
|
||||
|
||||
/** @brief Minimum value for ShortAddress attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_SHORT_ADDRESS_MIN_VALUE ((uint16_t)0x0)
|
||||
|
||||
/** @brief Maximum value for ShortAddress attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_SHORT_ADDRESS_MAX_VALUE ((uint16_t)0xfff7)
|
||||
|
||||
/** @brief Minimum value for ProtocolVersion attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_PROTOCOL_VERSION_MIN_VALUE ((uint8_t)0x2)
|
||||
|
||||
/** @brief Maximum value for ProtocolVersion attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_PROTOCOL_VERSION_MAX_VALUE ((uint8_t)0x2)
|
||||
|
||||
/** @brief Minimum value for StackProfile attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STACK_PROFILE_MIN_VALUE ((uint8_t)0x1)
|
||||
|
||||
/** @brief Maximum value for StackProfile attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STACK_PROFILE_MAX_VALUE ((uint8_t)0x2)
|
||||
|
||||
/** @brief Minimum value for StartupControl attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STARTUP_CONTROL_MIN_VALUE ((uint8_t)0x0)
|
||||
|
||||
/** @brief Maximum value for StartupControl attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STARTUP_CONTROL_MAX_VALUE ((uint8_t)0x3)
|
||||
|
||||
/** @brief Default value for ExtendedPANId attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_EXTENDED_PANID_DEFAULT_VALUE {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
|
||||
|
||||
/** @brief Default value for ProtocolVersion attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_PROTOCOL_VERSION_DEFAULT_VALUE ((uint8_t)ZB_PROTOCOL_VERSION)
|
||||
|
||||
/** @brief Default value for StackProfile attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STACK_PROFILE_DEFAULT_VALUE ((uint8_t)ZB_STACK_PROFILE)
|
||||
|
||||
/** @brief Default value for ProtocolVersion attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_STARTUP_CONTROL_DEFAULT_VALUE ((uint8_t)ESP_ZB_ZCL_ATTR_COMMISSIONING_STARTUP_TYPE_SCRATCH)
|
||||
|
||||
/** @brief Default value for UseInsecureJoin attribute */
|
||||
#define ESP_ZB_ZCL_COMMISSIONING_USE_INSECURE_JOIN_DEFAULT_VALUE ((bool)0x1)
|
||||
|
||||
/** @brief Commissioning Cluster server command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESTART_DEVICE_RESPONSE_ID = 0x0000, /**< "Restart Device Response" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_SAVE_STARTUP_PARAMETERS_RESPONSE_ID = 0x0001, /**< "Save Startup Parameters Response" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESTORE_STARTUP_PARAMETERS_RESPONSE_ID = 0x0002, /**< "Restore Startup Parameters Response" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESET_STARTUP_PARAMETERS_RESPONSE_ID = 0x0003, /**< "Reset Startup Parameters Response" command. */
|
||||
} esp_zb_zcl_commissioning_srv_cmd_id_t;
|
||||
|
||||
/** @brief Commissioning Cluster client command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESTART_DEVICE_ID = 0x0000, /**< "Restart Device" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_SAVE_STARTUP_PARAMETERS_ID = 0x0001, /**< "Save Startup Parameters" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESTORE_STARTUP_PARAMETERS_ID = 0x0002, /**< "Restore Startup Parameters" command. */
|
||||
ESP_ZB_ZCL_CMD_COMMISSIONING_RESET_STARTUP_PARAMETERS_ID = 0x0003, /**< "Reset Startup Parameters" command. */
|
||||
} esp_zb_zcl_commissioning_cli_cmd_id_t;
|
||||
|
||||
/**
|
||||
* @brief The values of "startup_mode" bitfield in "options" field of "esp_zb_zcl_commissioning_restart_device_payload_t"
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_COMMISSIONING_STARTUP_MODE_USE_PARAMETER_SET = 0,
|
||||
ESP_ZB_ZCL_COMMISSIONING_STARTUP_MODE_USE_CURRENT_STACK = 1,
|
||||
} esp_zb_zcl_commissioning_startup_mode_t;
|
||||
|
||||
/**
|
||||
* @brief "options" field of "esp_zb_zcl_commissioning_restart_device_payload_t"
|
||||
*/
|
||||
typedef union {
|
||||
uint8_t u8; /**< Restart device options */
|
||||
struct {
|
||||
uint8_t startup_mode : 3; /**< startup mode: bit 0 - 2 */
|
||||
uint8_t immediate : 1; /**< immediate: bit 3 */
|
||||
uint8_t /* reserved */ : 4; /**< reserved: bit 4 - 7 */
|
||||
};
|
||||
} esp_zb_zcl_commissioning_restart_device_options_t;
|
||||
|
||||
/**
|
||||
* @brief "Restart Device Response" Command Payload Format
|
||||
*/
|
||||
typedef struct esp_zb_zcl_commissioning_restart_device_payload_s {
|
||||
esp_zb_zcl_commissioning_restart_device_options_t options; /*!< Options for restart device */
|
||||
uint8_t delay; /*!< Startup procedure is to be invoked, in seconds */
|
||||
uint8_t jitter; /*!< Specifies a random jitter range, in millisecond */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_commissioning_restart_device_payload_t;
|
||||
|
||||
/**
|
||||
* @brief ESP_ZB_ZCL_CMD_COMMISSIONING_SAVE_STARTUP_PARAMETERS_ID "Save Startup Parameters" Command Payload Format
|
||||
*/
|
||||
typedef struct esp_zb_zcl_commissioning_save_startup_parameters_payload_s {
|
||||
uint8_t options; /*!< Reserved field */
|
||||
uint8_t index; /*!< The current startup parameter attribute set is to be saved */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_commissioning_save_startup_parameters_payload_t;
|
||||
|
||||
/**
|
||||
* @brief ESP_ZB_ZCL_CMD_COMMISSIONING_RESTORE_STARTUP_PARAMETERS_ID "Restore Startup Parameters" Command Payload Format
|
||||
*/
|
||||
typedef struct esp_zb_zcl_commissioning_restore_startup_parameters_payload_s {
|
||||
uint8_t options; /*!< Reserved field */
|
||||
uint8_t index; /*!< Index of the saved startup parameter attribute set to be restored to current status */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_commissioning_restore_startup_parameters_payload_t;
|
||||
|
||||
/**
|
||||
* @brief "options" field of "esp_zb_zcl_commissioning_reset_startup_parameters_payload_t"
|
||||
*/
|
||||
typedef union {
|
||||
uint8_t u8; /**< Reset startup options */
|
||||
struct {
|
||||
uint8_t reset_current : 1; /**< reset current: bit 0 */
|
||||
uint8_t reset_all : 1; /**< reset all: bit 1 */
|
||||
uint8_t erase_index : 1; /**< erase index: bit 2 */
|
||||
uint8_t /* reserved */ : 5; /**< reserved: bit 3 - 7 */
|
||||
};
|
||||
} esp_zb_zcl_commissioning_reset_startup_param_options_t;
|
||||
|
||||
/**
|
||||
* @brief "Reset Startup Parameters" Command Payload Format
|
||||
*/
|
||||
typedef struct esp_zb_zcl_commissioning_reset_startup_parameters_payload_s {
|
||||
esp_zb_zcl_commissioning_reset_startup_param_options_t options; /*!< The options of reset startup parameter */
|
||||
uint8_t index; /*!< Index of a saved startup parameter attribute set */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_commissioning_reset_startup_parameters_payload_t;
|
||||
|
||||
void esp_zb_zcl_commissioning_init_server(void);
|
||||
void esp_zb_zcl_commissioning_init_client(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_COMMISSIONING_SERVER_ROLE_INIT esp_zb_zcl_commissioning_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_COMMISSIONING_CLIENT_ROLE_INIT esp_zb_zcl_commissioning_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,441 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "esp_zigbee_type.h"
|
||||
#include "aps/esp_zigbee_aps.h"
|
||||
|
||||
#ifdef ZB_ENABLE_ZGP
|
||||
#include "esp_zigbee_zcl_green_power.h"
|
||||
#endif
|
||||
|
||||
/** Green power special endpoint */
|
||||
#define ESP_ZGP_ENDPOINT 242
|
||||
/** Non manufacturer specific code for certain attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_NON_MANUFACTURER_SPECIFIC 0xFFFFU
|
||||
/** Non manufacturer specific code for certain cluster */
|
||||
#define EZP_ZB_ZCL_CLUSTER_NON_MANUFACTURER_SPECIFIC 0x0000
|
||||
|
||||
/** Defined the ZCL command of address_mode */
|
||||
typedef esp_zb_aps_address_mode_t esp_zb_zcl_address_mode_t;
|
||||
|
||||
/**
|
||||
* @brief Application Framework Profile identifiers.
|
||||
*
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_AF_HA_PROFILE_ID = 0x0104U, /** HA profile ID */
|
||||
ESP_ZB_AF_SE_PROFILE_ID = 0x0109U, /** SE profile ID */
|
||||
ESP_ZB_AF_ZLL_PROFILE_ID = 0xC05EU, /** ZLL profile ID */
|
||||
ESP_ZB_AF_GP_PROFILE_ID = 0xA1E0U, /** GreenPower profile ID */
|
||||
} esp_zb_af_profile_id_t;
|
||||
|
||||
/** @brief HA Device identifiers.
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID = 0x0000, /*!< General On/Off switch */
|
||||
ESP_ZB_HA_LEVEL_CONTROL_SWITCH_DEVICE_ID = 0x0001, /*!< Level Control Switch */
|
||||
ESP_ZB_HA_ON_OFF_OUTPUT_DEVICE_ID = 0x0002, /*!< General On/Off output */
|
||||
ESP_ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_DEVICE_ID = 0x0003, /*!< Level Controllable Output */
|
||||
ESP_ZB_HA_SCENE_SELECTOR_DEVICE_ID = 0x0004, /*!< Scene Selector */
|
||||
ESP_ZB_HA_CONFIGURATION_TOOL_DEVICE_ID = 0x0005, /*!< Configuration Tool */
|
||||
ESP_ZB_HA_REMOTE_CONTROL_DEVICE_ID = 0x0006, /*!< Remote Control */
|
||||
ESP_ZB_HA_COMBINED_INTERFACE_DEVICE_ID = 0x0007, /*!< Combined Interface */
|
||||
ESP_ZB_HA_RANGE_EXTENDER_DEVICE_ID = 0x0008, /*!< Range Extender */
|
||||
ESP_ZB_HA_MAINS_POWER_OUTLET_DEVICE_ID = 0x0009, /*!< Mains Power Outlet */
|
||||
ESP_ZB_HA_DOOR_LOCK_DEVICE_ID = 0x000A, /*!< Door lock client */
|
||||
ESP_ZB_HA_DOOR_LOCK_CONTROLLER_DEVICE_ID = 0x000B, /*!< Door lock controller */
|
||||
ESP_ZB_HA_SIMPLE_SENSOR_DEVICE_ID = 0x000C, /*!< Simple Sensor device */
|
||||
ESP_ZB_HA_CONSUMPTION_AWARENESS_DEVICE_ID = 0x000D, /*!< Consumption Awareness Device */
|
||||
ESP_ZB_HA_HOME_GATEWAY_DEVICE_ID = 0x0050, /*!< Home Gateway */
|
||||
ESP_ZB_HA_SMART_PLUG_DEVICE_ID = 0x0051, /*!< Smart plug */
|
||||
ESP_ZB_HA_WHITE_GOODS_DEVICE_ID = 0x0052, /*!< White Goods */
|
||||
ESP_ZB_HA_METER_INTERFACE_DEVICE_ID = 0x0053, /*!< Meter Interface */
|
||||
ESP_ZB_HA_ON_OFF_LIGHT_DEVICE_ID = 0x0100, /*!< On/Off Light Device */
|
||||
ESP_ZB_HA_DIMMABLE_LIGHT_DEVICE_ID = 0x0101, /*!< Dimmable Light Device */
|
||||
ESP_ZB_HA_COLOR_DIMMABLE_LIGHT_DEVICE_ID = 0x0102, /*!< Color Dimmable Light Device */
|
||||
ESP_ZB_HA_DIMMER_SWITCH_DEVICE_ID = 0x0104, /*!< Dimmer Switch Device */
|
||||
ESP_ZB_HA_COLOR_DIMMER_SWITCH_DEVICE_ID = 0x0105, /*!< Color Dimmer Switch Device */
|
||||
ESP_ZB_HA_LIGHT_SENSOR_DEVICE_ID = 0x0106, /*!< Light Sensor Device */
|
||||
ESP_ZB_HA_SHADE_DEVICE_ID = 0x0200, /*!< Shade */
|
||||
ESP_ZB_HA_SHADE_CONTROLLER_DEVICE_ID = 0x0201, /*!< Shade controller */
|
||||
ESP_ZB_HA_WINDOW_COVERING_DEVICE_ID = 0x0202, /*!< Window Covering client*/
|
||||
ESP_ZB_HA_WINDOW_COVERING_CONTROLLER_DEVICE_ID = 0x0203, /*!< Window Covering controller */
|
||||
ESP_ZB_HA_HEATING_COOLING_UNIT_DEVICE_ID = 0x0300, /*!< Heating/Cooling Unit device */
|
||||
ESP_ZB_HA_THERMOSTAT_DEVICE_ID = 0x0301, /*!< Thermostat Device */
|
||||
ESP_ZB_HA_TEMPERATURE_SENSOR_DEVICE_ID = 0x0302, /*!< Temperature Sensor */
|
||||
ESP_ZB_HA_IAS_CONTROL_INDICATING_EQUIPMENT_ID = 0x0400, /*!< IAS Control and Indicating Equipment */
|
||||
ESP_ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_ID = 0x0401, /*!< IAS Ancillary Control Equipment */
|
||||
ESP_ZB_HA_IAS_ZONE_ID = 0x0402, /*!< IAS Zone */
|
||||
ESP_ZB_HA_IAS_WARNING_DEVICE_ID = 0x0403, /*!< IAS Warning Device */
|
||||
ESP_ZB_HA_TEST_DEVICE_ID = 0xfff0, /*!< Custom HA device for test */
|
||||
ESP_ZB_HA_CUSTOM_TUNNEL_DEVICE_ID = 0xfff1, /*!< Custom Tunnel device (should declared in private profile) */
|
||||
ESP_ZB_HA_CUSTOM_ATTR_DEVICE_ID = 0xfff2 /*!< Custom Attributes Device */
|
||||
} esp_zb_ha_standard_devices_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL cluster role enum
|
||||
* @anchor esp_zb_zcl_cluster_role
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CLUSTER_SERVER_ROLE = 0x01U, /*!< Server cluster role */
|
||||
ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE = 0x02U, /*!< Client cluster role */
|
||||
} esp_zb_zcl_cluster_role_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL cluster identifiers
|
||||
* @anchor esp_zb_zcl_cluster_id
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CLUSTER_ID_BASIC = 0x0000U, /*!< Basic cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_POWER_CONFIG = 0x0001U, /*!< Power configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_DEVICE_TEMP_CONFIG = 0x0002U, /*!< Device temperature configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY = 0x0003U, /*!< Identify cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_GROUPS = 0x0004U, /*!< Groups cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_SCENES = 0x0005U, /*!< Scenes cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ON_OFF = 0x0006U, /*!< On/Off cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ON_OFF_SWITCH_CONFIG = 0x0007U, /*!< On/Off switch configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL = 0x0008U, /*!< Level control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ALARMS = 0x0009U, /*!< Alarms cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_TIME = 0x000aU, /*!< Time cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_RSSI_LOCATION = 0x000bU, /*!< RSSI location cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ANALOG_INPUT = 0x000cU, /*!< Analog input (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ANALOG_OUTPUT = 0x000dU, /*!< Analog output (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ANALOG_VALUE = 0x000eU, /*!< Analog value (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_BINARY_INPUT = 0x000fU, /*!< Binary input (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_BINARY_OUTPUT = 0x0010U, /*!< Binary output (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_BINARY_VALUE = 0x0011U, /*!< Binary value (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_MULTI_INPUT = 0x0012U, /*!< Multistate input (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_MULTI_OUTPUT = 0x0013U, /*!< Multistate output (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_MULTI_VALUE = 0x0014U, /*!< Multistate value (basic) cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_COMMISSIONING = 0x0015U, /*!< Commissioning cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_OTA_UPGRADE = 0x0019U, /*!< Over The Air cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_POLL_CONTROL = 0x0020U, /*!< Poll control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_GREEN_POWER = 0x0021U, /*!< Green Power cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_KEEP_ALIVE = 0x0025U, /*!< Keep Alive cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_SHADE_CONFIG = 0x0100U, /*!< Shade configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_DOOR_LOCK = 0x0101U, /*!< Door lock cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_WINDOW_COVERING = 0x0102U, /*!< Window covering cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_PUMP_CONFIG_CONTROL = 0x0200U, /*!< Pump configuration and control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_THERMOSTAT = 0x0201U, /*!< Thermostat cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_FAN_CONTROL = 0x0202U, /*!< Fan control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_DEHUMIDIFICATION_CONTROL = 0x0203U, /*!< Dehumidification control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_THERMOSTAT_UI_CONFIG = 0x0204U, /*!< Thermostat user interface configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL = 0x0300U, /*!< Color control cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_BALLAST_CONFIG = 0x0301U, /*!< Ballast configuration cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ILLUMINANCE_MEASUREMENT = 0x0400U, /*!< Illuminance measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT = 0x0402U, /*!< Temperature measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_PRESSURE_MEASUREMENT = 0x0403U, /*!< Pressure measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_FLOW_MEASUREMENT = 0x0404U, /*!< Flow measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT = 0x0405U, /*!< Relative humidity measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_OCCUPANCY_SENSING = 0x0406U, /*!< Occupancy sensing */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_PH_MEASUREMENT = 0x0409U, /*!< pH measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_EC_MEASUREMENT = 0x040aU, /*!< Electrical conductivity measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_WIND_SPEED_MEASUREMENT = 0x040bU, /*!< Wind speed measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_CARBON_DIOXIDE_MEASUREMENT = 0x040dU, /*!< Carbon dioxide measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_PM2_5_MEASUREMENT = 0x042aU, /*!< PM2.5 measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_IAS_ZONE = 0x0500U, /*!< IAS zone */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_IAS_ACE = 0x0501U, /*!< IAS ACE */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_IAS_WD = 0x0502U, /*!< IAS WD */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_PRICE = 0x0700U, /*!< Price cluster identifier. */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_DRLC = 0x0701U, /*!< Demand Response and Load Control cluster identifier */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_METERING = 0x0702U, /*!< Metering */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_METER_IDENTIFICATION = 0x0b01U, /*!< Meter Identification cluster identifier */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_ELECTRICAL_MEASUREMENT = 0x0b04U, /*!< Electrical measurement */
|
||||
ESP_ZB_ZCL_CLUSTER_ID_DIAGNOSTICS = 0x0b05U, /*!< Home Automation Diagnostics */
|
||||
} esp_zb_zcl_cluster_id_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL status values
|
||||
* @anchor esp_zb_zcl_status
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_STATUS_SUCCESS = 0x00U, /*!< ZCL Success */
|
||||
ESP_ZB_ZCL_STATUS_FAIL = 0x01U, /*!< ZCL Fail */
|
||||
ESP_ZB_ZCL_STATUS_NOT_AUTHORIZED = 0x7EU, /*!< Server is not authorized to upgrade the client */
|
||||
ESP_ZB_ZCL_STATUS_MALFORMED_CMD = 0x80U, /*!< Malformed command */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_CLUST_CMD = 0x81U, /*!< Unsupported cluster command */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_GEN_CMD = 0x82U, /*!< Unsupported general command */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_MANUF_CLUST_CMD = 0x83U, /*!< Unsupported manuf-specific clust command */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_MANUF_GEN_CMD = 0x84U, /*!< Unsupported manuf-specific general command */
|
||||
ESP_ZB_ZCL_STATUS_INVALID_FIELD = 0x85U, /*!< Invalid field */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_ATTRIB = 0x86U, /*!< Unsupported attribute */
|
||||
ESP_ZB_ZCL_STATUS_INVALID_VALUE = 0x87U, /*!< Invalid value */
|
||||
ESP_ZB_ZCL_STATUS_READ_ONLY = 0x88U, /*!< Read only */
|
||||
ESP_ZB_ZCL_STATUS_INSUFF_SPACE = 0x89U, /*!< Insufficient space */
|
||||
ESP_ZB_ZCL_STATUS_DUPE_EXISTS = 0x8aU, /*!< Duplicate exists */
|
||||
ESP_ZB_ZCL_STATUS_NOT_FOUND = 0x8bU, /*!< Not found */
|
||||
ESP_ZB_ZCL_STATUS_UNREPORTABLE_ATTRIB = 0x8cU, /*!< Unreportable attribute */
|
||||
ESP_ZB_ZCL_STATUS_INVALID_TYPE = 0x8dU, /*!< Invalid type */
|
||||
ESP_ZB_ZCL_STATUS_WRITE_ONLY = 0x8fU, /*!< Write only */
|
||||
ESP_ZB_ZCL_STATUS_INCONSISTENT = 0x92U, /*!< Supplied values are inconsistent */
|
||||
ESP_ZB_ZCL_STATUS_ACTION_DENIED = 0x93U,
|
||||
ESP_ZB_ZCL_STATUS_TIMEOUT = 0x94U, /*!< Timeout */
|
||||
ESP_ZB_ZCL_STATUS_ABORT = 0x95U, /*!< Abort */
|
||||
ESP_ZB_ZCL_STATUS_INVALID_IMAGE = 0x96U, /*!< Invalid OTA upgrade image */
|
||||
ESP_ZB_ZCL_STATUS_WAIT_FOR_DATA = 0x97U, /*!< Server does not have data block available yet */
|
||||
ESP_ZB_ZCL_STATUS_NO_IMAGE_AVAILABLE = 0x98U,
|
||||
ESP_ZB_ZCL_STATUS_REQUIRE_MORE_IMAGE = 0x99U,
|
||||
ESP_ZB_ZCL_STATUS_NOTIFICATION_PENDING = 0x9AU,
|
||||
ESP_ZB_ZCL_STATUS_HW_FAIL = 0xc0U, /*!< Hardware failure */
|
||||
ESP_ZB_ZCL_STATUS_SW_FAIL = 0xc1U, /*!< Software failure */
|
||||
ESP_ZB_ZCL_STATUS_CALIB_ERR = 0xc2U, /*!< Calibration error */
|
||||
ESP_ZB_ZCL_STATUS_UNSUP_CLUST = 0xc3U, /*!< Cluster is not found on the target endpoint */
|
||||
ESP_ZB_ZCL_STATUS_LIMIT_REACHED = 0xc4U, /*!< Cluster is not found on the target endpoint */
|
||||
} esp_zb_zcl_status_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL attribute data type values
|
||||
* @anchor esp_zb_zcl_attr_type
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_TYPE_NULL = 0x00U, /*!< Null data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_8BIT = 0x08U, /*!< 8-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_16BIT = 0x09U, /*!< 16-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_24BIT = 0x0aU, /*!< 24-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_32BIT = 0x0bU, /*!< 32-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_40BIT = 0x0cU, /*!< 40-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_48BIT = 0x0dU, /*!< 48-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_56BIT = 0x0eU, /*!< 56-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_64BIT = 0x0fU, /*!< 64-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_BOOL = 0x10U, /*!< Boolean data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_8BITMAP = 0x18U, /*!< 8-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_16BITMAP = 0x19U, /*!< 16-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_24BITMAP = 0x1aU, /*!< 24-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_32BITMAP = 0x1bU, /*!< 32-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_40BITMAP = 0x1cU, /*!< 40-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_48BITMAP = 0x1dU, /*!< 48-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_56BITMAP = 0x1eU, /*!< 56-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_64BITMAP = 0x1fU, /*!< 64-bit bitmap data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U8 = 0x20U, /*!< Unsigned 8-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U16 = 0x21U, /*!< Unsigned 16-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U24 = 0x22U, /*!< Unsigned 24-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U32 = 0x23U, /*!< Unsigned 32-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U40 = 0x24U, /*!< Unsigned 40-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U48 = 0x25U, /*!< Unsigned 48-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U56 = 0x26U, /*!< Unsigned 56-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_U64 = 0x27U, /*!< Unsigned 64-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S8 = 0x28U, /*!< Signed 8-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S16 = 0x29U, /*!< Signed 16-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S24 = 0x2aU, /*!< Signed 24-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S32 = 0x2bU, /*!< Signed 32-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S40 = 0x2cU, /*!< Signed 40-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S48 = 0x2dU, /*!< Signed 48-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S56 = 0x2eU, /*!< Signed 56-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_S64 = 0x2fU, /*!< Signed 64-bit value data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_8BIT_ENUM = 0x30U, /*!< 8-bit enumeration (U8 discrete) data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_16BIT_ENUM = 0x31U, /*!< 16-bit enumeration (U16 discrete) data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_SEMI = 0x38U, /*!< 2 byte floating point */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_SINGLE = 0x39U, /*!< 4 byte floating point */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_DOUBLE = 0x3aU, /*!< 8 byte floating point */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_OCTET_STRING = 0x41U, /*!< Octet string data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING = 0x42U, /*!< Character string (array) data type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_LONG_OCTET_STRING = 0x43U, /*!< Long octet string */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_LONG_CHAR_STRING = 0x44U, /*!< Long character string */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_ARRAY = 0x48U, /*!< Array data with 8bit type, size = 2 + sum of content len */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_16BIT_ARRAY = 0x49U, /*!< Array data with 16bit type, size = 2 + sum of content len */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_32BIT_ARRAY = 0x4aU, /*!< Array data with 32bit type, size = 2 + sum of content len */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_STRUCTURE = 0x4cU, /*!< Structure data type 2 + sum of content len */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_SET = 0x50U, /*!< Collection:set, size = sum of len of content */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_BAG = 0x51U, /*!< Collection:bag, size = sum of len of content */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_TIME_OF_DAY = 0xe0U, /*!< Time of day, 4 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_DATE = 0xe1U, /*!< Date, 4 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_UTC_TIME = 0xe2U, /*!< UTC Time, 4 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_CLUSTER_ID = 0xe8U, /*!< Cluster ID, 2 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_ATTRIBUTE_ID = 0xe9U, /*!< Attribute ID, 2 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_BACNET_OID = 0xeaU, /*!< BACnet OID, 4 bytes */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_IEEE_ADDR = 0xf0U, /*!< IEEE address (U64) type */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_128_BIT_KEY = 0xf1U, /*!< 128-bit security key */
|
||||
ESP_ZB_ZCL_ATTR_TYPE_INVALID = 0xffU, /*!< Invalid data type */
|
||||
} esp_zb_zcl_attr_type_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL attribute access values
|
||||
* @anchor esp_zb_zcl_attr_access
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_READ_ONLY = 0x01U, /*!< Attribute is read only */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_WRITE_ONLY = 0x02U, /*!< Attribute is write only */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_READ_WRITE = 0x03U, /*!< Attribute is read/write */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_REPORTING = 0x04U, /*!< Attribute is allowed for reporting */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_SINGLETON = 0x08U, /*!< Attribute is singleton */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_SCENE = 0x10U, /*!< Attribute is accessed through scene */
|
||||
ESP_ZB_ZCL_ATTR_MANUF_SPEC = 0x20U, /*!< Attribute is manufacturer specific */
|
||||
ESP_ZB_ZCL_ATTR_ACCESS_INTERNAL = 0x40U, /*!< Internal access only Attribute */
|
||||
} esp_zb_zcl_attr_access_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL command direction enum
|
||||
* @anchor esp_zb_zcl_cmd_direction
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV = 0x00U, /*!< Command for cluster server side */
|
||||
ESP_ZB_ZCL_CMD_DIRECTION_TO_CLI = 0x01U, /*!< Command for cluster client side */
|
||||
} esp_zb_zcl_cmd_direction_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL report direction enum of attribute
|
||||
* @anchor esp_zb_zcl_report_direction_t
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_REPORT_DIRECTION_SEND = 0x00U, /**< Report should be sent by a cluster. */
|
||||
ESP_ZB_ZCL_REPORT_DIRECTION_RECV = 0x01U, /**< Report should be received by a cluster. */
|
||||
} esp_zb_zcl_report_direction_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee zcl cluster attribute value struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_attribute_data_s {
|
||||
esp_zb_zcl_attr_type_t type; /*!< The type of attribute, which can refer to esp_zb_zcl_attr_type_t */
|
||||
uint16_t size; /*!< The value size of attribute */
|
||||
void *value; /*!< The value of attribute, Note that if the type is string/array, the first byte of value indicates the string length */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_attribute_data_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee zcl cluster attribute struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_attribute_s {
|
||||
uint16_t id; /*!< The identify of attribute */
|
||||
esp_zb_zcl_attribute_data_t data; /*!< The data of attribute */
|
||||
} esp_zb_zcl_attribute_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee zcl cluster command properties struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_command_s {
|
||||
uint8_t id; /*!< The command id */
|
||||
uint8_t direction; /*!< The command direction */
|
||||
uint8_t is_common; /*!< The command is common type */
|
||||
} esp_zb_zcl_command_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee ZCL basic command info
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_basic_cmd_s {
|
||||
esp_zb_addr_u dst_addr_u; /*!< Single short address or group address */
|
||||
uint8_t dst_endpoint; /*!< Destination endpoint */
|
||||
uint8_t src_endpoint; /*!< Source endpoint */
|
||||
} esp_zb_zcl_basic_cmd_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee ZCL command common struct, no command specific payload
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_common_cmd_s {
|
||||
esp_zb_zcl_basic_cmd_t zcl_basic_cmd; /*!< Basic command info */
|
||||
esp_zb_zcl_address_mode_t address_mode; /*!< APS addressing mode constants refer to esp_zb_zcl_address_mode_t */
|
||||
} esp_zb_zcl_common_cmd_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee zcl cluster device callback common information
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_device_cb_common_info_s {
|
||||
esp_zb_zcl_status_t status; /*!< The operation status of ZCL, refer to esp_zb_zcl_status_t */
|
||||
uint8_t dst_endpoint; /*!< The destination endpoint id of the ZCL indication */
|
||||
uint16_t cluster; /*!< The cluster id of the ZCL indication */
|
||||
} esp_zb_device_cb_common_info_t;
|
||||
|
||||
/**
|
||||
* @brief The frame header of Zigbee zcl command struct
|
||||
*
|
||||
* @note frame control field:
|
||||
* |----1 bit---|---------1 bit---------|---1 bit---|----------1 bit-----------|---4 bit---|
|
||||
* | Frame type | Manufacturer specific | Direction | Disable Default Response | Reserved |
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_frame_header_s {
|
||||
uint8_t fc; /*!< A 8-bit Frame control */
|
||||
uint16_t manuf_code; /*!< Manufacturer code */
|
||||
uint8_t tsn; /*!< Transaction sequence number */
|
||||
int8_t rssi; /*!< Signal strength */
|
||||
} esp_zb_zcl_frame_header_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee zcl command basic application information struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_cmd_info_s {
|
||||
esp_zb_zcl_status_t status; /*!< The status of command, which can refer to esp_zb_zcl_status_t */
|
||||
esp_zb_zcl_frame_header_t header; /*!< The command frame properties, which can refer to esp_zb_zcl_frame_field_t */
|
||||
esp_zb_zcl_addr_t src_address; /*!< The struct of address contains short and ieee address, which can refer to esp_zb_zcl_addr_s */
|
||||
uint16_t dst_address; /*!< The destination short address of command */
|
||||
uint8_t src_endpoint; /*!< The source endpoint of command */
|
||||
uint8_t dst_endpoint; /*!< The destination endpoint of command */
|
||||
uint16_t cluster; /*!< The cluster id for command */
|
||||
uint16_t profile; /*!< The application profile identifier*/
|
||||
esp_zb_zcl_command_t command; /*!< The properties of command */
|
||||
} esp_zb_zcl_cmd_info_t;
|
||||
|
||||
/**
|
||||
* @brief The ZCL attribute location information struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_attr_location_info_s {
|
||||
uint8_t endpoint_id; /*!< The endpoint identifier on which the cluster id is resident. */
|
||||
uint16_t cluster_id; /*!< The cluster identifier on which the attribute is resident, refer to esp_zb_zcl_cluster_id_t */
|
||||
uint8_t cluster_role; /*!< The role of cluster, refer to esp_zb_zcl_cluster_role_t */
|
||||
uint16_t manuf_code; /*!< The manufacturer code of attribute */
|
||||
uint16_t attr_id; /*!< The attribute identifier */
|
||||
} esp_zb_zcl_attr_location_info_t;
|
||||
|
||||
/**
|
||||
* @brief ZCL Cluster Check Attribute Value Handler, which should be called before attribute change and checks if new value is in correct range
|
||||
* and can be applied.
|
||||
*
|
||||
* @param[in] attr_id ZCL Attribute ID
|
||||
* @param[in] endpoint Device endpoint
|
||||
* @param[in] value Pointer to the new Attribute Value
|
||||
*
|
||||
* @return The result of check value whose value refer to esp_err_t
|
||||
*/
|
||||
typedef signed int (*esp_zb_zcl_cluster_check_value_callback_t)(uint16_t attr_id, uint8_t endpoint, uint8_t *value);
|
||||
|
||||
/**
|
||||
* @brief ZCL Cluster Write Attribute Handler, which should be called before attribute change (if any cluster-specific action needs to
|
||||
* be bound to attribute change, it can be placed in this handler).
|
||||
*
|
||||
* @param[in] endpoint Device endpoint
|
||||
* @param[in] attr_id ZCL Attribute ID
|
||||
* @param[in] new_value Pointer to the new Attribute Value
|
||||
* @param[in] manuf_code Manufacturer specific code
|
||||
*/
|
||||
typedef void (*esp_zb_zcl_cluster_write_attr_callback_t)(uint8_t endpoint, uint16_t attr_id, uint8_t *new_value, uint16_t manuf_code);
|
||||
|
||||
/**
|
||||
* @brief Get the size of ZCL attribute value
|
||||
*
|
||||
* @param[in] attr_type The data type of attribute value
|
||||
* @param[in] attr_value The value of attribute
|
||||
* @return
|
||||
* - 0x00 - 0xFFFE: The size of attribute value
|
||||
* - 0xFFFF: Invalid size
|
||||
*/
|
||||
uint16_t esp_zb_zcl_get_attribute_size(uint8_t attr_type, uint8_t *attr_value);
|
||||
|
||||
/**
|
||||
* @brief Put the ZCL attribute value to specific memory
|
||||
*
|
||||
* @param data_ptr A pointer of specific memory
|
||||
* @param type The data type of attribute value
|
||||
* @param value The value of attribute
|
||||
* @param value_size The size of attribute value
|
||||
* @return A pointer indicates the end location in specific memory after a value has been stored
|
||||
*/
|
||||
uint8_t *esp_zb_zcl_put_attribute_value(uint8_t *data_ptr, uint8_t type, uint8_t *value, uint16_t value_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,353 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
#include "esp_zigbee_zcl_common.h"
|
||||
#include "esp_zigbee_zcl_basic.h"
|
||||
#include "esp_zigbee_zcl_identify.h"
|
||||
#include "esp_zigbee_zcl_groups.h"
|
||||
#include "esp_zigbee_zcl_scenes.h"
|
||||
#include "esp_zigbee_zcl_on_off.h"
|
||||
#include "esp_zigbee_zcl_on_off_switch_config.h"
|
||||
#include "esp_zigbee_zcl_level.h"
|
||||
#include "esp_zigbee_zcl_color_control.h"
|
||||
#include "esp_zigbee_zcl_time.h"
|
||||
#include "esp_zigbee_zcl_binary_input.h"
|
||||
#include "esp_zigbee_zcl_commissioning.h"
|
||||
#include "esp_zigbee_zcl_ias_zone.h"
|
||||
#include "esp_zigbee_zcl_ias_ace.h"
|
||||
#include "esp_zigbee_zcl_ias_wd.h"
|
||||
#include "esp_zigbee_zcl_shade_config.h"
|
||||
#include "esp_zigbee_zcl_door_lock.h"
|
||||
#include "esp_zigbee_zcl_humidity_meas.h"
|
||||
#include "esp_zigbee_zcl_temperature_meas.h"
|
||||
#include "esp_zigbee_zcl_ota.h"
|
||||
#include "esp_zigbee_zcl_electrical_meas.h"
|
||||
#include "esp_zigbee_zcl_illuminance_meas.h"
|
||||
#include "esp_zigbee_zcl_pressure_meas.h"
|
||||
#include "esp_zigbee_zcl_flow_meas.h"
|
||||
#include "esp_zigbee_zcl_occupancy_sensing.h"
|
||||
#include "esp_zigbee_zcl_window_covering.h"
|
||||
#include "esp_zigbee_zcl_thermostat.h"
|
||||
#include "esp_zigbee_zcl_fan_control.h"
|
||||
#include "esp_zigbee_zcl_thermostat_ui_config.h"
|
||||
#include "esp_zigbee_zcl_analog_input.h"
|
||||
#include "esp_zigbee_zcl_analog_output.h"
|
||||
#include "esp_zigbee_zcl_analog_value.h"
|
||||
#include "esp_zigbee_zcl_carbon_dioxide_measurement.h"
|
||||
#include "esp_zigbee_zcl_pm2_5_measurement.h"
|
||||
#include "esp_zigbee_zcl_multistate_value.h"
|
||||
#include "esp_zigbee_zcl_metering.h"
|
||||
#include "esp_zigbee_zcl_diagnostics.h"
|
||||
#include "esp_zigbee_zcl_meter_identification.h"
|
||||
#include "esp_zigbee_zcl_price.h"
|
||||
#include "esp_zigbee_zcl_ec_measurement.h"
|
||||
#include "esp_zigbee_zcl_ph_measurement.h"
|
||||
#include "esp_zigbee_zcl_wind_speed_measurement.h"
|
||||
#include "esp_zigbee_zcl_drlc.h"
|
||||
#include "esp_zigbee_zcl_dehumidification_control.h"
|
||||
#include "esp_zigbee_zcl_binary_input.h"
|
||||
#include "esp_zigbee_zcl_binary_output.h"
|
||||
#include "esp_zigbee_zcl_binary_value.h"
|
||||
#include "esp_zigbee_zcl_multistate_input.h"
|
||||
#include "esp_zigbee_zcl_multistate_output.h"
|
||||
#include "esp_zigbee_zcl_multistate_value.h"
|
||||
#include "esp_zigbee_zcl_poll_control.h"
|
||||
#include "esp_zigbee_zcl_device_temp_config.h"
|
||||
#include "esp_zigbee_zcl_alarms.h"
|
||||
#include "esp_zigbee_zcl_command.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enum of the Zigbee core action callback id
|
||||
*
|
||||
* @note
|
||||
* 1. If one endpoint possesses the same custom cluster identifier in both client and server roles,
|
||||
* any request or response command for the custom cluster will only trigger the
|
||||
* ``ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID`` callback.
|
||||
* 2. The callback ids without ``CMD`` in their names would provide messages of the following structure:
|
||||
* @code{c}
|
||||
* typedef struct xxx_message_s {
|
||||
* esp_zb_device_cb_common_info_t info;
|
||||
* ...
|
||||
* } xxx_message_t;
|
||||
* @endcode
|
||||
* While the callback ids with ``CMD`` in their names would provide messages of the following structure:
|
||||
* @code{c}
|
||||
* typedef struct xxx_message_s {
|
||||
* esp_zb_zcl_cmd_info_t info;
|
||||
* ...
|
||||
* } xxx_message_t;
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zb_core_action_callback_id_s {
|
||||
ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID = 0x0000, /*!< Set attribute value, refer to esp_zb_zcl_set_attr_value_message_t */
|
||||
ESP_ZB_CORE_SCENES_STORE_SCENE_CB_ID = 0x0001, /*!< Store scene, refer to esp_zb_zcl_store_scene_message_t */
|
||||
ESP_ZB_CORE_SCENES_RECALL_SCENE_CB_ID = 0x0002, /*!< Recall scene, refer to esp_zb_zcl_recall_scene_message_t */
|
||||
ESP_ZB_CORE_IAS_ZONE_ENROLL_RESPONSE_VALUE_CB_ID = 0x0003, /*!< IAS Zone enroll response, refer to esp_zb_zcl_ias_zone_enroll_response_message_t */
|
||||
ESP_ZB_CORE_OTA_UPGRADE_VALUE_CB_ID = 0x0004, /*!< Upgrade OTA, refer to esp_zb_zcl_ota_upgrade_value_message_t */
|
||||
ESP_ZB_CORE_OTA_UPGRADE_SRV_STATUS_CB_ID = 0x0005, /*!< OTA Server status, refer to esp_zb_zcl_ota_upgrade_server_status_message_t */
|
||||
ESP_ZB_CORE_OTA_UPGRADE_SRV_QUERY_IMAGE_CB_ID = 0x0006, /*!< OTA Server query image, refer to esp_zb_zcl_ota_upgrade_server_query_image_message_t */
|
||||
ESP_ZB_CORE_THERMOSTAT_VALUE_CB_ID = 0x0007, /*!< Thermostat value, refer to esp_zb_zcl_thermostat_value_message_t */
|
||||
ESP_ZB_CORE_METERING_GET_PROFILE_CB_ID = 0x0008, /*!< Metering get profile, refer to esp_zb_zcl_metering_get_profile_message_t */
|
||||
ESP_ZB_CORE_METERING_GET_PROFILE_RESP_CB_ID = 0x0009, /*!< Metering get profile response, refer to esp_zb_zcl_metering_get_profile_resp_message_t */
|
||||
ESP_ZB_CORE_METERING_REQ_FAST_POLL_MODE_CB_ID = 0x000a, /*!< Metering request fast poll mode, refer to esp_zb_zcl_metering_request_fast_poll_mode_message_t */
|
||||
ESP_ZB_CORE_METERING_REQ_FAST_POLL_MODE_RESP_CB_ID = 0x000b, /*!< Metering request fast poll mode response, refer to esp_zb_zcl_metering_request_fast_poll_mode_resp_message_t */
|
||||
ESP_ZB_CORE_METERING_GET_SNAPSHOT_CB_ID = 0x000c, /*!< Metering get snapshot, refer to esp_zb_zcl_metering_get_snapshot_message_t */
|
||||
ESP_ZB_CORE_METERING_PUBLISH_SNAPSHOT_CB_ID = 0x000d, /*!< Metering publish snapshot, refer to esp_zb_zcl_metering_publish_snapshot_message_t */
|
||||
ESP_ZB_CORE_METERING_GET_SAMPLED_DATA_CB_ID = 0x000e, /*!< Metering get sampled data, refer to esp_zb_zcl_metering_get_sampled_data_message_t */
|
||||
ESP_ZB_CORE_METERING_GET_SAMPLED_DATA_RESP_CB_ID = 0x000f, /*!< Metering get sampled data response, refer to esp_zb_zcl_metering_get_sampled_data_resp_message_t */
|
||||
ESP_ZB_CORE_DOOR_LOCK_LOCK_DOOR_CB_ID = 0x0010, /*!< Lock/unlock door request, refer to esp_zb_zcl_door_lock_lock_door_message_t */
|
||||
ESP_ZB_CORE_DOOR_LOCK_LOCK_DOOR_RESP_CB_ID = 0x0011, /*!< Lock/unlock door response, refer to esp_zb_zcl_door_lock_lock_door_resp_message_t */
|
||||
ESP_ZB_CORE_IDENTIFY_EFFECT_CB_ID = 0x0012, /*!< Identify triggers effect request, refer to esp_zb_zcl_identify_effect_message_t */
|
||||
ESP_ZB_CORE_BASIC_RESET_TO_FACTORY_RESET_CB_ID = 0x0013, /*!< Reset all clusters of endpoint to factory default, refer to esp_zb_zcl_basic_reset_factory_default_message_t */
|
||||
ESP_ZB_CORE_PRICE_GET_CURRENT_PRICE_CB_ID = 0x0014, /*!< Price get current price, refer to esp_zb_zcl_price_get_current_price_message_t */
|
||||
ESP_ZB_CORE_PRICE_GET_SCHEDULED_PRICES_CB_ID = 0x0015, /*!< Price get scheduled prices, refer to esp_zb_zcl_price_get_scheduled_prices_message_t */
|
||||
ESP_ZB_CORE_PRICE_GET_TIER_LABELS_CB_ID = 0x0016, /*!< Price get tier labels, refer to esp_zb_zcl_price_get_tier_labels_message_t */
|
||||
ESP_ZB_CORE_PRICE_PUBLISH_PRICE_CB_ID = 0x0017, /*!< Price publish price, refer to esp_zb_zcl_price_publish_price_message_t */
|
||||
ESP_ZB_CORE_PRICE_PUBLISH_TIER_LABELS_CB_ID = 0x0018, /*!< Price publish tier labels, refer to esp_zb_zcl_price_publish_tier_labels_message_t */
|
||||
ESP_ZB_CORE_PRICE_PRICE_ACK_CB_ID = 0x0019, /*!< Price price acknowledgement, refer to esp_zb_zcl_price_ack_message_t */
|
||||
ESP_ZB_CORE_COMM_RESTART_DEVICE_CB_ID = 0x001a, /*!< Commissioning restart device, refer to esp_zigbee_zcl_commissioning_restart_device_message_t */
|
||||
ESP_ZB_CORE_COMM_OPERATE_STARTUP_PARAMS_CB_ID = 0x001b, /*!< Commissioning operate startup parameters, refer to esp_zigbee_zcl_commissioning_operate_startup_parameters_message_t */
|
||||
ESP_ZB_CORE_COMM_COMMAND_RESP_CB_ID = 0x001c, /*!< Commissioning command response, refer to esp_zigbee_zcl_commissioning_command_response_message_t */
|
||||
ESP_ZB_CORE_IAS_WD_START_WARNING_CB_ID = 0x001d, /*!< IAS WD cluster Start Warning command, refer to esp_zb_zcl_ias_wd_start_warning_message_t */
|
||||
ESP_ZB_CORE_IAS_WD_SQUAWK_CB_ID = 0x001e, /*!< IAS WD cluster Squawk command, refer to esp_zb_zcl_ias_wd_squawk_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_ARM_CB_ID = 0x001f, /*!< IAS ACE cluster Arm command, refer to esp_zb_zcl_ias_ace_arm_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_BYPASS_CB_ID = 0x0020, /*!< IAS ACE cluster Bypass command, refer to esp_zb_zcl_ias_ace_bypass_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_EMERGENCY_CB_ID = 0x0021, /*!< IAS ACE cluster Emergency command, refer to esp_zb_zcl_ias_ace_emergency_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_FIRE_CB_ID = 0x0022, /*!< IAS ACE cluster Fire command, refer to esp_zb_zcl_ias_ace_fire_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_PANIC_CB_ID = 0x0023, /*!< IAS ACE cluster Panic command, refer to esp_zb_zcl_ias_ace_panic_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_PANEL_STATUS_CB_ID = 0x0024, /*!< IAS ACE cluster Get Panel Status command, refer to esp_zb_zcl_ias_ace_get_panel_status_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_BYPASSED_ZONE_LIST_CB_ID = 0x0025, /*!< IAS ACE cluster Get Bypass Zone List command, refer to esp_zb_zcl_ias_ace_get_bypassed_zone_list_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_ZONE_STATUS_CB_ID = 0x0026, /*!< IAS ACE cluster Get Zone Status command, refer to esp_zb_zcl_ias_ace_get_zone_status_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_ARM_RESP_CB_ID = 0x0027, /*!< IAS ACE cluster Arm command response, refer to esp_zb_zcl_ias_ace_arm_response_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_ZONE_ID_MAP_RESP_CB_ID = 0x0028, /*!< IAS ACE cluster Get Zone ID MAP command response, refer to esp_zb_zcl_ias_ace_get_zone_id_map_response_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_ZONE_INFO_RESP_CB_ID = 0x0029, /*!< IAS ACE cluster Get Zone Information command response, refer to esp_zb_zcl_ias_ace_get_zone_info_response_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_ZONE_STATUS_CHANGED_CB_ID = 0x002a, /*!< IAS ACE cluster Zone Status Changed command, refer to esp_zb_zcl_ias_ace_zone_status_changed_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_PANEL_STATUS_CHANGED_CB_ID = 0x002b, /*!< IAS ACE cluster Panel Status Changed command, refer to esp_zb_zcl_ias_ace_panel_status_changed_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_PANEL_STATUS_RESP_CB_ID = 0x002c, /*!< IAS ACE cluster Get Panel Status command response, refer to esp_zb_zcl_ias_ace_get_panel_status_response_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_SET_BYPASSED_ZONE_LIST_CB_ID = 0x002d, /*!< IAS ACE cluster Set Bypassed Zone List command, refer to esp_zb_zcl_ias_ace_set_bypassed_zone_list_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_BYPASS_RESP_CB_ID = 0x002e, /*!< IAS ACE cluster Bypass command response, refer to esp_zb_zcl_ias_ace_bypass_response_message_t */
|
||||
ESP_ZB_CORE_IAS_ACE_GET_ZONE_STATUS_RESP_CB_ID = 0x002f, /*!< IAS ACE cluster Get Zone Status command response, refer to esp_zb_zcl_ias_ace_get_zone_status_response_message_t */
|
||||
ESP_ZB_CORE_WINDOW_COVERING_MOVEMENT_CB_ID = 0x0030, /*!< Window covering movement command, refer to esp_zb_zcl_window_covering_movement_message_t */
|
||||
ESP_ZB_CORE_OTA_UPGRADE_QUERY_IMAGE_RESP_CB_ID = 0x0031, /*!< OTA upgrade query image response message, refer to esp_zb_zcl_ota_upgrade_query_image_resp_message_t */
|
||||
ESP_ZB_CORE_THERMOSTAT_WEEKLY_SCHEDULE_SET_CB_ID = 0x0032, /*!< Thermostat weekly schedule stable set, refer to esp_zb_zcl_thermostat_weekly_schedule_set_message_t */
|
||||
ESP_ZB_CORE_DRLC_LOAD_CONTROL_EVENT_CB_ID = 0x0040, /*!< Demand response and load control cluster LoadControlEvent message, refer to esp_zb_zcl_drlc_load_control_event_message_t */
|
||||
ESP_ZB_CORE_DRLC_CANCEL_LOAD_CONTROL_EVENT_CB_ID = 0x0041, /*!< Demand response and load control cluster CancelLoadControlEvent message, refer to esp_zb_zcl_drlc_cancel_load_control_event_message_t */
|
||||
ESP_ZB_CORE_DRLC_CANCEL_ALL_LOAD_CONTROL_EVENTS_CB_ID = 0x0042, /*!< Demand response and load control cluster CancelAllLoadControlEvents message, refer to esp_zb_zcl_drlc_cancel_all_load_control_events_message_t */
|
||||
ESP_ZB_CORE_DRLC_REPORT_EVENT_STATUS_CB_ID = 0x0043, /*!< Demand response and load control cluster ReportEventStatus message, refer to esp_zb_zcl_drlc_report_event_status_message_t */
|
||||
ESP_ZB_CORE_DRLC_GET_SCHEDULED_EVENTS_CB_ID = 0x0044, /*!< Demand response and load control cluster GetScheduledEvents message, refer to esp_zb_zcl_drlc_get_scheduled_events_message_t */
|
||||
ESP_ZB_CORE_POLL_CONTROL_CHECK_IN_REQ_CB_ID = 0x0045, /*!< Poll control cluster CheckInRequest message, refer to esp_zb_zcl_poll_control_check_in_req_message_t */
|
||||
ESP_ZB_CORE_ALARMS_RESET_ALARM_CB_ID = 0x0050, /*!< Alarms cluster Reset Alarm command, refer to esp_zb_zcl_alarms_reset_alarm_message_t */
|
||||
ESP_ZB_CORE_ALARMS_RESET_ALL_ALARMS_CB_ID = 0x0051, /*!< Alarms cluster Reset All Alarms command, refer to esp_zb_zcl_alarms_reset_all_alarms_message_t */
|
||||
ESP_ZB_CORE_ALARMS_ALARM_CB_ID = 0x0052, /*!< Alarms cluster Alarm command, refer to esp_zb_zcl_alarms_alarm_message_t */
|
||||
ESP_ZB_CORE_ALARMS_GET_ALARM_RESP_CB_ID = 0x0053, /*!< Alarms cluster Get Alarm Response command, refer to esp_zb_zcl_alarms_get_alarm_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_READ_ATTR_RESP_CB_ID = 0x1000, /*!< Read attribute response, refer to esp_zb_zcl_cmd_read_attr_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_WRITE_ATTR_RESP_CB_ID = 0x1001, /*!< Write attribute response, refer to esp_zb_zcl_cmd_write_attr_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_REPORT_CONFIG_RESP_CB_ID = 0x1002, /*!< Configure report response, refer to esp_zb_zcl_cmd_config_report_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_READ_REPORT_CFG_RESP_CB_ID = 0x1003, /*!< Read report configuration response, refer to esp_zb_zcl_cmd_read_report_config_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_DISC_ATTR_RESP_CB_ID = 0x1004, /*!< Discover attributes response, refer to esp_zb_zcl_cmd_discover_attributes_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_DEFAULT_RESP_CB_ID = 0x1005, /*!< Default response, refer to esp_zb_zcl_cmd_default_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_OPERATE_GROUP_RESP_CB_ID = 0x1010, /*!< Group add group response, refer to esp_zb_zcl_groups_operate_group_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_VIEW_GROUP_RESP_CB_ID = 0x1011, /*!< Group view response, refer to esp_zb_zcl_groups_view_group_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_GET_GROUP_MEMBERSHIP_RESP_CB_ID = 0x1012, /*!< Group get membership response, refer to esp_zb_zcl_groups_get_group_membership_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_OPERATE_SCENE_RESP_CB_ID = 0x1020, /*!< Scenes operate response, refer to esp_zb_zcl_scenes_operate_scene_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_VIEW_SCENE_RESP_CB_ID = 0x1021, /*!< Scenes view response, refer to esp_zb_zcl_scenes_view_scene_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_GET_SCENE_MEMBERSHIP_RESP_CB_ID = 0x1022, /*!< Scenes get membership response, refer to esp_zb_zcl_scenes_get_scene_membership_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_IAS_ZONE_ZONE_ENROLL_REQUEST_ID = 0x1030, /*!< IAS Zone enroll request, refer to esp_zb_zcl_ias_zone_enroll_request_message_t */
|
||||
ESP_ZB_CORE_CMD_IAS_ZONE_ZONE_STATUS_CHANGE_NOT_ID = 0x1031, /*!< IAS Zone status change notification, refer to esp_zb_zcl_ias_zone_status_change_notification_message_t */
|
||||
ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID = 0x1040, /*!< Custom Cluster request, refer to esp_zb_zcl_custom_cluster_command_message_t */
|
||||
ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_RESP_CB_ID = 0x1041, /*!< Custom Cluster response, refer to esp_zb_zcl_custom_cluster_command_message_t */
|
||||
ESP_ZB_CORE_CMD_PRIVILEGE_COMMAND_REQ_CB_ID = 0x1050, /*!< Custom Cluster request, refer to esp_zb_zcl_privilege_command_message_t */
|
||||
ESP_ZB_CORE_CMD_PRIVILEGE_COMMAND_RESP_CB_ID = 0x1051, /*!< Custom Cluster response, refer to esp_zb_zcl_privilege_command_message_t */
|
||||
ESP_ZB_CORE_CMD_TOUCHLINK_GET_GROUP_ID_RESP_CB_ID = 0x1060, /*!< Touchlink commissioning cluster get group id response, refer to esp_zb_touchlink_get_group_identifiers_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_TOUCHLINK_GET_ENDPOINT_LIST_RESP_CB_ID = 0x1061, /*!< Touchlink commissioning cluster get endpoint list response, refer to esp_zb_zcl_touchlink_get_endpoint_list_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_THERMOSTAT_GET_WEEKLY_SCHEDULE_RESP_CB_ID = 0x1070, /*!< Thermostat cluster get weekly schedule response, refer to esp_zb_zcl_thermostat_get_weekly_schedule_resp_message_t */
|
||||
ESP_ZB_CORE_CMD_GREEN_POWER_RECV_CB_ID = 0x1F00, /*!< Green power cluster command receiving, refer to esp_zb_zcl_cmd_green_power_recv_message_t */
|
||||
ESP_ZB_CORE_REPORT_ATTR_CB_ID = 0x2000, /*!< Attribute Report, refer to esp_zb_zcl_report_attr_message_t */
|
||||
} esp_zb_core_action_callback_id_t;
|
||||
|
||||
/**
|
||||
* @brief A callback for user to obtain device_cb_id buffer id of ZBoss stack
|
||||
*
|
||||
* @return
|
||||
* - True: processed
|
||||
* - False: unprocessed
|
||||
*/
|
||||
typedef bool (*esp_zb_zcl_device_cb_id_callback_t)(uint8_t bufid);
|
||||
|
||||
/**
|
||||
* @brief A callback for user to obtain raw command bufid of ZBoss stack
|
||||
*
|
||||
* @note If the @p bufid has been processed in the callback, it should be freed using the zb_zcl_send_default_handler().
|
||||
*
|
||||
* @return
|
||||
* - True: processed
|
||||
* - False: unprocessed
|
||||
*/
|
||||
typedef bool (*esp_zb_zcl_raw_command_callback_t)(uint8_t bufid);
|
||||
|
||||
/** Identify callback
|
||||
*
|
||||
* @param[in] identify_on A indication that need start identify or stop
|
||||
*
|
||||
*/
|
||||
typedef void (*esp_zb_identify_notify_callback_t)(uint8_t identify_on);
|
||||
|
||||
/**
|
||||
* @brief ZCL reset default attribute callback
|
||||
*
|
||||
* @param[in] endpoint The Endpoint identifier
|
||||
* @param[in] cluster_id The cluster identifier
|
||||
* @param[in] curr_attr The current attribute information
|
||||
*
|
||||
* @return The default attribute value will be set to
|
||||
*/
|
||||
typedef void *(*esp_zb_zcl_reset_default_attr_callback_t)(uint8_t endpoint, uint16_t cluster_id, esp_zb_zcl_attribute_t curr_attr);
|
||||
|
||||
/**
|
||||
* @brief A callback for user to obtain interesting Zigbee message
|
||||
*
|
||||
* @note The returned value will be utilized by the stack for post-processing
|
||||
* @param[in] callback_id The id of Zigbee core action, refer to esp_zb_core_action_callback_id_t
|
||||
* @param[in] message The information of Zigbee core action that bind with the @p callback_id
|
||||
*
|
||||
* @return ESP_OK The action is handled successfully, others on failure
|
||||
*/
|
||||
typedef esp_err_t (*esp_zb_core_action_callback_t)(esp_zb_core_action_callback_id_t callback_id, const void *message);
|
||||
|
||||
/**
|
||||
* @brief Register the Zigbee core action handler
|
||||
*
|
||||
* @param[in] cb A callback that user can handle the Zigbee action, refer to esp_zb_core_callback_t
|
||||
*
|
||||
*/
|
||||
void esp_zb_core_action_handler_register(esp_zb_core_action_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Register the Zigbee device_cb_id handler
|
||||
*
|
||||
* @param[in] cb A callback that user can handle the Zigbee raw device_cb_id buffer id, refer to esp_zb_core_callback_t
|
||||
*
|
||||
*/
|
||||
void esp_zb_device_cb_id_handler_register(esp_zb_zcl_device_cb_id_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Register the raw Zigbee command handler
|
||||
*
|
||||
* @param[in] cb A callback that user can handle the Zigbee raw command buffer id, refer to esp_zb_zcl_raw_command_callback_t
|
||||
*
|
||||
*/
|
||||
void esp_zb_raw_command_handler_register(esp_zb_zcl_raw_command_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Register the callback for the ZCL command send status
|
||||
*
|
||||
* @param[in] cb The ZCL command send status callback, refer to esp_zb_zcl_command_send_status_callback_t
|
||||
*/
|
||||
void esp_zb_zcl_command_send_status_handler_register(esp_zb_zcl_command_send_status_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Set the ZCL identify notify callback for specific endpoint.
|
||||
*
|
||||
* @note Set a callback for user to handle identify command.
|
||||
*
|
||||
* @param[in] endpoint A specific endpoint
|
||||
* @param[in] cb A identify notify callback that user used
|
||||
*
|
||||
*/
|
||||
void esp_zb_identify_notify_handler_register(uint8_t endpoint, esp_zb_identify_notify_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Add a callback and the privilege command the Zigbee cluster in endpoint.
|
||||
*
|
||||
* @note The privilege command will skip the Zigbee stack and be exposed to users by the callback indirectly.
|
||||
* Allowing different commands to use the same callback.
|
||||
*
|
||||
* @param[in] endpoint The specific endpoint for @p cluster
|
||||
* @param[in] cluster The specific cluster for @p command
|
||||
* @param[in] command The specific command ID is required to handle for users.
|
||||
* @return
|
||||
* - ESP_OK: on success
|
||||
* - ESP_FAIL: on failure
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_add_privilege_command(uint8_t endpoint, uint16_t cluster, uint16_t command);
|
||||
|
||||
/**
|
||||
* @brief Delete the privilege command from the @p cluster of @p endpoint
|
||||
*
|
||||
* @param[in] endpoint The specific endpoint for @p cluster
|
||||
* @param[in] cluster The specific cluster for @p command
|
||||
* @param[in] command The specific command ID will be deleted so that the stack will handle the command rather than user.
|
||||
* @return
|
||||
* - True: On success
|
||||
* - False: Nothing to delete
|
||||
*/
|
||||
bool esp_zb_zcl_delete_privilege_command(uint8_t endpoint, uint16_t cluster, uint16_t command);
|
||||
|
||||
/**
|
||||
* @brief Reset all endpoints to factory default
|
||||
*
|
||||
* @note If @p cb is not set or @p cb return NULL, the default attribute value will be set to zero
|
||||
* @param[in] reset_report Whether reset report of clusters or not
|
||||
* @param[in] cb The user can utilize the callback to set default attribute value
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK: on success
|
||||
* - ESP_FAIL: on failed
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_reset_all_endpoints_to_factory_default(bool reset_report, esp_zb_zcl_reset_default_attr_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Reset endpoint to factory default
|
||||
*
|
||||
* @note If @p cb is not set or @p cb return NULL, the default attribute value will be set to zero
|
||||
* @param[in] endpoint The endpoint identifier which will be reset
|
||||
* @param[in] reset_report Whether reset report of clusters or not
|
||||
* @param[in] cb The user can utilize the callback to set default attribute value
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK: on success
|
||||
* - ESP_FAIL: on failed
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_reset_endpoint_to_factory_default(uint8_t endpoint, bool reset_report, esp_zb_zcl_reset_default_attr_callback_t cb);
|
||||
|
||||
/**
|
||||
* @brief Reset the NVRAM and ZCL data to factory default
|
||||
*
|
||||
*/
|
||||
void esp_zb_zcl_reset_nvram_to_factory_default(void);
|
||||
|
||||
/**
|
||||
* @brief Register a Zigbee device.
|
||||
*
|
||||
* @note
|
||||
* 1. After successful registration, the SDK will retain a copy of the whole data model,
|
||||
* the \p ep_list will be freed.
|
||||
* 2. For any lists (e.g. ``esp_zb_cluster_list_t`` and ``esp_zb_attribute_list_t``) added to the data
|
||||
* modal should only be created and modified by the API.
|
||||
* 3. Please DO NOT reuse ANY of lists in the data mode. If you have two identical stuff (e.g. two endpoints
|
||||
* with identical clusters), please create/add them twice.
|
||||
*
|
||||
* @param[in] ep_list An endpoint list which wants to register, see @ref esp_zb_ep_list_s
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK on success
|
||||
*
|
||||
*/
|
||||
esp_err_t esp_zb_device_register(esp_zb_ep_list_t *ep_list);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Dehumidification Control cluster attribute identifiers */
|
||||
typedef enum esp_zb_zcl_dehumidification_control_attr_e {
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_ID = 0x0000, /*!< The RelativeHumidity attribute is an 8-bit value that represents the
|
||||
current relative humidity (in %) measured by a local or remote sensor. */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_COOLING_ID = 0x0001, /*!< Dehumidification Cooling attribute */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_RHDEHUMIDIFICATION_SETPOINT_ID = 0x0010, /*!< RHDehumidification Setpoint attribute */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_MODE_ID = 0x0011, /*!< The RelativeHumidityMode attribute is an 8-bit value that specifies
|
||||
how the RelativeHumidity value is being updated. */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_LOCKOUT_ID = 0x0012, /*!< The DehumidificationLockout attribute is an 8-bit value that specifies
|
||||
whether dehumidification is allowed or not. */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_HYSTERESIS_ID = 0x0013, /*!< Dehumidification Hysteresis attribute */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_MAX_COOL_ID = 0x0014, /*!< Dehumidification Max Cool attribute */
|
||||
ESP_ZB_ZCL_ATTR_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_DISPLAY_ID = 0x0015, /*!< The RelativeHumidityDisplay attribute is an 8-bit value that specifies
|
||||
whether the RelativeHumidity value is displayed to the user or not. */
|
||||
} esp_zb_zcl_dehumidification_control_attr_t;
|
||||
|
||||
|
||||
/** @brief Default value for Dehumidification Control cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_CLUSTER_REVISION_DEFAULT 0x0001
|
||||
|
||||
/** @brief Min value for RHDehumidification Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_RHDEHUMIDIFICATION_SETPOINT_MIN_VALUE 0x1e
|
||||
|
||||
/** @brief Max value for RHDehumidification Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_RHDEHUMIDIFICATION_SETPOINT_MAX_VALUE 0x64
|
||||
|
||||
/** @brief Default value for RHDehumidification Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_RHDEHUMIDIFICATION_SETPOINT_DEFAULT_VALUE 0x32
|
||||
|
||||
/** @brief Default value for RelativeHumidityMode attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_MODE_DEFAULT_VALUE ((uint8_t)ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_MEASURED_LOCALLY)
|
||||
|
||||
/** @brief Default value for DehumidificationLockout attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_LOCKOUT_DEFAULT_VALUE ((uint8_t)ESP_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_LOCKOUT_ALLOWED)
|
||||
|
||||
/** @brief Min value for Dehumidification Hysteresis attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_HYSTERESIS_MIN_VALUE 0x02
|
||||
|
||||
/** @brief Max value for Dehumidification Hysteresis attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_HYSTERESIS_MAX_VALUE 0x14
|
||||
|
||||
/** @brief Default value for Dehumidification Hysteresis attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_HYSTERESIS_DEFAULT_VALUE 0x02
|
||||
|
||||
/** @brief Default value for Dehumidification Cool attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_COOL_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Min value for Dehumidification Max Cool attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_MAX_COOL_MIN_VALUE 0x14
|
||||
|
||||
/** @brief Max value for Dehumidification Max Cool attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_MAX_COOL_MAX_VALUE 0x64
|
||||
|
||||
/** @brief Default value for Dehumidification Max Cool attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_MAX_COOL_DEFAULT_VALUE 0x14
|
||||
|
||||
/** @brief Default value for RelativeHumidityDisplay attribute */
|
||||
#define ESP_ZB_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_DISPLAY_DEFAULT_VALUE ((uint8_t)ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_NOT_DISPLAYED)
|
||||
|
||||
/** @brief Enumerate the RelativeHumidityMode Attribute */
|
||||
typedef enum esp_zb_zcl_dehumidification_control_relative_humidity_mode_e {
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_MEASURED_LOCALLY = 0x00, /*!< RelativeHumidity measured locally */
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_UPDATED_OVER_THE_NETWORK, /*!< RelativeHumidity updated over the network */
|
||||
} esp_zb_zcl_dehumidification_control_relative_humidity_mode_t;
|
||||
|
||||
/** @brief Enumerate the DehumidificationLockout Attribute */
|
||||
typedef enum esp_zb_zcl_dehumidification_control_dehumidification_lockout_e {
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_LOCKOUT_NOT_ALLOWED = 0x00, /*!< Dehumidification is not allowed */
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_DEHUMIDIFICATION_LOCKOUT_ALLOWED, /*!< Dehumidification is allowed */
|
||||
} esp_zb_zcl_dehumidification_control_dehumidification_lockout_t;
|
||||
|
||||
/** @brief Enumerate the RelativeHumidityDisplay Attribute */
|
||||
typedef enum esp_zb_zcl_dehumidification_control_relative_humidity_display_e {
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_NOT_DISPLAYED = 0x00, /*!< RelativeHumidity is not displayed */
|
||||
ESP_ZCL_DEHUMIDIFICATION_CONTROL_RELATIVE_HUMIDITY_DISPLAYED, /*!< RelativeHumidity is displayed */
|
||||
} esp_zb_zcl_dehumidification_control_relative_humidity_display_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @brief Device Temperature Configuration cluster attribute identifiers */
|
||||
typedef enum esp_zb_zcl_device_temp_config_attr_e {
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_CURRENT_TEMP_ID = 0x0000, /*!< CurrentTemperature */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_MIN_TEMP_EXPERIENCED_ID = 0x0001, /*!< MinTempExperienced */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_MAX_TEMP_EXPERIENCED_ID = 0x0002, /*!< MaxTempExperienced */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_OVER_TEMP_TOTAL_DWELL_ID = 0x0003, /*!< OverTempTotalDwell */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_DEVICE_TEMP_ALARM_MASK_ID = 0x0010, /*!< DeviceTempAlarmMask */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_LOW_TEMP_THRESHOLD_ID = 0x0011, /*!< LowTempThreshold */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_HIGH_TEMP_THRESHOLD_ID = 0x0012, /*!< HighTempThreshold */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_LOW_TEMP_DWELL_TRIP_POINT_ID = 0x0013, /*!< LowTempDwellTripPoint */
|
||||
ESP_ZB_ZCL_ATTR_DEVICE_TEMP_CONFIG_HIGH_TEMP_DWELL_TRIP_POINT_ID = 0x0014, /*!< HighTempDwellTripPoint */
|
||||
} esp_zb_zcl_device_temp_config_attr_t;
|
||||
|
||||
/** @brief Minimum value for CurrentTemp attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_CURRENT_TEMP_MIN_VALUE (-200)
|
||||
/** @brief Maximum value for CurrentTemp attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_CURRENT_TEMP_MAX_VALUE (+200)
|
||||
|
||||
/** @brief Minimum value for MinTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MIN_TEMP_EXPERIENCED_MIN_VALUE (-200)
|
||||
/** @brief Maximum value for MinTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MIN_TEMP_EXPERIENCED_MAX_VALUE (+200)
|
||||
|
||||
/** @brief Minimum value for MaxTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MAX_TEMP_EXPERIENCED_MIN_VALUE (-200)
|
||||
/** @brief Maximum value for MaxTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MAX_TEMP_EXPERIENCED_MAX_VALUE (+200)
|
||||
|
||||
/** @brief Minimum value for OverTotalDwell attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_OVER_TEMP_TOTAL_DWELL_MIN_VALUE (0x0000)
|
||||
/** @brief Maximum value for OverTotalDwell attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_OVER_TEMP_TOTAL_DWELL_MAX_VALUE (0xffff)
|
||||
|
||||
/** @brief Minimum value for DeviceTempAlarmMask attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_DEVICE_TEMP_ALARM_MASK_MIN_VALUE (0b00000000)
|
||||
/** @brief Maximum value for DeviceTempAlarmMask attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_DEVICE_TEMP_ALARM_MASK_MAX_VALUE (0b00000011)
|
||||
|
||||
/** @brief Minimum value for LowTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_THRESHOLD_MIN_VALUE (-200)
|
||||
/** @brief Maximum value for LowTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_THRESHOLD_MAX_VALUE (+200)
|
||||
|
||||
/** @brief Minimum value for HighTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_THRESHOLD_MIN_VALUE (-200)
|
||||
/** @brief Maximum value for HighTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_THRESHOLD_MAX_VALUE (+200)
|
||||
|
||||
/** @brief Minimum value for LowTempTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_DWELL_TRIP_POINT_MIN_VALUE (0x000000)
|
||||
/** @brief Maximum value for LowTempTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_DWELL_TRIP_POINT_MAX_VALUE (0xffffff)
|
||||
|
||||
/** @brief Minimum value for HighTempTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_DWELL_TRIP_POINT_MIN_VALUE (0x000000)
|
||||
/** @brief Maximum value for HighTempTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_DWELL_TRIP_POINT_MAX_VALUE (0xffffff)
|
||||
|
||||
/** @brief Default value for CurrentTemp attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_CURRENT_TEMP_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for MinTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MIN_TEMP_EXPERIENCED_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for MaxTempExperienced attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_MAX_TEMP_EXPERIENCED_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for OverTempTotalDwell attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_OVER_TEMP_TOTAL_DWELL_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for DeviceTempAlarmMask attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_DEVICE_TEMP_ALARM_MASK_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for LowTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_THRESHOLD_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for HighTempThreshold attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_THRESHOLD_DEFAULT_VALUE ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for LowTempDwellTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_LOW_TEMP_DWELL_TRIP_POINT_DEFAULT_VALUE (0xffffff)
|
||||
|
||||
/** @brief Default value for HighTempDwellTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_DEVICE_TEMP_CONFIG_HIGH_TEMP_DWELL_TRIP_POINT_DEFAULT_VALUE (0xffffff)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Diagnostics cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NUMBER_OF_RESETS_ID = 0x0000, /*!< Number Of Resets */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_PERSISTENT_MEMORY_WRITES_ID = 0x0001, /*!< Persistent Memory Writes */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_RX_BCAST_ID = 0x0100, /*!< MAC Rx Broadcast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_BCAST_ID = 0x0101, /*!< MAC Tx Broadcast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_RX_UCAST_ID = 0x0102, /*!< MAC Rx Unicast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_ID = 0x0103, /*!< MAC Tx Unicast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_RETRY_ID = 0x0104, /*!< MAC Tx Unicast Retry */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_FAIL_ID = 0x0105, /*!< MAC Tx Unicast Fail */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_RX_BCAST_ID = 0x0106, /*!< APS Rx Broadcast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_TX_BCAST_ID = 0x0107, /*!< APS Tx Broadcast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_RX_UCAST_ID = 0x0108, /*!< APS Rx Unicast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_TX_UCAST_SUCCESS_ID = 0x0109, /*!< APS Tx Unicast Success */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_TX_UCAST_RETRY_ID = 0x010A, /*!< APS Tx Unicast Retry */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_TX_UCAST_FAIL_ID = 0x010b, /*!< APS Tx Unicast Fail */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_ROUTE_DISC_INITIATED_ID = 0x010C, /*!< Route Disc Initiated */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_ADDED_ID = 0x010D, /*!< Neighbor Added */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_REMOVED_ID = 0x010E, /*!< Neighbor Removed */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_STALE_ID = 0x010F, /*!< Neighbor Stale */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_JOIN_INDICATION_ID = 0x0110, /*!< Join Indication */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_CHILD_MOVED_ID = 0x0111, /*!< Child Moved */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NWKFC_FAILURE_ID = 0x0112, /*!< NWKFC Failure */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APSFC_FAILURE_ID = 0x0113, /*!< APSFC Failure */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_UNAUTHORIZED_KEY_ID = 0x0114, /*!< APS Unauthorized Key */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_NWK_DECRYPT_FAILURES_ID = 0x0115, /*!< NWK Decrypt Failures */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_APS_DECRYPT_FAILURES_ID = 0x0116, /*!< APS Decrypt Failures */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_PACKET_BUFFER_ALLOCATE_FAILURES_ID = 0x0117, /*!< Packet Buffer Allocate Failures */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_RELAYED_UCAST_ID = 0x0118, /*!< Relayed Unicast */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_PHYTOMACQUEUELIMITREACHED_ID = 0x0119, /*!< Phytomacqueuelimitreached */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_PACKET_VALIDATEDROPCOUNT_ID = 0x011A, /*!< Packet Validatedropcount */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_AVERAGE_MAC_RETRY_PER_APS_ID = 0x011b, /*!< Average MAC Retry Per APS */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_LAST_LQI_ID = 0x011c, /*!< Last LQI */
|
||||
ESP_ZB_ZCL_ATTR_DIAGNOSTICS_LAST_RSSI_ID = 0x011d, /*!< Last RSSI */
|
||||
} esp_zb_zcl_diagnostics_attr_t;
|
||||
|
||||
/** @brief Default value for Diagnostics cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0003u)
|
||||
|
||||
/** @brief Default value for number_of_resets attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NUMBER_OF_RESETS_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for PersistentMemoryWrites attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_PERSISTENT_MEMORY_WRITES_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for MacRxBcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_RX_BCAST_DEFAULT_VALUE ((uint32_t)0)
|
||||
|
||||
/** @brief Default value for MacTxBcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_TX_BCAST_DEFAULT_VALUE ((uint32_t)0)
|
||||
|
||||
/** @brief Default value for MacRxUcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_RX_UCAST_DEFAULT_VALUE ((uint32_t)0)
|
||||
|
||||
/** @brief Default value for MacTxUcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_TX_UCAST_DEFAULT_VALUE ((uint32_t)0)
|
||||
|
||||
/** @brief Default value for MacTxUcastRetry attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_TX_UCAST_RETRY_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for MacTxUcastFail attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_MAC_TX_UCAST_FAIL_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for APSRxBcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_RX_BCAST_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for aps_tx_bcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_TX_BCAST_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for APSRxUcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_RX_UCAST_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for aps_tx_ucast_success attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_TX_UCAST_SUCCESS_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for APSTxUcastRetry attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_TX_UCAST_RETRY_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for aps_tx_ucast_fail attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_TX_UCAST_FAIL_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for RouteDiscInitiated attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_ROUTE_DISC_INITIATED_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for NeighborAdded attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NEIGHBOR_ADDED_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for NeighborRemoved attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NEIGHBOR_REMOVED_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for NeighborStale attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NEIGHBOR_STALE_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for join_indication attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_JOIN_INDICATION_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for ChildMoved attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_CHILD_MOVED_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for nwk_fc_failure attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NWKFC_FAILURE_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for aps_fc_failure attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APSFC_FAILURE_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for APSUnauthorizedKey attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_UNAUTHORIZED_KEY_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for NWKDecryptFailures attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_NWK_DECRYPT_FAILURES_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for APSDecryptFailures attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_APS_DECRYPT_FAILURES_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for packet_buffer_allocate_failures attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_PACKET_BUFFER_ALLOCATE_FAILURES_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for RelayedUcast attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_RELAYED_UCAST_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for PhytoMACqueuelimitreached attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_PHYTO_MA_CQUEUELIMITREACHED_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for PacketValidatedropcount attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_PACKET_VALIDATEDROPCOUNT_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for AverageMACRetryPerAPS attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_AVERAGE_MAC_RETRY_PER_APS_DEFAULT_VALUE ((uint16_t)0)
|
||||
|
||||
/** @brief Default value for LastLQI attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_LAST_LQI_DEFAULT_VALUE ((uint8_t)0)
|
||||
|
||||
/** @brief Default value for LastRSSI attribute */
|
||||
#define ESP_ZB_ZCL_DIAGNOSTICS_LAST_RSSI_DEFAULT_VALUE ((int8_t)0)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Door Lock cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_LOCK_STATE_ID = 0x0000, /*!< brief LockState attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_LOCK_TYPE_ID = 0x0001, /*!< brief LockType attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ACTUATOR_ENABLED_ID = 0x0002, /*!< brief ActuatorEnabled attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_DOOR_STATE_ID = 0x0003, /*!< brief DoorState attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_OF_DOOR_OPEN_EVENTS_ID = 0x0004, /*!< brief DoorOpenEvents attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_OF_DOOR_CLOSED_EVENTS_ID = 0x0005, /*!< brief DoorClosedEvents attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_OPEN_PERIOD_ID = 0x0006, /*!< brief OpenPeriod attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUMBER_OF_LOG_RECORDS_SUPPORTED_ID = 0x0010, /*!< The number of available log records. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_TOTAL_USERS_ID = 0x0011, /*!< brief NumberOfTotalUsersSupported attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_PIN_USERS_ID = 0x0012, /*!< brief NumberOfPINUsersSupported attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUMBER_OF_RFID_USERS_SUPPORTED_ID = 0x0013, /*!< he number of RFID users supported. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_WEEK_DAY_SCHEDULE_PER_USER_ID = 0x0014, /*!< brief NumberOfWeekDaySchedulesSupportedPerUser attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_YEAR_DAY_SCHEDULE_PER_USER_ID = 0x0015, /*!< brief NumberOfYearDaySchedulesSupportedPerUser attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_NUM_HOLIDAY_SCHEDULE_ID = 0x0016, /*!< brief NumberOfHolidaySchedulesSupported attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_MAX_PIN_LEN_ID = 0x0017, /*!< brief Max PIN code length attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_MIN_PIN_LEN_ID = 0x0018, /*!< brief Min PIN code length attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_MAX_RFID_CODE_LENGTH_ID = 0x0019, /*!< An 8-bit value indicates the maximum length in bytes of a RFID Code on this device. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_MIN_RFID_CODE_LENGTH_ID = 0x001A, /*!< An 8-bit value indicates the minimum length in bytes of a RFID Code on this device. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ENABLE_LOGGING_ID = 0x0020, /*!< Enable/disable event logging. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_LANGUAGE_ID = 0x0021, /*!< Modifies the language for the on-screen or audible user interface using three bytes from ISO-639-1. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_LED_SETTINGS_ID = 0x0022, /*!< The settings for the LED support three different modes. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_AUTO_RELOCK_TIME_ID = 0x0023, /*!< The number of seconds to wait after unlocking a lock before it automatically locks again. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_SOUND_VOLUME_ID = 0x0024, /*!< The sound volume on a door lock has three possible settings: silent, low and high volumes. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_OPERATING_MODE_ID = 0x0025, /*!< OperatingMode attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_OPERATION_MODES_SUPPORTED_ID = 0x0026, /*!< SupportedOperatingModes attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_DEFAULT_CONFIGURATION_REGISTER_ID = 0x0027, /*!< This attribute represents the default configurations as they are physically set on the device */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ENABLE_LOCAL_PROGRAMMING_ID = 0x0028, /*!< EnableLocalProgramming attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ENABLE_ONE_TOUCH_LOCKING_ID = 0x0029, /*!< Enable/disable the ability to lock the door lock with a single touch on the door lock. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ENABLE_INSIDE_STATUS_LED_ID = 0x002A, /*!< Enable/disable an inside LED that allows the user to see at a glance if the door is locked. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ENABLE_PRIVACY_MODE_BUTTON_ID = 0x002B, /*!< Enable/disable a button inside the door that is used to put the lock into privacy mode. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_WRONG_CODE_ENTRY_LIMIT_ID = 0x0030, /*!< The number of incorrect codes or RFID presentment attempts a user is allowed to enter before the door will enter a lockout state. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_USER_CODE_TEMPORARY_DISABLE_TIME_ID = 0x0031, /*!< The number of seconds that the lock shuts down following wrong code entry. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_SEND_PIN_OVER_THE_AIR_ID = 0x0032, /*!< Boolean set to True if it is ok for the door lock server to send PINs over the air. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_REQUIRE_PIN_RF_ID = 0x0033, /*!< Require PIN for RF operation attribute */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_SECURITY_LEVEL_ID = 0x0034, /*!< It allows the door lock manufacturer to indicate what level of security the door lock requires. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_ALARM_MASK_ID = 0x0040, /*!< The alarm mask is used to turn on/off alarms for particular functions */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_KEYPAD_OPERATION_EVENT_MASK_ID = 0x0041, /*!< Event mask used to turn on and off the transmission of keypad operation events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_RF_OPERATION_EVENT_MASK_ID = 0x0042, /*!< Event mask used to turn on and off the transmission of RF operation events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_MANUAL_OPERATION_EVENT_MASK_ID = 0x0043, /*!< Event mask used to turn on and off manual operation events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_RFID_OPERATION_EVENT_MASK_ID = 0x0044, /*!< Event mask used to turn on and off RFID operation events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_KEYPAD_PROGRAMMING_EVENT_MASK_ID = 0x0045, /*!< Event mask used to turn on and off keypad programming events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_RF_PROGRAMMING_EVENT_MASK_ID = 0x0046, /*!< Event mask used to turn on and off RF programming events. */
|
||||
ESP_ZB_ZCL_ATTR_DOOR_LOCK_RFID_PROGRAMMING_EVENT_MASK_ID = 0x0047, /*!< Event mask used to turn on and off RFID programming events. */
|
||||
} esp_zb_zcl_door_lock_attr_t;
|
||||
|
||||
/** @brief Default value for Lock State attribute. */
|
||||
#define ESP_ZB_ZCL_ATTR_DOOR_LOCK_LOCK_STATE_DEFAULT_VALUE 0xff
|
||||
|
||||
/** @brief Default value for Lock Type attribute. */
|
||||
#define ESP_ZB_ZCL_ATTR_DOOR_LOCK_LOCK_TYPE_DEFAULT_VALUE 0xff
|
||||
|
||||
/** @brief Default value for Actuator Enabled attribute. */
|
||||
#define ESP_ZB_ZCL_ATTR_DOOR_LOCK_ACTUATOR_ENABLED_DEFAULT_VALUE 0x01
|
||||
|
||||
/** @brief Door Lock cluster commands
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_LOCK_DOOR = 0x00, /*!< This command causes the lock device to lock the door. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_UNLOCK_DOOR = 0x01, /*!< This command causes the lock device to unlock the door. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_TOGGLE = 0x02, /*!< Request the status of the lock. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_UNLOCK_WITH_TIMEOUT = 0x03, /*!< This command causes the lock device to unlock the door with a timeout parameter. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_LOG_RECORD = 0x04, /*!< Request a log record. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_PIN_CODE = 0x05, /*!< Set a PIN into the lock. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_PIN_CODE = 0x06, /*!< Retrieve a PIN Code. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_PIN_CODE = 0x07, /*!< Delete a PIN. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_ALL_PIN_CODES = 0x08, /*!< Clear out all PINs on the lock. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_USER_STATUS = 0x09, /*!< Set the status of a user ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_USER_STATUS = 0x0A, /*!< Get the status of a user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_WEEKDAY_SCHEDULE = 0x0B, /*!< Set a weekly repeating schedule for a specified user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_WEEKDAY_SCHEDULE = 0x0C, /*!< Retrieve the specific weekly schedule for the specific user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_WEEKDAY_SCHEDULE = 0x0D, /*!< Clear the specific weekly schedule for the specific user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_YEAR_DAY_SCHEDULE = 0x0E, /*!< Set a time-specific schedule ID for a specified user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_YEAR_DAY_SCHEDULE = 0x0F, /*!< Retrieve the specific year day schedule for the specific user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_YEAR_DAY_SCHEDULE = 0x10, /*!< Clears the specific year day schedule for the specific user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_HOLIDAY_SCHEDULE = 0x11, /*!< Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_HOLIDAY_SCHEDULE = 0x12, /*!< Get the holiday Schedule by specifying Holiday ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_HOLIDAY_SCHEDULE = 0x13, /*!< Clear the holiday Schedule by specifying Holiday ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_USER_TYPE = 0x14, /*!< Set the type byte for a specified user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_USER_TYPE = 0x15, /*!< Retrieve the type byte for a specific user. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_RFID_CODE = 0x16, /*!< Set an ID for RFID access into the lock. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_RFID_CODE = 0x17, /*!< Retrieve an ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_RFID_CODE = 0x18, /*!< Delete an ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_ALL_RFID_CODES = 0x19, /*!< Clear out all RFIDs on the lock. */
|
||||
} esp_zb_zcl_door_lock_cmd_id_t;
|
||||
|
||||
/** @brief Door Lock cluster response commands
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_LOCK_DOOR_RES = 0x00, /*!< This command is sent in response to a Lock command */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_UNLOCK_DOOR_RES = 0x01, /*!< This command is sent in response to a Unlock command */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_TOGGLE_RESPONSE = 0x02, /*!< This command is sent in response to a Toggle command*/
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_UNLOCK_WITH_TIMEOUT_RESPONSE = 0x03, /*!< This command is sent in response to an Unlock */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_LOG_RECORD_RESPONSE = 0x04, /*!< Returns the specified log record. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_PIN_CODE_RESPONSE = 0x05, /*!< Returns status of the PIN set command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_PIN_CODE_RESPONSE = 0x06, /*!< Returns the PIN for the specified user ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_PIN_CODE_RESPONSE = 0x07, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_ALL_PIN_CODES_RESPONSE = 0x08, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_USER_STATUS_RESPONSE = 0x09, /*!< Returns the pass or fail value for the setting of the user status. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_USER_STATUS_RESPONSE = 0x0A, /*!< Returns the user status for the specified user ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_WEEKDAY_SCHEDULE_RESPONSE = 0x0B, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_WEEKDAY_SCHEDULE_RESPONSE = 0x0C, /*!< Returns the weekly repeating schedule data for the specified schedule ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_WEEKDAY_SCHEDULE_RESPONSE = 0x0D, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_YEAR_DAY_SCHEDULE_RESPONSE = 0x0E, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_YEAR_DAY_SCHEDULE_RESPONSE = 0x0F, /*!< Returns the weekly repeating schedule data for the specified schedule ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_YEAR_DAY_SCHEDULE_RESPONSE = 0x10, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_HOLIDAY_SCHEDULE_RESPONSE = 0x11, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_HOLIDAY_SCHEDULE_RESPONSE = 0x12, /*!< Returns the Holiday Schedule Entry for the specified Holiday ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_HOLIDAY_SCHEDULE_RESPONSE = 0x13, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_USER_TYPE_RESPONSE = 0x14, /*!< Returns the pass or fail value for the setting of the user type. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_USER_TYPE_RESPONSE = 0x15, /*!< Returns the user type for the specified user ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_SET_RFID_CODE_RESPONSE = 0x16, /*!< Returns status of the Set RFID Code command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_GET_RFID_CODE_RESPONSE = 0x17, /*!< Returns the RFID code for the specified user ID. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_RFID_CODE_RESPONSE = 0x18, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_CLEAR_ALL_RFID_CODES_RESPONSE = 0x19, /*!< Returns pass/fail of the command. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_OPERATION_EVENT_NOTIFICATION_ID = 0x20, /*!< The door lock server sends out operation event notification when the event is triggered by the various event sources. */
|
||||
ESP_ZB_ZCL_CMD_DOOR_LOCK_PROGRAMMING_EVENT_NOTIFICATION = 0x21, /*!< The door lock server sends out a programming event notification whenever a programming event takes place on the door lock. */
|
||||
} esp_zb_zcl_door_lock_cmd_resp_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,209 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Demand response and load control client attribute enumeration */
|
||||
typedef enum esp_zb_zcl_drlc_cli_attr_e {
|
||||
ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP = 0x0000, /*!< UtilityEnrollmentGroup attribute. Provides for
|
||||
utilities to assign devices to groups. */
|
||||
ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES = 0x0001, /*!< StartRandomizationMinutes attribute. Represents
|
||||
the maximum number of minutes to be used when
|
||||
randomizing the start of an event. */
|
||||
ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES = 0x0002, /*!< DurationRandomizationMinutes attribute. Represents
|
||||
the maximum number of minutes to be used when randomizing
|
||||
the duration of an event. */
|
||||
ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE = 0x0003, /*!< DeviceClassValue attribute. Identifies which bits the
|
||||
device will match in the Device Class fields. */
|
||||
} esp_zb_zcl_drlc_cli_attr_t;
|
||||
|
||||
/** @brief The default value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_DEFAULT_VALUE 0x00
|
||||
/** @brief The minimum value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_MIN_VALUE 0x00
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_MAX_VALUE 0xFF
|
||||
|
||||
/** @brief The default value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_DEFAULT_VALUE 0x1E
|
||||
/** @brief The minimum value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_MIN_VALUE 0x00
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_MAX_VALUE 0x3C
|
||||
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_DEFAULT_VALUE 0x00
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_MIN_VALUE 0x00
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_MAX_VALUE 0x3C
|
||||
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_DEFAULT_VALUE 0x0000
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_MIN_VALUE 0x0000
|
||||
/** @brief The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_MAX_VALUE 0xFFFF
|
||||
|
||||
/** @brief DRLC device classes enumeration */
|
||||
typedef enum esp_zb_zcl_drlc_device_class_e {
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_HVAC = 1 << 0, /*!< HVAC Compressor or Furnace */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_STRIP_HEATER = 1 << 1, /*!< Strip Heaters/Baseboard Heaters */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_WATER_HEATER = 1 << 2, /*!< Water Heater */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_POOL_PUMP = 1 << 3, /*!< Pool Pump/Spa/Jacuzzi */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_SMART_APPLIANCE = 1 << 4, /*!< Smart Appliances */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_IRRIGATION_PUMP = 1 << 5, /*!< Irrigation Pump */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_MCI_LOADS = 1 << 6, /*!< Managed Commercial & Industrial (C&I) loads */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_SIMPLE_LOADS = 1 << 7, /*!< Simple misc. (Residential On/Off) loads */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_EXTERIOR_LIGHTNING = 1 << 8, /*!< Exterior Lighting */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_INTERIOR_LIGHTNING = 1 << 9, /*!< Interior Lighting */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_ELECTRIC_VEHICLE = 1 << 10, /*!< Electric Vehicle */
|
||||
ESP_ZB_ZCL_DRLC_DEVICE_CLASS_GENERATION_SYSTEMS = 1 << 11 /*!< Generation Systems */
|
||||
} esp_zb_zcl_drlc_device_class_t;
|
||||
|
||||
/** @brief DRLC Criticality Level value applied by the device */
|
||||
typedef enum esp_zb_zcl_drlc_criticality_levels_e {
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_0 = 0x00, /*!< Reserved */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_GREEN, /*!< Green */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_1, /*!< Level 1 */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_2, /*!< Level 2 */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_3, /*!< Level 3 */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_4, /*!< Level 4 */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_5, /*!< Level 5 */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_EMERGENCY, /*!< Emergency */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_PLANNED_OUTAGE, /*!< Planned Outage */
|
||||
ESP_ZB_ZCL_DRLC_CRITICALITY_SERVICE_DISCONNECT /*!< Service Disconnect */
|
||||
} esp_zb_zcl_drlc_criticality_levels_t;
|
||||
|
||||
/** @brief Commands are generated by DRLC Server */
|
||||
typedef enum esp_zb_zcl_drlc_srv_cmd_e {
|
||||
ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT = 0x00, /*!< LoadControlEvent is generated when the ESI wants to
|
||||
control one or more load control devices usually as
|
||||
the result of an energy curtailment command from the
|
||||
Smart Energy Network. @see esp_zb_zcl_drlc_load_control_event_payload_t */
|
||||
ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT = 0x01, /*!< CancelLoadControlEvent is generated when the ESI wants to
|
||||
cancel previously scheduled control of one or more load
|
||||
control devices, usually as the result of an energy curtailment
|
||||
command from the Smart Energy network @see esp_zb_zcl_drlc_cancel_load_control_event_payload_t */
|
||||
ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS = 0x02, /*!< Cancel AllLoadControlEvents is generated when the ESI wants to cancel all
|
||||
events for control device(s) */
|
||||
} esp_zb_zcl_drlc_srv_cmd_t;
|
||||
|
||||
/** @brief Commands are generated by DRLC Client */
|
||||
typedef enum esp_zb_zcl_drlc_cli_cmd_e {
|
||||
ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS = 0x00, /*!< ReportEventStatus is generated when the client device detects a change of
|
||||
state for an active LoadControl event. @see esp_zb_zcl_drlc_report_event_status_payload_t */
|
||||
ESP_ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS = 0x01, /*!< GetScheduledEvents is generated when the client device wishes to verify the
|
||||
available LoadControl events. @see esp_zb_zcl_drlc_get_scheduled_events_payload_t */
|
||||
} esp_zb_zcl_drlc_cli_cmd_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT LoadControlEvent command payload. */
|
||||
typedef struct esp_zb_zcl_drlc_load_control_event_payload_s {
|
||||
uint32_t issuer_event_id; /*!< Unique identifier generated by the Energy provider.
|
||||
The value of this field allows matching of Event
|
||||
reports with a specific Demand Response and Load
|
||||
Control event. */
|
||||
uint16_t device_class; /*!< Bit encoded field representing the Device Class to apply
|
||||
the current Load Control Event.Each bit, if set individually
|
||||
or in combination, indicates the class device(s) needing to
|
||||
participate in the event. */
|
||||
uint8_t utility_enrollment_group; /*!< This field can be used in conjunction with the Device
|
||||
Class bits for providing a mechanism to direct Load
|
||||
Control Events to groups of Devices. */
|
||||
uint32_t start_time; /*!< UTC Timestamp representing when the event is scheduled to start.
|
||||
A start time of 0x00000000 is a special time denoting now. */
|
||||
uint16_t duration_in_minutes; /*!< Duration of this event in number of minutes. Maximum value is
|
||||
1440 (one day). */
|
||||
uint8_t criticality_level; /*!< This field defines the level of criticality of event. The action
|
||||
for an event can be solely based on this value, or combination with
|
||||
other Load Control Event fields. */
|
||||
uint8_t cooling_temperature_offset; /*!< Requested offset to apply to the normal cooling setpoint at the
|
||||
time of the start of the event in + 0.1 Celsius. */
|
||||
uint8_t heating_temperature_offset; /*!< Requested offset to apply to the normal heating setpoint at the
|
||||
time of the start of the event in + 0.1 Celsius.*/
|
||||
int16_t cooling_temperature_set_point; /*!< Requested cooling set point in 0.01 degrees Celsius. */
|
||||
int16_t heating_temperature_set_point; /*!< Requested heating set point in 0.01 degrees Celsius. */
|
||||
int8_t average_load_adjustment_percentage;/*!< Defines a maximum energy usage limit as a percentage of
|
||||
the client implementations specific average energy usage. */
|
||||
uint8_t duty_cycle; /*!< Defines the maximum on state duty cycle as a percentage of
|
||||
time. */
|
||||
uint8_t event_control; /*!< Identifies additional control options for the event. */
|
||||
} esp_zb_zcl_drlc_load_control_event_payload_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT CancelLoadControlEvent command payload. */
|
||||
typedef struct esp_zb_zcl_drlc_cancel_load_control_event_payload_s {
|
||||
uint32_t issuer_event_id; /*!< Unique identifier generated by the Energy provider.
|
||||
The value of this field allows matching of Event reports
|
||||
with a specific Demand Response and Load Control event. */
|
||||
uint16_t device_class; /*!< Bit encoded field representing the Device Class to apply
|
||||
the current Load Control Event. Each bit, if set individually
|
||||
or in combination, indicates the class device(s) needing to
|
||||
participate in the event. */
|
||||
uint8_t utility_enrollment_group; /*!< This field can be used in conjunction with the Device Class bits
|
||||
for providing a mechanism to direct Load Control Events to groups
|
||||
of Devices. */
|
||||
uint8_t cancel_control; /*!< This field is used to indicate that the Event is currently in process
|
||||
and a cancel command is received */
|
||||
uint32_t effective_time; /*!< UTC Timestamp representing when the canceling of the event is
|
||||
scheduled to start. An effective time of 0x00000000 is a special time
|
||||
denoting “now.” */
|
||||
} esp_zb_zcl_drlc_cancel_load_control_event_payload_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS CancelAllLoadControlEvents command payload. */
|
||||
typedef struct esp_zb_zcl_drlc_cancel_all_load_control_events_payload_s {
|
||||
uint8_t cancel_control; /*!< To be used when the Event is currently in process and a cancel command is received.
|
||||
0x00: indicates that randomization is overridden and the event should be terminated immediately.
|
||||
0x01: indicates the event should end using randomization settings in the original event.
|
||||
Otherwise, reserved. */
|
||||
} esp_zb_zcl_drlc_cancel_all_load_control_events_payload_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS ReportEventStatus command payload */
|
||||
typedef struct esp_zb_zcl_drlc_report_event_status_payload_s {
|
||||
uint32_t issuer_event_id; /*!< Unique identifier generated by the Energy provider.
|
||||
The value of this field allows matching of Event reports
|
||||
with a specific Demand Response and Load Control event. */
|
||||
uint8_t event_status; /*!< This field stores value from set of event statuses*/
|
||||
uint32_t event_status_time; /*!< UTC Timestamp representing when the event status occurred.
|
||||
This field shall not use the value of 0x00000000 */
|
||||
uint8_t criticality_level_applied; /*!< Criticality Level value applied by the device */
|
||||
uint16_t cooling_temperature_set_point_applied; /*!< Defines Cooling Temperature Set Point value applied by the
|
||||
device. The value 0x8000 means that this field has not been
|
||||
used by the end device. */
|
||||
uint16_t heating_temperature_set_point_applied; /*!< Defines Heating Temperature Set Point value applied by the
|
||||
device. The value 0x8000 means that this field has not been
|
||||
used by the end device. */
|
||||
int8_t average_load_adjustment_percentage_applied; /*!< Defines Average Load Adjustment Percentage value applied by
|
||||
the device. The value 0x80 means that this field has not been
|
||||
used by the end device. */
|
||||
uint8_t duty_cycle_applied; /*!< Defines the maximum on state duty cycle applied by the device.
|
||||
The value 0xFF means that this field has not been used by the
|
||||
end device. */
|
||||
uint8_t event_control; /*!< Identifies additional control options for the event. */
|
||||
uint8_t signature_type; /*!< This field is used to enumerate the type of algorithm use to
|
||||
create the signature.*/
|
||||
uint8_t signature[42]; /*!< A non-repudiation signature created by using the Matyas-Meyer-Oseas
|
||||
hash function used in conjunction with ECDSA. */
|
||||
} esp_zb_zcl_drlc_report_event_status_payload_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS GetScheduledEvents command payload */
|
||||
typedef struct esp_zb_zcl_drlc_get_scheduled_events_payload_s {
|
||||
uint32_t start_time; /*!< UTC Timestamp representing the minimum Start Time of events that shall be matched and
|
||||
sent by the Server. A Start Time of 0x00000000 has no special meaning. */
|
||||
uint8_t number_of_events; /*!< Represents the maximum number of events to be sent. A value of 0 indicates no maximum
|
||||
limit. */
|
||||
uint32_t issuer_event_id; /*!< Represents the minimum Issuer Event ID of events to be matched and sent by the server
|
||||
with the same Start Time as the Get Scheduled Events command. A value of 0xFFFFFFFF
|
||||
indicates this field will not be used. */
|
||||
} esp_zb_zcl_drlc_get_scheduled_events_payload_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief EC_Measurement cluster server attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_EC_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /**< MeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_EC_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /**< MinMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_EC_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /**< MaxMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_EC_MEASUREMENT_TOLERANCE_ID = 0x0003, /**< Tolerance Attribute */
|
||||
} esp_zb_zcl_ec_measurement_srv_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((uint16_t)0xfffd)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((uint16_t)0x0001)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x0064)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_EC_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
void esp_zb_zcl_ec_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_EC_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_ec_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_EC_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,217 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Electrical Measurement cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASUREMENT_TYPE_ID = 0x0000, /*!< This attribute indicates a device s measurement capabilities. */
|
||||
/* DC Measurement */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_ID = 0x0100, /*!< The DCVoltage attribute represents the most recent DC voltage reading in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_MIN_ID = 0x0101, /*!< The DCVoltageMin attribute represents the lowest DC voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_MAX_ID = 0x0102, /*!< The DCVoltageMax attribute represents the highest DC voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_ID = 0x0103, /*!< The DCCurrent attribute represents the most recent DC current reading in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_MIN_ID = 0x0104, /*!< The DCCurrentMin attribute represents the lowest DC current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_MAX_ID = 0x0105, /*!< The DCCurrentMax attribute represents the highest DC current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DCPOWER_ID = 0x0106, /*!< The @e DCPower attribute represents the most recent DC power reading in @e Watts (W) */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_POWER_MIN_ID = 0x0107, /*!< The DCPowerMin attribute represents the lowest DC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_POWER_MAX_ID = 0x0108, /*!< The DCPowerMax attribute represents the highest DC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_MULTIPLIER_ID = 0x0200, /*!< The DCVoltageMultiplier provides a value to be multiplied against the DCVoltage, DCVoltageMin, and DCVoltageMax attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_DIVISOR_ID = 0x0201, /*!< The DCVoltageDivisor provides a value to be divided against the DCVoltage, DCVoltageMin, and DCVoltageMax attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_MULTIPLIER_ID = 0x0202, /*!< The DCCurrentMultiplier provides a value to be multiplied against the DCCurrent, DCCurrentMin, and DCCurrentMax attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_DIVISOR_ID = 0x0203, /*!< The DCCurrentDivisor provides a value to be divided against the DCCurrent, DCCurrentMin, and DCCurrentMax attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_POWER_MULTIPLIER_ID = 0x0204, /*!< The DCPowerMultiplier provides a value to be multiplied against the DCPower, DCPowerMin, and DCPowerMax attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_POWER_DIVISOR_ID = 0x0205, /*!< The DCPowerDivisor provides a value to be divided against the DCPower, DCPowerMin, and DCPowerMax attributes. */
|
||||
/* AC Measurement (Non Phase) */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_FREQUENCY_ID = 0x0300, /*!< The ACFrequency attribute represents the most recent AC Frequency reading in Hertz (Hz). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_FREQUENCY_MIN_ID = 0x0301, /*!< The ACFrequencyMin attribute represents the lowest AC Frequency value measured in Hertz (Hz). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_FREQUENCY_MAX_ID = 0x0302, /*!< The ACFrequencyMax attribute represents the highest AC Frequency value measured in Hertz (Hz). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_NEUTRAL_CURRENT_ID = 0x0303, /*!< The NeutralCurrent attribute represents the AC neutral (Line-Out) current value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_TOTAL_ACTIVE_POWER_ID = 0x0304, /*!< Active power represents the current demand of active power delivered or received at the premises, in @e kW */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_TOTAL_REACTIVE_POWER_ID = 0x0305, /*!< Reactive power represents the current demand of reactive power delivered or received at the premises, in kVAr. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_TOTAL_APPARENT_POWER_ID = 0x0306, /*!< Represents the current demand of apparent power, in @e kVA */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED1ST_HARMONIC_CURRENT_ID = 0x0307, /*!< Attribute represent the most recent 1st harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED3RD_HARMONIC_CURRENT_ID = 0x0308, /*!< Attribute represent the most recent 3rd harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED5TH_HARMONIC_CURRENT_ID = 0x0309, /*!< Attribute represent the most recent 5th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED7TH_HARMONIC_CURRENT_ID = 0x030a, /*!< Attribute represent the most recent 7th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED9TH_HARMONIC_CURRENT_ID = 0x030b, /*!< Attribute represent the most recent 9th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED11TH_HARMONIC_CURRENT_ID = 0x030c, /*!< Attribute represent the most recent 11th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE1ST_HARMONIC_CURRENT_ID = 0x030d, /*!< Attribute represent the most recent phase of the 1st harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE3RD_HARMONIC_CURRENT_ID = 0x030e, /*!< Attribute represent the most recent phase of the 3rd harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE5TH_HARMONIC_CURRENT_ID = 0x030f, /*!< Attribute represent the most recent phase of the 5th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE7TH_HARMONIC_CURRENT_ID = 0x0310, /*!< Attribute represent the most recent phase of the 7th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE9TH_HARMONIC_CURRENT_ID = 0x0311, /*!< Attribute represent the most recent phase of the 9th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_MEASURED_PHASE11TH_HARMONIC_CURRENT_ID = 0x0312, /*!< Attribute represent the most recent phase of the 11th harmonic current reading in an AC frequency. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_FREQUENCY_MULTIPLIER_ID = 0x0400, /*!< Provides a value to be multiplied against the ACFrequency attribute. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_FREQUENCY_DIVISOR_ID = 0x0401, /*!< Provides a value to be divided against the ACFrequency attribute. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_POWER_MULTIPLIER_ID = 0x0402, /*!< Provides a value to be multiplied against a raw or uncompensated sensor count of power being measured by the metering device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_POWER_DIVISOR_ID = 0x0403, /*!< Provides a value to divide against the results of applying the @e Multiplier attribute against a raw or uncompensated sensor count of power being measured by the metering device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_HARMONIC_CURRENT_MULTIPLIER_ID = 0x0404, /*!< Represents the unit value for the MeasuredNthHarmonicCurrent attribute in the format MeasuredNthHarmonicCurrent * 10 ^ HarmonicCurrentMultiplier amperes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_PHASE_HARMONIC_CURRENT_MULTIPLIER_ID = 0x0405, /*!< Represents the unit value for the MeasuredPhaseNthHarmonicCurrent attribute in the format MeasuredPhaseNthHarmonicCurrent * 10 ^ PhaseHarmonicCurrentMultiplier degrees. */
|
||||
/* AC Measurement (Phase A)*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_LINE_CURRENT_ID = 0x0501, /*!< Represents the single phase or Phase A, AC line current (Square root of active and reactive current) value at the moment in time the attribute is read, in @e Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_CURRENT_ID = 0x0502, /*!< Represents the single phase or Phase A, AC active/resistive current value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_CURRENT_ID = 0x0503, /*!< Represents the single phase or Phase A, AC reactive current value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSVOLTAGE_ID = 0x0505, /*!< Represents the most recent RMS voltage reading in @e Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MIN_ID = 0x0506, /*!< Represents the lowest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MAX_ID = 0x0507, /*!< Represents the highest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSCURRENT_ID = 0x0508, /*!< Represents the most recent RMS current reading in @e Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MIN_ID = 0x0509, /*!< Represents the lowest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MAX_ID = 0x050a, /*!< Represents the highest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_ID = 0x050B, /*!< Represents the single phase or Phase A, current demand of active power delivered or received at the premises, in @e Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MIN_ID = 0x050c, /*!< Represents the lowest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MAX_ID = 0x050d, /*!< Represents the highest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_POWER_ID = 0x050e, /*!< Represents the single phase or Phase A, current demand of reactive power delivered or received at the premises, in VAr. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_APPARENT_POWER_ID = 0x050F, /*!< Represents the single phase or Phase A, current demand of apparent (Square root of active and reactive power) power, in @e VA. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_POWER_FACTOR_ID = 0x0510, /*!< Contains the single phase or PhaseA, Power Factor ratio in 1/100th. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMSVOLTAGE_MEASUREMENT_PERIOD_ID = 0x0511, /*!< The Period in seconds that the RMS voltage is averaged over. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_OVER_VOLTAGE_COUNTER_ID = 0x0512, /*!< The number of times the average RMS voltage, has been above the AverageRMS OverVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_ID = 0x0513, /*!< The number of times the average RMS voltage, has been below the AverageRMS underVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_OVER_VOLTAGE_PERIOD_ID = 0x0514, /*!< The duration in seconds used to measure an extreme over voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_ID = 0x0515, /*!< The duration in seconds used to measure an extreme under voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SAG_PERIOD_ID = 0x0516, /*!< The duration in seconds used to measure a voltage sag condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SWELL_PERIOD_ID = 0x0517, /*!< The duration in seconds used to measure a voltage swell condition. */
|
||||
/* AC Formatting */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACVOLTAGE_MULTIPLIER_ID = 0x0600, /*!< Provides a value to be multiplied against the @e InstantaneousVoltage and RMSVoltage attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACVOLTAGE_DIVISOR_ID = 0x0601, /*!< Provides a value to be divided against the @e InstantaneousVoltage */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACCURRENT_MULTIPLIER_ID = 0x0602, /*!< Provides a value to be multiplied against the @e InstantaneousCurrent and @e RMSCurrent attributes */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACCURRENT_DIVISOR_ID = 0x0603, /*!< Provides a value to be divided against the @e ACCurrent, @e InstantaneousCurrent and @e RMSCurrent attributes. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACPOWER_MULTIPLIER_ID = 0x0604, /*!< Provides a value to be multiplied against the @e InstantaneousPower and @e ActivePower attributes */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACPOWER_DIVISOR_ID = 0x0605, /*!< Provides a value to be divided against the @e InstantaneousPower and @e ActivePower attributes. */
|
||||
/* DC Manufacturer Threshold Alarms */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_OVERLOAD_ALARMS_MASK_ID = 0x0700, /*!< Specifies which configurable alarms may be generated. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_VOLTAGE_OVERLOAD_ID = 0x0701, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output voltage supported by device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_DC_CURRENT_OVERLOAD_ID = 0x0702, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output current supported by device. */
|
||||
/* AC Manufacturer Threshold Alarms */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_ALARMS_MASK_ID = 0x0800, /*!< Specifies which configurable alarms may be generated. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_VOLTAGE_OVERLOAD_ID = 0x0801, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output voltage supported by device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_CURRENT_OVERLOAD_ID = 0x0802, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output current supported by device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_ACTIVE_POWER_OVERLOAD_ID = 0x0803, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output active power supported by device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AC_REACTIVE_POWER_OVERLOAD_ID = 0x0804, /*!< Specifies the alarm threshold, set by the manufacturer, for the maximum output reactive power supported by device. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_OVER_VOLTAGE_ID = 0x0805, /*!< The average RMS voltage above which an over voltage condition is reported. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_UNDER_VOLTAGE_ID = 0x0806, /*!< The average RMS voltage below which an under voltage condition is reported. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_OVER_VOLTAGE_ID = 0x0807, /*!< The RMS voltage above which an extreme under voltage condition is reported. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_UNDER_VOLTAGE_ID = 0x0808, /*!< The RMS voltage below which an extreme under voltage condition is reported. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SAG_ID = 0x0809, /*!< The RMS voltage below which a sag condition is reported. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SWELL_ID = 0x080a, /*!< The RMS voltage above which a swell condition is reported. */
|
||||
/* AC Measurement (Phase B)*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_LINE_CURRENT_PH_B_ID = 0x0901, /*!< Represents the Phase B, AC line current (Square root sum of active and reactive currents) value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_CURRENT_PH_B_ID = 0x0902, /*!< Represents the Phase B, AC active/resistive current value at the moment in time */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_CURRENT_PH_B_ID = 0x0903, /*!< Represents the Phase B, AC reactive current value at the moment in time the */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSVOLTAGE_PHB_ID = 0x0905, /*!< Represents the most recent RMS voltage reading in @e Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MIN_PH_B_ID = 0x0906, /*!< Represents the lowest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MAX_PH_B_ID = 0x0907, /*!< Represents the highest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSCURRENT_PHB_ID = 0x0908, /*!< Represents the most recent RMS current reading in @e Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MIN_PH_B_ID = 0x0909, /*!< Represents the lowest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MAX_PH_B_ID = 0x090a, /*!< Represents the highest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_PHB_ID = 0x090B, /*!< Represents the Phase B, current demand of active power delivered or received at the premises, in @e Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MIN_PH_B_ID = 0x090c, /*!< Represents the lowest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MAX_PH_B_ID = 0x090d, /*!< Represents the highest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_POWER_PH_B_ID = 0x090e, /*!< Represents the Phase B, current demand of reactive power delivered or received at the premises, in VAr. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_APPARENT_POWER_PHB_ID = 0x090F, /*!< Represents the Phase B, current demand of apparent (Square root of active and reactive power) power, in @e VA. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_POWER_FACTOR_PH_B_ID = 0x0910, /*!< Contains the PhaseB, Power Factor ratio in 1/100th. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMSVOLTAGE_MEASUREMENT_PERIOD_PHB_ID = 0x0911, /*!< The number of times the average RMS voltage, has been above the @e AverageRMS @e OverVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_OVER_VOLTAGE_COUNTER_PH_B_ID = 0x0912, /*!< The number of times the average RMS voltage, has been above the AverageRMS OverVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_PH_B_ID = 0x0913, /*!< The number of times the average RMS voltage, has been below the AverageRMS underVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_OVER_VOLTAGE_PERIOD_PH_B_ID = 0x0914, /*!< The duration in seconds used to measure an extreme over voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_PH_B_ID = 0x0915, /*!< The duration in seconds used to measure an extreme under voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SAG_PERIOD_PH_B_ID = 0x0916, /*!< The duration in seconds used to measure a voltage sag condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SWELL_PERIOD_PH_B_ID = 0x0917, /*!< The duration in seconds used to measure a voltage swell condition. */
|
||||
/* AC Measurement (Phase C)*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_LINE_CURRENT_PH_C_ID = 0x0a01, /*!< Represents the Phase C, AC line current (Square root of active and reactive current) value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_CURRENT_PH_C_ID = 0x0a02, /*!< Represents the Phase C, AC active/resistive current value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_CURRENT_PH_C_ID = 0x0a03, /*!< Represents the Phase C, AC reactive current value at the moment in time the attribute is read, in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSVOLTAGE_PHC_ID = 0x0A05, /*!< Represents the most recent RMS voltage reading in @e Volts (V).*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MIN_PH_C_ID = 0x0a06, /*!< Represents the lowest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_MAX_PH_C_ID = 0x0a07, /*!< Represents the highest RMS voltage value measured in Volts (V). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMSCURRENT_PHC_ID = 0x0A08, /*!< Represents the most recent RMS current reading in @e Amps (A).*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MIN_PH_C_ID = 0x0a09, /*!< Represents the lowest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_CURRENT_MAX_PH_C_ID = 0x0a0a, /*!< Represents the highest RMS current value measured in Amps (A). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_PHC_ID = 0x0A0B, /*!< Represents the Phase C, current demand of active power delivered or received at the premises, in @e Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MIN_PH_C_ID = 0x0a0c, /*!< Represents the lowest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_ACTIVE_POWER_MAX_PH_C_ID = 0x0a0d, /*!< Represents the highest AC power value measured in Watts (W). */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_REACTIVE_POWER_PH_C_ID = 0x0a0e, /*!< Represents the Phase C, current demand of reactive power delivered or received at the premises, in VAr. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_APPARENT_POWER_PHC_ID = 0x0A0F, /*!< Represents the Phase C, current demand of apparent (Square root of active and reactive power) power, in @e VA. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_POWER_FACTOR_PH_C_ID = 0x0a10, /*!< Contains the Phase C, Power Factor ratio in 1/100th. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMSVOLTAGE_MEASUREMENT_PERIOD_PHC_ID = 0x0A11, /*!< The Period in seconds that the RMS voltage is averaged over*/
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_OVER_VOLTAGE_COUNTER_PH_C_ID = 0x0a12, /*!< The number of times the average RMS voltage, has been above the AverageRMS OverVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_PH_C_ID = 0x0a13, /*!< The number of times the average RMS voltage, has been below the AverageRMS underVoltage threshold since last reset. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_OVER_VOLTAGE_PERIOD_PH_C_ID = 0x0a14, /*!< The duration in seconds used to measure an extreme over voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_PH_C_ID = 0x0a15, /*!< The duration in seconds used to measure an extreme under voltage condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SAG_PERIOD_PH_C_ID = 0x0a16, /*!< The duration in seconds used to measure a voltage sag condition. */
|
||||
ESP_ZB_ZCL_ATTR_ELECTRICAL_MEASUREMENT_RMS_VOLTAGE_SWELL_PERIOD_PH_C_ID = 0x0a17, /*!< The duration in seconds used to measure a voltage swell condition. */
|
||||
}esp_zb_zcl_electrical_measurement_attr_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_ACTIVE_MEASUREMENT = 0x00000001, /*!< Active Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_REACTIVE_MEASUREMENT = 0x00000002, /*!< Reactive Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_APPARENT_MEASUREMENT = 0x00000004, /*!< Apparent Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PHASE_A_MEASUREMENT = 0x00000008, /*!< Phase A Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PHASE_B_MEASUREMENT = 0x00000010, /*!< Phase B Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PHASE_C_MEASUREMENT = 0x00000020, /*!< Phase C Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_DC_MEASUREMENT = 0x00000040, /*!< DC Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_HARMONIC_MEASUREMENT = 0x00000080, /*!< Harmonic Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_POWER_QUALITY_MEASUREMENT = 0x00000100, /*!< Power Quality Measurement bit */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_RESERVED = 0x00000200
|
||||
}esp_zb_zcl_electrical_measurement_measurement_type_t;
|
||||
|
||||
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_CMD_ELECTRICAL_MEASUREMENT_GET_PROFILE_INFO_RESPONSE_COMMAND = 0x00, /*!< This command is generated when the Client command GetProfileInfo is received. */
|
||||
ESP_ZB_ZCL_CMD_ELECTRICAL_MEASUREMENT_GET_MEASUREMENT_PROFILE_RESPONSE_COMMAND = 0x01, /*!< This command is generated when the Client command GetMeasurementProfile is received. */
|
||||
}esp_zb_zcl_electrical_measurement_srv_cmd_t;
|
||||
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_CMD_ELECTRICAL_MEASUREMENT_GET_PROFILE_INFO_COMMAND = 0x00, /*!< Get Profile Info Command */
|
||||
ESP_ZB_ZCL_CMD_ELECTRICAL_MEASUREMENT_GET_MEASUREMENT_PROFILE_COMMAND = 0x01, /*!< Get Measurement Profile Command */
|
||||
}esp_zb_zcl_electrical_measurement_cli_cmd_t;
|
||||
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_DAILY = 0x00, /*!< Represents the daily interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_60MINS = 0x01, /*!< Represents the 60 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_30MINS = 0x02, /*!< Represents the 30 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_15MINS = 0x03, /*!< Represents the 15 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_10MINS = 0x04, /*!< Represents the 10 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_7_5MINS = 0x05, /*!< Represents the 7.5 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_5MINS = 0x06, /*!< Represents the 5 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
ESP_ZB_ZCL_ELECTRICAL_MEASUREMENT_PROFILE_INTERVAL_PERIOD_2_5MINS = 0x07, /*!< Represents the 2.5 minutes interval or time frame used to capture parameter for profiling purposes */
|
||||
}esp_zb_zcl_electrical_measurement_profile_interval_period_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee electrical measurement cluster profile information command struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_electrical_measurement_profile_info_s {
|
||||
uint8_t count; /*!< The counter for response command */
|
||||
esp_zb_zcl_electrical_measurement_profile_interval_period_t interval_period; /*!< The Profile interval period for profile information response command */
|
||||
uint8_t max_number_of_intervals; /*!< The Profile max number of intervals for profile information response command */
|
||||
uint16_t attributes_size; /*!< The Profile attributes size for profile information response command */
|
||||
uint16_t *attributes_list; /*!< The Profile attributes list for profile information response command */
|
||||
}esp_zb_electrical_measurement_profile_info_t;
|
||||
|
||||
/**
|
||||
* @brief The Zigbee electrical measurement cluster profile command struct
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_electrical_measurement_profile_s {
|
||||
uint32_t start_time; /*!< The start time for profile response command */
|
||||
uint32_t status; /*!< The status for profile response command */
|
||||
uint32_t interval_period; /*!< The interval period for profile response command */
|
||||
uint8_t interval_delivered_number; /*!< The interval delivered number for profile response command */
|
||||
uint8_t attributes_id; /*!< The interval attributes id for profile response command */
|
||||
void *intervals; /*!< The array of atttibute values intervals id for profile response command */
|
||||
}esp_zb_electrical_measurement_profile_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Fan Control cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_FAN_CONTROL_FAN_MODE_ID = 0x0000, /*!< Fan mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_FAN_CONTROL_FAN_MODE_SEQUENCE_ID = 0x0001 /*!< Fan mode sequence attribute */
|
||||
} esp_zb_zcl_fan_control_attr_t;
|
||||
|
||||
/** @brief Values for Fan Mode attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_OFF = 0x00, /*!< Off value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_LOW = 0x01, /*!< Low value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_MEDIUM = 0x02, /*!< Medium value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_HIGH = 0x03, /*!< High value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_ON = 0x04, /*!< On value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_AUTO = 0x05, /*!< Auto value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SMART = 0x06, /*!< Smart value */
|
||||
} esp_zb_zcl_fan_control_fan_mode_t;
|
||||
|
||||
/** @brief Values for Fan Mode Sequence attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_LOW_MED_HIGH = 0x00, /*!< Low/Med/High value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_LOW_HIGH = 0x01, /*!< Low/High value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_LOW_MED_HIGH_AUTO = 0x02, /*!< Low/Med/High/Auto value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_LOW_HIGH_AUTO = 0x03, /*!< Low/High/Auto value */
|
||||
ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_ON_AUTO = 0x04, /*!< On/Auto value */
|
||||
} esp_zb_zcl_fan_control_fan_mode_sequence_t;
|
||||
|
||||
/** @brief Default value for Fan Mode attribute */
|
||||
#define ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_DEFAULT_VALUE 0x05
|
||||
|
||||
/** @brief Default value for Fan Mode attribute */
|
||||
#define ESP_ZB_ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_DEFAULT_VALUE 0x02
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Flow measurement cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_FLOW_MEASUREMENT_VALUE_ID = 0x0000, /*!< MeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_FLOW_MEASUREMENT_MIN_VALUE_ID = 0x0001, /*!< MinMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_FLOW_MEASUREMENT_MAX_VALUE_ID = 0x0002, /*!< MaxMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_FLOW_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< Tolerance attribute */
|
||||
} esp_zb_zcl_flow_measurement_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((uint16_t)0xfffd)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((uint16_t)0x0001)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((uint16_t)0xffff)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x0800)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_FLOW_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
void esp_zb_zcl_flow_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_FLOW_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_flow_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_FLOW_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
#include "zgp/esp_zigbee_zgp.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief The enumeration for attributes of the Zigbee Green Power cluster
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zgp_gp_attr_e {
|
||||
ESP_ZB_ZCL_ATTR_GPS_MAX_SINK_TABLE_ENTRIES_ID = 0x0000, /*!< Maximum number of Sink Table entries supported by this device */
|
||||
ESP_ZB_ZCL_ATTR_GPS_SINK_TABLE_ID = 0x0001, /*!< Sink Table, holding information about local bindings between a particular GPD and target‘s local endpoints */
|
||||
ESP_ZB_ZCL_ATTR_GPS_COMMUNICATION_MODE_ID = 0x0002, /*!< Default communication mode requested by this GPS */
|
||||
ESP_ZB_ZCL_ATTR_GPS_COMMISSIONING_EXIT_MODE_ID = 0x0003, /*!< Conditions for the GPS to exit the commissioning mode */
|
||||
ESP_ZB_ZCL_ATTR_GPS_COMMISSIONING_WINDOW_ID = 0x0004, /*!< Default duration of the Commissioning window duration, in seconds, as re- quested by this GPS */
|
||||
ESP_ZB_ZCL_ATTR_GPS_SECURITY_LEVEL_ID = 0x0005, /*!< The minimum required security level to be supported by the paired GPDs*/
|
||||
ESP_ZB_ZCL_ATTR_GPS_FUNCTIONALITY_ID = 0x0006, /*!< The optional GP functionality supported by this GPS */
|
||||
ESP_ZB_ZCL_ATTR_GPS_ACTIVE_FUNCTIONALITY_ID = 0x0007, /*!< The optional GP functionality supported by this GPS that is active */
|
||||
ESP_ZB_ZCL_ATTR_GPP_MAX_PROXY_TABLE_ENTRIES_ID = 0x0010, /*!< Maximum number of Proxy Table entries supported by this device */
|
||||
ESP_ZB_ZCL_ATTR_GPP_PROXY_TABLE_ID = 0x0011, /*!< Proxy Table, holding information about pairings between a particular GPD ID and GPSs in the network*/
|
||||
ESP_ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_NUMBER_ID = 0x0012, /*!< Number of unicast GP Notification retries on lack of GP Notification Response */
|
||||
ESP_ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_TIMER_ID = 0x0013, /*!< Time in ms between unicast GP Notification retries on lack of GP Notification Response */
|
||||
ESP_ZB_ZCL_ATTR_GPP_MAX_SEARCH_COUNTER_ID = 0x0014, /*!< The frequency of sink re-discovery for inactive Proxy Table entries */
|
||||
ESP_ZB_ZCL_ATTR_GPP_BLOCKED_GPDID_ID = 0x0015, /*!< A list holding information about blocked GPD IDs*/
|
||||
ESP_ZB_ZCL_ATTR_GPP_FUNCTIONALITY_ID = 0x0016, /*!< The optional GP functionality supported by this GPP */
|
||||
ESP_ZB_ZCL_ATTR_GPP_ACTIVE_FUNCTIONALITY_ID = 0x0017, /*!< The optional GP functionality supported by this GPP that is active */
|
||||
ESP_ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_TYPE_ID = 0x0020, /*!< The security key type to be used for the communication with all paired 0b11 GPD in this network */
|
||||
ESP_ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_ID = 0x0021, /*!< The security key to be used for the communication with all paired GPD in this network */
|
||||
ESP_ZB_ZCL_ATTR_GP_LINK_KEY_ID = 0x0022 /*!< The security key to be used to encrypt the key exchanged with the GPD */
|
||||
} esp_zgp_gp_attr_t;
|
||||
|
||||
/**
|
||||
* @brief Green power server command
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zgp_server_commands_e {
|
||||
ESP_ZGP_SERVER_CMD_GP_NOTIFICATION = 0x00,
|
||||
ESP_ZGP_SERVER_CMD_GP_PAIRING_SEARCH = 0x01,
|
||||
ESP_ZGP_SERVER_CMD_GP_TUNNELING_STOP = 0x03,
|
||||
ESP_ZGP_SERVER_CMD_GP_COMMISSIONING_NOTIFICATION = 0x04,
|
||||
ESP_ZGP_SERVER_CMD_GP_SINK_COMMISSIONING_MODE = 0x05,
|
||||
ESP_ZGP_SERVER_CMD_GP_TRANSLATION_TABLE_UPDATE_COMMAND = 0x07,
|
||||
ESP_ZGP_SERVER_CMD_GP_TRANSLATION_TABLE_REQUEST = 0x08,
|
||||
ESP_ZGP_SERVER_CMD_GP_PAIRING_CONFIGURATION = 0x09,
|
||||
ESP_ZGP_SERVER_CMD_GP_SINK_TABLE_REQUEST = 0x0a,
|
||||
ESP_ZGP_SERVER_CMD_GP_PROXY_TABLE_RESPONSE = 0x0b
|
||||
} esp_zgp_server_commands_t;
|
||||
|
||||
/**
|
||||
* @brief Green power client command
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zgp_client_commands_e {
|
||||
ESP_ZGP_CLIENT_CMD_GP_NOTIFICATION_RESPONSE = 0x00,
|
||||
ESP_ZGP_CLIENT_CMD_GP_PAIRING = 0x01,
|
||||
ESP_ZGP_CLIENT_CMD_GP_PROXY_COMMISSIONING_MODE = 0x02,
|
||||
ESP_ZGP_CLIENT_CMD_GP_RESPONSE = 0x06,
|
||||
ESP_ZGP_CLIENT_CMD_GP_SINK_TABLE_RESPONSE = 0x0a,
|
||||
ESP_ZGP_CLIENT_CMD_GP_PROXY_TABLE_REQUEST = 0x0b
|
||||
} esp_zgp_client_commands_t;
|
||||
|
||||
/**
|
||||
* @brief The Action sub-field of the zgp pairing configuration
|
||||
*
|
||||
*/
|
||||
typedef enum esp_zgp_pairing_config_action_e {
|
||||
ESP_ZGP_PAIRING_CONFIG_NO_ACTION = 0xb000, /*!< No action */
|
||||
ESP_ZGP_PAIRING_CONFIG_EXTEND_SINK_TABLE_ENTRY = 0xb001, /*!< Extend Sink Table entry */
|
||||
ESP_ZGP_PAIRING_CONFIG_REPLACE_SINK_TABLE_ENTRY = 0xb010, /*!< Replace Sink Table entry */
|
||||
ESP_ZGP_PAIRING_CONFIG_REMOVE_A_PAIRING = 0xb011, /*!< Remove a pairing */
|
||||
ESP_ZGP_PAIRING_CONFIG_REMOVE_GPD = 0xb100, /*!< Remove GPD */
|
||||
} esp_zgp_pairing_config_action_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Groups cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_GROUPS_NAME_SUPPORT_ID = 0 /*!< NameSupport attribute */
|
||||
} esp_zb_zcl_groups_attr_t;
|
||||
|
||||
/** @brief Default value for groups attribute
|
||||
*/
|
||||
#define ESP_ZB_ZCL_GROUPS_NAME_SUPPORT_DEFAULT_VALUE 0x00
|
||||
|
||||
/**
|
||||
* @brief Groups cluster command identifiers.
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_GROUPS_ADD_GROUP = 0x00, /*!< Add group command identifier. */
|
||||
ESP_ZB_ZCL_CMD_GROUPS_VIEW_GROUP = 0x01, /*!< View group command identifier. */
|
||||
ESP_ZB_ZCL_CMD_GROUPS_GET_GROUP_MEMBERSHIP = 0x02, /*!< Get group membership command identifier.*/
|
||||
ESP_ZB_ZCL_CMD_GROUPS_REMOVE_GROUP = 0x03, /*!< Remove group command identifier. */
|
||||
ESP_ZB_ZCL_CMD_GROUPS_REMOVE_ALL_GROUPS = 0x04, /*!< Remove all groups command identifier. */
|
||||
ESP_ZB_ZCL_CMD_GROUPS_ADD_GROUP_IF_IDENTIFYING = 0x05 /*!< Add group if identifying command identifier. */
|
||||
} esp_zb_zcl_groups_cmd_id_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Water Content Measurement cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_REL_HUMIDITY_MEASUREMENT_VALUE_ID = 0x0000, /*!< MeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_REL_HUMIDITY_MEASUREMENT_MIN_VALUE_ID = 0x0001, /*!< MinMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_REL_HUMIDITY_MEASUREMENT_MAX_VALUE_ID = 0x0002, /*!< MaxMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_REL_HUMIDITY_TOLERANCE_ID = 0x0003, /*!< The Tolerance attribute SHALL indicate the magnitude of the possible error that is associated with MeasuredValue, using the same units and resolution.*/
|
||||
} esp_zb_zcl_rel_humidity_measurement_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((uint16_t)0x270f)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((uint16_t)0x0001)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((uint16_t)0x2710)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x0800)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_REL_HUMIDITY_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
void esp_zb_zcl_rel_humidity_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_rel_humidity_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,271 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Structure representation of IAS ACE Zone Table */
|
||||
typedef struct esp_zb_zcl_ias_ace_zone_table_s {
|
||||
uint8_t zone_id; /**< Zone ID */
|
||||
uint16_t zone_type; /**< Zone Type, see esp_zb_zcl_ias_zone_zonetype_t */
|
||||
esp_zb_ieee_addr_t zone_address; /**< Zone Address */
|
||||
uint8_t *zone_label; /**< The pointer to a string with Zone Label. NULL pointer means the Zone Label is not programmed */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_zone_table_t;
|
||||
|
||||
/** @brief Default value for IAS ACE cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0001u)
|
||||
|
||||
/** @brief IAS ACE Zone Table maximum length */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_ZONE_TABLE_LENGTH 255
|
||||
|
||||
/** @brief IAS ACE ZoneType attribute maximum value */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_ZONE_TYPE_MAX_VALUE 0xfffe
|
||||
|
||||
/** @brief IAS ACE ZoneID attribute maximum value */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_ZONE_ID_MAX_VALUE 0xfe
|
||||
|
||||
/** @brief IAS ACE ZoneID attribute default value */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_ZONE_ID_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief IAS ACE Set Zone Address default value */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_SET_ZONE_ADDRESS_DEFAULT_VALUE(ptr) (ZB_IEEE_ADDR_COPY(ptr, &g_unknown_ieee_addr))
|
||||
|
||||
/** @brief IAS Ace cluster command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_ARM_ID = 0x00, /**< Arm command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_BYPASS_ID = 0x01, /**< Bypass command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_EMERGENCY_ID = 0x02, /**< Emergency command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_FIRE_ID = 0x03, /**< Fire command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_PANIC_ID = 0x04, /**< Panic command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_ID_MAP_ID = 0x05, /**< Get Zone ID Map command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_INFO_ID = 0x06, /**< Get Zone Information command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_PANEL_STATUS_ID = 0x07, /**< Get Panel Status command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_BYPASSED_ZONE_LIST_ID = 0x08, /**< Get Bypassed Zone List command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_STATUS_ID = 0x09, /**< Get Zone Status command */
|
||||
} esp_zb_zcl_ias_ace_cmd_t;
|
||||
|
||||
/** @brief IAS Ace cluster response command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_ARM_RESP_ID = 0x00, /**< Arm Response command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_ID_MAP_RESP_ID = 0x01, /**< Get Zone ID Map Response command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_INFO_RESP_ID = 0x02, /**< Get Zone Information Response command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_ZONE_STATUS_CHANGED_ID = 0x03, /**< Updates ACE clients of changes to zone status recorded by the server. */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_PANEL_STATUS_CHANGED_ID = 0x04, /**< Updates ACE clients of changes to zone status recorded by the server. */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_PANEL_STATUS_RESPONSE_ID = 0x05, /**< Updates ACE clients of changes to panel status recorded by the server. */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_SET_BYPASSED_ZONE_LIST_ID = 0x06, /**< Sets the list of bypassed zones on the IAS ACE client. */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_BYPASS_RESPONSE_ID = 0x07, /**< Bypass Response command. */
|
||||
ESP_ZB_ZCL_CMD_IAS_ACE_GET_ZONE_STATUS_RESPONSE_ID = 0x08, /**< Get Zone Status Response Command. */
|
||||
} esp_zb_zcl_ias_ace_resp_cmd_t;
|
||||
|
||||
/******************************* Arm Command ******************************/
|
||||
|
||||
/** @brief Values of the Arm Mode */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_MODE_DISARM = 0x00, /**< Disarm */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_MODE_DAY = 0x01, /**< Arm Day/Home Zones Only */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_MODE_NIGHT = 0x02, /**< Arm Night/Sleep Zones Only */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_MODE_ALL = 0x03, /**< Arm All Zones */
|
||||
} esp_zb_zcl_ias_ace_arm_mode_t;
|
||||
|
||||
/** @brief Structure representation of Arm command */
|
||||
typedef struct esp_zb_zcl_ias_ace_arm_s {
|
||||
uint8_t arm_mode; /**< Arm Mode, see esp_zb_zcl_ias_ace_arm_mode_t */
|
||||
uint8_t arm_disarm_code[ESP_ZB_ZCL_MAX_STRING_SIZE]; /**< Arm/Disarm Code */
|
||||
uint8_t zone_id; /**< Zone ID */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_arm_t;
|
||||
|
||||
/******************************* Bypass Command ******************************/
|
||||
|
||||
/** @brief Structure representation of Bypass command */
|
||||
typedef struct esp_zb_zcl_ias_ace_bypass_s {
|
||||
uint8_t length; /**< Number of Zones */
|
||||
uint8_t zone_id[ESP_ZB_ZCL_IAS_ACE_ZONE_TABLE_LENGTH]; /**< Zone ID array, see esp_zb_zcl_ias_ace_zone_table_s */
|
||||
uint8_t arm_disarm_code[ESP_ZB_ZCL_MAX_STRING_SIZE]; /**< Arm/Disarm Code */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_bypass_t;
|
||||
|
||||
/******************************* Emergency Command ******************************/
|
||||
|
||||
/******************************* Fire Command ******************************/
|
||||
|
||||
/******************************* Panic Command ******************************/
|
||||
|
||||
/******************************* Get Zone ID Map command ******************************/
|
||||
|
||||
/******************************* Get Zone Information command ******************************/
|
||||
|
||||
/** @brief Structure representation of Get Zone Information command */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_zone_info_s {
|
||||
uint8_t zone_id; /**< Zone ID, see @ref esp_zb_zcl_ias_ace_zone_table_s */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_zone_info_t;
|
||||
|
||||
/******************************* Get Panel Status command ******************************/
|
||||
|
||||
/******************************* Get Bypassed Zone List command ******************************/
|
||||
|
||||
/******************************* Get Zone Status command ******************************/
|
||||
|
||||
/** @brief Structure representation of Get Zone Status command */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_zone_status_s {
|
||||
uint8_t starting_zone_id; /**< Starting Zone ID, see esp_zb_zcl_ias_ace_zone_table_s */
|
||||
uint8_t max_num_zone_ids; /**< Max Number of Zone IDs Requested Field */
|
||||
uint8_t zone_status_mask_flag; /**< Zone Status Mask Flag Field */
|
||||
uint16_t zone_status_mask; /**< Zone Status Mask Field, see esp_zb_zcl_ias_zone_zonestatus_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_zone_status_t;
|
||||
|
||||
/******************************* Arm Response command ******************************/
|
||||
|
||||
/** @brief Values of the Arm Notification */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_ALL_ZONES_DISARMED = 0x00, /**< All Zones Disarmed */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_ONLY_DAY_HOME_ZONES_ARMED = 0x01, /**< Only Day/Home Zones Armed */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_ONLY_NIGHT_SLEEP_ZONES_ARMED = 0x02, /**< Only Night/Sleep Zones Armed */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_ALL_ZONES_ARMED = 0x03, /**< All Zones Armed */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_INVALID_ARM_DISARM_CODE = 0x04, /**< Invalid Arm/Disarm Code */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_NOT_READY_TO_ARM = 0x05, /**< Not ready to arm */
|
||||
ESP_ZB_ZCL_IAS_ACE_ARM_NOTIF_ALREADY_DISARMED = 0x06, /**< Already disarmed */
|
||||
} esp_zb_zcl_ias_ace_arm_notif_t;
|
||||
|
||||
/** @brief Structure representation of Arm Response command */
|
||||
typedef struct esp_zb_zcl_ias_ace_arm_resp_s {
|
||||
uint8_t arm_notification; /**< Arm Notification, see esp_zb_zcl_ias_ace_arm_notif_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_arm_resp_t;
|
||||
|
||||
/******************************* Get Zone ID Map Response command ******************************/
|
||||
|
||||
/** @brief Length of array of Bitmap of Zone ID Map */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_GET_ZONE_ID_MAP_LENGTH 16
|
||||
|
||||
/** @brief Structure representation of Get Zone ID Map Response command */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_zone_id_map_resp_s {
|
||||
uint16_t zone_id_map[ESP_ZB_ZCL_IAS_ACE_GET_ZONE_ID_MAP_LENGTH]; /**< Zone ID Map */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_zone_id_map_resp_t;
|
||||
|
||||
/******************* Get Zone Information Response command ******************************/
|
||||
|
||||
/** @brief Zone Type is empty */
|
||||
#define ESP_ZB_ZCL_IAS_ACE_GET_ZONE_INFO_TYPE_NONE 0xffff
|
||||
|
||||
/** @brief Structure representation of Get Zone Information Response command, see esp_zb_zcl_ias_ace_zone_table_s */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_zone_info_resp_s {
|
||||
uint8_t zone_id; /**< Zone ID */
|
||||
uint16_t zone_type; /**< Zone Type, see esp_zb_zcl_ias_zone_zonetype_t */
|
||||
esp_zb_ieee_addr_t address; /**< Zone Address */
|
||||
uint8_t zone_label[ESP_ZB_ZCL_MAX_STRING_SIZE]; /**< Zone Label Field */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_zone_info_resp_t;
|
||||
|
||||
/******************* Zone Status Changed command ******************************/
|
||||
|
||||
/** @brief IAS ACE Audible Notification Field
|
||||
@see ZCL spec 8.3.2.4.4.4
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_AUD_NOTIFICATION_MUTE = 0x00, /**< Mute (i.e., no audible notification) */
|
||||
ESP_ZB_ZCL_IAS_ACE_AUD_NOTIFICATION_DEF_SOUND = 0x01, /**< Default sound */
|
||||
ESP_ZB_ZCL_IAS_ACE_AUD_NOTIFICATION_MANUF_SPECIFIC = 0x80, /**< Manufacturer specific */
|
||||
} esp_zb_zcl_ias_ace_aud_notification_t;
|
||||
|
||||
/** @brief Structure representation of Zone Status Changed command */
|
||||
typedef struct esp_zb_zcl_ias_ace_zone_status_changed_s {
|
||||
uint8_t zone_id; /**< Zone ID */
|
||||
uint16_t zone_status; /**< Zone Status, see esp_zb_zcl_ias_zone_zonestatus_t */
|
||||
uint8_t aud_notification; /**< Audible Notification, see esp_zb_zcl_ias_ace_aud_notification_t */
|
||||
uint8_t zone_label[ESP_ZB_ZCL_MAX_STRING_SIZE]; /**< Zone Label Field */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_zone_status_changed_t;
|
||||
|
||||
/******************* Panel Status Changed command ******************************/
|
||||
|
||||
/** @brief IAS ACE PanelStatus Parameter */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_DISARMED = 0x00, /**< Panel disarmed (all zones disarmed) and ready to arm */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMED_STAY = 0x01, /**< Armed stay */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMED_NIGHT = 0x02, /**< Armed night */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMED_AWAY = 0x03, /**< Armed away */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_EXIT_DELAY = 0x04, /**< Exit delay */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ENTRY_DELAY = 0x05, /**< Entry delay */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_NOT_READY = 0x06, /**< Not ready to arm */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_IN_ALARM = 0x07, /**< In alarm */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMING_STAY = 0x08, /**< Arming Stay */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMING_NIGHT = 0x09, /**< Arming Night */
|
||||
ESP_ZB_ZCL_IAS_ACE_PANEL_STATUS_ARMING_AWAY = 0x0a, /**< Arming Away */
|
||||
} esp_zb_zcl_ias_ace_panel_status_t;
|
||||
|
||||
/** @brief IAS ACE Alarm Status Field */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_NO_ALARM = 0x00, /**< No alarm */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_BURGLAR = 0x01, /**< Burglar */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_FIRE = 0x02, /**< Fire */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_EMERGENCY = 0x03, /**< Emergency */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_POLICE_PANIC = 0x04, /**< Police Panic */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_FIRE_PANIC = 0x05, /**< Fire Panic */
|
||||
ESP_ZB_ZCL_IAS_ACE_ALARM_STATUS_EMERGENCY_PANIC = 0x06, /**< Emergency Panic */
|
||||
} esp_zb_zcl_ias_ace_alarm_status_t;
|
||||
|
||||
/** @brief Structure representation of Panel Status Changed command */
|
||||
typedef struct esp_zb_zcl_ias_ace_panel_status_changed_s {
|
||||
uint8_t panel_status; /**< Panel Status, see esp_zb_zcl_ias_ace_panel_status_t */
|
||||
uint8_t seconds_remaining; /**< Seconds Remaining Parameter */
|
||||
uint8_t aud_notification; /**< Audible Notification, see esp_zb_zcl_ias_ace_aud_notification_t */
|
||||
uint8_t alarm_status; /**< Alarm Status Field, see esp_zb_zcl_ias_ace_alarm_status_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_panel_status_changed_t;
|
||||
|
||||
/******************* Get Panel Status Response command ******************************/
|
||||
|
||||
/** @brief Structure representation of Get Panel Status Response command */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_panel_status_resp_s {
|
||||
uint8_t panel_status; /**< Panel Status, see esp_zb_zcl_ias_ace_panel_status_t */
|
||||
uint8_t seconds_remaining; /**< Seconds Remaining Parameter */
|
||||
uint8_t aud_notification; /**< Audible Notification, see esp_zb_zcl_ias_ace_aud_notification_t */
|
||||
uint8_t alarm_status; /**< Alarm Status Field, see esp_zb_zcl_ias_ace_alarm_status_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_panel_status_resp_t;
|
||||
|
||||
/******************* Set Bypassed Zone List command ******************************/
|
||||
|
||||
/** @brief Structure representation of Set Bypassed Zone List command */
|
||||
typedef struct esp_zb_zcl_ias_ace_set_bypassed_zone_list_s {
|
||||
uint8_t length; /**< Number of Zones */
|
||||
uint8_t zone_id[ESP_ZB_ZCL_IAS_ACE_ZONE_TABLE_LENGTH]; /**< Zone ID array, see esp_zb_zcl_ias_ace_zone_table_s */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_set_bypassed_zone_list_t;
|
||||
|
||||
/******************* Bypass Response command ******************************/
|
||||
|
||||
/** @brief IAS ACE Bypass Result */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_BYPASSED = 0x00, /**< Bypass request is successful. Zone is bypassed. */
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_NOT_BYPASSED = 0x01, /**< Bypass request is unsuccessful. Zone is not bypassed. */
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_NOT_ALLOWED = 0x02, /**< Bypass request is not allowed. Zone is not bypassed. */
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_INVALID_ZONE_ID = 0x03, /**< Invalid Zone ID in the request. */
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_UNKNOWN_ZONE_ID = 0x04, /**< Valid range of Zone ID, but unknown to server. */
|
||||
ESP_ZB_ZCL_IAS_ACE_BYPASS_RESULT_INVALID_ARM_CODE = 0x05, /**< Arm/Disarm Code was entered incorrectly. */
|
||||
} esp_zb_zcl_ias_ace_bypass_result_t;
|
||||
|
||||
/** @brief Structure representation of Bypass Response command */
|
||||
typedef struct esp_zb_zcl_ias_ace_bypass_resp_s {
|
||||
uint8_t length; /**< Number of Zones */
|
||||
uint8_t bypass_result[ESP_ZB_ZCL_IAS_ACE_ZONE_TABLE_LENGTH]; /**< Bypass Result for Zone IDs, see esp_zb_zcl_ias_ace_bypass_result_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_bypass_resp_t;
|
||||
|
||||
/******************* Get Zone Status Response command ******************************/
|
||||
|
||||
/** @brief IAS ACE Zone Status structure */
|
||||
typedef struct esp_zb_zcl_ias_ace_zone_status_s {
|
||||
uint8_t zone_id; /**< Zone ID, see esp_zb_zcl_ias_ace_zone_table_s */
|
||||
uint16_t zone_status; /**< Zone Status, see esp_zb_zcl_ias_zone_zonestatus_t */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_zone_status_t;
|
||||
|
||||
/** @brief Structure representation of Get Zone Status Response command */
|
||||
typedef struct esp_zb_zcl_ias_ace_get_zone_status_resp_s {
|
||||
uint8_t zone_status_complete; /**< Zone Status Complete Field */
|
||||
uint8_t length; /**< Number of Zones */
|
||||
esp_zb_zcl_ias_ace_zone_status_t zone_id_status[ESP_ZB_ZCL_IAS_ACE_ZONE_TABLE_LENGTH]; /**< Status of Zone IDs */
|
||||
} ESP_ZB_PACKED_STRUCT esp_zb_zcl_ias_ace_get_zone_status_resp_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief IAS WD cluster attribute identifiers. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_IAS_WD_MAX_DURATION_ID = 0x0000, /**< Max Duration attribute */
|
||||
} esp_zb_zcl_ias_wd_attr_t;
|
||||
|
||||
/** @brief Default value for IAS WD cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_IAS_WD_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0002u)
|
||||
|
||||
/** @brief Max Duration attribute default value */
|
||||
#define ESP_ZB_ZCL_ATTR_IAS_WD_MAX_DURATION_DEF_VALUE 240
|
||||
|
||||
/** @brief Max Duration attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_IAS_WD_MAX_DURATION_MIN_VALUE 0
|
||||
|
||||
/** @brief Max Duration attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_IAS_WD_MAX_DURATION_MAX_VALUE 0xfffe
|
||||
|
||||
/** @brief IAS WD cluster command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IAS_WD_START_WARNING_ID = 0x00, /**< Start warning command. */
|
||||
ESP_ZB_ZCL_CMD_IAS_WD_SQUAWK_ID = 0x01, /**< Squawk command. */
|
||||
} esp_zb_zcl_ias_wd_cmd_t;
|
||||
|
||||
/******************************* Start warning command ******************************/
|
||||
|
||||
/** @brief Values of Warning Mode Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_STOP = 0x00, /**< Stop */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_BURGLAR = 0x01, /**< Burglar */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_FIRE = 0x02, /**< Fire */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_EMERGENCY = 0x03, /**< Emergency */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_POLICE_PANIC = 0x04, /**< Police panic */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_FIRE_PANIC = 0x05, /**< Fire panic */
|
||||
ESP_ZB_ZCL_IAS_WD_WARNING_MODE_EMERGENCY_PANIC = 0x06, /**< Emergency panic (i.e., medical issue) */
|
||||
} esp_zb_zcl_ias_wd_warning_mode_t;
|
||||
|
||||
/** @brief Values of Strobe Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_NO_STROBE = 0x00, /**< No strobe */
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_USE_STROBE = 0x01, /**< Use strobe in parallel to warning */
|
||||
} esp_zb_zcl_ias_wd_strobe_t;
|
||||
|
||||
/** @brief Values of Siren Level Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_SIREN_LEVEL_LOW = 0x00, /**< Low level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SIREN_LEVEL_MEDIUM = 0x01, /**< Medium level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SIREN_LEVEL_HIGH = 0x02, /**< High level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SIREN_LEVEL_VERY_HIGH = 0x03, /**< Very high level sound */
|
||||
} esp_zb_zcl_ias_wd_siren_level_t;
|
||||
|
||||
/** @brief Values of Strobe Level Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_LEVEL_LOW = 0x00, /**< Low level strobe */
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_LEVEL_MEDIUM = 0x01, /**< Medium level strobe */
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_LEVEL_HIGH = 0x02, /**< High level strobe */
|
||||
ESP_ZB_ZCL_IAS_WD_STROBE_LEVEL_VERY_HIGH = 0x03, /**< Very high level strobe */
|
||||
} esp_zb_zcl_ias_wd_strobe_level_t;
|
||||
|
||||
/** @brief Data in IAS_WD Start Warning command */
|
||||
typedef struct esp_zb_zcl_ias_wd_start_warning_s {
|
||||
uint8_t warning_mode; /**< Warning Mode */
|
||||
uint8_t strobe; /**< Strobe */
|
||||
uint8_t siren_level; /**< Siren level */
|
||||
uint16_t duration; /**< Duration */
|
||||
uint8_t strobe_duty_cycle; /**< Strobe duty cycle */
|
||||
uint8_t strobe_level; /**< Strobe level */
|
||||
} esp_zb_zcl_ias_wd_start_warning_t;
|
||||
|
||||
/******************************* Squawk command ******************************/
|
||||
|
||||
/** @brief Values of Squawk Mode Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_MODE_ARMED = 0x00, /**< Notification sound for "System is armed" */
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_MODE_DISARMED = 0x01, /**< Notification sound for "System is disarmed" */
|
||||
} esp_zb_zcl_ias_wd_squawk_mode_t;
|
||||
|
||||
/** @brief Values of Strobe Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_STROBE_NO_STROBE = 0x00, /**< No strobe*/
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_STROBE_USE_STROBE = 0x01, /**< Use strobe blink in parallel to squawk */
|
||||
} esp_zb_zcl_ias_wd_squawk_strobe_t;
|
||||
|
||||
/** @brief Values of Squawk level Field. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_LEVEL_LOW = 0x00, /**< Low level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_LEVEL_MEDIUM = 0x01, /**< Medium level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_LEVEL_HIGH = 0x02, /**< High level sound */
|
||||
ESP_ZB_ZCL_IAS_WD_SQUAWK_LEVEL_VERY_HIGH = 0x03, /**< Very High level sound */
|
||||
} esp_zb_zcl_ias_wd_squawk_level_t;
|
||||
|
||||
/** @brief Data in IAS_WD Squawk command */
|
||||
typedef struct esp_zb_zcl_ias_wd_squawk_s {
|
||||
uint8_t squawk_mode; /**< Squawk Mode */
|
||||
uint8_t strobe; /**< Strobe */
|
||||
uint8_t squawk_level; /**< Squawk level */
|
||||
} esp_zb_zcl_ias_wd_squawk_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief IAS Zone cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_ZONESTATE_ID = 0x0000, /*!< ZoneState attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_ZONETYPE_ID = 0x0001, /*!< ZoneType attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_ZONESTATUS_ID = 0x0002, /*!< ZoneStatus attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_IAS_CIE_ADDRESS_ID = 0x0010, /*!< IAS_CIE_Address attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_ZONEID_ID = 0x0011, /*!< ZoneID attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_NUMBER_OF_ZONE_SENSITIVITY_LEVELS_SUPPORTED_ID = 0x0012, /*!< NumberOfZoneSensitivityLevelsSupported attribute */
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_CURRENT_ZONE_SENSITIVITY_LEVEL_ID = 0x0013, /*!< CurrentZoneSensitivityLevel attribute */
|
||||
ESP_ZB_ZCL_ATTR_CUSTOM_CIE_ADDR_IS_SET = 0xE000, /*!< Custom CIE address for checking establishment and authorization internally*/
|
||||
ESP_ZB_ZCL_ATTR_CUSTOM_CIE_EP = 0xE001, /*!< Custom CIE endpoint for checking establishment and authorization internally*/
|
||||
ESP_ZB_ZCL_ATTR_CUSTOM_CIE_SHORT_ADDR = 0xE002, /*!< Custom CIE short address for checking establishment and authorization internally*/
|
||||
ESP_ZB_ZCL_ATTR_IAS_ZONE_INT_CTX_ID = 0xeffe, /*!< Application context */
|
||||
} esp_zb_zcl_ias_zone_attr_t;
|
||||
|
||||
/** @brief IAS Zone ZoneState value
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONESTATE_NOT_ENROLLED = 0, /*!< ZoneState not enrolled value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONESTATE_ENROLLED = 1, /*!< ZoneState enrolled value */
|
||||
} esp_zb_zcl_ias_zone_zonestate_t;
|
||||
|
||||
/** @brief IAS Zone ZoneType value
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_STANDARD_CIE = 0x0000, /*!< ZoneType Standard CIE System Alarm value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_MOTION = 0x000d, /*!< ZoneType Motion value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_CONTACT_SWITCH = 0x0015, /*!< ZoneType Contact switch value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_FIRE_SENSOR = 0x0028, /*!< ZoneType Fire sensor value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_WATER_SENSOR = 0x002a, /*!< ZoneType Water sensor value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_GAS_SENSOR = 0x002b, /*!< ZoneType Gas sensor value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_PERSONAL_EMERGENCY = 0x002c, /*!< ZoneType Personal emergency value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_VIBRATION_MOVEMENT = 0x002d, /*!< ZoneType Vibration / Movement sensor value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_REMOTE_CONTROL = 0x010f, /*!< ZoneType Remote Control value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_KEY_FOB = 0x0115, /*!< ZoneType Key fob value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_KEYPAD = 0x021d, /*!< ZoneType Keypad value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_STANDARD_WARNING = 0x0225, /*!< ZoneType Standard Warning Device value */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_GLASS_BREAK = 0x0225, /*!< ZoneType Standard glass break sensor */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONETYPE_INVALID = 0xffff, /*!< ZoneType Invalid Zone Type value */
|
||||
} esp_zb_zcl_ias_zone_zonetype_t;
|
||||
|
||||
/** @brief IAS Zone ZoneStatus attribute flags
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_ALARM1 = 1 << 0, /*!< Alarm 1 */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_ALARM2 = 1 << 1, /*!< Alarm 2 */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_TAMPER = 1 << 2, /*!< Tamper */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_BATTERY = 1 << 3, /*!< Battery */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_SUPERVISION = 1 << 4, /*!< Supervision reports */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_RESTORE = 1 << 5, /*!< Restore reports */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_TROUBLE = 1 << 6, /*!< Trouble */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_AC_MAINS = 1 << 7, /*!< AC (mains) */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_TEST = 1 << 8, /*!< Test */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ZONE_STATUS_BATTERY_DEFECT = 1 << 9, /*!< Battery Defect */
|
||||
} esp_zb_zcl_ias_zone_zonestatus_t;
|
||||
|
||||
#define ESP_ZB_ZCL_ZONE_IAS_CIE_ADDR_DEFAULT {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
|
||||
|
||||
/** @brief IAS Zone cluster command identifiers for client
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IAS_ZONE_ZONE_ENROLL_RESPONSE_ID = 0x00, /*!< "Zone Enroll Response" command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ZONE_INITIATE_NORMAL_OPERATION_MODE_ID = 0x01, /*!< "Initiate Normal Operation Mode" command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ZONE_INITIATE_TEST_MODE_ID = 0x02, /*!< "Initiate Test Mode" command */
|
||||
} esp_zb_zcl_ias_zone_cmd_t;
|
||||
|
||||
/** @brief IAS Zone cluster command identifiers for server
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IAS_ZONE_ZONE_STATUS_CHANGE_NOT_ID = 0x00, /*!< "Zone Status Change Notification" command */
|
||||
ESP_ZB_ZCL_CMD_IAS_ZONE_ZONE_ENROLL_REQUEST_ID = 0x01 /*!< "Zone Enroll Request" command. */
|
||||
} esp_zb_zcl_ias_zone_resp_cmd_t;
|
||||
|
||||
/** @brief Values of the Enroll Response Code definition
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_CODE_SUCCESS = 0x00, /*!< Success */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_CODE_NOT_SUPPORTED = 0x01, /*!< Not supported */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_CODE_NO_ENROLL = 0x02, /*!< No enroll permit */
|
||||
ESP_ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_CODE_TOO_MANY_ZONES = 0x03, /*!< Too many zones */
|
||||
} esp_zb_zcl_ias_zone_enroll_response_code_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Identify cluster attribute identifier
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_IDENTIFY_IDENTIFY_TIME_ID = 0x0000 /*!< Identify time attribute */
|
||||
} esp_zb_zcl_identify_attr_t;
|
||||
|
||||
/** @brief Default value for Identify attribute */
|
||||
#define ESP_ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE 0x0000
|
||||
|
||||
/** @brief Command identifiers for "Identify" cluster
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_IDENTIFY_IDENTIFY_ID = 0x00, /*!< Identify command */
|
||||
ESP_ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_ID = 0x01, /*!< Identify query command */
|
||||
ESP_ZB_ZCL_CMD_IDENTIFY_TRIGGER_EFFECT_ID = 0x40, /*!< "Trigger effect" command identifier. */
|
||||
ESP_ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_RSP_ID = 0x00 /*!< Identify query response */
|
||||
} esp_zb_zcl_identify_cmd_id_t;
|
||||
|
||||
/** @brief the values of the effect identifier field of the trigger effect command
|
||||
*/
|
||||
typedef enum esp_zb_zcl_identify_trigger_effect_s {
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_BLINK = 0x00, /*!< Effect identifier field value: Light is turned on/off once */
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_BREATHE = 0x01, /*!< Effect identifier field value: Light turned on/off over 1 second and repeated 15 times */
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_OKAY = 0x02, /*!< Effect identifier field value: Colored light turns green for 1 second; non-colored light flashes twice */
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_CHANNEL_CHANGE = 0x0b, /*!< Effect identifier field value: Colored light turns orange for 8 seconds; non-colored light
|
||||
switches to maximum brightness for 0.5s and then minimum brightness for 7.5s */
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_FINISH_EFFECT = 0xfe, /*!< Effect identifier field value: Complete the current effect sequence before terminating. */
|
||||
ESP_ZB_ZCL_IDENTIFY_EFFECT_ID_STOP = 0xff, /*!< Effect identifier field value: Terminate the effect as soon as possible */
|
||||
} esp_zb_zcl_identify_trigger_effect_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Illuminance Measurement cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /*!< MeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /*!< MinMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /*!< MaxMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< The Tolerance attribute SHALL indicate the magnitude of the possible error that is associated with MeasuredValue, using the same units and resolution.*/
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_LIGHT_SENSOR_TYPE_ID = 0x0004 /*!< The LightSensorType attribute specifies the electronic type of the light sensor. */
|
||||
} esp_zb_zcl_illuminance_measurement_attr_t;
|
||||
|
||||
/** @brief Default value for Illuminance Measurement cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0002u)
|
||||
|
||||
/** @brief MeasuredValue attribute too-low value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MEASURED_VALUE_TOO_LOW 0
|
||||
|
||||
/** @brief MeasuredValue attribute invalid value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MEASURED_VALUE_INVALID 0xFFFF
|
||||
|
||||
/** @brief MeasuredValue attribute default value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MEASURED_VALUE_DEFAULT \
|
||||
ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MEASURED_VALUE_TOO_LOW
|
||||
|
||||
/** @brief Default value for LightSensorType attribute */
|
||||
#define ESP_ZB_ZCL_ILLUMINANCE_MEASUREMENT_LIGHT_SENSOR_TYPE_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief MinMeasuredValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MIN_MEASURED_VALUE_MIN_VALUE 0x0001
|
||||
|
||||
/** @brief MinMeasuredValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MIN_MEASURED_VALUE_MAX_VALUE 0xFFFD
|
||||
|
||||
/** @brief MinMeasuredValue attribute not-defined value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MIN_MEASURED_VALUE_UNDEFINED 0xFFFF
|
||||
|
||||
/** @brief MaxMeasuredValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MAX_MEASURED_VALUE_MIN_VALUE 0x0002
|
||||
|
||||
/** @brief MaxMeasuredValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MAX_MEASURED_VALUE_MAX_VALUE 0xFFFE
|
||||
|
||||
/** @brief MaxMeasuredValue attribute not-defined value */
|
||||
#define ESP_ZB_ZCL_ATTR_ILLUMINANCE_MEASUREMENT_MAX_MEASURED_VALUE_UNDEFINED 0xFFFF
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/**
|
||||
* @brief Level control attribute list
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_CURRENT_LEVEL_ID = 0x0000, /*!< Current Level attribute */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_REMAINING_TIME_ID = 0x0001, /*!< Remaining Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_MIN_LEVEL_ID = 0x0002, /*!< The MinLevel attribute indicates the minimum value of CurrentLevel that is capable of being assigned. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_MAX_LEVEL_ID = 0x0003, /*!< The MaxLevel attribute indicates the maximum value of CurrentLevel that is capable of being assigned. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_CURRENT_FREQUENCY_ID = 0x0004, /*!< The CurrentFrequency attribute represents the frequency that the devices is at CurrentLevel. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_MIN_FREQUENCY_ID = 0x0005, /*!< The MinFrequency attribute indicates the minimum value of CurrentFrequency that is capable of being assigned. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_MAX_FREQUENCY_ID = 0x0006, /*!< The MaxFrequency attribute indicates the maximum value of CurrentFrequency that is capable of being assigned. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_ON_OFF_TRANSITION_TIME_ID = 0x0010, /*!< On off transition time attribute */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_ON_LEVEL_ID = 0x0011, /*!< On Level attribute */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_ON_TRANSITION_TIME_ID = 0x0012, /*!< The OnTransitionTime attribute represents the time taken to move the current level */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_OFF_TRANSITION_TIME_ID = 0x0013, /*!< The OffTransitionTime attribute represents the time taken to move the current level */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_DEFAULT_MOVE_RATE_ID = 0x0014, /*!< The DefaultMoveRate attribute determines the movement rate, in units per second */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_OPTIONS_ID = 0x000F, /*!< The Options attribute is a bitmap that determines the default behavior of some cluster commands. */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_START_UP_CURRENT_LEVEL_ID = 0x4000, /*!< The StartUpCurrentLevel attribute SHALL define the desired startup level */
|
||||
ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_MOVE_STATUS_ID = 0xefff /*!< Special Move Variables attribute Internal usage */
|
||||
} esp_zb_zcl_level_control_attr_t;
|
||||
|
||||
/** @brief Current Level attribute default value */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_CURRENT_LEVEL_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for RemainingTime attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_REMAINING_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for MinLevel attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_MIN_LEVEL_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for MaxLevel attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_MAX_LEVEL_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for CurrentFrequency attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_CURRENT_FREQUENCY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for MinFrequency attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_MIN_FREQUENCY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for MaxFrequency attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_MAX_FREQUENCY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for OnOffTransitionTime attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_ON_OFF_TRANSITION_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for OnLevel attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_ON_LEVEL_DEFAULT_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for OnTransitionTime attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_ON_TRANSITION_TIME_DEFAULT_VALUE ((uint16_t)0xFFFF)
|
||||
|
||||
/** @brief Default value for OffTransitionTime attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_OFF_TRANSITION_TIME_DEFAULT_VALUE ((uint16_t)0xFFFF)
|
||||
|
||||
/** @brief Default move rate */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_RATE_DEFAULT_VALUE ((uint8_t)0xff)
|
||||
|
||||
/** @brief Default value for Options attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_OPTIONS_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for OnLevel attribute */
|
||||
#define ESP_ZB_ZCL_LEVEL_CONTROL_START_UP_CURRENT_LEVEL_USE_PREVIOUS_VALUE ((uint8_t)0xFF)
|
||||
|
||||
/*! @brief Level control cluster command identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_MOVE_TO_LEVEL = 0x00, /*!< Move To Level command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_MOVE = 0x01, /*!< Move command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_STEP = 0x02, /*!< Step command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_STOP = 0x03, /*!< Stop command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_MOVE_TO_LEVEL_WITH_ON_OFF = 0x04, /*!< Move To Level with On/Off command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_MOVE_WITH_ON_OFF = 0x05, /*!< Move with On/Off command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_STEP_WITH_ON_OFF = 0x06, /*!< Step with On/Off command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_STOP_WITH_ON_OFF = 0x07, /*!< Step with On/Off command */
|
||||
ESP_ZB_ZCL_CMD_LEVEL_CONTROL_MOVE_TO_CLOSEST_FREQUENCY = 0x08, /*!< Upon receipt of "Move to Closest Frequency" command */
|
||||
} esp_zb_zcl_level_control_cmd_id_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Meter Identification server attributes identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_COMPANY_NAME_ID = 0x0000, /**< Company Name */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_METER_TYPE_ID_ID = 0x0001, /**< Meter Type Id */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_DATA_QUALITY_ID_ID = 0x0004, /**< Data Quality Id */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_CUSTOMER_NAME_ID = 0x0005, /**< Customer Name */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_MODEL_ID = 0x0006, /**< Model */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_PART_NUMBER_ID = 0x0007, /**< Part Number */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_PRODUCT_REVISION_ID = 0x0008, /**< Product Revision */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_SOFTWARE_REVISION_ID = 0x000A, /**< Software Revision */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_UTILITY_NAME_ID = 0x000B, /**< Utility Name */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_POD_ID = 0x000C, /**< Pod */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_AVAILABLE_POWER_ID = 0x000D, /**< Available Power */
|
||||
ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_POWER_THRESHOLD_ID = 0x000E, /**< Power Threshold */
|
||||
} esp_zb_zcl_meter_identification_attr_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_METER_TYPE_ID "MeterTypeID" attribute values */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_METER_TYPE_UTILITY_PRIMARY = 0x0000, /**< Utility Primary Meter */
|
||||
ESP_ZB_ZCL_METER_TYPE_UTILITY_PRODUCTION = 0x0001, /**< Utility Production Meter */
|
||||
ESP_ZB_ZCL_METER_TYPE_UTILITY_SECONDARY = 0x0002, /**< Utility Secondary Meter */
|
||||
ESP_ZB_ZCL_METER_TYPE_PRIVATE_PRIMARY = 0x0100, /**< Private Primary Meter */
|
||||
ESP_ZB_ZCL_METER_TYPE_PRIVATE_PRODUCTION = 0x0101, /**< Private Production Meter */
|
||||
ESP_ZB_ZCL_METER_TYPE_PRIVATE_SECONDARY = 0x0102, /**< Private Secondary Meters */
|
||||
ESP_ZB_ZCL_METER_TYPE_GENERIC = 0x0110 /**< Generic Meter */
|
||||
} esp_zb_zcl_meter_identification_meter_type_t;
|
||||
|
||||
/** @brief ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_DATA_QUALITY_ID "DataQualityID" attribute values */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_DATA_QUALITY_ALL_DATA_CERTIFIED = 0x0000, /**< All Data Certified */
|
||||
ESP_ZB_ZCL_DATA_QUALITY_ONLY_INSTANTANEOUS_POWER_NOT_CERTIFIED = 0x0001, /**< Only Instantaneous Power not Certified */
|
||||
ESP_ZB_ZCL_DATA_QUALITY_ONLY_CUMULATED_CONSUMPTION_NOT_CERTIFIED = 0x0002, /**< Only Cumulated Consumption not Certified */
|
||||
ESP_ZB_ZCL_DATA_QUALITY_NOT_CERTIFIED_DATA = 0x0003 /**< Not Certified data */
|
||||
} esp_zb_zcl_meter_identification_data_quality_t;
|
||||
|
||||
/** @brief Default value for Meter Identification cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_METER_IDENTIFICATION_CLUSTER_REVISION_DEFAULT ((zb_uint16_t)0x0002u)
|
||||
|
||||
/** @brief Default value for Company Name attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_COMPANY_NAME_DEFAULT_VALUE { 0 }
|
||||
|
||||
/** @brief Default value for Meter Type ID attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_METER_TYPE_ID_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Data Quality ID attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_DATA_QUALITY_ID_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for POD (Point of Delivery) attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_POD_DEFAULT_VALUE { 0 }
|
||||
|
||||
/** @brief Default value for Available Power attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_AVAILABLE_POWER_DEFAULT_VALUE ZB_INIT_UINT24(0,0)
|
||||
|
||||
/** @brief Default value for Power Threshold attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_POWER_THRESHOLD_DEFAULT_VALUE ZB_INIT_UINT24(0, 0)
|
||||
|
||||
/** @brief Max length of Company Name attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_COMPANY_NAME_MAX_LENGTH 16
|
||||
|
||||
/** @brief Max length of POD (Point of Delivery) attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_METER_IDENTIFICATION_POD_MAX_LENGTH 16
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,131 @@
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief MultiState Input cluster attribute identifiers. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_STATE_TEXT_ID = 0x000EU, /*!< StateText attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_DESCRIPTION_ID = 0x001CU, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_NUMBER_OF_STATES_ID = 0x004AU, /*!< Number of states attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_OUT_OF_SERVICE_ID = 0x0051U, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_PRESENT_VALUE_ID = 0x0055U, /*!< PresentValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_RELIABILITY_ID = 0x0067U, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_STATUS_FLAGS_ID = 0x006FU, /*!< StatusFlag attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_INPUT_APPLICATION_TYPE_ID = 0x0100U, /*!< Application type attribute */
|
||||
} esp_zb_zcl_multi_input_attr_t;
|
||||
|
||||
/** @brief Default value for StateText attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_STATE_TEXT_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Number of states attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_NUMBER_OF_STATES_DEFAULT_VALUE (0)
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for PresentValue attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_PRESENT_VALUE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for StatusFlag attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAGS_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Application type attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_APPLICATION_TYPE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief StatusFlag attribute minimum value */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAGS_MIN_VALUE 0x00U
|
||||
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAGS_MAX_VALUE 0x0FU
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_multi_input_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_MULTI_INPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_multi_input_reliability_value_t;
|
||||
|
||||
/** Multistate Input cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Multistate Input
|
||||
* clusters have Group = 0x00.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_MI_GROUP_ID 0x0D
|
||||
#define ESP_ZB_ZCL_MI_SET_APP_TYPE_WITH_ID(_type, _id) (((ESP_ZB_ZCL_MI_GROUP_ID & 0xFF) << 24) | (((_type)&0xFF) << 16) | ((_id)&0xFFFF))
|
||||
|
||||
/** @brief Values for Multistate Input cluster application types (Type field, bits 16-23) */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MI_APP_TYPE_DOMAIN_HVAC = 0x00, /*!< Application Domain HVAC */
|
||||
/* 0x01 to 0xFE are reserved */
|
||||
ESP_ZB_ZCL_MI_APP_TYPE_OTHER = 0xFF /*!< Other */
|
||||
} esp_zb_zcl_mi_application_types_t;
|
||||
|
||||
/** @brief Values for Multistate Input cluster HVAC application usages */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OFF_ON_AUTO = ESP_ZB_ZCL_MI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MI_APP_TYPE_DOMAIN_HVAC, 0x0000), /*!< Off, On, Auto */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OFF_LOW_MEDIUM_HIGH, /*!< Off, Low, Medium, High */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_AUTO_HEAT_COOL_OFF_EMERGENCY_FAN_MAX, /*!< Auto, Heat, Cool, Off, Emergency Heat, Fan Only,
|
||||
Max Heat */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OCCUPIED_UNOCCUPIED_STANDBY_BYPASS, /*!< Occupied, Unoccupied, Standby, Bypass */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_INACTIVE_ACTIVE_HOLD, /*!< Inactive, Active, Hold */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_AUTO_WARMUP_WATER_FLUSH_AUTOCAL_SHUTDOWNOPEN_SHUTDOWNCLOSED_LOWLIMIT_TEST_BALANCE, /*!< Auto, Warm-up, Water Flush, Autocalibration, Shutdown Open,
|
||||
Shutdown Closed, Low Limit, Test and Balance */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OFF_AUTO_HEAT_COOL_HEATONLY_COOLONLY_FAN_ONLY, /*!< Off, Auto, Heat Cool, Heat Only, Cool Only, Fan Only */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_HIGH_NORMAL_LOW, /*!< High, Normal, Low */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OCCUPIED_UNOCCUPIED_STARTUP_SHUTDOWN, /*!< Occupied, Unoccupied, Startup, Shutdown */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_NIGHT_DAY_HOLD, /*!< Night, Day, Hold */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OFF_COOL_HEAT_AUTO_EMERGENCY, /*!< Off, Cool, Heat, Auto, Emergency Heat */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_SHUTDOWNCLOSED_SHUTDOWNOPEN_SATISFIED_MIXING_COOLING_HEATING_SUPPLEMENTAL_HEAT, /*!< Shutdown Closed, Shutdown Open, Satisfied, Mixing, Cooling,
|
||||
Heating, Supplemental Heat */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_MI_DOMAIN_HVAC_OTHER = ESP_ZB_ZCL_MI_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MI_APP_TYPE_DOMAIN_HVAC, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_mi_domain_hvac_t;
|
||||
|
||||
void esp_zb_zcl_multi_input_init_server(void);
|
||||
void esp_zb_zcl_multi_input_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_INPUT_SERVER_ROLE_INIT esp_zb_zcl_multi_input_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_INPUT_CLIENT_ROLE_INIT esp_zb_zcl_multi_input_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,137 @@
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief MultiState Output cluster attribute identifiers. */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_STATE_TEXT_ID = 0x000E, /*!< StateText attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_DESCRIPTION_ID = 0x001C, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_NUMBER_OF_STATES_ID = 0x004A, /*!< Number of states attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
/** TODO: support PriorityArray Attribute */
|
||||
// ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_PRIORITY_ARRAY_ID = 0x0057, /*!< Priority Array attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_RELIABILITY_ID = 0x0067, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_RELINQUISH_DEFAULT_ID = 0x0068, /*!< Relinquish default attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_STATUS_FLAGS_ID = 0x006F, /*!< StatusFlag attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_OUTPUT_APPLICATION_TYPE_ID = 0x0100, /*!< Application type attribute */
|
||||
} esp_zb_zcl_multi_output_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAG_NORMAL = 0x00, /*!< Normal (default) state. */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAG_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAG_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAG_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAG_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_multi_output_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
/* 0x09 is for multistate clusters only */
|
||||
ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_multi_output_reliability_value_t;
|
||||
|
||||
/** Multistate Output cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Analog Input
|
||||
* clusters have Group = 0x00.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The physical quantity that the PresentValue attribute of the cluster
|
||||
* represents.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
/** @brief Macros for ApplicationType attribute */
|
||||
#define ESP_ZB_ZCL_MO_GROUP_ID 0x0E
|
||||
#define ESP_ZB_ZCL_MO_SET_APP_TYPE_WITH_ID(_type, _id) (((ESP_ZB_ZCL_MO_GROUP_ID & 0xFF) << 24) | (((_type)&0xFF) << 16) | ((_id)&0xFFFF))
|
||||
|
||||
/** @brief Values for Multistate Output cluster application types (Type field, bits 16-23) */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MO_APP_TYPE_DOMAIN_HVAC = 0x00, /*!< Application Domain HVAC */
|
||||
/* 0x01 to 0xFE are reserved */
|
||||
ESP_ZB_ZCL_MO_APP_TYPE_OTHER = 0xFF /*!< Other */
|
||||
} esp_zb_zcl_mo_application_types_t;
|
||||
|
||||
/** @brief Values for Multistate Output cluster HVAC application usages */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OFF_ON_AUTO = ESP_ZB_ZCL_MO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MO_APP_TYPE_DOMAIN_HVAC, 0x0000), /*!< Off, On, Auto */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OFF_LOW_MEDIUM_HIGH, /*!< Off, Low, Medium, High */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_AUTO_HEAT_COOL_OFF_EMERG_FAN_MAX, /*!< Auto, Heat, Cool, Off, Emerg Heat, Fan Only, Max Heat */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OCCUPIED_UNOCCUPIED_STANDBY_BYPASS, /*!< Occupied, Unoccupied, Standby, Bypass */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_INACTIVE_ACTIVE_HOLD, /*!< Inactive, Active, Hold */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_AUTO_WARMUP_WATER_FLUSH_AUTOCAL_SHUTDOWNOPEN_SHUTDOWNCLOSED_LOWLIMIT_TEST_BALANCE, /*!< Auto, Warm-up, Water Flush, Autocalibration, Shutdown Open,
|
||||
Shutdown Closed, Low Limit, Test and Balance */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OFF_AUTO_HEAT_COOL_HEAT_ONLY_COOL_ONLY_FAN_ONLY, /*!< Off, Auto, Heat Cool, Heat Only, Cool Only, Fan Only */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_HIGH_NORMAL_LOW, /*!< High, Normal, Low */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OCCUPIED_UNOCCUPIED_STARTUP_SHUTDOWN, /*!< Occupied, Unoccupied, Startup, Shutdown */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_NIGHT_DAY_HOLD, /*!< Night, Day, Hold */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OFF_COOL_HEAT_AUTO_EMERGENCY, /*!< Off, Cool, Heat, Auto, Emergency Heat */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_SHUTDOWNCLOSED_SHUTDOWNOPEN_SATISFIED_MIXING_COOLING_HEATING_SUPPL_HEAT, /*!< Shutdown Closed, Shutdown Open, Satisfied, Mixing, Cooling, Heating, Suppl Heat */
|
||||
/* 0x0200 to 0xFFFE are Vendor defined */
|
||||
ESP_ZB_ZCL_MO_DOMAIN_HVAC_OTHER = ESP_ZB_ZCL_MO_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MO_APP_TYPE_DOMAIN_HVAC, 0xFFFF) /*!< Other */
|
||||
} esp_zb_zcl_mo_domain_hvac_t;
|
||||
|
||||
/** @brief Default value for StateText attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_STATE_TEXT_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_DESCRIPTION_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Number of states attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_NUMBER_OF_STATES_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for PresentValue attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_PRESENT_VALUE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Priority Array attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_PRIORITY_ARRAY_DEFAULT_VALUE {0}
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_RELIABILITY_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Relinquish default attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_RELINQUISH_DEFAULT_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for StatusFlag attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAGS_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Application type attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_APPLICATION_TYPE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief StatusFlag attribute minimum value */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAGS_MIN_VALUE 0x00
|
||||
|
||||
/** @brief StatusFlag attribute maximum value */
|
||||
#define ESP_ZB_ZCL_MULTI_OUTPUT_STATUS_FLAGS_MAX_VALUE 0x0F
|
||||
|
||||
void esp_zb_zcl_multi_output_init_server(void);
|
||||
void esp_zb_zcl_multi_output_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_OUTPUT_SERVER_ROLE_INIT esp_zb_zcl_multi_output_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_OUTPUT_CLIENT_ROLE_INIT esp_zb_zcl_multi_output_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTDESP_ZB_ZCL_
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Multistate Value cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_STATE_TEXT_ID = 0x000e, /*!< Text attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_DESCRIPTION_ID = 0x001c, /*!< Description attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_NUMBER_OF_STATES_ID = 0x004a, /*!< NumberOfStates attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_OUT_OF_SERVICE_ID = 0x0051, /*!< OutOfService attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_PRESENT_VALUE_ID = 0x0055, /*!< PresentValue attribute */
|
||||
// TODO: Support PriorityArray attribute
|
||||
// ESP_ZB_ZCL_ATTR_MULTI_VALUE_PRIORITY_ARRAY_ID = 0x0057, /*!< PriorityArray attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_RELIABILITY_ID = 0x0067, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_RELINQUISH_DEFAULT_ID = 0x0068, /*!< Reliability attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_STATUS_FLAGS_ID = 0x006f, /*!< StatusFlags attribute */
|
||||
ESP_ZB_ZCL_ATTR_MULTI_VALUE_APPLICATION_TYPE_ID = 0x0100, /*!< ApplicationType attribute */
|
||||
} esp_zb_zcl_multi_value_attr_t;
|
||||
|
||||
/** @brief Values for StatusFlags attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_NORMAL = 0x00, /*!< Normal (default) . */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_IN_ALARM = 0x01, /*!< In alarm bit. */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_FAULT = 0x02, /*!< Fault bit. */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_OVERRIDDEN = 0x04, /*!< Overridden bit. */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_OUT_OF_SERVICE = 0x08, /*!< Out of service bit. */
|
||||
} esp_zb_zcl_multi_value_status_flags_value_t;
|
||||
|
||||
/** @brief Values for Reliability attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_FAULT_DETECTED = 0x00, /*!< No fault detected */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_SENSOR = 0x01, /*!< No sensor */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_OVER_RANGE = 0x02, /*!< Over range */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_UNDER_RANGE = 0x03, /*!< Under range */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_OPEN_LOOP = 0x04, /*!< Open loop */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_SHORTED_LOOP = 0x05, /*!< Shorted loop */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_OUTPUT = 0x06, /*!< No output */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_UNRELIABLE_OTHER = 0x07, /*!< Unreliable other */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_PROCESS_ERROR = 0x08, /*!< Process error */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_MULTI_STATE_FAULT = 0x09, /*!< Mutlistate fault */
|
||||
ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_CONFIGURATION_ERROR = 0x0a, /*!< Configuration error */
|
||||
} esp_zb_zcl_multi_value_reliability_value_t;
|
||||
|
||||
/** Multistate Value cluster application types
|
||||
* The ApplicationType attribute indicates the specific application usage
|
||||
* for the cluster. ApplicationType is subdivided into Group, Type and
|
||||
* an Index number, as follows:
|
||||
*
|
||||
* Group = Bits 24 to 31
|
||||
* An indication of the cluster this attribute is part of. Multistate Value
|
||||
* clusters have Group = 0x0d.
|
||||
*
|
||||
* Type = Bits 16 to 23
|
||||
* The application usage domain.
|
||||
*
|
||||
* Index = Bits 0 to 15
|
||||
* The specific application usage of the cluster.
|
||||
*/
|
||||
|
||||
#define ESP_ZB_ZCL_MV_GROUP_ID 0x0d
|
||||
#define ESP_ZB_ZCL_MV_SET_APP_TYPE_WITH_ID(_type, _id) ((ESP_ZB_ZCL_MV_GROUP_ID << 24) | ((_type & 0xff) << 16) | (_id & 0xffff))
|
||||
|
||||
/** @brief Values for Multistate Value cluster applications type */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC = 0x0000, /*!< Application Domain HVAC */
|
||||
/* All other group values are currently reserved. */
|
||||
} esp_zb_zcl_mv_application_types_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_0 /*!< On, Off, Auto state */
|
||||
= ESP_ZB_ZCL_MV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC, 0x0000),
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_1, /*!< Off, Low, Medium, High state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_2, /*!< Auto, Heat, Cool, Off, Emergency Heat, Fan Only, Max Heat state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_3, /*!< Occupied, Unoccupied, Standby, Bypass state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_4, /*!< Inactive, Active, Hold state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_5, /*!< Auto, Warm-up, Water Flush, Autocalibration, Shutdown Open, Shutdown Closed, Low Limit, Test and Balance state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_6, /*!< Off, Auto, Heat Control, Heat Only, Cool Only, Fan Only state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_7, /*!< High, Normal, Low state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_8, /*!< Occupied, Unoccupied, Startup, Shutdown state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_9, /*!< Night, Day, Hold state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_10, /*!< Off, Cool, Heat, Auto, Emergency Heat state */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_11, /*!< Shutdown Closed, Shutdown Open, Satisfied, Mixing, Cooling, Heating, Supplemental Heat state */
|
||||
/* 0x0200 to 0xfffe are Vendor defined */
|
||||
ESP_ZB_ZCL_MV_APP_DOMAIN_HVAC_OTHER /*!< Other */
|
||||
= ESP_ZB_ZCL_MV_SET_APP_TYPE_WITH_ID(ESP_ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC, 0xffff),
|
||||
} esp_zb_zcl_mv_app_domain_hvac_t;
|
||||
|
||||
/** @brief Default value for Description attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_DESCRIPTION_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for OutOfService attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_OUT_OF_SERVICE_DEFAULT_VALUE false
|
||||
|
||||
/** @brief Default value for Reliability attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_DEFAULT_VALUE ESP_ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_FAULT_DETECTED
|
||||
|
||||
/** @brief Default value for StatusFlags attribute */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_DEFAULT_VALUE ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_NORMAL
|
||||
|
||||
/** @brief StatusFlags attribute minimum value */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_MIN_VALUE 0
|
||||
|
||||
/** @brief StatusFlags attribute maximum value */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_MAX_VALUE 0x0f
|
||||
|
||||
/*! Maximum length of Description string field */
|
||||
#define ESP_ZB_ZCL_MULTI_VALUE_DESCRIPTION_MAX_LEN 16
|
||||
|
||||
void esp_zb_zcl_multi_value_init_server(void);
|
||||
void esp_zb_zcl_multi_value_init_client(void);
|
||||
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_VALUE_SERVER_ROLE_INIT esp_zb_zcl_multi_value_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_MULTI_VALUE_CLIENT_ROLE_INIT esp_zb_zcl_multi_value_init_client
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Occupancy Sensing cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_OCCUPANCY_ID = 0x0000, /*!< Occupancy attribute identifier */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_ID = 0x0001, /*!< Occupancy Sensor Type attribute identifier */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_BITMAP_ID = 0x0002, /*!< The OccupancySensorTypeBitmap attribute specifies the types of the occupancy sensor. */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PIR_OCC_TO_UNOCC_DELAY_ID = 0x0010, /*!< PIROccupiedToUnoccupiedDelay identifier */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_DELAY_ID = 0x0011, /*!< PIRUnoccupiedToOccupiedDelay identifier */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_THRESHOLD_ID = 0x0012, /*!< PIRUnoccupiedToOccupiedThreshold identifier */
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_ID = 0x0020,
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_ID = 0x0021,
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ID = 0x0022,
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY_ID = 0x0030,
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY_ID = 0x0031,
|
||||
ESP_ZB_ZCL_ATTR_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ID = 0x0032,
|
||||
}esp_zb_zcl_occupancy_sensing_attr_t;
|
||||
|
||||
/** @brief Default value for Occupancy Sensing cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0002u)
|
||||
|
||||
/** @brief Minimal value for PIROccToUnoccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_OCC_TO_UNOCC_DELAY_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximal value for PIROccToUnoccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_OCC_TO_UNOCC_DELAY_MAX_VALUE ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Default value for PIROccToUnoccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_OCC_TO_UNOCC_DELAY_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_OCC_TO_UNOCC_DELAY_MIN_VALUE
|
||||
|
||||
/** @brief Minimal value for PIRUnoccToOccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_DELAY_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximal value for PIRUnoccToOccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_DELAY_MAX_VALUE ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Default value for PIRUnoccToOccDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_DELAY_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_DELAY_MIN_VALUE
|
||||
|
||||
/** @brief Minimal value for PIRUnoccToOccThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_THRESHOLD_MIN_VALUE ((uint8_t)0x01)
|
||||
|
||||
/** @brief Maximal value for PIRUnoccToOccThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_THRESHOLD_MAX_VALUE ((uint8_t)0xfe)
|
||||
|
||||
/** @brief Default value for PIRUnoccToOccThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_THRESHOLD_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_PIR_UNOCC_TO_OCC_THRESHOLD_MIN_VALUE
|
||||
|
||||
/** @brief Minimal value for UltrasonicOccupiedToUnoccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximal value for UltrasonicOccupiedToUnoccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_MAX_VALUE ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Default value for UltrasonicOccupiedToUnoccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_MIN_VALUE
|
||||
|
||||
/** @brief Minimal value for UltrasonicUnoccupiedToOccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximal value for UltrasonicUnoccupiedToOccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_MAX_VALUE ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Default value for UltrasonicUnoccupiedToOccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_MIN_VALUE
|
||||
|
||||
/** @brief Minimal value for UltrasonicUnoccupiedToOccupiedThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_MIN_VALUE ((uint8_t)0x01)
|
||||
|
||||
/** @brief Maximal value for UltrasonicUnoccupiedToOccupiedThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_MAX_VALUE ((uint8_t)0xfe)
|
||||
|
||||
/** @brief Default value for UltrasonicUnoccupiedToOccupiedThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_DEFAULT_VALUE ESP_ZB_ZCL_OCCUPANCY_SENSING_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_MIN_VALUE
|
||||
|
||||
/** @brief Default value for PhysicalContactOccupiedToUnoccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief No-reporting value for PhysicalContactOccupiedToUnoccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY_NO_REPORTING_VALUE ((uint16_t)0xffff)
|
||||
|
||||
/** @brief Default value for PhysicalContactUnoccupiedToOccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief No-reporting value for PhysicalContactUnoccupiedToOccupiedDelay attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY_NO_REPORTING_VALUE ((uint16_t)0xffff)
|
||||
|
||||
/** @brief Minimal value for PhysicalContactUnoccupiedToOccupiedThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_MIN_VALUE ((uint8_t)0x01)
|
||||
|
||||
/** @brief Maximal value for PhysicalContactUnoccupiedToOccupiedThreshold attribute */
|
||||
#define ESP_ZB_ZCL_OCCUPANCY_SENSING_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_MAX_VALUE ((uint8_t)0xfe)
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_UNOCCUPIED = 0, /*!< Unoccupied value */
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_OCCUPIED = 1 /*!< Occupied value */
|
||||
}esp_zb_zcl_occupancy_sensing_occupancy_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_PIR = 0, /*!< PIR value */
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_ULTRASONIC = 1, /*!< Ultrasonic value */
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_PIR_AND_ULTRASONIC = 2, /*!< PIR and Ultrasonic value */
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_OCCUPANCY_SENSOR_TYPE_RESERVED = 3 /*!< Reserved value */
|
||||
}esp_zb_zcl_occupancy_sensing_occupancy_sensor_type_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CUSTOM_OCCUPANCY_SENSING_REPORTING_MODE_TYPE_REGULAR_REPORTING = 0,
|
||||
ESP_ZB_ZCL_CUSTOM_OCCUPANCY_SENSING_REPORTING_MODE_TYPE_LOW_POWER_REPORTING = 1
|
||||
}esp_zb_zcl_custom_reporting_mode_type_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_DEBUG_MODE_TYPE_SHORT = 0,
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_DEBUG_MODE_TYPE_ENHANCED = 1,
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_DEBUG_MODE_TYPE_DEBUG = 2
|
||||
}esp_zb_zcl_custom_debug_mode_type_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_LEARN_NOT_YET_PERFORMED = 0,
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_LEARN_IN_PROGRESS = 1,
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_LEARN_FINISHED_WITH_A_FAILURE = 2,
|
||||
ESP_ZB_ZCL_OCCUPANCY_SENSING_CUSTOM_LEARN_FINISHED_SUCCESSFULLY = 3
|
||||
}esp_zb_zcl_custom_learn_type_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief On/Off cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID = 0, /*!< OnOff attribute */
|
||||
ESP_ZB_ZCL_ATTR_ON_OFF_GLOBAL_SCENE_CONTROL = 0x4000, /*!< Global Scene Control attribute identifier. */
|
||||
ESP_ZB_ZCL_ATTR_ON_OFF_ON_TIME = 0x4001, /*!< On Time attribute identifier. */
|
||||
ESP_ZB_ZCL_ATTR_ON_OFF_OFF_WAIT_TIME = 0x4002, /*!< Off Wait Time attribute identifier. */
|
||||
ESP_ZB_ZCL_ATTR_ON_OFF_START_UP_ON_OFF = 0x4003, /*!< Define the desired startup behavior */
|
||||
} esp_zb_zcl_on_off_attr_t;
|
||||
|
||||
/** @brief Default value for OnOff attribute */
|
||||
#define ESP_ZB_ZCL_ON_OFF_ON_OFF_DEFAULT_VALUE ((bool)0x00)
|
||||
|
||||
/** @brief Default value for GlobalSceneControl attribute */
|
||||
#define ESP_ZB_ZCL_ON_OFF_GLOBAL_SCENE_CONTROL_DEFAULT_VALUE ((bool)0x01)
|
||||
|
||||
/** @brief Default value for OnTime attribute */
|
||||
#define ESP_ZB_ZCL_ON_OFF_ON_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for OffWaitTime attribute */
|
||||
#define ESP_ZB_ZCL_ON_OFF_OFF_WAIT_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief On/Off cluster command identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID = 0x00, /*!< "Turn off" command. */
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_ON_ID = 0x01, /*!< "Turn on" command. */
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID = 0x02, /*!< "Toggle state" command. */
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_OFF_WITH_EFFECT_ID = 0x40, /*!< "Off with effect" command. */
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_ON_WITH_RECALL_GLOBAL_SCENE_ID = 0x41, /*!< "On with recall global scene" command. */
|
||||
ESP_ZB_ZCL_CMD_ON_OFF_ON_WITH_TIMED_OFF_ID = 0x42, /*!< "On with timed off" command. */
|
||||
} esp_zb_zcl_on_off_cmd_id_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief on-off switch type attribute
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_TYPE_TOGGLE = 0, /*!< Toggle switch */
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_TYPE_MOMENTARY = 1, /*!< Momentary switch */
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_TYPE_MULTIFUNCTION = 2 /*!< Multifunction switch */
|
||||
} esp_zb_zcl_on_off_switch_configuration_switch_type_t;
|
||||
|
||||
|
||||
/** @brief on-off switch actions attribute
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_ACTIONS_TYPE1 = 0, /*!< First type command pattern */
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_ACTIONS_TYPE2 = 1, /*!< Second type command pattern */
|
||||
ESP_ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_ACTIONS_TOGGLE = 2 /*!< Toggle command pattern */
|
||||
} esp_zb_zcl_on_off_switch_configuration_switch_actions_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief OTA upgrade cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_SERVER_ID = 0x0000, /*!< Indicates the address of the upgrade server */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_FILE_OFFSET_ID = 0x0001, /*!< Indicates the the current location in the OTA upgrade image */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_FILE_VERSION_ID = 0x0002, /*!< Indicates the file version of the running firmware image on the device */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_STACK_VERSION_ID = 0x0003, /*!< Brief CurrentZigbeeStackVersion attribute */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_DOWNLOADED_FILE_VERSION_ID = 0x0004, /*!< Indicates the file version of the downloaded image on the device */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_DOWNLOADED_STACK_VERSION_ID = 0x0005, /*!< Brief DownloadedZigbeeStackVersion attribute */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_IMAGE_STATUS_ID = 0x0006, /*!< Indicates the image upgrade status of the client device */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_MANUFACTURE_ID = 0x0007, /*!< Indicates the value for the manufacturer of the device */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_IMAGE_TYPE_ID = 0x0008, /*!< Indicates the the image type of the file that the client is currently downloading */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_MIN_BLOCK_REQUE_ID = 0x0009, /*!< Indicates the delay between Image Block Request commands in milliseconds */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_IMAGE_STAMP_ID = 0x000a, /*!< Brief Image Stamp attribute */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_UPGRADE_ACTIVATION_POLICY_ID = 0x000b, /*!< Indicates what behavior the client device supports for activating a fully downloaded but not installed upgrade image */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_UPGRADE_TIMEOUT_POLICY_ID = 0x000c, /*!< Indicates what behavior the client device supports for activating a fully downloaded image when the OTA server cannot be reached */
|
||||
/* Server variables and Custom data */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_SERVER_ENDPOINT_ID = 0xfff3, /*!< Brief OTA server endpoint custom attribute */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_SERVER_ADDR_ID = 0xfff2, /*!< Brief OTA server addr custom attribute */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_CLIENT_DATA_ID = 0xfff1, /*!< Brief OTA client data attribute, its type can refer to esp_zb_zcl_ota_upgrade_client_variable_t */
|
||||
ESP_ZB_ZCL_ATTR_OTA_UPGRADE_SERVER_DATA_ID = 0xfff0, /*!< Brief OTA server data attribute, its type can refer to esp_zb_zcl_ota_upgrade_server_variable_t */
|
||||
} esp_zb_zcl_ota_upgrade_attr_t;
|
||||
|
||||
/** @brief Default value for UpgradeServerID attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_SERVER_DEF_VALUE { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }
|
||||
|
||||
/** @brief Default value for FileOffset attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_FILE_OFFSET_DEF_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for CurrentFileVersion attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_FILE_VERSION_DEF_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for CurrentZigbeeStackVersion attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_STACK_VERSION_DEF_VALUE 0xffff
|
||||
|
||||
/** @brief Default value for DownloadedFileVersion attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_DOWNLOADED_FILE_VERSION_DEF_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for DownloadedZigbeeStackVersion attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_DOWNLOADED_STACK_DEF_VALUE 0xffff
|
||||
|
||||
/** @brief Default value for ManufacturerCode attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_MANUFACTURER_CODE_DEF_VALUE 0x131B
|
||||
|
||||
/** @brief Default value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_IMAGE_TYPE_DEF_VALUE 0xffbf
|
||||
|
||||
/** @brief Manufacturer Specific minimum value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_MANUFACTURER_SPECIFIC_IMAGE_TYPE_MIN_VALUE 0x0000
|
||||
|
||||
/** @brief Manufacturer Specific maximum value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_MANUFACTURER_SPECIFIC_IMAGE_TYPE_MAX_VALUE 0xffbf
|
||||
|
||||
/** @brief Client Security credentials value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_CLI_SECURITY_CREDENTIALS_IMAGE_TYPE_VALUE 0xffc0
|
||||
|
||||
/** @brief Client Configuration value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_CLI_CONFIG_IMAGE_TYPE_VALUE 0xffc1
|
||||
|
||||
/** @brief Server Log value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_SERVER_LOG_IMAGE_TYPE_VALUE 0xffc2
|
||||
|
||||
/** @brief Picture value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_PICTURE_IMAGE_TYPE_VALUE 0xffc3
|
||||
|
||||
/** @brief Wild card value for ImageType attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_WILD_CARD_IMAGE_TYPE_VALUE 0xffff
|
||||
|
||||
/** @brief Default value for ImageUpgradeStatus attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_IMAGE_STATUS_DEF_VALUE 0x00
|
||||
|
||||
/** @brief Default value for MinimumBlockPeriod attribute */
|
||||
#define ESP_ZB_OTA_UPGRADE_MIN_BLOCK_PERIOD_DEF_VALUE 0x0000
|
||||
|
||||
/** @brief Maximum value for ImageStamp attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_IMAGE_STAMP_DEF_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for OTA server endpoint custom attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_SERVER_ENDPOINT_DEF_VALUE 0xff
|
||||
|
||||
/** @brief Default value for OTA server addr custom attribute */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_SERVER_ADDR_DEF_VALUE 0xffff
|
||||
|
||||
/** @brief Default Frequency request server about new upgrade file (minutes) */
|
||||
#define ESP_ZB_ZCL_OTA_UPGRADE_QUERY_TIMER_COUNT_DEF (24*60)
|
||||
|
||||
/** @brief Possible statuses of OTA upgrade
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_START = 0x0000, /*!< Starts OTA upgrade */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_APPLY = 0x0001, /*!< Checks for manufacturer, image type etc are ok last step before actual upgrade */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_RECEIVE = 0x0002, /*!< Process image block */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_FINISH = 0x0003, /*!< OTA upgrade completed */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_ABORT = 0x0004, /*!< OTA upgrade aborted */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_CHECK = 0x0005, /*!< Downloading is finished, do additional checks if needed etc before upgrade end request */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_OK = 0x0006, /*!< OTA upgrade end response is ok */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_ERROR = 0x0007, /*!< OTA upgrade return error code */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_IMAGE_STATUS_NORMAL = 0x0008, /*!< Accepted new image */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_BUSY = 0x0009, /*!< Another download is in progress, deny new image */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_STATUS_SERVER_NOT_FOUND = 0x000A /*!< Notify an application that OTA Upgrade server not found */
|
||||
} esp_zb_zcl_ota_upgrade_status_t;
|
||||
|
||||
/** @brief The status of OTA upgrade server */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_SERVER_STARTED = 0x00, /*!< Start OTA */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_SERVER_ABORTED = 0x01, /*!< Abort OTA */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_SERVER_END = 0x02, /*!< End OTA */
|
||||
} esp_zb_ota_upgrade_server_status_t;
|
||||
|
||||
/** @brief OTA File header - fc fields bitmasks */
|
||||
typedef enum esp_zb_zcl_ota_upgrade_file_header_fc_e {
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_FILE_HEADER_FC_CREDENTIAL_VER = 1 << 0, /*!< Indicate that the Security Credential Version field will be included. */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_FILE_HEADER_FC_DEVICE_SPECIFIC = 1 << 1, /*!< Indicate that the Device Specific field will be included. */
|
||||
ESP_ZB_ZCL_OTA_UPGRADE_FILE_HEADER_FC_HW_VER = 1 << 2, /*!< Indicate that the Hardware Versions Present field will be included. */
|
||||
} esp_zb_zcl_ota_upgrade_file_header_fc_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief pH_Measurement cluster server attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_PH_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /**< MeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_PH_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /**< MinMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_PH_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /**< MaxMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_PH_MEASUREMENT_TOLERANCE_ID = 0x0003, /**< Tolerance Attribute */
|
||||
} esp_zb_zcl_ph_measurement_srv_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((uint16_t)0x0577)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((uint16_t)0x0001)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((uint16_t)0x0578)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x00c8)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PH_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
void esp_zb_zcl_ph_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_PH_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_ph_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_PH_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief PM2.5 Measurement cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_PM2_5_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /*!< MeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_PM2_5_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /*!< MinMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_PM2_5_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /*!< MaxMeasuredValue attribute */
|
||||
ESP_ZB_ZCL_ATTR_PM2_5_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< Tolerance attribute */
|
||||
} esp_zb_zcl_pm2_5_measurement_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM (0.0)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM (1.0)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM (0.0)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM (1.0)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_PM2_5_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_NaN
|
||||
|
||||
void esp_zb_zcl_pm2_5_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_PM2_5_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_pm2_5_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_PM2_5_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Poll Control cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_CHECK_IN_INTERVAL_ID = 0x0000U, /*!< Represents the default amount of time between check-ins by the poll control server with the poll control client. */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_LONG_POLL_INTERVAL_ID = 0x0001U, /*!< Defines the frequency of polling that an end device does when it is NOT in fast poll mode. */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_SHORT_POLL_INTERVAL_ID = 0x0002U, /*!< Represents the number of quarter-seconds that an end device waits between MAC Data Requests to its parent when it is expecting data */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_FAST_POLL_TIMEOUT_ID = 0x0003U, /*!< Represents the number of quarter-seconds that an end device will stay in fast poll mode by default. */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_MIN_CHECK_IN_INTERVAL_ID = 0x0004U, /*!< The Poll Control Server MAY optionally provide its own minimum value for the Check-inInterval */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_LONG_POLL_MIN_INTERVAL_ID = 0x0005U, /*!< The Poll Control Server MAY optionally provide its own minimum value for the LongPollInterval */
|
||||
ESP_ZB_ZCL_ATTR_POLL_CONTROL_FAST_POLL_MAX_TIMEOUT_ID = 0x0006U, /*!< The Poll Control Server MAY optionally provide its own maximum value for the FastPollTimeout*/
|
||||
} esp_zb_zcl_poll_control_attr_t;
|
||||
|
||||
/** @brief Default values for Poll Control cluster attributes */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_CHECK_IN_INTERVAL_DEFAULT_VALUE ((uint32_t)0x3840U)
|
||||
/** @brief Default value for Long Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_LONG_POLL_INTERVAL_DEFAULT_VALUE ((uint32_t)0x0014U)
|
||||
/** @brief Default value for Short Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_SHORT_POLL_INTERVAL_DEFAULT_VALUE ((uint16_t)0x0002U)
|
||||
/** @brief Default value for Fast Poll Timeout attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_TIMEOUT_DEFAULT_VALUE ((uint16_t)0x0028U)
|
||||
/** @brief Default value for Check-in Interval Min attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_MIN_CHECK_IN_INTERVAL_DEFAULT_VALUE ((uint32_t)0x0000U)
|
||||
/** @brief Default value for Long Poll Interval Min attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_LONG_POLL_MIN_INTERVAL_DEFAULT_VALUE ((uint32_t)0x0000U)
|
||||
/** @brief Default value for Fast Poll Timeout Max attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_MAX_TIMEOUT_DEFAULT_VALUE ((uint16_t)0x0000U)
|
||||
|
||||
/** @brief Minimum and maximum values for Poll Control cluster attributes */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_CHECK_IN_INTERVAL_MIN_VALUE ((uint32_t)0x0000U)
|
||||
/** @brief Maximum value for Check-in Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_CHECK_IN_INTERVAL_MAX_VALUE ((uint32_t)0x6e0000U)
|
||||
/** @brief Minimum value for Long Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_LONG_POLL_INTERVAL_MIN_VALUE ((uint32_t)0x0004U) /* 4 quarter seconds = 1 second */
|
||||
/** @brief Maximum value for Long Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_LONG_POLL_INTERVAL_MAX_VALUE ((uint32_t)0x6e0000U)
|
||||
/** @brief Minimum value for Short Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_SHORT_POLL_INTERVAL_MIN_VALUE ((uint16_t)0x0001U) /* 1 quarter second */
|
||||
/** @brief Maximum value for Short Poll Interval attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_SHORT_POLL_INTERVAL_MAX_VALUE ((uint16_t)0xffffU)
|
||||
/** @brief Minimum value for Fast Poll Timeout attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_TIMEOUT_MIN_VALUE ((uint16_t)0x0001U)
|
||||
/** @brief Maximum value for Fast Poll Timeout attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_TIMEOUT_MAX_VALUE ((uint16_t)0xffffU)
|
||||
/** @brief Minimum value for Fast Poll Timeout Max attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_MAX_TIMEOUT_MIN_VALUE ((uint16_t)0x0001U)
|
||||
/** @brief Maximum value for Fast Poll Timeout Max attribute */
|
||||
#define ESP_ZB_ZCL_POLL_CONTROL_FAST_POLL_MAX_TIMEOUT_MAX_VALUE ((uint16_t)0xffffU)
|
||||
|
||||
/** @brief Poll Control cluster client generated command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_POLL_CONTROL_CHECK_IN_RESPONSE_ID = 0x00, /*!< Check-in Response command */
|
||||
ESP_ZB_ZCL_CMD_POLL_CONTROL_FAST_POLL_STOP_ID = 0x01, /*!< Fast Poll Stop command */
|
||||
ESP_ZB_ZCL_CMD_POLL_CONTROL_SET_LONG_POLL_INTERVAL_ID = 0x02, /*!< Set Long Poll Interval command */
|
||||
ESP_ZB_ZCL_CMD_POLL_CONTROL_SET_SHORT_POLL_INTERVAL_ID = 0x03, /*!< Set Short Poll Interval command */
|
||||
} esp_zb_zcl_poll_control_cli_cmd_id_t;
|
||||
|
||||
/** @brief Poll Control cluster server generated command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_POLL_CONTROL_CHECK_IN_ID = 0x00, /*!< Check-in command */
|
||||
} esp_zb_zcl_poll_control_srv_cmd_id_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Power configuration cluster information attribute set identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_VOLTAGE_ID = 0x0000, /*!< MainsVoltage attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_FREQUENCY_ID = 0x0001, /*!< MainsFrequency attribute */
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_ALARM_MASK_ID = 0x0010, /*!< MainsAlarmMask attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_VOLTAGE_MIN_THRESHOLD = 0x0011, /*!< MainsVoltageMinThreshold attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_VOLTAGE_MAX_THRESHOLD = 0x0012, /*!< MainsVoltageMaxThreshold attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_MAINS_DWELL_TRIP_POINT = 0x0013, /*!< MainsVoltageDwellTripPoint attribute */
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_VOLTAGE_ID = 0x0020, /*!< BatteryVoltage attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_REMAINING_ID = 0x0021, /*!< BatteryPercentageRemaining attribute */
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_MANUFACTURER_ID = 0x0030, /*!< Name of the battery manufacturer as a character string. */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_SIZE_ID = 0x0031, /*!< BatterySize attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_A_HR_RATING_ID = 0x0032, /*!< The Ampere-hour rating of the battery, measured in units of 10mAHr. */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_QUANTITY_ID = 0x0033, /*!< BatteryQuantity attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_RATED_VOLTAGE_ID = 0x0034, /*!< BatteryRatedVoltage attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_ALARM_MASK_ID = 0x0035, /*!< BatteryAlarmMask attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_VOLTAGE_MIN_THRESHOLD_ID = 0x0036, /*!< BatteryVoltageMinThreshold attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_VOLTAGE_THRESHOLD1_ID = 0x0037, /*!< BatteryVoltageThreshold1 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_VOLTAGE_THRESHOLD2_ID = 0x0038, /*!< BatteryVoltageThreshold2 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_VOLTAGE_THRESHOLD3_ID = 0x0039, /*!< BatteryVoltageThreshold3 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_MIN_THRESHOLD_ID = 0x003a, /*!< BatteryPercentageMinThreshold attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_THRESHOLD1_ID = 0x003b, /*!< BatteryPercentageThreshold1 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_THRESHOLD2_ID = 0x003c, /*!< BatteryPercentageThreshold2 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_THRESHOLD3_ID = 0x003d, /*!< BatteryPercentageThreshold3 attribute */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_ALARM_STATE_ID = 0x003e, /*!< BatteryAlarmState attribute */
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_VOLTAGE_ID = 0x0040, /*!< Battery Information 2 attribute set */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_PERCENTAGE_REMAINING_ID = 0x0041,
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_MANUFACTURER_ID = 0x0050, /*!< Battery Settings 2 attribute set */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_SIZE_ID = 0x0051,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_A_HR_RATING_ID = 0x0052,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_QUANTITY_ID = 0x0053,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_RATED_VOLTAGE_ID = 0x0054,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_ALARM_MASK_ID = 0x0055,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_VOLTAGE_MIN_THRESHOLD_ID = 0x0056,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_VOLTAGE_THRESHOLD1_ID = 0x0057,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_VOLTAGE_THRESHOLD2_ID = 0x0058,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_VOLTAGE_THRESHOLD3_ID = 0x0059,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_PERCENTAGE_MIN_THRESHOLD_ID = 0x005a,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_PERCENTAGE_THRESHOLD1_ID = 0x005b,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_PERCENTAGE_THRESHOLD2_ID = 0x005c,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_PERCENTAGE_THRESHOLD3_ID = 0x005d,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY2_ALARM_STATE_ID = 0x005e,
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_VOLTAGE_ID = 0x0060, /*!< Battery Information 3 attribute set */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_PERCENTAGE_REMAINING_ID = 0x0061,
|
||||
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_MANUFACTURER_ID = 0x0070, /*!< Battery Settings 3 attribute set */
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_SIZE_ID = 0x0071,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_A_HR_RATING_ID = 0x0072,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_QUANTITY_ID = 0x0073,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_RATED_VOLTAGE_ID = 0x0074,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_ALARM_MASK_ID = 0x0075,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_VOLTAGE_MIN_THRESHOLD_ID = 0x0076,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_VOLTAGE_THRESHOLD1_ID = 0x0077,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_VOLTAGE_THRESHOLD2_ID = 0x0078,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_VOLTAGE_THRESHOLD3_ID = 0x0079,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_PERCENTAGE_MIN_THRESHOLD_ID = 0x007a,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_PERCENTAGE_THRESHOLD1_ID = 0x007b,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_PERCENTAGE_THRESHOLD2_ID = 0x007c,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_PERCENTAGE_THRESHOLD3_ID = 0x007d,
|
||||
ESP_ZB_ZCL_ATTR_POWER_CONFIG_BATTERY3_ALARM_STATE_ID = 0x007e,
|
||||
} esp_zb_zcl_power_config_attr_t;
|
||||
|
||||
/**
|
||||
* @brief Power Configuration MainsAlarmMask value
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_POWER_CONFIG_MAINS_ALARM_MASK_VOLTAGE_LOW = 0x01, /*!< MainsAlarmMask - Mains Voltage too low */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_MAINS_ALARM_MASK_VOLTAGE_HIGH = 0x02, /*!< MainsAlarmMask - Mains Voltage too high */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_MAINS_ALARM_MASK_VOLTAGE_UNAVAIL = 0x04, /*!< MainsAlarmMask - Mains power supply lost/unavailable */
|
||||
} esp_zb_zcl_power_config_mains_alarm_mask_t;
|
||||
|
||||
/**
|
||||
* @brief Power Configuration BatterySize value
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_NO_BATTERY = 0, /*!< BatterySize - no battery*/
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_BUILT_IN = 1, /*!< BatterySize - built in */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_OTHER = 2, /*!< BatterySize - other */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_AA = 3, /*!< BatterySize - AA */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_AAA = 4, /*!< BatterySize - AAA */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_C = 5, /*!< BatterySize - C */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_D = 6, /*!< BatterySize - D */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_CR2 = 7, /*!< BatterySize - CR2 */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_CR123A = 8, /*!< BatterySize - CR123A */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_SIZE_UNKNOWN = 0xff, /*!< BatterySize - unknown */
|
||||
} esp_zb_zcl_power_config_battery_size_t;
|
||||
|
||||
/**
|
||||
* @brief Power Configuration BatteryAlarmMask value
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_ALARM_MASK_VOLTAGE_LOW = 0, /*!< BatteryAlarmMask - Battery voltage too low */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_ALARM_MASK_ALARM1 = 1, /*!< BatteryAlarmMask - Alarm1 */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_ALARM_MASK_ALARM2 = 2, /*!< BatteryAlarmMask - Alarm2 */
|
||||
ESP_ZB_ZCL_POWER_CONFIG_BATTERY_ALARM_MASK_ALARM3 = 3, /*!< BatteryAlarmMask - Alarm3 */
|
||||
} esp_zb_zcl_power_config_battery_alarm_mask_t;
|
||||
|
||||
/** @brief Default value for MainsAlarmMask attribute */
|
||||
#define ESP_ZB_ZCL_POWER_CONFIG_MAINS_ALARM_MASK_DEFAULT_VALUE ((uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for MainsVoltageMinThreshold attribute */
|
||||
#define ESP_ZB_ZCL_POWER_CONFIG_MAINS_VOLTAGE_MIN_THRESHOLD_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for MainsVoltageMaxThreshold attribute */
|
||||
#define ESP_ZB_ZCL_POWER_CONFIG_MAINS_VOLTAGE_MAX_THRESHOLD_DEFAULT_VALUE ((uint16_t)0xFFFF)
|
||||
|
||||
/** @brief Default value for MainsDwellTripPoint attribute */
|
||||
#define ESP_ZB_ZCL_POWER_CONFIG_MAINS_DWELL_TRIP_POINT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Pressure Measurement cluster attribute identifiers
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_VALUE_ID = 0x0000, /*!< MeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_VALUE_ID = 0x0001, /*!< MinMeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_VALUE_ID = 0x0002, /*!< MaxMeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< MeasuredTolerance */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALED_VALUE_ID = 0x0010, /*!< ScaledValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_SCALED_VALUE_ID = 0x0011, /*!< MinScaledValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_SCALED_VALUE_ID = 0x0012, /*!< MaxScaledValue */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALED_TOLERANCE_ID = 0x0013, /*!< ScaledTolerance */
|
||||
ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALE_ID = 0x0014, /*!< Scale */
|
||||
}esp_zb_zcl_pressure_measurement_attr_t;
|
||||
|
||||
/** @brief Default value for Pressure Measurement cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_PRESSURE_MEASUREMENT_CLUSTER_REVISION_DEFAULT ((zb_uint16_t)0x0002u)
|
||||
|
||||
/** @brief MeasuredValue attribute unknown value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_VALUE_UNKNOWN ((int16_t)0x8000)
|
||||
|
||||
/** @brief MinMeasuredValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_VALUE_MIN_VALUE ((int16_t)0x8001)
|
||||
|
||||
/** @brief MinMeasuredValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_VALUE_MAX_VALUE ((int16_t)0x7ffe)
|
||||
|
||||
/** @brief MinMeasuredValue attribute invalid value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_VALUE_INVALID ((int16_t)0x8000)
|
||||
|
||||
/** @brief MaxMeasuredValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_VALUE_MIN_VALUE ((int16_t)0x8002)
|
||||
|
||||
/** @brief MaxMeasuredValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_VALUE_MAX_VALUE ((int16_t)0x7fff)
|
||||
|
||||
/** @brief MaxMeasuredValue attribute invalid value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_VALUE_INVALID ((int16_t)0x8000)
|
||||
|
||||
/** @brief Tolerance attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_TOLERANCE_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Tolerance attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_TOLERANCE_MAX_VALUE ((uint16_t)0x0800)
|
||||
|
||||
/** @brief Default value for Value attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_VALUE_DEFAULT_VALUE ((int16_t)0xFFFF)
|
||||
|
||||
/** @brief Default value for MinValue attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_VALUE_DEFAULT_VALUE ((int16_t)0x8000)
|
||||
|
||||
/** @brief Default value for MaxValue attribute */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_VALUE_DEFAULT_VALUE ((int16_t)0x8000)
|
||||
|
||||
/** @brief MinScaledValue attribute unknown value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_SCALED_VALUE_UNKNOWN ((int16_t)0x8000)
|
||||
|
||||
/** @brief MinScaledValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_SCALED_VALUE_MIN_VALUE ((int16_t)0x8001)
|
||||
|
||||
/** @brief MinScaledValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MIN_SCALED_VALUE_MAX_VALUE ((int16_t)0x7ffe)
|
||||
|
||||
/** @brief MaxScaledValue attribute unknown value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_SCALED_VALUE_UNKNOWN ((int16_t)0x8000)
|
||||
|
||||
/** @brief MaxScaledValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_SCALED_VALUE_MIN_VALUE ((int16_t)0x8002)
|
||||
|
||||
/** @brief MaxScaledValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_MAX_SCALED_VALUE_MAX_VALUE ((int16_t)0x7fff)
|
||||
|
||||
/** @brief MaxScaledValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALED_TOLERANCE_MIN_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief MaxScaledValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALED_TOLERANCE_MAX_VALUE ((uint16_t)0x0800)
|
||||
|
||||
/** @brief MaxScaledValue attribute minimum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALE_MIN_VALUE ((int8_t)0x81)
|
||||
|
||||
/** @brief MaxScaledValue attribute maximum value */
|
||||
#define ESP_ZB_ZCL_ATTR_PRESSURE_MEASUREMENT_SCALE_MAX_VALUE ((int8_t)0x7f)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Scene cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_SCENES_SCENE_COUNT_ID = 0x0000, /*!< Number of scenes currently in the device's scene table */
|
||||
ESP_ZB_ZCL_ATTR_SCENES_CURRENT_SCENE_ID = 0x0001, /*!< Scene ID of the scene last invoked */
|
||||
ESP_ZB_ZCL_ATTR_SCENES_CURRENT_GROUP_ID = 0x0002, /*!< Group ID of the scene last invoked */
|
||||
ESP_ZB_ZCL_ATTR_SCENES_SCENE_VALID_ID = 0x0003, /*!< Indicates whether the state of the device corresponds to CurrentScene and CurrentGroup attributes */
|
||||
ESP_ZB_ZCL_ATTR_SCENES_NAME_SUPPORT_ID = 0x0004, /*!< The most significant bit of the NameSupport attribute indicates whether or not scene names are supported */
|
||||
ESP_ZB_ZCL_ATTR_SCENES_LAST_CONFIGURED_BY_ID = 0x0005 /*!< specifies the IEEE address of the device that last configured the scene table */
|
||||
} esp_zb_zcl_scene_attr_t;
|
||||
|
||||
/** @brief Default value for Scene count attribute */
|
||||
#define ESP_ZB_ZCL_SCENES_SCENE_COUNT_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Current scene attribute */
|
||||
#define ESP_ZB_ZCL_SCENES_CURRENT_SCENE_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Current group attribute */
|
||||
#define ESP_ZB_ZCL_SCENES_CURRENT_GROUP_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Scene valid attribute */
|
||||
#define ESP_ZB_ZCL_SCENES_SCENE_VALID_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Default value for Name support attribute */
|
||||
#define ESP_ZB_ZCL_SCENES_NAME_SUPPORT_DEFAULT_VALUE 0
|
||||
|
||||
/** @brief Command identifiers for Scenes Cluster
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_SCENES_ADD_SCENE = 0x00, /*!< Add scene command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_VIEW_SCENE = 0x01, /*!< View scene command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_REMOVE_SCENE = 0x02, /*!< Remove scene command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_REMOVE_ALL_SCENES = 0x03, /*!< Remove all scenes command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_STORE_SCENE = 0x04, /*!< Store scene command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_RECALL_SCENE = 0x05, /*!< Recall scene command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_GET_SCENE_MEMBERSHIP = 0x06, /*!< Get scene membership command */
|
||||
ESP_ZB_ZCL_CMD_SCENES_ENHANCED_ADD_SCENE = 0x40, /*!< The Enhanced Add Scene command allows a scene to be added using a finer scene transition time than the Add Scene command. */
|
||||
ESP_ZB_ZCL_CMD_SCENES_ENHANCED_VIEW_SCENE = 0x41, /*!< The Enhanced View Scene command allows a scene to be retrieved using a finer scene transition time than the View Scene command. */
|
||||
ESP_ZB_ZCL_CMD_SCENES_COPY_SCENE = 0x42, /*!< The Copy Scene command allows a device to efficiently copy scenes from one group/scene identifier pair to another group/scene identifier pair. */
|
||||
} esp_zb_zcl_scenes_cmd_id_t;
|
||||
|
||||
/** @brief Response command identifiers for Scenes Cluster
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_SCENES_ADD_SCENE_RESPONSE = 0x00, /*!< Add scene response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_VIEW_SCENE_RESPONSE = 0x01, /*!< View scene response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_REMOVE_SCENE_RESPONSE = 0x02, /*!< Remove scene response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_REMOVE_ALL_SCENES_RESPONSE = 0x03, /*!< Remove all scenes response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_STORE_SCENE_RESPONSE = 0x04, /*!< Store scene response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_GET_SCENE_MEMBERSHIP_RESPONSE = 0x06, /*!< Get scene membership response */
|
||||
ESP_ZB_ZCL_CMD_SCENES_ENHANCED_ADD_SCENE_RESPONSE = 0x40, /*!< The Enhanced Add Scene Response command allows a device to respond to an Enhanced Add Scene command.*/
|
||||
ESP_ZB_ZCL_CMD_SCENES_ENHANCED_VIEW_SCENE_RESPONSE = 0x41, /*!< The Enhanced View Scene Response command allows a device to respond to an Enhanced View Scene command
|
||||
using a finer scene transition time that was available in the ZCL. */
|
||||
ESP_ZB_ZCL_CMD_SCENES_COPY_SCENE_RESPONSE = 0x42, /*!< The Copy Scene Response command allows a device to respond to a Copy Scene command.*/
|
||||
} esp_zb_zcl_scenes_cmd_resp_id_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Shade Configuration cluster information attribute set identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_SHADE_CONFIG_PHYSICAL_CLOSED_LIMIT_ID = 0x0000, /*!< It indicates the most closed (numerically lowest) position that the shade can physically move to. */
|
||||
ESP_ZB_ZCL_ATTR_SHADE_CONFIG_MOTOR_STEP_SIZE_ID = 0x0001, /*!< It indicates the angle the shade motor moves for one step, measured in 1/10ths of a degree. */
|
||||
ESP_ZB_ZCL_ATTR_SHADE_CONFIG_STATUS_ID = 0x0002 /*!< Status attribute */
|
||||
} esp_zb_zcl_shade_config_info_attr_t;
|
||||
|
||||
/** @brief Shade Configuration Status attribute default value */
|
||||
#define ESP_ZB_ZCL_SHADE_CONFIG_STATUS_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief ClosedLimit attribute default value */
|
||||
#define ESP_ZB_ZCL_SHADE_CONFIG_CLOSED_LIMIT_DEFAULT_VALUE 0x0001
|
||||
|
||||
/** @brief Mode attribute default value */
|
||||
#define ESP_ZB_ZCL_SHADE_CONFIG_MODE_DEFAULT_VALUE 0x00
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Temperature Measurement cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID = 0x0000, /*!< MeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID = 0x0001, /*!< MinMeasuredValue*/
|
||||
ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID = 0x0002, /*!< MaxMeasuredValue */
|
||||
ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID = 0x0003, /*!< Tolerance */
|
||||
} esp_zb_zcl_temp_measurement_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((int16_t)0x954d)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((int16_t)0x7ffe)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((int16_t)0x954e)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((int16_t)0x7fff)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x0800)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_TEMP_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_S16_NONE
|
||||
|
||||
void esp_zb_zcl_temp_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_temp_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,556 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Thermostat cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_LOCAL_TEMPERATURE_ID = 0x0000, /*!< Local Temperature attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OUTDOOR_TEMPERATURE_ID = 0x0001, /*!< Outdoor Temperature attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPANCY_ID = 0x0002, /*!< Occupancy attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_ABS_MIN_HEAT_SETPOINT_LIMIT_ID = 0x0003, /*!< The AbsMinHeatSetpointLimit attribute specifies the absolute minimum level that the heating setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_ABS_MAX_HEAT_SETPOINT_LIMIT_ID = 0x0004, /*!< The AbsMaxHeatSetpointLimit attribute specifies the absolute maximum level that the heating setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_ABS_MIN_COOL_SETPOINT_LIMIT_ID = 0x0005, /*!< The AbsMinCoolSetpointLimit attribute specifies the absolute minimum level that the cooling setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_ABS_MAX_COOL_SETPOINT_LIMIT_ID = 0x0006, /*!< The AbsMaxCoolSetpointLimit attribute specifies the absolute maximum level that the cooling setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_PI_COOLING_DEMAND_ID = 0x0007, /*!< The PICoolingDemand attribute is 8 bits in length and specifies the level of cooling demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_PI_HEATING_DEMAND_ID = 0x0008, /*!< The PIHeatingDemand attribute is 8 bits in length and specifies the level of heating demanded by the PI loop in percent */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_HVAC_SYSTEM_TYPE_CONFIGURATION_ID = 0x0009, /*!< The HVACSystemTypeConfiguration attribute specifies the HVAC system type controlled by the thermostat */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_LOCAL_TEMPERATURE_CALIBRATION_ID = 0x0010, /*!< Local Temperature Calibration */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_COOLING_SETPOINT_ID = 0x0011, /*!< Occupied Cooling Setpoint attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_ID = 0x0012, /*!< Occupied Heating Setpoint attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_COOLING_SETPOINT_ID = 0x0013, /*!< Unoccupied Cooling Setpoint attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_HEATING_SETPOINT_ID = 0x0014, /*!< Unoccupied Heating Setpoint attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_MIN_HEAT_SETPOINT_LIMIT_ID = 0x0015, /*!< The MinHeatSetpointLimit attribute specifies the minimum level that the heating setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_MAX_HEAT_SETPOINT_LIMIT_ID = 0x0016, /*!< The MaxHeatSetpointLimit attribute specifies the maximum level that the heating setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_MIN_COOL_SETPOINT_LIMIT_ID = 0x0017, /*!< The MinCoolSetpointLimit attribute specifies the minimum level that the cooling setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_MAX_COOL_SETPOINT_LIMIT_ID = 0x0018, /*!< The MaxCoolSetpointLimit attribute specifies the maximum level that the cooling setpoint MAY be set to */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_MIN_SETPOINT_DEAD_BAND_ID = 0x0019, /*!< The MinSetpointDeadBand attribute specifies the minimum difference between the Heat Setpoint and the Cool SetPoint, in steps of 0.1C */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_REMOTE_SENSING_ID = 0x001a, /*!< The RemoteSensing attribute is an 8-bit bitmap that specifies whether the local temperature, outdoor temperature and occupancy are being sensed by internal sensors or remote networked sensors */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_CONTROL_SEQUENCE_OF_OPERATION_ID = 0x001b, /*!< Control Sequence Of Operation attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_SYSTEM_MODE_ID = 0x001c, /*!< System Mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_ALARM_MASK_ID = 0x001d, /*!< The AlarmMask attribute specifies whether each of the alarms is enabled */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_RUNNING_MODE_ID = 0x001e, /*!< Thermostat Running Mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_START_OF_WEEK_ID = 0x0020, /*!< Start of Week attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_NUMBER_OF_WEEKLY_TRANSITIONS_ID = 0x0021, /*!< NumberOfWeeklyTransitions attribute determines how many weekly schedule transitions the thermostat is capable of handling */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_NUMBER_OF_DAILY_TRANSITIONS_ID = 0x0022, /*!< NumberOfDailyTransitions attribute determines how many daily schedule transitions the thermostat is capable of handling */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_ID = 0x0023, /*!< TemperatureSetpointHold specifies the temperature hold status on the thermostat */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_DURATION_ID = 0x0024, /*!< TemperatureSetpointHoldDuration sets the period in minutes for which a setpoint hold is active */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_THERMOSTAT_PROGRAMMING_OPERATION_MODE_ID = 0x0025, /*!< The ThermostatProgrammingOperationMode attribute determines the operational state of the thermostats programming */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_THERMOSTAT_RUNNING_STATE_ID = 0x0029, /*!< ThermostatRunningState represents the current relay state of the heat, cool, and fan relays */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_SETPOINT_CHANGE_SOURCE_ID = 0x0030, /*!< The SetpointChangeSource attribute specifies the source of the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint (i.e., who or what determined the current setpoint) */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_SETPOINT_CHANGE_AMOUNT_ID = 0x0031, /*!< The SetpointChangeAmount attribute specifies the delta between the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint and the previous active setpoint */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_SETPOINT_CHANGE_SOURCE_TIMESTAMP_ID = 0x0032, /*!< The SetpointChangeSourceTimestamp attribute specifies the time in UTC at which the SetpointChangeSourceAmount attribute change was recorded */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_SETBACK_ID = 0x0034, /*!< Specifies the degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the LocalTemperature attribute to float above the OccupiedCooling setpoint or below the OccupiedHeating setpoint before initiating a state change to bring the temperature back to the users desired setpoint */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_SETBACK_MIN_ID = 0x0035, /*!< Specifies the minimum degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the OccupiedSetback attribute to be configured by a user */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_SETBACK_MAX_ID = 0x0036, /*!< Specifies the maximum degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the OccupiedSetback attribute to be configured by a user */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_SETBACK_ID = 0x0037, /*!< Specifies the degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the LocalTemperature attribute to float above the UnoccupiedCooling setpoint or below the UnoccupiedHeating setpoint before initiating a state change to bring the temperature back to the users desired setpoint */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_SETBACK_MIN_ID = 0x0038, /*!< Specifies the minimum degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the UnoccupiedSetback attribute to be configured by a user */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_SETBACK_MAX_ID = 0x0039, /*!< Specifies the maximum degrees Celsius, in 0.1 degree increments, the Thermostat server will allow the UnoccupiedSetback attribute to be configured by a user. */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_EMERGENCY_HEAT_DELTA_ID = 0x003a, /*!< Specifies the delta, in 0.1 degrees Celsius, between LocalTemperature and the OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint attributes at which the Thermostat server will operate in emergency heat mode */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_TYPE_ID = 0x0040, /*!< Indicates the type of Mini Split ACType of Mini Split AC is defined depending on how Cooling and Heating condition is achieved by Mini Split AC */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_CAPACITY_ID = 0x0041, /*!< Indicates capacity of Mini Split AC in terms of the format defined by the ACCapacityFormat attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_REFRIGERANT_TYPE_ID = 0x0042, /*!< Indicates type of refrigerant used within the Mini Split AC */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_COMPRESSOR_TYPE_ID = 0x0043, /*!< This indicates type of Compressor used within the Mini Split AC */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_ERROR_CODE_ID = 0x0044, /*!< This indicates the type of errors encountered within the Mini Split AC */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_LOUVER_POSITION_ID = 0x0045, /*!< AC Louver position attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_COIL_TEMPERATURE_ID = 0x0046, /*!< ACCoilTemperature represents the temperature in degrees Celsius, as measured locally or remotely (over the network) */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_AC_CAPACITY_FORMAT_ID = 0x0047, /*!< This is the format for the ACCapacity attribute */
|
||||
} esp_zb_zcl_thermostat_attr_t;
|
||||
|
||||
/** @brief Thermostat cluster command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_SETPOINT_RAISE_LOWER = 0x00, /*!< Setpoint Raise/Lower command */
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_SET_WEEKLY_SCHEDULE = 0x01, /*!< Set Weekly Schedule command */
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_GET_WEEKLY_SCHEDULE = 0x02, /*!< Get Weekly Schedule command */
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_CLEAR_WEEKLY_SCHEDULE = 0x03, /*!< Clear Weekly Schedule command */
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_GET_RELAY_STATUS_LOG = 0x04 /*!< Get Relay Status Log command */
|
||||
} esp_zb_zcl_thermostat_cmd_id_t;
|
||||
|
||||
/** @brief Thermostat cluster command identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_GET_WEEKLY_SCHEDULE_RESP = 0x00, /*!< Get Weekly Schedule response command */
|
||||
ESP_ZB_ZCL_CMD_THERMOSTAT_GET_RELAY_STATUS_LOG_RESP = 0x01 /*!< Get Relay Status Log response command */
|
||||
} esp_zb_zcl_thermostat_cmd_resp_id_t;
|
||||
|
||||
/** @brief Values for Control Sequence Of Operation attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_COOLING_ONLY = 0x00, /*!< Cooling Only value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_COOLING_WITH_REHEAT = 0x01, /*!< Cooling With Reheat value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_HEATING_ONLY = 0x02, /*!< Heating Only value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_HEATING_WITH_REHEAT = 0x03, /*!< Heating With Reheat value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_COOLING_AND_HEATING_4_PIPES = 0x04, /*!< Cooling and Heating 4-pipes value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_COOLING_AND_HEATING_4_PIPES_WITH_REHEAT = 0x05, /*!< Cooling and Heating 4-pipes with Reheat value */
|
||||
} esp_zb_zcl_thermostat_control_sequence_of_operation_t;
|
||||
|
||||
/** @brief Values for System Mode attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_OFF = 0x00, /*!< Off value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_AUTO = 0x01, /*!< Auto value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_COOL = 0x03, /*!< Cool value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_HEAT = 0x04, /*!< Heat value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_EMERGENCY_HEATING = 0x05, /*!< Emergency Heating value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_PRECOOLING = 0x06, /*!< Precooling value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_FAN_ONLY = 0x07, /*!< Fan Only value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_DRY = 0x08, /*!< Dry value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_SLEEP = 0x09, /*!< Sleep value */
|
||||
} esp_zb_zcl_thermostat_system_mode_t;
|
||||
|
||||
|
||||
/** @brief Values for AC Louver position attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_LOUVER_FULLY_CLOSED = 0x01, /*!< Fully close */
|
||||
ESP_ZB_ZCL_THERMOSTAT_LOUVER_FULLY_OPEN = 0x02, /*!< Fully open */
|
||||
ESP_ZB_ZCL_THERMOSTAT_LOUVER_QUARTER_OPEN = 0x03, /*!< Qyarter open */
|
||||
ESP_ZB_ZCL_THERMOSTAT_LOUVER_HALF_OPEN = 0x04, /*!< Half open */
|
||||
ESP_ZB_ZCL_THERMOSTAT_LOUVER_THREE_QUARTERS_OPEN = 0x05, /*!< Three quaters open */
|
||||
} esp_zb_zcl_thermostat_ac_louver_position_t;
|
||||
|
||||
/** @brief Values for Start of Week attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_SUNDAY = 0x00, /*!< Sunday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_MONDAY = 0x01, /*!< Monday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_TUESDAY = 0x02, /*!< Tuesday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_WEDNESDAY = 0x03, /*!< Wednesday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_THURSDAY = 0x04, /*!< Thursday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_FRIDAY = 0x05, /*!< Friday value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_SATURDAY = 0x06, /*!< Saturday value */
|
||||
} esp_zb_zcl_thermostat_start_of_week_t;
|
||||
|
||||
/** @brief Values for Temperature Setpoint Hold attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_OFF = 0x00, /*!< Off value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_ON = 0x01, /*!< On value */
|
||||
} esp_zb_zcl_thermostat_temperature_setpoint_hold_t;
|
||||
|
||||
/** @brief Values for AlarmMask attribute */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_ALARM_CODE_INITIALIZATION_FAILURE = 0x00, /*!< MainsVoltageAlarmCode - MainsVoltageMinThreshold reached for Mains Voltage**/
|
||||
ESP_ZB_ZCL_THERMOSTAT_ALARM_CODE_HARDWARE_FAILURE = 0x01, /*!< MainsVoltageAlarmCode - MainsVoltageMaxThreshold reached for Mains Voltage**/
|
||||
ESP_ZB_ZCL_THERMOSTAT_ALARM_CODE_SELFCALIBRATION_FAILURE = 0x02, /*!< BatteryAlarmCode - BatteryVoltageMinThreshold or BatteryPercentageMinThreshold reached for Battery Source 1 */
|
||||
} esp_zb_zcl_thermostat_alarm_code_t;
|
||||
|
||||
/** @brief Bits of ThermostatProgrammingOperationMode */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_SCHEDULE_PROGRAMMING_MODE_BIT = 0x01, /*!< Schedule programming bit */
|
||||
ESP_ZB_ZCL_THERMOSTAT_AUTO_RECOVERY_PROGRAMMING_MODE_BIT = 0x02, /*!< Auto/recovery bit */
|
||||
ESP_ZB_ZCL_THERMOSTAT_ECONOMY_ENERGY_START_PROGRAMMING_MODE_BIT = 0x04, /*!< Economy/energy star bit */
|
||||
} esp_zb_zcl_thermostat_programming_operation_mode_bit_t;
|
||||
|
||||
/** @brief Values for Mode field for SetpointRaiseLower*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_SETPOINT_RAISE_LOWER_MODE_HEAT = 0x00, /*!< Heat value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SETPOINT_RAISE_LOWER_MODE_COOL = 0x01, /*!< Cool value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_SETPOINT_RAISE_LOWER_MODE_BOTH = 0x02, /*!< Both (Heat and Cool) value */
|
||||
} esp_zb_zcl_thermostat_setpoint_raise_lower_mode_t;
|
||||
|
||||
/** @brief Values for Mode for Sequence field */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_WEEKLY_SCHEDULE_MODE_FOR_SEQ_HEAT = 0x01, /*!< Heat value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_WEEKLY_SCHEDULE_MODE_FOR_SEQ_COOL = 0x02, /*!< Cool value */
|
||||
ESP_ZB_ZCL_THERMOSTAT_WEEKLY_SCHEDULE_MODE_FOR_SEQ_BOTH = 0x03, /*!< Both (Heat and Cool) value */
|
||||
} esp_zb_zcl_thermostat_weekly_schedule_mode_for_seq_t;
|
||||
|
||||
/** @brief Value for Day of Week */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_SUNDAY = (1 << 0), /*!< SUNDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_MONDAY = (1 << 1), /*!< MONDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_TUESDAY = (1 << 2), /*!< TUESDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_WEDNESDAY = (1 << 3), /*!< WEDNESDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_THURSDAY = (1 << 4), /*!< THURSDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_FRIDAY = (1 << 5), /*!< FRIDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_SATURDAY = (1 << 6), /*!< SATURDAY */
|
||||
ESP_ZB_ZCL_THERMOSTAT_DAY_OF_WEEK_VACATION = (1 << 7), /*!< VACATION */
|
||||
} esp_zb_zcl_thermostat_day_of_week_t;
|
||||
|
||||
/* Default value for Start Of Week attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_START_OF_WEEK_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Min value for Local Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_MIN_VALUE 0x954d
|
||||
|
||||
/** @brief Max value for Local Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_MAX_VALUE 0x7fff
|
||||
|
||||
/** @brief Min value for Outdoor Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OUTDOOR_TEMPERATURE_MIN_VALUE 0x954d
|
||||
|
||||
/** @brief Max value for Outdoor Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OUTDOOR_TEMPERATURE_MAX_VALUE 0x7fff
|
||||
|
||||
/** @brief Invalid value for Local Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_INVALID ((zb_int16_t)0x8000)
|
||||
|
||||
/** @brief Default value for Local Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_DEFAULT_VALUE (ESP_ZB_ZCL_VALUE_FF)
|
||||
|
||||
/** @brief Min value for Local Temperature Calibration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_CALIBRATION_MIN_VALUE 0xe7
|
||||
|
||||
/** @brief Max value for Local Temperature Calibration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_CALIBRATION_MAX_VALUE 0x19
|
||||
|
||||
/** @brief Default value for Occupied Cooling Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_COOLING_SETPOINT_DEFAULT_VALUE 0x0a28
|
||||
|
||||
/** @brief Min value for Occupied Cooling Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_COOLING_SETPOINT_MIN_VALUE 0x954d
|
||||
|
||||
/** @brief Max value for Occupied Cooling Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_COOLING_SETPOINT_MAX_VALUE 0x7fff
|
||||
|
||||
/** @brief Default value for Occupied Heating Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_DEFAULT_VALUE 0x07d0
|
||||
|
||||
/** @brief Min value for Occupied Heating Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_MIN_VALUE 0x954d
|
||||
|
||||
/** @brief Max value for Occupied Heating Setpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_MAX_VALUE 0x7fff
|
||||
|
||||
/** @brief Min value for Min Setpoint Dead Band attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MIN_SETPOINT_DEAD_BAND_MIN_VALUE 0x0a
|
||||
|
||||
/** @brief Max value for Min Setpoint Dead Band attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MIN_SETPOINT_DEAD_BAND_MAX_VALUE 0x19
|
||||
|
||||
/** @brief Local Temperature Sensed Remotely bit of Remote Sensing attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_REMOTE_SENSING_LOCAL_TEMPERATURE_SENSED_REMOTELY_BIT (1 << 0)
|
||||
|
||||
/** @brief Outdoor Temperature Sensed Remotely bit of Remote Sensing attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_REMOTE_SENSING_OUTDOOR_TEMPERATURE_SENSED_REMOTELY_BIT (1 << 1)
|
||||
|
||||
/** @brief Occupancy Sensed Sensed Remotely bit of Remote Sensing attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_REMOTE_SENSING_OCCUPANCY_SENSED_REMOTELY_BIT (1 << 2)
|
||||
|
||||
/** @brief Default value for Control Sequence Of Operation attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_DEFAULT_VALUE 0x04
|
||||
|
||||
/** @brief Default value for System Mode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_CONTROL_SYSTEM_MODE_DEFAULT_VALUE 0x01
|
||||
|
||||
/** @brief Default value for Occupancy attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPANCY_DEFAULT_VALUE ((zb_uint8_t)1U)
|
||||
|
||||
/** @brief Bitmask for Occupancy attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPANCY_BITMASK ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief Default value for AbsMinHeatSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ABS_MIN_HEAT_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x02BC)
|
||||
|
||||
/** @brief Default value for AbsMaxHeatSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ABS_MAX_HEAT_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0BB8)
|
||||
|
||||
/** @brief Default value for AbsMinCoolSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ABS_MIN_COOL_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0640)
|
||||
|
||||
/** @brief Default value for AbsMaxCoolSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ABS_MAX_COOL_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0C80)
|
||||
|
||||
/** @brief Min value for PICoolingDemand attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PI_COOLING_DEMAND_MIN_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Max value for PICoolingDemand attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PI_COOLING_DEMAND_MAX_VALUE ((zb_uint8_t)0x64)
|
||||
|
||||
/** @brief Min value for PIHeatingDemand attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PI_HEATING_DEMAND_MIN_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Max value for PIHeatingDemand attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PI_HEATING_DEMAND_MAX_VALUE ((zb_uint8_t)0x64)
|
||||
|
||||
/** @brief Default value for HVACSystemTypeConfiguration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_HVAC_SYSTEM_TYPE_CONFIGURATION_DEFAULT_VALUE ((zb_uint8_t)0)
|
||||
|
||||
/** @brief Default value for LocalTemperatureCalibration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_CALIBRATION_DEFAULT_VALUE ((zb_int8_t)0x00)
|
||||
|
||||
/** @brief Default value for UnoccupiedCoolingSetpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UNOCCUPIED_COOLING_SETPOINT_DEFAULT_VALUE ((zb_int16_t)0x0A28)
|
||||
|
||||
/** @brief Default value for UnoccupiedHeatingSetpoint attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UNOCCUPIED_HEATING_SETPOINT_DEFAULT_VALUE ((zb_int16_t)0x07D0)
|
||||
|
||||
/** @brief Default value for MinHeatSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MIN_HEAT_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x02BC)
|
||||
|
||||
/** @brief Default value for MaxHeatSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MAX_HEAT_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0BB8)
|
||||
|
||||
/** @brief Default value for MinCoolSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MIN_COOL_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0640)
|
||||
|
||||
/** @brief Default value for MaxCoolSetpointLimit attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MAX_COOL_SETPOINT_LIMIT_DEFAULT_VALUE ((zb_int16_t)0x0C80)
|
||||
|
||||
/** @brief Default value for MinSetpointDeadBand attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_MIN_SETPOINT_DEAD_BAND_DEFAULT_VALUE ((zb_int8_t)0x19)
|
||||
|
||||
/** @brief Default value for RemoteSensing attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_REMOTE_SENSING_DEFAULT_VALUE ((zb_uint8_t)0)
|
||||
|
||||
/** @brief Default value for ControlSequenceOfOperation attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQUENCE_OF_OPERATION_DEFAULT_VALUE ((zb_uint8_t)0x04)
|
||||
|
||||
/** @brief Default value for SystemMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_SYSTEM_MODE_DEFAULT_VALUE ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief Default value for AlarmMask attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ALARM_MASK_DEFAULT_VALUE ((zb_uint8_t)0)
|
||||
|
||||
/** @brief Default value for RunningMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_MODE_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Off value for RunningMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_MODE_OFF_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Cool value for RunningMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_MODE_COOL_VALUE ((zb_uint8_t)0x03)
|
||||
|
||||
/** @brief Heat value for RunningMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_MODE_HEAT_VALUE ((zb_uint8_t)0x04)
|
||||
|
||||
/** @brief Default value for TemperatureSetpointHold attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for TemperatureSetpointHoldDuration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_DURATION_DEFAULT_VALUE ((zb_uint16_t)0xFFFF)
|
||||
|
||||
/** @brief Min value for TemperatureSetpointHoldDuration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_DURATION_MIN_VALUE ((zb_uint16_t)0x0000)
|
||||
|
||||
/** @brief Max value for TemperatureSetpointHoldDuration attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_TEMPERATURE_SETPOINT_HOLD_DURATION_MAX_VALUE ((zb_uint16_t)0x05a0)
|
||||
|
||||
/** @brief Default value for ThermostatProgrammingOperationMode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_THERMOSTAT_PROGRAMMING_OPERATION_MODE_DEFAULT_VALUE ((zb_uint8_t)0)
|
||||
|
||||
/** @brief Default value for SetpointChangeSource attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_SETPOINT_CHANGE_SOURCE_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Default value for SetpointChangeAmount attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_SETPOINT_CHANGE_AMOUNT_DEFAULT_VALUE ((zb_int16_t)0x8000)
|
||||
|
||||
/** @brief Default value for SetpointChangeSourceTimestamp attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_SETPOINT_CHANGE_SOURCE_TIMESTAMP_DEFAULT_VALUE ((zb_time_t)0x00000000)
|
||||
|
||||
/** @brief Default value for OccupiedSetback attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_SETBACK_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for OccupiedSetbackMin attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_SETBACK_MIN_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for OccupiedSetbackMax attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_SETBACK_MAX_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for UnoccupiedSetback attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UNOCCUPIED_SETBACK_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for UnoccupiedSetbackMin attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UNOCCUPIED_SETBACK_MIN_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for UnoccupiedSetbackMax attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UNOCCUPIED_SETBACK_MAX_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for EmergencyHeatDelta attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_EMERGENCY_HEAT_DELTA_DEFAULT_VALUE ((zb_uint8_t)0xFF)
|
||||
|
||||
/** @brief Default value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Unknown value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_UNKNOWN_VALUE ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_DEFAULT_VALUE
|
||||
|
||||
/** @brief Cooling and Fixed Speed value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_COOLING_AND_FIXED_SPEED_VALUE ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief Heat Pump and Fixed Speed value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_HEAT_PUMP_AND_FIXED_SPEED_VALUE ((zb_uint8_t)0x02)
|
||||
|
||||
/** @brief Cooling and Inverter value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_COOLING_AND_INVERTER_VALUE ((zb_uint8_t)0x03)
|
||||
|
||||
/** @brief Heat Pump and Inverter value value for ACType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_TYPE_HEAT_PUMP_AND_INVERTER_VALUE ((zb_uint8_t)0x04)
|
||||
|
||||
/** @brief Default value for ACCapacity attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_CAPACITY_DEFAULT_VALUE ((zb_uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for ACRefrigerantType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Unknown value for ACRefrigerantType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_UNKNOWN_VALUE ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_DEFAULT_VALUE
|
||||
|
||||
/** @brief R22 value for ACRefrigerantType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_R22_VALUE ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief R410a value for ACRefrigerantType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_R410A_VALUE ((zb_uint8_t)0x02)
|
||||
|
||||
/** @brief R407c value for ACRefrigerantType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_REFRIGERANT_TYPE_R407C_VALUE ((zb_uint8_t)0x03)
|
||||
|
||||
/** @brief Default value for ACCompressorType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Unknown value for ACCompressorType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_UNKNOWN_VALUE ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_DEFAULT_VALUE
|
||||
|
||||
/** @brief T1(Max working ambient 43 ºC) value for ACCompressorType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_T1_VALUE ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief T2(Max working ambient 35 ºC) value for ACCompressorType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_T2_VALUE ((zb_uint8_t)0x02)
|
||||
|
||||
/** @brief T3(Max working ambient 52 ºC) value for ACCompressorType attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COMPRESSOR_TYPE_T3_VALUE ((zb_uint8_t)0x03)
|
||||
|
||||
/** @brief Default value for ACErrorCode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_DEFAULT_VALUE ((zb_uint32_t)0x00000000)
|
||||
|
||||
/** @brief Compressor Failure or Refrigerant Leakage bit of AC Error Code attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_COMPRESSOR_FAILURE_OR_REFRIGERANT_LEAKAGE_BIT (1 << 0)
|
||||
|
||||
/** @brief Room Temperature Sensor Failure bit of AC Error Code attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_ROOM_TEMPERATURE_SENSOR_FAILURE_BIT (1 << 1)
|
||||
|
||||
/** @brief Outdoor Temperature Sensor Failure bit of AC Error Code attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_OUTDOOR_TEMPERATURE_SENSOR_FAILURE_BIT (1 << 2)
|
||||
|
||||
/** @brief Indoor Coil Temperature Sensor Failure bit of AC Error Code attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_INDOOR_COIL_TEMPERATURE_SENSOR_FAILURE_BIT (1 << 3)
|
||||
|
||||
/** @brief Fan Failure bit of AC Error Code attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_ERROR_CODE_FAN_FAILURE_BIT (1 << 4)
|
||||
|
||||
/** @brief Default value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief Fully Closed value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_FULLY_CLOSED_VALUE ((zb_uint8_t)0x01)
|
||||
|
||||
/** @brief Fully Open value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_FULLY_OPEN_VALUE ((zb_uint8_t)0x02)
|
||||
|
||||
/** @brief Quarter Open value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_QUARTER_OPEN_VALUE ((zb_uint8_t)0x03)
|
||||
|
||||
/** @brief Three Quarters Open value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_THREE_QUARTERS_OPEN_VALUE ((zb_uint8_t)0x05)
|
||||
|
||||
/** @brief Half Open value for ACLouverPosition attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_LOUVER_POSITION_HALF_OPEN_VALUE ((zb_uint8_t)0x04)
|
||||
|
||||
/** @brief Min value for AC Coil Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COIL_TEMPERATURE_MIN_VALUE 0x954d
|
||||
|
||||
/** @brief Max value for AC Coil Temperature attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_COIL_TEMPERATURE_MAX_VALUE 0x7fff
|
||||
|
||||
/** @brief Default value for AC Capacity Format attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_CAPACITY_FORMAT_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
/** @brief BTUh value for AC Capacity Format attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_AC_CAPACITY_FORMAT_BTUH_VALUE ESP_ZB_ZCL_THERMOSTAT_AC_CAPACITY_FORMAT_DEFAULT_VALUE
|
||||
|
||||
/** @brief Initialization failure bit of Alarm Mask attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ALARM_MASK_INITIALIZATION_FAILURE_BIT (1 << 0)
|
||||
|
||||
/** @brief Hardware Failure bit of Alarm Mask attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ALARM_MASK_HARDWARE_FAILURE_BIT (1 << 1)
|
||||
|
||||
/** @brief Self-Calibration Failure bit of Alarm Mask attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_ALARM_MASK_SELFCALIBRATION_FAILURE_BIT (1 << 2)
|
||||
|
||||
/** @brief Simple/Setpoint(0) or Schedule_Programming(1) mode bit of Thermostat Programming Operation Mode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PROGRAMMING_OPERATION_MODE_SIMPLE_SETPOINT_OR_PROGRAMMING_MODE_BIT (1 << 0)
|
||||
|
||||
/** @brief Auto/recovery mode bit of Thermostat Programming Operation Mode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PROGRAMMING_OPERATION_MODE_AUTO_RECOVERY_MODE_BIT (1 << 1)
|
||||
|
||||
/** @brief Economy/EnergyStar mode bit of Thermostat Programming Operation Mode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_PROGRAMMING_OPERATION_MODE_ECONOMY_ENERGY_STAR_MODE_BIT (1 << 2)
|
||||
|
||||
/** @brief Heat State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_HEAT_STATE_ON_BIT (1 << 0)
|
||||
|
||||
/** @brief Cool State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_COOL_STATE_ON_BIT (1 << 1)
|
||||
|
||||
/** @brief Fan State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_FAN_STATE_ON_BIT (1 << 2)
|
||||
|
||||
/** @brief Heat 2nd Stage State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_HEAT_2ND_STAGE_STATE_ON_BIT (1 << 3)
|
||||
|
||||
/** @brief Cool 2nd Stage State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_COOL_2ND_STAGE_STATE_ON_BIT (1 << 4)
|
||||
|
||||
/** @brief Fan 2nd Stage State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_FAN_2ND_STAGE_STATE_ON_BIT (1 << 5)
|
||||
|
||||
/** @brief Fan 3rd Stage State On bit of Thermostat Running State attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_RUNNING_STATE_FAN_3RD_STAGE_STATE_ON_BIT (1 << 6)
|
||||
|
||||
/**
|
||||
* @brief Structure for Thermostat Weekly Schedule Transition field
|
||||
*
|
||||
*/
|
||||
typedef struct esp_zb_zcl_thermostat_weekly_schedule_transition_s {
|
||||
uint16_t transition_time; /*!< This field represents the start time of the schedule transition during the associated day. */
|
||||
uint16_t heat_setpoint; /*!< This field represents the heat setpoint to be applied at this associated transition start time. */
|
||||
uint16_t cool_setpoint; /*!< this field represents the cool setpoint to be applied at this associated transition start time.*/
|
||||
} esp_zb_zcl_thermostat_weekly_schedule_transition_t;
|
||||
|
||||
/**
|
||||
* @brief Structure for the record in Thermostat Weekly Schedule Table
|
||||
*/
|
||||
typedef struct esp_zb_zcl_thermostat_weekly_schedule_record_s {
|
||||
uint8_t day_of_week; /*!< Day of week, refer to esp_zb_zcl_thermostat_day_of_week_t */
|
||||
uint8_t mode_for_seq; /*!< Mode for Sequence, refer to esp_zb_zcl_thermostat_weekly_schedule_mode_for_seq_t */
|
||||
uint16_t transition_time; /*!< Transition time in minutes after midnight */
|
||||
uint16_t heat_setpoint; /*!< Heat Set Point */
|
||||
uint16_t cool_setpoint; /*!< Cool Set Point */
|
||||
} esp_zb_zcl_thermostat_weekly_schedule_record_t;
|
||||
|
||||
/**
|
||||
* @brief Start thermostat weekly schedule
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK: On success, otherwise, failure.
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_thermostat_weekly_schedule_start(void);
|
||||
|
||||
/**
|
||||
* @brief Stop thermostat weekly schedule
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK: On success, otherwise, failure.
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_thermostat_weekly_schedule_stop(void);
|
||||
|
||||
/**
|
||||
* @brief Get the next scheduled record from the thermostat weekly schedule table
|
||||
*
|
||||
* @param[in] iterator An iterator used to iterate through the thermostat weekly schedule table
|
||||
* @param[out] record The next record in the thermostat weekly schedule table, refer to esp_zb_zcl_thermostat_weekly_schedule_record_t
|
||||
* @return
|
||||
* - ESP_OK: On success
|
||||
* - ESP_ERR_INVALID_ARG: Invalid arguments
|
||||
* - ESP_ERR_NOT_FOUND: End of the table reached
|
||||
* - Otherwise: Failure
|
||||
*/
|
||||
esp_err_t esp_zb_zcl_thermostat_weekly_schedule_get_next_record(uint16_t *iterator, esp_zb_zcl_thermostat_weekly_schedule_record_t *record);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/*! @brief Thermostat UI Configuration cluster attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UI_CONFIG_TEMPERATURE_DISPLAY_MODE_ID = 0x0000, /*!< Temperature Display Mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UI_CONFIG_KEYPAD_LOCKOUT_ID = 0x0001, /*!< Keypad Lockout attribute */
|
||||
ESP_ZB_ZCL_ATTR_THERMOSTAT_UI_CONFIG_SCHEDULE_PROGRAMMING_VISIBILITY_ID = 0x0002, /*!< The Schedule ProgrammingVisibility attribute is used to hide the weekly schedule programming functionality or menu on a thermostat from a user to prevent local user programming of the weekly schedule. */
|
||||
} esp_zb_zcl_thermostat_ui_config_attr_t;
|
||||
|
||||
/** @brief Default value for Temperature Display Mode attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UI_CONFIG_TEMPERATURE_DISPLAY_MODE_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Default value for Keypad Lockout attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UI_CONFIG_KEYPAD_LOCKOUT_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Default value for ScheduleProgrammingVisibility attribute */
|
||||
#define ESP_ZB_ZCL_THERMOSTAT_UI_CONFIG_SCHEDULE_PROGRAMMING_VISIBILITY_DEFAULT_VALUE ((zb_uint8_t)0x00)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Time cluster attribute identifiers
|
||||
*/
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_TIME_TIME_ID = 0x0000, /*!< Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_TIME_STATUS_ID = 0x0001, /*!< Time Status attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_TIME_ZONE_ID = 0x0002, /*!< Time Zone attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_DST_START_ID = 0x0003, /*!< Dst Start attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_DST_END_ID = 0x0004, /*!< Dst End attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_DST_SHIFT_ID = 0x0005, /*!< Dst Shift attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_STANDARD_TIME_ID = 0x0006, /*!< Standard Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_LOCAL_TIME_ID = 0x0007, /*!< Local Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_LAST_SET_TIME_ID = 0x0008, /*!< Last Set Time attribute */
|
||||
ESP_ZB_ZCL_ATTR_TIME_VALID_UNTIL_TIME_ID = 0x0009 /*!< Valid Until Time attribute */
|
||||
} esp_zb_zcl_time_attr_t;
|
||||
|
||||
/** @brief Default value for Time attribute */
|
||||
#define ESP_ZB_ZCL_TIME_TIME_DEFAULT_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for Time Status attribute */
|
||||
#define ESP_ZB_ZCL_TIME_TIME_STATUS_DEFAULT_VALUE 0x00
|
||||
|
||||
/** @brief Default value for Time Zone attribute */
|
||||
#define ESP_ZB_ZCL_TIME_TIME_ZONE_DEFAULT_VALUE 0x00000000
|
||||
|
||||
/** @brief Default value for DstStart attribute */
|
||||
#define ESP_ZB_ZCL_TIME_DST_START_DEFAULT_VALUE ((uint32_t)0xFFFFFFFF)
|
||||
|
||||
/** @brief Default value for DstEnd attribute */
|
||||
#define ESP_ZB_ZCL_TIME_DST_END_DEFAULT_VALUE ((uint32_t)0xFFFFFFFF)
|
||||
|
||||
/** @brief Default value for Dst Shift attribute */
|
||||
#define ESP_ZB_ZCL_TIME_DST_SHIFT_DEFAULT_VALUE 0x00000000
|
||||
|
||||
/** @brief Default value for StandardTime attribute */
|
||||
#define ESP_ZB_ZCL_TIME_STANDARD_TIME_DEFAULT_VALUE ((uint32_t)0xFFFFFFFF)
|
||||
|
||||
/** @brief Default value for LocalTime attribute */
|
||||
#define ESP_ZB_ZCL_TIME_LOCAL_TIME_DEFAULT_VALUE ((uint32_t)0xFFFFFFFF)
|
||||
|
||||
/** @brief Default value for Last Set Time attribute */
|
||||
#define ESP_ZB_ZCL_TIME_LAST_SET_TIME_DEFAULT_VALUE 0xffffffff
|
||||
|
||||
/** @brief Default value for Valid Until Time attribute */
|
||||
#define ESP_ZB_ZCL_TIME_VALID_UNTIL_TIME_DEFAULT_VALUE 0xffffffff
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Wind_Speed_Measurement cluster server attribute identifiers */
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_WIND_SPEED_MEASUREMENT_MEASURED_VALUE_ID = 0x0000, /**< MeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_WIND_SPEED_MEASUREMENT_MIN_MEASURED_VALUE_ID = 0x0001, /**< MinMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_WIND_SPEED_MEASUREMENT_MAX_MEASURED_VALUE_ID = 0x0002, /**< MaxMeasuredValue Attribute */
|
||||
ESP_ZB_ZCL_ATTR_WIND_SPEED_MEASUREMENT_TOLERANCE_ID = 0x0003, /**< Tolerance Attribute */
|
||||
} esp_zb_zcl_wind_speed_measurement_srv_attr_t;
|
||||
|
||||
/** @brief Minimum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MIN_MEASURED_VALUE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MIN_MEASURED_VALUE_MAXIMUM ((uint16_t)0xfffd)
|
||||
|
||||
/** @brief Minimum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MAX_MEASURED_VALUE_MINIMUM ((uint16_t)0x0001)
|
||||
|
||||
/** @brief Maximum value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MAX_MEASURED_VALUE_MAXIMUM ((uint16_t)0xfffe)
|
||||
|
||||
/** @brief Minimum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_TOLERANCE_MINIMUM ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Maximum value for Tolerance attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_TOLERANCE_MAXIMUM ((uint16_t)0x0308)
|
||||
|
||||
/** @brief Unknown value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MIN_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Unknown value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MAX_MEASURED_VALUE_UNKNOWN ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MinMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MIN_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
/** @brief Default value for MaxMeasuredValue attribute */
|
||||
#define ESP_ZB_ZCL_WIND_SPEED_MEASUREMENT_MAX_MEASURED_VALUE_DEFAULT ESP_ZB_ZCL_VALUE_U16_NONE
|
||||
|
||||
void esp_zb_zcl_wind_speed_measurement_init_server(void);
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_WIND_SPEED_MEASUREMENT_SERVER_ROLE_INIT esp_zb_zcl_wind_speed_measurement_init_server
|
||||
#define ESP_ZB_ZCL_CLUSTER_ID_WIND_SPEED_MEASUREMENT_CLIENT_ROLE_INIT NULL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,162 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "esp_zigbee_type.h"
|
||||
|
||||
/** @brief Window Covering cluster attribute identifiers
|
||||
*/
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_WINDOW_COVERING_INFORMATION = 0x000, /*!< Window Covering Information attribute set */
|
||||
ESP_ZB_ZCL_WINDOW_COVERING_SETTINGS = 0x001 /*!< Window Covering Settings attribute set */
|
||||
}esp_zb_zcl_window_covering_attribute_sets_t;
|
||||
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_WINDOW_COVERING_TYPE_ID = 0x0000, /*!< Window Covering Type attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_PHYSICAL_CLOSED_LIMIT_LIFT_ID = 0x0001, /*!< PhysicalClosedLimit Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_PHY_CLOSED_LIMIT_TILT_ID = 0x0002, /*!< PhysicalClosedLimit Tilt attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CURRENT_POSITION_LIFT_ID = 0x0003, /*!< CurrentPosition Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CURRENT_POSITION_TILT_ID = 0x0004, /*!< CurrentPosition Tilt attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_NUMBER_OF_ACTUATIONS_LIFT_ID = 0x0005, /*!< Number of Actuations Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_NUMBER_OF_ACTUATIONS_TILT_ID = 0x0006, /*!< Number of Actuations Tilt attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_STATUS_ID = 0x0007, /*!< Config/Status attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CURRENT_POSITION_LIFT_PERCENTAGE_ID = 0x0008, /*!< Current Position Lift Percentage attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CURRENT_POSITION_TILT_PERCENTAGE_ID = 0x0009 /*!< Current Position Tilt Percentage attribute */
|
||||
}esp_zb_zcl_window_covering_info_attr_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_ROLLERSHADE = 0x00, /*!< Rollershade value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_ROLLERSHADE_2_MOTOR = 0x01, /*!< Rollershade - 2 Motor value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_ROLLERSHADE_EXTERIOR = 0x02, /*!< Rollershade - Exterior value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_ROLLERSHADE_EXTERIOR_2_MOTOR = 0x03, /*!< Rollershade - Exterior - 2 Motor value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_DRAPERY = 0x04, /*!< Drapery value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_AWNING = 0x05, /*!< Awning value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_SHUTTER = 0x06, /*!< Shutter value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_TILT_BLIND_TILT_ONLY = 0x07, /*!< Tilt Blind - Tilt Only value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_TILT_BLIND_LIFT_AND_TILT = 0x08, /*!< Tilt Blind - Lift and Tilt value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_PROJECTOR_SCREEN = 0x09 /*!< Projector screen value */
|
||||
}esp_zb_zcl_window_covering_window_covering_type_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_OPERATIONAL = 0x01, /*!< Operational value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_ONLINE = 0x02, /*!< Online value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_REVERSE_COMMANDS = 0x04, /*!< Open/Up Commands have been reversed value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_LIFT_CONTROL_IS_CLOSED_LOOP = 0x08, /*!< Lift control is Closed Loop value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_TILT_CONTROL_IS_CLOSED_LOOP = 0x10, /*!< Tilt control is Closed Loop value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_LIFT_ENCODER_CONTROLLED = 0x20, /*!< Lift Encoder Controlled value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_TILT_ENCODER_CONTROLLED = 0x40 /*!< Tilt Encoder Controlled value */
|
||||
}esp_zb_zcl_window_covering_config_status_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INSTALLED_OPEN_LIMIT_LIFT_ID = 0x0010, /*!< InstalledOpenLimit - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INSTALLED_CLOSED_LIMIT_LIFT_ID = 0x0011, /*!< InstalledClosedLimit - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INSTALLED_OPEN_LIMIT_TILT_ID = 0x0012, /*!< InstalledOpenLimit - Tilt attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INSTALLED_CLOSED_LIMIT_TILT_ID = 0x0013, /*!< InstalledClosedLimit - Tilt attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_VELOCITY_ID = 0x0014, /*!< Velocity - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_ACCELERATION_TIME_ID = 0x0015, /*!< Acceleration Time - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_DECELERATION_TIME_ID = 0x0016, /*!< Deceleration Time - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_MODE_ID = 0x0017, /*!< Mode attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INTERMEDIATE_SETPOINTS_LIFT_ID = 0x0018, /*!< Intermediate Setpoints - Lift attribute */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_INTERMEDIATE_SETPOINTS_TILT_ID = 0x0019 /*!< Intermediate Setpoints - Tilt attribute */
|
||||
}esp_zb_zcl_window_covering_settings_attr_t;
|
||||
|
||||
typedef enum {
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_REVERSED_MOTOR_DIRECTION = 0x01, /*!< Reversed motor direction value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_RUN_IN_CALIBRATION_MODE = 0x02, /*!< Run in calibration mode value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_MOTOR_IS_RUNNING_IN_MAINTENANCE_MODE = 0x04, /*!< Motor is running in maintenance mode value */
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_LEDS_WILL_DISPLAY_FEEDBACK = 0x08 /*!< LEDs will display feedback value */
|
||||
}esp_zb_zcl_window_covering_mode_t;
|
||||
|
||||
typedef enum{
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_UP_OPEN = 0x00, /*!< Up/Open command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_DOWN_CLOSE = 0x01, /*!< Down/Close command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_STOP = 0x02, /*!< Stop command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_GO_TO_LIFT_VALUE = 0x04, /*!< Go to Lift Value command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_GO_TO_LIFT_PERCENTAGE = 0x05, /*!< Go to Lift Percentage command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_GO_TO_TILT_VALUE = 0x07, /*!< Go to Tilt Value command */
|
||||
ESP_ZB_ZCL_CMD_WINDOW_COVERING_GO_TO_TILT_PERCENTAGE = 0x08 /*!< Go to Tilt Percentage command */
|
||||
}esp_zb_zcl_window_covering_cmd_t;
|
||||
|
||||
/** @brief Default value for Window Covering cluster revision global attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CLUSTER_REVISION_DEFAULT ((uint16_t)0x0003u)
|
||||
|
||||
/** @brief Default value for PhysicalClosedLimitLift attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_PHYSICAL_CLOSED_LIMIT_LIFT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for PhyClosedLimitTilt attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_PHY_CLOSED_LIMIT_TILT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for CurrentPositionLift attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_LIFT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for CurrentPositionTilt attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_TILT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for NumberOfActuationsLift attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_NUMBER_OF_ACTUATIONS_LIFT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for NumberOfActuationsTilt attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_NUMBER_OF_ACTUATIONS_TILT_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Window covering type attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_WINDOW_COVERING_TYPE_DEFAULT_VALUE 0x00
|
||||
|
||||
|
||||
/** @brief Config/status attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CONFIG_STATUS_DEFAULT_VALUE \
|
||||
ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_OPERATIONAL \
|
||||
| ESP_ZB_ZCL_ATTR_WINDOW_COVERING_CONFIG_ONLINE
|
||||
|
||||
/** @brief Current position lift percentage attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_LIFT_PERCENTAGE_DEFAULT_VALUE 0xff
|
||||
|
||||
/** @brief Current position lift percentage attribute max value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_LIFT_PERCENTAGE_MAX_VALUE 0x64
|
||||
|
||||
/** @brief Current position tilt percentage attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_TILT_PERCENTAGE_DEFAULT_VALUE 0xff
|
||||
|
||||
/** @brief Current position tilt percentage attribute max value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_CURRENT_POSITION_TILT_PERCENTAGE_MAX_VALUE 0x64
|
||||
|
||||
/** @brief Installed open limit lift attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INSTALLED_OPEN_LIMIT_LIFT_DEFAULT_VALUE 0x0000
|
||||
|
||||
/** @brief Installed closed limit lift attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INSTALLED_CLOSED_LIMIT_LIFT_DEFAULT_VALUE 0xffff
|
||||
|
||||
/** @brief Installed open limit tilt attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INSTALLED_OPEN_LIMIT_TILT_DEFAULT_VALUE 0x0000
|
||||
|
||||
/** @brief Installed closed limit tilt attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INSTALLED_CLOSED_LIMIT_TILT_DEFAULT_VALUE 0xffff
|
||||
|
||||
/** @brief Default value for Velocity attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_VELOCITY_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for AccelerationTime attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_ACCELERATION_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
/** @brief Default value for DecelerationTime attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_DECELERATION_TIME_DEFAULT_VALUE ((uint16_t)0x0000)
|
||||
|
||||
|
||||
/** @brief Mode attribute default value */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_MODE_DEFAULT_VALUE ESP_ZB_ZCL_ATTR_WINDOW_COVERING_TYPE_MOTOR_IS_RUNNING_IN_MAINTENANCE_MODE
|
||||
|
||||
/** @brief Default value for IntermediateSetpointsLift attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INTERMEDIATE_SETPOINTS_LIFT_DEFAULT_VALUE {0x31, 0x2C, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x00}
|
||||
|
||||
/** @brief Default value for IntermediateSetpointsTilt attribute */
|
||||
#define ESP_ZB_ZCL_WINDOW_COVERING_INTERMEDIATE_SETPOINTS_TILT_DEFAULT_VALUE {0x31, 0x2C, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x00}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user