Developing with ZBOSS for Zigbee

Data Structures

struct  zb_zcl_price_publish_price_payload_s
 PublishPrice command payload. More...
 
struct  zb_zcl_price_ack_payload_s
 PriceAcknowledgement Command payload More...
 
struct  zb_zcl_price_get_scheduled_prices_payload_s
 GetScheduledPrices Command Payload Format More...
 
struct  zb_zcl_price_get_block_period_payload_s
 
struct  zb_zcl_price_get_conversion_factor_payload_s
 
struct  zb_zcl_price_client_get_calorific_value_payload_s
 
struct  zb_zcl_price_get_tariff_information_payload_s
 
struct  zb_zcl_price_get_price_matrix_payload_s
 
struct  zb_zcl_price_get_block_thresholds_payload_s
 
struct  zb_zcl_price_get_co2_value_payload_s
 
struct  zb_zcl_price_get_tier_labels_payload_s
 
struct  zb_zcl_price_get_billing_period_payload_s
 
struct  zb_zcl_price_get_consolidated_bill_payload_s
 
struct  zb_zcl_price_cpp_event_response_payload_s
 
struct  zb_zcl_price_get_credit_payment_payload_s
 
struct  zb_zcl_price_publish_block_period_payload_s
 
struct  zb_zcl_price_publish_conversion_factor_payload_s
 
struct  zb_zcl_price_publish_calorific_value_payload_s
 
struct  zb_zcl_price_publish_tariff_information_payload_s
 
struct  zb_zcl_price_price_matrix_sub_payload_s
 
struct  zb_zcl_price_publish_price_matrix_payload_s
 
struct  zb_zcl_price_block_threshold_sub_payload_s
 
struct  zb_zcl_price_publish_block_thresholds_payload_s
 
struct  zb_zcl_price_publish_co2_value_payload_s
 
struct  zb_zcl_price_publish_tier_labels_sub_payload_s
 
struct  zb_zcl_price_publish_tier_labels_payload_s
 
struct  zb_zcl_price_publish_billing_period_payload_s
 
struct  zb_zcl_price_publish_consolidated_bill_payload_s
 
struct  zb_zcl_price_publish_cpp_event_payload_s
 
struct  zb_zcl_price_publish_credit_payment_payload_s
 
struct  zb_zcl_price_publish_currency_conversion_payload_s
 
struct  zb_zcl_price_cancel_tariff_payload_s
 

Macros

#define ZB_ZCL_CLUSTER_ID_PRICE_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_PRICE_CLIENT_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_PRICE_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_PRICE_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_PRICE_SERVER_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_PRICE_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_SIZE_IS_VALID(size)
 Returns 'true' if payload is in range [min_payload_size, max_payload_size]. More...
 
#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_EXPECTED_SIZE(pl)
 Returns actual size of payload. More...
 
#define ZB_ZCL_PRICE_DEFAULT_PRICE_CONTROL_VALUE   0x01
 Controls PriceAck policy for outgoing PublishPrice packets. SE devices can enable this field (refer zb_zcl_price_publish_price_payload_t::price_control) if they want to receive PriceAcknowledgement command as response to PublishPrice command, but this behavior is valid only for SE version >= 1.1. SE 1.2 is used, so this field is set to 1 by default.
 
#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_INIT
 Macro for initializing PublishPrice Command payload. More...
 
#define ZB_ZCL_PRICE_GET_SCHEDULED_PRICES_PAYLOAD_INIT   (zb_zcl_price_get_scheduled_prices_payload_t) {0}
 Macro for initializing GetScheduledPrices Command payload.
 
#define ZB_ZCL_PRICE_GET_SCHEDULED_PRICES_PAYLOAD_SIZE_IS_VALID(size)   ((size) == sizeof(zb_zcl_price_get_scheduled_prices_payload_t))
 Check if GetScheduledPrices Command payload is valid.
 
#define ZB_ZCL_PRICE_GET_TIER_LABELS_PAYLOAD_SIZE_IS_VALID(size)   ((size) == sizeof(zb_zcl_price_get_tier_labels_payload_t))
 
#define ZB_ZCL_PRICE_PUBLISH_TIER_LABELS_PAYLOAD_SIZE_IS_VALID(size)   ((size >= (sizeof(zb_zcl_price_publish_tier_labels_payload_t)-sizeof(void *)) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_PRICE_SEND_CMD_GET_CURRENT_PRICE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _rx_on_when_idle)
 Macro for sending GetCurrentPrice command. More...
 
#define ZB_ZCL_PRICE_SEND_CMD_GET_SCHEDULED_PRICES(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 Macro for sending GetScheduledPrices command. More...
 
#define ZB_ZCL_PRICE_SEND_CMD_PUBLISH_PRICE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 Macro for sending PublishPrice command. More...
 
#define ZB_ZCL_PRICE_SEND_CMD_GET_TIER_LABELS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 Macro for sending GetTierLabels command. More...
 
#define ZB_ZCL_PRICE_SEND_CMD_PUBLISH_TIER_LABELS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 Macro for sending PublishTierLabels command. More...
 

Typedefs

typedef enum zb_zcl_price_client_cmd_e zb_zcl_price_client_cmd_t
 Price cluster client command identifiers. More...
 
typedef enum zb_zcl_price_server_cmd_e zb_zcl_price_server_cmd_t
 Price cluster server command identifiers. More...
 
typedef struct zb_zcl_price_publish_price_payload_s zb_zcl_price_publish_price_payload_t
 PublishPrice command payload. More...
 
typedef struct zb_zcl_price_ack_payload_s zb_zcl_price_ack_payload_t
 PriceAcknowledgement Command payload More...
 
typedef struct zb_zcl_price_get_scheduled_prices_payload_s zb_zcl_price_get_scheduled_prices_payload_t
 GetScheduledPrices Command Payload Format More...
 
typedef zb_uint8_t zb_zcl_price_get_current_price_payload_t
 GetCurrentPrice Command Payload Format
 
typedef struct zb_zcl_price_get_block_period_payload_s zb_zcl_price_client_get_block_period_payload_t
 
typedef struct zb_zcl_price_get_conversion_factor_payload_s zb_zcl_price_get_conversion_factor_payload_t
 
typedef struct zb_zcl_price_client_get_calorific_value_payload_s zb_zcl_price_client_get_calorific_value_payload_t
 
typedef struct zb_zcl_price_get_tariff_information_payload_s zb_zcl_price_get_tariff_information_payload_t
 
typedef struct zb_zcl_price_get_price_matrix_payload_s zb_zcl_price_get_price_matrix_payload_t
 
typedef struct zb_zcl_price_get_block_thresholds_payload_s zb_zcl_price_get_block_thresholds_payload_t
 
typedef struct zb_zcl_price_get_co2_value_payload_s zb_zcl_price_get_co2_value_payload_t
 
typedef struct zb_zcl_price_get_tier_labels_payload_s zb_zcl_price_get_tier_labels_payload_t
 
typedef struct zb_zcl_price_get_billing_period_payload_s zb_zcl_price_get_billing_period_payload_t
 
typedef struct zb_zcl_price_get_consolidated_bill_payload_s zb_zcl_price_get_consolidated_bill_payload_t
 
typedef struct zb_zcl_price_cpp_event_response_payload_s zb_zcl_price_cpp_event_response_payload_t
 
typedef struct zb_zcl_price_get_credit_payment_payload_s zb_zcl_price_get_credit_payment_payload_t
 
typedef enum zb_zcl_price_block_period_control_field_bitmap_e zb_zcl_price_block_period_control_field_t
 
typedef enum zb_zcl_price_block_period_duration_control_e zb_zcl_price_block_period_duration_control_t
 Block Period Duration Control Enumeration. More...
 
typedef struct zb_zcl_price_publish_block_period_payload_s zb_zcl_price_publish_block_period_payload_t
 
typedef struct zb_zcl_price_publish_conversion_factor_payload_s zb_zcl_price_publish_conversion_factor_payload_t
 
typedef struct zb_zcl_price_publish_calorific_value_payload_s zb_zcl_price_publish_calorific_value_payload_t
 
typedef enum zb_zcl_price_tariff_type_e zb_zcl_price_tariff_type_t
 
typedef enum zb_zcl_price_tariff_charging_scheme_e zb_zcl_price_tariff_charging_scheme_t
 
typedef struct zb_zcl_price_publish_tariff_information_payload_s zb_zcl_price_publish_tariff_information_payload_t
 
typedef enum zb_zcl_price_publish_matrix_type_e zb_zcl_price_publish_matrix_type_t
 
typedef struct zb_zcl_price_price_matrix_sub_payload_s zb_zcl_price_price_matrix_sub_payload_t
 
typedef struct zb_zcl_price_publish_price_matrix_payload_s zb_zcl_price_publish_price_matrix_payload_t
 
typedef enum zb_zcl_price_publish_block_thresholds_type_e zb_zcl_price_publish_block_thresholds_type_t
 
typedef struct zb_zcl_price_block_threshold_sub_payload_s zb_zcl_price_block_threshold_sub_payload_t
 
typedef struct zb_zcl_price_publish_block_thresholds_payload_s zb_zcl_price_publish_block_thresholds_payload_t
 
typedef struct zb_zcl_price_publish_co2_value_payload_s zb_zcl_price_publish_co2_value_payload_t
 
typedef struct zb_zcl_price_publish_tier_labels_sub_payload_s zb_zcl_price_publish_tier_labels_sub_payload_t
 
typedef struct zb_zcl_price_publish_tier_labels_payload_s zb_zcl_price_publish_tier_labels_payload_t
 
typedef struct zb_zcl_price_publish_billing_period_payload_s zb_zcl_price_publish_billing_period_payload_t
 
typedef struct zb_zcl_price_publish_consolidated_bill_payload_s zb_zcl_price_publish_consolidated_bill_payload_t
 
typedef enum zb_zcl_price_cpp_price_tier_e zb_zcl_price_cpp_price_tier_t
 
typedef enum zb_zcl_price_cpp_event_status_e zb_zcl_price_cpp_event_status_t
 
typedef struct zb_zcl_price_publish_cpp_event_payload_s zb_zcl_price_publish_cpp_event_payload_t
 
typedef struct zb_zcl_price_publish_credit_payment_payload_s zb_zcl_price_publish_credit_payment_payload_t
 
typedef enum zb_zcl_price_currency_change_control_e zb_zcl_price_currency_cghange_control_t
 
typedef struct zb_zcl_price_publish_currency_conversion_payload_s zb_zcl_price_publish_currency_conversion_payload_t
 
typedef struct zb_zcl_price_cancel_tariff_payload_s zb_zcl_price_cancel_tariff_payload_t
 

Enumerations

enum  zb_zcl_price_client_cmd_e {
  ZB_ZCL_PRICE_CLI_CMD_GET_CURRENT_PRICE = 0x00, ZB_ZCL_PRICE_CLI_CMD_GET_SCHEDULED_PRICES = 0x01, ZB_ZCL_PRICE_CLI_CMD_PRICE_ACK = 0x02, ZB_ZCL_PRICE_CLI_CMD_GET_BLOCK_PERIOD = 0x03,
  ZB_ZCL_PRICE_CLI_CMD_GET_CONVERSION_FACTOR = 0x04, ZB_ZCL_PRICE_CLI_CMD_GET_CALORIFIC_VALUE = 0x05, ZB_ZCL_PRICE_CLI_CMD_GET_TARIFF_INFORMATION = 0x06, ZB_ZCL_PRICE_CLI_CMD_GET_PRICE_MATRIX = 0x07,
  ZB_ZCL_PRICE_CLI_CMD_GET_BLOCK_THRESHOLDS = 0x08, ZB_ZCL_PRICE_CLI_CMD_GET_CO2_VALUE = 0x09, ZB_ZCL_PRICE_CLI_CMD_GET_TIER_LABELS = 0x0A, ZB_ZCL_PRICE_CLI_CMD_GET_BILLING_PERIOD = 0x0B,
  ZB_ZCL_PRICE_CLI_CMD_GET_CONSOLIDATED_BILL = 0x0C, ZB_ZCL_PRICE_CLI_CMD_CPP_EVENT_RESPONSE = 0x0D, ZB_ZCL_PRICE_CLI_CMD_GET_CREDIT_PAYMENT = 0x0E, ZB_ZCL_PRICE_CLI_CMD_GET_CURRENCY_CONVERSION = 0x0F,
  ZB_ZCL_PRICE_CLI_CMD_GET_TARIFF_CANCELLATION = 0x10
}
 Price cluster client command identifiers. More...
 
enum  zb_zcl_price_server_cmd_e {
  ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE = 0x00, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BLOCK_PERIOD = 0x01, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CONVERSION_FACTOR = 0x02, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CALORIFIC_VALUE = 0x03,
  ZB_ZCL_PRICE_SRV_CMD_PUBLISH_TARIFF_INFORMATION = 0x04, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE_MATRIX = 0x05, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BLOCK_THRESHOLDS = 0x06, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CO2_VALUE = 0x07,
  ZB_ZCL_PRICE_SRV_CMD_PUBLISH_TIER_LABELS = 0x08, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BILLING_PERIOD = 0x09, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CONSOLIDATED_BILL = 0x0A, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CPP_EVENT = 0x0B,
  ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CREDIT_PAYMENT = 0x0C, ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CURRENCY_CONVERSION = 0x0D, ZB_ZCL_PRICE_SRV_CMD_CANCEL_TARIFF = 0x0E
}
 Price cluster server command identifiers. More...
 
enum  zb_zcl_price_block_period_control_field_bitmap_e { ZB_ZCL_PRICE_CONTROL_PRICE_ACKNOWLEDGEMENT_REQUIRED = 1 << 0, ZB_ZCL_PRICE_CONTROL_REPEATING_BLOCK = 1 << 1 }
 
enum  zb_zcl_price_block_period_duration_control_e { ZB_ZCL_PRICE_DURATION_START_OF_TIMEBASE = 0x00, ZB_ZCL_PRICE_DURATION_END_OF_TIMEBASE, ZB_ZCL_PRICE_DURATION_NOT_SPECIFIED }
 Block Period Duration Control Enumeration. More...
 
enum  zb_zcl_price_tariff_type_e { ZB_ZCL_PRICE_TARIFF_TYPE_DELIVERED = 0x00, ZB_ZCL_PRICE_TARIFF_TYPE_RECEIVED, ZB_ZCL_PRICE_TARIFF_TYPE_DELIVERED_AND_RECEIVED }
 
enum  zb_zcl_price_tariff_charging_scheme_e { ZB_ZCL_PRICE_TOU_TARIFF = 0x00, ZB_ZCL_PRICE_BLOCK_TARIFF, ZB_ZCL_PRICE_BLOCK_TOU_TARIFF_COMMON, ZB_ZCL_PRICE_BLOCK_TOU_TARIFF_INDIVIDUAL }
 
enum  zb_zcl_price_sub_payload_control_bitmap_e { ZB_ZCL_PRICE_SUB_PAYLOAD_TYPE = 0 }
 
enum  zb_zcl_price_publish_matrix_type_e { ZB_ZCL_PRICE_BLOCK_TOU_BASED_INFORMATION = 0x00, ZB_ZCL_PRICE_TOU_BASED_INFORMATION = 0x01 }
 
enum  zb_zcl_price_publish_block_thresholds_type_e { ZB_ZCL_PRICE_SPECIFIC_TOU_TIER = 0x00, ZB_ZCL_PRICE_ALL_TOU_TIER = 0X01 }
 
enum  zb_zcl_price_cpp_price_tier_e { ZB_ZCL_PRICE_CPP_PRICE_TIER_CPP1 = 0, ZB_ZCL_PRICE_CPP_PRICE_TIER_CPP2 = 1 }
 
enum  zb_zcl_price_cpp_event_status_e { ZB_ZCL_PRICE_CPP_EVENT_STATUS_PENDING = 0, ZB_ZCL_PRICE_CPP_EVENT_STATUS_ACCEPTED, ZB_ZCL_PRICE_CPP_EVENT_STATUS_REJECTED, ZB_ZCL_PRICE_CPP_EVENT_STATUS_FORCED }
 
enum  zb_zcl_price_currency_change_control_e { ZB_ZCL_PRICE_CLEAR_BILLING_INFORMATION = 1 << 0, ZB_ZCL_PRICE_CONVERT_BILLING_INFORMATION = 1 << 1, ZB_ZCL_PRICE_CLEAR_OLD_CONSUMPTION_DATA = 1 << 2, ZB_ZCL_PRICE_CONVERT_OLD_CONSUMPTION_DATA = 1 << 3 }
 

Detailed Description

Macro Definition Documentation

◆ ZB_ZCL_CLUSTER_ID_PRICE_CLIENT_ROLE_GENERATED_CMD_LIST

#define ZB_ZCL_CLUSTER_ID_PRICE_CLIENT_ROLE_GENERATED_CMD_LIST
Value:
ZB_ZCL_PRICE_CLI_CMD_GET_SCHEDULED_PRICES, \
ZB_ZCL_PRICE_CLI_CMD_PRICE_ACK, \
ZB_ZCL_PRICE_CLI_CMD_GET_TIER_LABELS

◆ ZB_ZCL_CLUSTER_ID_PRICE_SERVER_ROLE_GENERATED_CMD_LIST

#define ZB_ZCL_CLUSTER_ID_PRICE_SERVER_ROLE_GENERATED_CMD_LIST
Value:
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_TIER_LABELS

◆ ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_EXPECTED_SIZE

#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_EXPECTED_SIZE (   pl)
Value:
(sizeof(*(pl)) \
- (ZB_ZCL_STRING_CONST_SIZE((pl)->rate_label) - ZB_ZCL_GET_STRING_LENGTH((pl)->rate_label)))

Returns actual size of payload.

PublishPrice packet payload doesn't have fixed length because of 'rate_label' field. This macro can be used to check payload size of incomming packet.

◆ ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_INIT

#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_INIT
Value:
{ \
.price_ratio = 0xFF, \
.generation_price = 0xFFFFFFFF, \
.generation_price_ratio = 0xFF, \
.alternate_cost_delivered = 0xFFFFFFFF, \
.alternate_cost_unit = 0xFF, \
.alternate_cost_trailing_digit = 0xFF, \
.number_of_block_thresholds = 0xFF, \
.number_of_generation_tiers = 0x00, \
.generation_tier = 0x00, \
.extended_number_of_price_tiers = 0x00, \
.extended_price_tier = 0x00, \
.extended_register_tier = 0x00, \
}

Macro for initializing PublishPrice Command payload.

See also
zb_zcl_price_publish_price_payload_t
Example

◆ ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_SIZE_IS_VALID

#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_SIZE_IS_VALID (   size)
Value:
- ZB_SIZEOF_FIELD(zb_zcl_price_publish_price_payload_t, rate_label)))

Returns 'true' if payload is in range [min_payload_size, max_payload_size].

◆ ZB_ZCL_PRICE_PUBLISH_TIER_LABELS_PAYLOAD_SIZE_IS_VALID

#define ZB_ZCL_PRICE_PUBLISH_TIER_LABELS_PAYLOAD_SIZE_IS_VALID (   size)    ((size >= (sizeof(zb_zcl_price_publish_tier_labels_payload_t)-sizeof(void *)) ? ZB_TRUE : ZB_FALSE))

Check if PublishTierLabels command payload size is valid

Parameters
size- size of received data payload

◆ ZB_ZCL_PRICE_SEND_CMD_GET_CURRENT_PRICE

#define ZB_ZCL_PRICE_SEND_CMD_GET_CURRENT_PRICE (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _rx_on_when_idle 
)
Value:
zb_zcl_price_send_cmd_get_current_price( \
_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _rx_on_when_idle, NULL)

Macro for sending GetCurrentPrice command.

Parameters
_param- Reference to buffer.
_dst_addr- Address of the device to send command to.
_dst_addr_mode- Address mode for _dst_addr.
_dst_ep- Destination endpoint.
_src_ep- Current endpoint.
_rx_on_when_idle- Helps to determine publishing policy for the server, (see SE spec, subclause D.4.2.3.2.1.1)

◆ ZB_ZCL_PRICE_SEND_CMD_GET_SCHEDULED_PRICES

#define ZB_ZCL_PRICE_SEND_CMD_GET_SCHEDULED_PRICES (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_zcl_price_send_cmd_get_scheduled_prices( \
_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for sending GetScheduledPrices command.

Parameters
_param- Reference to buffer.
_dst_addr- Address of the device to send command to.
_dst_addr_mode- Address mode for _dst_addr.
_dst_ep- Destination endpoint.
_src_ep- Current endpoint.
_payload- Packet payload (zb_zcl_price_get_scheduled_prices_payload_t).

◆ ZB_ZCL_PRICE_SEND_CMD_GET_TIER_LABELS

#define ZB_ZCL_PRICE_SEND_CMD_GET_TIER_LABELS (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_zcl_price_send_cmd_get_tier_labels(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload, NULL)

Macro for sending GetTierLabels command.

Parameters
_param- Reference to buffer.
_dst_addr- Address of the device to send command to.
_dst_addr_mode- Address mode for _dst_addr.
_dst_ep- Destination endpoint.
_src_ep- Current endpoint.
_payload- Packet payload (ref to zb_zcl_price_get_tier_labels_payload_t).

◆ ZB_ZCL_PRICE_SEND_CMD_PUBLISH_PRICE

#define ZB_ZCL_PRICE_SEND_CMD_PUBLISH_PRICE (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_zcl_price_send_cmd_publish_price( \
_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for sending PublishPrice command.

Parameters
_param- Reference to buffer.
_dst_addr- Address of the device to send command to.
_dst_addr_mode- Address mode for _dst_addr.
_dst_ep- Destination endpoint.
_src_ep- Current endpoint.
_payload- Packet payload (zb_zcl_price_publish_price_payload_t).

◆ ZB_ZCL_PRICE_SEND_CMD_PUBLISH_TIER_LABELS

#define ZB_ZCL_PRICE_SEND_CMD_PUBLISH_TIER_LABELS (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_zcl_price_send_cmd_publish_tier_labels(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload, NULL)

Macro for sending PublishTierLabels command.

Parameters
_param- Reference to buffer.
_dst_addr- Address of the device to send command to.
_dst_addr_mode- Address mode for _dst_addr.
_dst_ep- Destination endpoint.
_src_ep- Current endpoint.
_payload- Packet payload (ref to zb_zcl_price_publish_tier_labels_payload_t).

Typedef Documentation

◆ zb_zcl_price_ack_payload_t

PriceAcknowledgement Command payload

See also
SE spec, D.4.2.3.4.1

◆ zb_zcl_price_block_period_control_field_t

◆ zb_zcl_price_block_period_duration_control_t

Block Period Duration Control Enumeration.

See also
SE spec, Table D-106

◆ zb_zcl_price_block_threshold_sub_payload_t

BlockThreshold Sub-Payload Format

See also
SE spec, subclause D.4.2.4.7.2.1

◆ zb_zcl_price_cancel_tariff_payload_t

CancelTariff command payload

See also
SE spec, subclause D.4.2.4.15.2

◆ zb_zcl_price_client_cmd_t

Price cluster client command identifiers.

See also
SE spec, subclause D.4.2.3.

◆ zb_zcl_price_client_get_block_period_payload_t

GetBlockPeriod command payload

See also
SE spec, subclause D.4.2.3.5

◆ zb_zcl_price_client_get_calorific_value_payload_t

◆ zb_zcl_price_cpp_event_response_payload_t

CPPEventResponse command payload

See also
SE spec, subclause D.4.2.3.15.2

◆ zb_zcl_price_cpp_event_status_t

CPP Auth Enumeration

See also
SE spec, Table D-113

◆ zb_zcl_price_cpp_price_tier_t

CPP Auth Enumeration

See also
SE spec, Table D-112

◆ zb_zcl_price_currency_cghange_control_t

Currency Change Control Enumeration

See also
SE spec, Table D-114

◆ zb_zcl_price_get_billing_period_payload_t

GetBillingPeriod command payload

See also
SE spec, subclause D.4.2.3.13.2

◆ zb_zcl_price_get_block_thresholds_payload_t

GetBlockThresholds command payload

See also
SE spec, subclause D.4.2.3.10

◆ zb_zcl_price_get_co2_value_payload_t

GetCO2Value command payload

See also
SE spec, subclause D.4.2.3.11.2

◆ zb_zcl_price_get_consolidated_bill_payload_t

GetConsolidatedBill command payload

See also
SE spec, subclause D.4.2.3.14.2

◆ zb_zcl_price_get_conversion_factor_payload_t

GetConversionFactor command payload.

See also
SE spec, subclause D.4.2.3.6.2

◆ zb_zcl_price_get_credit_payment_payload_t

GetCreditPayment command payload

See also
SE spec, subclause D.4.2.3.16.2

◆ zb_zcl_price_get_price_matrix_payload_t

GetPriceMatrix command payload

See also
SE spec, subclause D.4.2.3.9

◆ zb_zcl_price_get_scheduled_prices_payload_t

GetScheduledPrices Command Payload Format

See also
SE spec, D.4.2.3.3.1

◆ zb_zcl_price_get_tariff_information_payload_t

GetTariffInformation command payload

See also
SE spec, subclause D.4.2.3.8.2

◆ zb_zcl_price_get_tier_labels_payload_t

GetTierLabels command payload

See also
SE spec, subclause D.4.2.3.12.2

◆ zb_zcl_price_price_matrix_sub_payload_t

PriceMatrix Sub-Payload

See also
SE spec, subclause D.4.2.4.6.2.1

◆ zb_zcl_price_publish_billing_period_payload_t

◆ zb_zcl_price_publish_block_period_payload_t

PublishBlockPeriod command payload

See also
SE spec, subclause D.4.2.4.2.1

◆ zb_zcl_price_publish_block_thresholds_payload_t

◆ zb_zcl_price_publish_block_thresholds_type_t

PublishBlockThresholds Sub-Payload Control values

See also
SE spec, Table D-111
zb_zcl_price_sub_payload_control_bitmap_e

◆ zb_zcl_price_publish_calorific_value_payload_t

◆ zb_zcl_price_publish_co2_value_payload_t

PublishCO2Value command payload

See also
SE spec, subclause D.4.2.4.8.2

◆ zb_zcl_price_publish_consolidated_bill_payload_t

◆ zb_zcl_price_publish_conversion_factor_payload_t

◆ zb_zcl_price_publish_cpp_event_payload_t

PublishCPPEvent command payload

See also
SE spec, subclause D.4.2.4.12.2

◆ zb_zcl_price_publish_credit_payment_payload_t

PublishCreditPayment command payload.

See also
SE spec, subclause D.4.2.4.13.2

◆ zb_zcl_price_publish_currency_conversion_payload_t

◆ zb_zcl_price_publish_matrix_type_t

PublishPriceMatrix Sub-Payload Control values.

See also
SE spec, Table D-110
zb_zcl_price_sub_payload_control_bitmap_e

◆ zb_zcl_price_publish_price_matrix_payload_t

PublishPriceMatrix command payload

See also
SE spec, subclause D.4.2.4.6.2

◆ zb_zcl_price_publish_price_payload_t

PublishPrice command payload.

See also
SE spec, subclause D.4.2.3.1.1.

◆ zb_zcl_price_publish_tariff_information_payload_t

◆ zb_zcl_price_publish_tier_labels_payload_t

PublishTierLabels command payload

See also
SE spec, subclause D.4.2.4.9.2

◆ zb_zcl_price_publish_tier_labels_sub_payload_t

◆ zb_zcl_price_server_cmd_t

Price cluster server command identifiers.

See also
SE spec, subclause D.4.2.4.

◆ zb_zcl_price_tariff_charging_scheme_t

Tariff Charging Scheme Enumeration

See also
SE spec, Table D-109

◆ zb_zcl_price_tariff_type_t

Tariff Type Enumeration

See also
SE spec, Table D-108

Enumeration Type Documentation

◆ zb_zcl_price_block_period_control_field_bitmap_e

Block Period Control Field BitMap

See also
SE spec, Table D-104
zb_zcl_price_publish_block_period_payload_s::block_period_control
Enumerator
ZB_ZCL_PRICE_CONTROL_PRICE_ACKNOWLEDGEMENT_REQUIRED 

1=Price Acknowledgement required,
0=Price Acknowledgement not required

ZB_ZCL_PRICE_CONTROL_REPEATING_BLOCK 

1=Repeating Block,
0=Non Repeating Block

◆ zb_zcl_price_block_period_duration_control_e

Block Period Duration Control Enumeration.

See also
SE spec, Table D-106
Enumerator
ZB_ZCL_PRICE_DURATION_START_OF_TIMEBASE 

Start of Timebase

ZB_ZCL_PRICE_DURATION_END_OF_TIMEBASE 

End of Timebase

ZB_ZCL_PRICE_DURATION_NOT_SPECIFIED 

Not Specified

◆ zb_zcl_price_client_cmd_e

Price cluster client command identifiers.

See also
SE spec, subclause D.4.2.3.
Enumerator
ZB_ZCL_PRICE_CLI_CMD_GET_CURRENT_PRICE 

GetCurrentPrice command initiates a PublishPrice command for the current time.

See also
SE spec, subclause D.4.2.3.2.
zb_zcl_price_get_current_price_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_SCHEDULED_PRICES 

GetScheduledPrices command initiates a PublishPrice command for available price events.

See also
zb_zcl_price_get_scheduled_prices_payload_s
SE spec, subclause D.4.2.3.3.
ZB_ZCL_PRICE_CLI_CMD_PRICE_ACK 

PriceAcknowledgement command provides the ability to acknowledge a previously sent PublishPrice command.

See also
SE spec, subclause D.4.2.3.4.
zb_zcl_price_ack_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_BLOCK_PERIOD 

GetBlockPeriod(s) command. This command initiates a PublishBlockPeriod command for the currently scheduled block periods.

See also
SE spec, subclause D.4.2.3.5.
zb_zcl_price_get_block_period_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CONVERSION_FACTOR 

GetConversionFactor command. This command initiates a PublishConversionFactor command(s) for scheduled conversion factor updates.

See also
SE spec, subclause D.4.2.3.6
zb_zcl_price_get_conversion_factor_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CALORIFIC_VALUE 

GetCalorificValue command. This command initiates a PublishCalorificValue command(s) for scheduled calorific value updates.

See also
SE spec, subclause D.4.2.3.7.
zb_zcl_price_client_get_calorific_value_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_TARIFF_INFORMATION 

GetTariffInformation command. This command initiates PublishTariffInformation command(s) for scheduled tariff updates.

See also
SE spec, subclause D.4.2.3.8.
zb_zcl_price_get_tariff_information_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_PRICE_MATRIX 

GetPriceMatrix command. This command initiates a PublishPriceMatrix command for the scheduled Price Matrix updates.

See also
SE spec, subclause D.4.2.3.9.
zb_zcl_price_get_price_matrix_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_BLOCK_THRESHOLDS 

GetBlockThresholds command. This command initiates a PublishBlockThreshold command for the scheduled Block Threshold updates.

See also
SE spec, subclause D.4.2.3.10.
zb_zcl_price_get_block_thresholds_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CO2_VALUE 

GetCO2Value command. This command initiates PublishCO2Value command(s) for scheduled CO2 conversion factor updates.

See also
SE spec, subclause D.4.2.3.11.
zb_zcl_price_get_co2_value_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_TIER_LABELS 

GetTierLabels command. This command allows a client to retrieve the tier labels associated with a given tariff; this command initiates a PublishTierLabels command from the server.

See also
SE spec, subclause D.4.2.3.12.
zb_zcl_price_get_tier_labels_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_BILLING_PERIOD 

GetBillingPeriod command. This command initiates one or more PublishBillingPeriod commands for currently scheduled billing periods.

See also
SE spec, subclause D.4.2.3.13.
zb_zcl_price_get_billing_period_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CONSOLIDATED_BILL 

GetConsolidatedBill command. This command initiates one or more PublishConsolidatedBill commands with the requested billing information.

See also
SE spec, subclause D.4.2.3.14.
zb_zcl_price_get_consolidated_bill_payload_s
ZB_ZCL_PRICE_CLI_CMD_CPP_EVENT_RESPONSE 

CPPEventResponse command. The CPPEventResponse command is sent from a Client (IHD) to the ESI to notify it of a Critical Peak Pricing event authorization.

Note
The CPPEventResponse command in current revision of SE specification is provisional and not certifiable. This feature may change before reaching certifiable status in a future revision of SE specification.
See also
SE spec, subclause D.4.2.3.15.
zb_zcl_price_cpp_event_response_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CREDIT_PAYMENT 

GetCreditPayment command. This command initiates PublishCreditPayment commands for the requested credit payment information.

See also
SE spec, subclause D.4.2.3.16.
zb_zcl_price_get_credit_payment_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_CURRENCY_CONVERSION 

GetCurrencyConversion command. This command initiates a PublishCurrencyConversion command for the currency conversion factor updates.

See also
SE spec, subclause D.4.2.3.17.
zb_zcl_price_publish_currency_conversion_payload_s
ZB_ZCL_PRICE_CLI_CMD_GET_TARIFF_CANCELLATION 

GetTariffCancellation command. This command initiates the return of the last CancelTariff command held on the associated server.

See also
SE spec, subclauseD.4.2.3.18.
Note
This command has no payload.

◆ zb_zcl_price_cpp_event_status_e

CPP Auth Enumeration

See also
SE spec, Table D-113
Enumerator
ZB_ZCL_PRICE_CPP_EVENT_STATUS_PENDING 

Pending

ZB_ZCL_PRICE_CPP_EVENT_STATUS_ACCEPTED 

Accepted

ZB_ZCL_PRICE_CPP_EVENT_STATUS_REJECTED 

Rejected

ZB_ZCL_PRICE_CPP_EVENT_STATUS_FORCED 

Forced

◆ zb_zcl_price_cpp_price_tier_e

CPP Auth Enumeration

See also
SE spec, Table D-112
Enumerator
ZB_ZCL_PRICE_CPP_PRICE_TIER_CPP1 

CPP1

ZB_ZCL_PRICE_CPP_PRICE_TIER_CPP2 

CPP2

◆ zb_zcl_price_currency_change_control_e

Currency Change Control Enumeration

See also
SE spec, Table D-114
Enumerator
ZB_ZCL_PRICE_CLEAR_BILLING_INFORMATION 

1 = Clear Billing Information
0 = Do Not Clear Billing Information

ZB_ZCL_PRICE_CONVERT_BILLING_INFORMATION 

1 = Convert Billing Information using the New Currency
0 = Do Not Convert Billing Information

ZB_ZCL_PRICE_CLEAR_OLD_CONSUMPTION_DATA 

1 = Clear Old Consumption Data
0 = Do Not Clear Old Consumption Data

ZB_ZCL_PRICE_CONVERT_OLD_CONSUMPTION_DATA 

1 = Convert Old Consumption Data using the New Currency
0 = Do Not Convert Old Consumption Data

◆ zb_zcl_price_publish_block_thresholds_type_e

PublishBlockThresholds Sub-Payload Control values

See also
SE spec, Table D-111
zb_zcl_price_sub_payload_control_bitmap_e
Enumerator
ZB_ZCL_PRICE_SPECIFIC_TOU_TIER 

Block Thresholds supplied apply to a specific TOU tier

ZB_ZCL_PRICE_ALL_TOU_TIER 

Block Thresholds supplied apply to all TOU tiers or when Block Only charging is in operation

◆ zb_zcl_price_publish_matrix_type_e

PublishPriceMatrix Sub-Payload Control values.

See also
SE spec, Table D-110
zb_zcl_price_sub_payload_control_bitmap_e
Enumerator
ZB_ZCL_PRICE_BLOCK_TOU_BASED_INFORMATION 

The information stored in the sub payload is Block only or Block/TOU based

ZB_ZCL_PRICE_TOU_BASED_INFORMATION 

The information stored in the sub payload is TOU based.

◆ zb_zcl_price_server_cmd_e

Price cluster server command identifiers.

See also
SE spec, subclause D.4.2.4.
Enumerator
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE 

PublishPrice command. The Publish Price command is generated in response to receiving a GetCurrentPrice command, in response to a GetScheduledPrices command, and when an update to the pricing information is available from the commodity provider.

See also
SE spec, subclause D.4.2.4.1.
zb_zcl_price_publish_price_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BLOCK_PERIOD 

PublishBlockPeriod command. The Publish Block Period command is generated in response to receiving a GetBlockPeriod(s) command (see sub-clause D.4.2.3.5) or when an update to the block tariff schedule is available from the commodity provider.

See also
SE spec, subclause D.4.2.4.2.
zb_zcl_price_publish_block_period_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CONVERSION_FACTOR 

PublishConversionFactor command. The PublishConversionFactor command is sent in response to a GetConversionFactor command or if a new conversion factor is available.

See also
SE spec, subclause D.4.2.4.3.
zb_zcl_price_publish_conversion_factor_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CALORIFIC_VALUE 

PublishCalorificValue command. The PublishCalorificValue command is sent in response to a GetCalorificValue command or if a new calorific value is available.

See also
SE spec, subclause D.4.2.4.4.
zb_zcl_price_publish_calorific_value_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_TARIFF_INFORMATION 

PublishTariffInformation command. The PublishTariffInformation command is sent in response to a GetTariffInformation command or if new tariff information is available (including Price Matrix and Block Thresholds).

See also
SE spec, subclause D.4.2.4.5.
zb_zcl_price_publish_tariff_information_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE_MATRIX 

PublishPriceMatrix command. The PublishPriceMatrix command is used to publish the Block Price Information Set (up to 15 tiers x 15 blocks) and the Extended Price Information Set (up to 48 tiers). The PublishPriceMatrix command is sent in response to a GetPriceMatrix command.

See also
SE spec, subclause D.4.2.4.6.
zb_zcl_price_publish_price_matrix_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BLOCK_THRESHOLDS 

PublishBlockThresholds command. The PublishBlockThresholds command is sent in response to a GetBlockThresholds command.

See also
SE spec, subclause D.4.2.4.7.
zb_zcl_price_publish_block_thresholds_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CO2_VALUE 

PublishCO2Value command. The PublishCO2Value command is sent in response to a GetCO2Value command or if a new CO2 conversion factor is available.

See also
SE spec, subclause D.4.2.4.8.
zb_zcl_price_publish_co2_value_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_TIER_LABELS 

PublishTierLabels command. The PublishTierLabels command is generated in response to receiving a GetTierLabels command or when there is a tier label change.

See also
SE spec, subclause D.4.2.4.9.
zb_zcl_price_publish_tier_labels_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_BILLING_PERIOD 

PublishBillingPeriod command. The PublishBillingPeriod command is generated in response to receiving a GetBillingPeriod(s) command or when an update to the Billing schedule is available from the commodity supplier.

See also
SE spec, subclause D.4.2.4.10.
zb_zcl_price_publish_billing_period_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CONSOLIDATED_BILL 

PublishConsolidatedBill command. The PublishConsolidatedBill command is used to make consolidated billing information from previous billing periods available to other end devices. This command is issued in response to a GetConsolidatedBill command or if new billing information is available.

See also
SE spec, subclause D.4.2.4.11.
zb_zcl_price_publish_consolidated_bill_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CPP_EVENT 

PublishCPPEvent command. The PublishCPPEvent command is sent from an ESI to its Price clients to notify them of a Critical Peak Pricing (CPP) event.

Note
The CPPEventResponse command in current revision of SE specification is provisional and not certifiable. This feature may change before reaching certifiable status in a future revision of SE specification.
See also
SE spec, subclause D.4.2.4.12.
zb_zcl_price_publish_cpp_event_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CREDIT_PAYMENT 

PublishCreditPayment command. The PublishCreditPayment command is used to update the credit payment information when available.

See also
SE spec, subclause D.4.2.4.13.
zb_zcl_price_publish_credit_payment_payload_s
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_CURRENCY_CONVERSION 

PublishCurrencyConversion command. The PublishCurrencyConversion command is sent in response to a GetCurrencyConversion command or when a new currency becomes available.

See also
SE spec, subclause D.4.2.4.14.
zb_zcl_price_publish_currency_conversion_payload_s
ZB_ZCL_PRICE_SRV_CMD_CANCEL_TARIFF 

CancelTariff command. The CancelTariff command indicates that all data associated with a particular tariff instance should be discarded.

See also
SE spec, subclause D.4.2.4.15.
zb_zcl_price_cancel_tariff_payload_s

◆ zb_zcl_price_sub_payload_control_bitmap_e

PublishPriceMatrix and PublishBlockThresholds Sub-Payload Control Bitmap

See also
SE spec, Table D-110
SE spec, Table D-111
zb_zcl_price_publish_matrix_type_e
zb_zcl_price_publish_block_thresholds_type_e
Enumerator
ZB_ZCL_PRICE_SUB_PAYLOAD_TYPE 

0-bit of bitfield

◆ zb_zcl_price_tariff_charging_scheme_e

Tariff Charging Scheme Enumeration

See also
SE spec, Table D-109
Enumerator
ZB_ZCL_PRICE_TOU_TARIFF 

TOU Tariff

ZB_ZCL_PRICE_BLOCK_TARIFF 

Block Tariff

ZB_ZCL_PRICE_BLOCK_TOU_TARIFF_COMMON 

Block/TOU Tariff with common thresholds

ZB_ZCL_PRICE_BLOCK_TOU_TARIFF_INDIVIDUAL 

Block/TOU Tariff with individual thresholds per tier

◆ zb_zcl_price_tariff_type_e

Tariff Type Enumeration

See also
SE spec, Table D-108
Enumerator
ZB_ZCL_PRICE_TARIFF_TYPE_DELIVERED 

Delivered Tariff

ZB_ZCL_PRICE_TARIFF_TYPE_RECEIVED 

Received Tariff

ZB_ZCL_PRICE_TARIFF_TYPE_DELIVERED_AND_RECEIVED 

Delivered and Received Tariff

zb_zcl_price_publish_price_payload_s
PublishPrice command payload.
Definition: zb_zcl_price.h:2887
ZB_ZCL_PRICE_CLI_CMD_GET_CURRENT_PRICE
@ ZB_ZCL_PRICE_CLI_CMD_GET_CURRENT_PRICE
Definition: zb_zcl_price.h:2589
ZB_ZCL_PRICE_DEFAULT_PRICE_CONTROL_VALUE
#define ZB_ZCL_PRICE_DEFAULT_PRICE_CONTROL_VALUE
Controls PriceAck policy for outgoing PublishPrice packets. SE devices can enable this field (refer z...
Definition: zb_zcl_price.h:3045
zb_zcl_price_publish_price_payload_t
struct zb_zcl_price_publish_price_payload_s zb_zcl_price_publish_price_payload_t
PublishPrice command payload.
ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_INIT
#define ZB_ZCL_PRICE_PUBLISH_PRICE_PAYLOAD_INIT
Macro for initializing PublishPrice Command payload.
Definition: zb_zcl_price.h:3055
ZB_ZCL_GET_STRING_LENGTH
#define ZB_ZCL_GET_STRING_LENGTH(str)
Get ZCL string length.
Definition: zb_zcl_common.h:439
ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE
@ ZB_ZCL_PRICE_SRV_CMD_PUBLISH_PRICE
Definition: zb_zcl_price.h:2738
ZB_ZCL_STRING_CONST_SIZE
#define ZB_ZCL_STRING_CONST_SIZE(str)
Returns size of a string constant.
Definition: zb_zcl_common.h:444