ZCL demand response and load control
Zigbee Cluster Library (ZCL) demand response and load control (DRLC) cluster usage definition for ESP Zigbee SDK.
Header File
Structures
- 
struct esp_zb_zcl_drlc_load_control_event_payload_s
 ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT LoadControlEvent command payload.
Public Members
- 
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.
- 
uint32_t issuer_event_id
 
- 
struct esp_zb_zcl_drlc_cancel_load_control_event_payload_s
 ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT CancelLoadControlEvent command payload.
Public Members
- 
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.”
- 
uint32_t issuer_event_id
 
- 
struct esp_zb_zcl_drlc_cancel_all_load_control_events_payload_s
 ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS CancelAllLoadControlEvents command payload.
Public Members
- 
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.
- 
uint8_t cancel_control
 
- 
struct esp_zb_zcl_drlc_report_event_status_payload_s
 ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS ReportEventStatus command payload.
Public Members
- 
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.
- 
uint32_t issuer_event_id
 
- 
struct esp_zb_zcl_drlc_get_scheduled_events_payload_s
 ESP_ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS GetScheduledEvents command payload.
Public Members
- 
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.
- 
uint32_t start_time
 
Macros
- 
ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_DEFAULT_VALUE
 The default value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_MIN_VALUE
 The minimum value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP_MAX_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_DEFAULT_VALUE
 The default value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_MIN_VALUE
 The minimum value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES_MAX_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_DEFAULT_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_MIN_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES_MAX_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_DEFAULT_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_MIN_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute.
- 
ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE_MAX_VALUE
 The maximum value of ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE attribute.
Type Definitions
- 
typedef enum esp_zb_zcl_drlc_cli_attr_e esp_zb_zcl_drlc_cli_attr_t
 Demand response and load control client attribute enumeration.
- 
typedef enum esp_zb_zcl_drlc_device_class_e esp_zb_zcl_drlc_device_class_t
 DRLC device classes enumeration.
- 
typedef enum esp_zb_zcl_drlc_criticality_levels_e esp_zb_zcl_drlc_criticality_levels_t
 DRLC Criticality Level value applied by the device.
- 
typedef enum esp_zb_zcl_drlc_srv_cmd_e esp_zb_zcl_drlc_srv_cmd_t
 Commands are generated by DRLC Server.
- 
typedef enum esp_zb_zcl_drlc_cli_cmd_e esp_zb_zcl_drlc_cli_cmd_t
 Commands are generated by DRLC Client.
- 
typedef struct esp_zb_zcl_drlc_load_control_event_payload_s esp_zb_zcl_drlc_load_control_event_payload_t
 ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT LoadControlEvent command payload.
- 
typedef struct esp_zb_zcl_drlc_cancel_load_control_event_payload_s esp_zb_zcl_drlc_cancel_load_control_event_payload_t
 ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT CancelLoadControlEvent command payload.
- 
typedef struct esp_zb_zcl_drlc_cancel_all_load_control_events_payload_s esp_zb_zcl_drlc_cancel_all_load_control_events_payload_t
 ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS CancelAllLoadControlEvents command payload.
- 
typedef struct esp_zb_zcl_drlc_report_event_status_payload_s esp_zb_zcl_drlc_report_event_status_payload_t
 ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS ReportEventStatus command payload.
- 
typedef struct esp_zb_zcl_drlc_get_scheduled_events_payload_s esp_zb_zcl_drlc_get_scheduled_events_payload_t
 ESP_ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS GetScheduledEvents command payload.
Enumerations
- 
enum esp_zb_zcl_drlc_cli_attr_e
 Demand response and load control client attribute enumeration.
Values:
- 
enumerator ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP
 UtilityEnrollmentGroup attribute. Provides for utilities to assign devices to groups.
- 
enumerator ESP_ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES
 StartRandomizationMinutes attribute. Represents the maximum number of minutes to be used when randomizing the start of an event.
- 
enumerator ESP_ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES
 DurationRandomizationMinutes attribute. Represents the maximum number of minutes to be used when randomizing the duration of an event.
- 
enumerator ESP_ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE
 DeviceClassValue attribute. Identifies which bits the device will match in the Device Class fields.
- 
enumerator ESP_ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP
 
- 
enum esp_zb_zcl_drlc_device_class_e
 DRLC device classes enumeration.
Values:
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_HVAC
 HVAC Compressor or Furnace
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_STRIP_HEATER
 Strip Heaters/Baseboard Heaters
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_WATER_HEATER
 Water Heater
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_POOL_PUMP
 Pool Pump/Spa/Jacuzzi
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_SMART_APPLIANCE
 Smart Appliances
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_IRRIGATION_PUMP
 Irrigation Pump
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_MCI_LOADS
 Managed Commercial & Industrial (C&I) loads
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_SIMPLE_LOADS
 Simple misc. (Residential On/Off) loads
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_EXTERIOR_LIGHTNING
 Exterior Lighting
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_INTERIOR_LIGHTNING
 Interior Lighting
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_ELECTRIC_VEHICLE
 Electric Vehicle
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_GENERATION_SYSTEMS
 Generation Systems
- 
enumerator ESP_ZB_ZCL_DRLC_DEVICE_CLASS_HVAC
 
- 
enum esp_zb_zcl_drlc_criticality_levels_e
 DRLC Criticality Level value applied by the device.
Values:
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_0
 Reserved
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_GREEN
 Green
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_1
 Level 1
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_2
 Level 2
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_3
 Level 3
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_4
 Level 4
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_5
 Level 5
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_EMERGENCY
 Emergency
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_PLANNED_OUTAGE
 Planned Outage
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_SERVICE_DISCONNECT
 Service Disconnect
- 
enumerator ESP_ZB_ZCL_DRLC_CRITICALITY_LEVEL_0
 
- 
enum esp_zb_zcl_drlc_srv_cmd_e
 Commands are generated by DRLC Server.
Values:
- 
enumerator ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT
 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 also
esp_zb_zcl_drlc_load_control_event_payload_t
- 
enumerator ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT
 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 also
esp_zb_zcl_drlc_cancel_load_control_event_payload_t
- 
enumerator ESP_ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS
 Cancel AllLoadControlEvents is generated when the ESI wants to cancel all events for control device(s)
- 
enumerator ESP_ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT
 
- 
enum esp_zb_zcl_drlc_cli_cmd_e
 Commands are generated by DRLC Client.
Values:
- 
enumerator ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS
 ReportEventStatus is generated when the client device detects a change of state for an active LoadControl event.
See also
esp_zb_zcl_drlc_report_event_status_payload_t
- 
enumerator ESP_ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS
 GetScheduledEvents is generated when the client device wishes to verify the available LoadControl events.
See also
esp_zb_zcl_drlc_get_scheduled_events_payload_t
- 
enumerator ESP_ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS