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