Logo
Developing with ZBOSS for Zigbee
zb_zcl_multistate_value.h File Reference

Data Structures

struct  zb_zcl_multi_value_attrs_s
 Multistate Value cluster attributes. More...
 

Macros

#define ZB_ZCL_MULTI_VALUE_CLUSTER_REVISION_DEFAULT   ((zb_uint16_t)0x0001u)
 Default value for Multistate Value cluster revision global attribute. More...
 
#define ZB_ZCL_MULTI_VALUE_DESCRIPTION_DEFAULT_VALUE   {0}
 Default value for Description attribute. More...
 
#define ZB_ZCL_MULTI_VALUE_OUT_OF_SERVICE_DEFAULT_VALUE   ZB_FALSE
 Default value for OutOfService attribute. More...
 
#define ZB_ZCL_MULTI_VALUE_RELIABILITY_DEFAULT_VALUE   ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_FAULT_DETECTED
 Default value for Reliability attribute. More...
 
#define ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_DEFAULT_VALUE   ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_NORMAL
 Default value for StatusFlags attribute. More...
 
#define ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_MIN_VALUE   0
 StatusFlags attribute minimum value. More...
 
#define ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_MAX_VALUE   0x0f
 StatusFlags attribute maximum value. More...
 
#define ZB_ZCL_DECLARE_MULTI_VALUE_ATTRIB_LIST(attr_list, description, out_of_service, present_value, reliability, relinquish_default, status_flags, app_type)
 Declare attribute list for Multistate Value cluster. More...
 
#define ZB_ZCL_MULTI_VALUE_DESCRIPTION_MAX_LEN   16
 
#define ZB_ZCL_DECLARE_MULTI_VALUE_ATTR_LIST(attr_list, attrs)
 Declare attribute list for Multistate Value cluster. More...
 
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE_SERVER_ROLE_INIT   zb_zcl_multi_value_init_server
 
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE_CLIENT_ROLE_INIT   zb_zcl_multi_value_init_client
 
Multistate Value cluster attribute value manipulation API
#define ZB_ZCL_MULTI_VALUE_SET_NORMAL_MODE(ep)
 Set normal operating mode. More...
 
#define ZB_ZCL_MULTI_VALUE_SET_OUT_OF_SERVICE(ep)
 Set Out of service operating mode. More...
 
#define ZB_ZCL_MULTI_VALUE_SET_OVERRIDDEN_MODE(ep)
 Set overridden operating mode. More...
 
#define ZB_ZCL_MULTI_VALUE_SET_FAULT_STATUS(ep)
 Set fault status flag. More...
 

Typedefs

typedef struct zb_zcl_multi_value_attrs_s zb_zcl_multi_value_attrs_t
 Multistate Value cluster attributes. More...
 

Enumerations

Multistate Value cluster attributes
enum  zb_zcl_multi_value_attr_e {
  ZB_ZCL_ATTR_MULTI_VALUE_DESCRIPTION_ID = 0x001c, ZB_ZCL_ATTR_MULTI_VALUE_OUT_OF_SERVICE_ID = 0x0051, ZB_ZCL_ATTR_MULTI_VALUE_PRESENT_VALUE_ID = 0x0055, ZB_ZCL_ATTR_MULTI_VALUE_RELIABILITY_ID = 0x0067,
  ZB_ZCL_ATTR_MULTI_VALUE_RELINQUISH_DEFAULT_ID = 0x0068, ZB_ZCL_ATTR_MULTI_VALUE_STATUS_FLAGS_ID = 0x006f, ZB_ZCL_ATTR_MULTI_VALUE_APPLICATION_TYPE_ID = 0x0100
}
 Multistate Value cluster attribute identifiers. More...
 
enum  zb_zcl_multi_value_status_flags_value_e {
  ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_NORMAL = 0x00, ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_IN_ALARM = 0x01, ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_FAULT = 0x02, ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_OVERRIDDEN = 0x04,
  ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_OUT_OF_SERVICE = 0x08
}
 StatusFlags attribute values. More...
 
enum  zb_zcl_multi_value_reliability_value_e {
  ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_FAULT_DETECTED = 0x00, ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_SENSOR = 0x01, ZB_ZCL_MULTI_VALUE_RELIABILITY_OVER_RANGE = 0x02, ZB_ZCL_MULTI_VALUE_RELIABILITY_UNDER_RANGE = 0x03,
  ZB_ZCL_MULTI_VALUE_RELIABILITY_OPEN_LOOP = 0x04, ZB_ZCL_MULTI_VALUE_RELIABILITY_SHORTED_LOOP = 0x05, ZB_ZCL_MULTI_VALUE_RELIABILITY_NO_OUTPUT = 0x06, ZB_ZCL_MULTI_VALUE_RELIABILITY_UNRELIABLE_OTHER = 0x07,
  ZB_ZCL_MULTI_VALUE_RELIABILITY_PROCESS_ERROR = 0x08, ZB_ZCL_MULTI_VALUE_RELIABILITY_MULTI_STATE_FAULT = 0x09, ZB_ZCL_MULTI_VALUE_RELIABILITY_CONFIGURATION_ERROR = 0x0a
}
 Reliability attribute values. More...
 

Functions

void zb_zcl_multi_value_init_server (void)
 
void zb_zcl_multi_value_init_client (void)
 

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 physical quantity that the PresentValue attribute of the cluster represents.
  • Index = Bits 0 to 15 The specific application usage of the cluster.
#define ZB_ZCL_MV_GROUP_ID   0x0d
 
#define ZB_ZCL_MV_SET_APP_TYPE_WITH_ID(_type, _id)   ((ZB_ZCL_MV_GROUP_ID << 24) | ((_type & 0xff) << 16) | (_id & 0xffff))
 
enum  zb_zcl_mv_application_types_e { ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC = 0x0000 }
 Type values for Multistate Value cluster applications. More...
 
enum  zb_zcl_mv_app_domain_hvac_e {
  ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_0 = (( 0x0d << 24) | (( ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC & 0xff) << 16) | ( 0x0000 & 0xffff)), ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_1, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_2, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_3,
  ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_4, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_5, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_6, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_7,
  ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_8, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_9, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_10, ZB_ZCL_MV_APP_DOMAIN_HVAC_STATES_GROUP_11,
  ZB_ZCL_MV_APP_DOMAIN_HVAC_OTHER = (( 0x0d << 24) | (( ZB_ZCL_MV_APP_TYPE_APP_DOMAIN_HVAC & 0xff) << 16) | ( 0xffff & 0xffff))
}
 

Macro Definition Documentation

§ ZB_ZCL_CLUSTER_ID_MULTI_VALUE_CLIENT_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE_CLIENT_ROLE_INIT   zb_zcl_multi_value_init_client

§ ZB_ZCL_CLUSTER_ID_MULTI_VALUE_SERVER_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE_SERVER_ROLE_INIT   zb_zcl_multi_value_init_server

§ ZB_ZCL_MULTI_VALUE_SET_FAULT_STATUS

#define ZB_ZCL_MULTI_VALUE_SET_FAULT_STATUS (   ep)
Value:
{ \
zb_zcl_attr_t *attr_desc; \
zb_uint8_t val; \
\
if (attr_desc) \
{ \
val = *(zb_uint8_t*)attr_desc->data_p | ZB_ZCL_MULTI_VALUE_STATUS_FLAGS_FAULT \
&val, ZB_FALSE); \
} \
}
#define ZB_FALSE
Definition: zb_types.h:349
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE
Definition: zb_zcl_common.h:227
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:147
StatusFlags attribute, ZCL spec 3.14.11.3.
Definition: zb_zcl_multistate_value.h:76
zb_zcl_attr_t * zb_zcl_get_attr_desc_a(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id)
Definition: zb_zcl_multistate_value.h:89
#define ZB_ZCL_CLUSTER_SERVER_ROLE
Definition: zb_zcl_common.h:190
#define ZB_ZCL_SET_ATTRIBUTE(ep, cluster_id, cluster_role, attr_id, value_ptr, check_access)
Sets attribute value, perform all needed checks before and after setting new value, including read-only check and marking for reporting.
Definition: zb_zcl_common.h:900

Set fault status flag.

Parameters
ep- endpoint number

§ ZB_ZCL_MULTI_VALUE_SET_NORMAL_MODE

#define ZB_ZCL_MULTI_VALUE_SET_NORMAL_MODE (   ep)
Value:
{ \
zb_uint8_t val; \
\
val = ZB_FALSE; \
ZB_ZCL_SET_ATTRIBUTE(ep, ZB_ZCL_CLUSTER_ID_MULTI_VALUE, \
&val, ZB_FALSE); \
\
ZB_ZCL_SET_ATTRIBUTE(ep, ZB_ZCL_CLUSTER_ID_MULTI_VALUE, \
&val, ZB_FALSE); \
}
OutOfService attribute, ZCL spec 3.14.11.1.
Definition: zb_zcl_multistate_value.h:63
Definition: zb_zcl_multistate_value.h:87
#define ZB_FALSE
Definition: zb_types.h:349
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE
Definition: zb_zcl_common.h:227
StatusFlags attribute, ZCL spec 3.14.11.3.
Definition: zb_zcl_multistate_value.h:76
#define ZB_ZCL_CLUSTER_SERVER_ROLE
Definition: zb_zcl_common.h:190

Set normal operating mode.

Parameters
ep- endpoint number

§ ZB_ZCL_MULTI_VALUE_SET_OUT_OF_SERVICE

#define ZB_ZCL_MULTI_VALUE_SET_OUT_OF_SERVICE (   ep)
Value:
{ \
zb_zcl_attr_t *attr_desc; \
zb_uint8_t val; \
\
val = ZB_TRUE; \
ZB_ZCL_SET_ATTRIBUTE(ep, ZB_ZCL_CLUSTER_ID_MULTI_VALUE, \
&val, ZB_FALSE); \
\
if (attr_desc) \
{ \
&val, ZB_FALSE); \
} \
}
OutOfService attribute, ZCL spec 3.14.11.1.
Definition: zb_zcl_multistate_value.h:63
#define ZB_FALSE
Definition: zb_types.h:349
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE
Definition: zb_zcl_common.h:227
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:147
StatusFlags attribute, ZCL spec 3.14.11.3.
Definition: zb_zcl_multistate_value.h:76
zb_zcl_attr_t * zb_zcl_get_attr_desc_a(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id)
Definition: zb_zcl_multistate_value.h:91
#define ZB_ZCL_CLUSTER_SERVER_ROLE
Definition: zb_zcl_common.h:190
#define ZB_TRUE
Definition: zb_types.h:350
#define ZB_ZCL_SET_ATTRIBUTE(ep, cluster_id, cluster_role, attr_id, value_ptr, check_access)
Sets attribute value, perform all needed checks before and after setting new value, including read-only check and marking for reporting.
Definition: zb_zcl_common.h:900

Set Out of service operating mode.

Parameters
ep- endpoint number

§ ZB_ZCL_MULTI_VALUE_SET_OVERRIDDEN_MODE

#define ZB_ZCL_MULTI_VALUE_SET_OVERRIDDEN_MODE (   ep)
Value:
{ \
zb_zcl_attr_t *attr_desc; \
zb_uint8_t val; \
\
if (attr_desc) \
{ \
&val, ZB_FALSE); \
} \
}
#define ZB_FALSE
Definition: zb_types.h:349
#define ZB_ZCL_CLUSTER_ID_MULTI_VALUE
Definition: zb_zcl_common.h:227
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:147
StatusFlags attribute, ZCL spec 3.14.11.3.
Definition: zb_zcl_multistate_value.h:76
zb_zcl_attr_t * zb_zcl_get_attr_desc_a(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id)
#define ZB_ZCL_CLUSTER_SERVER_ROLE
Definition: zb_zcl_common.h:190
#define ZB_ZCL_SET_ATTRIBUTE(ep, cluster_id, cluster_role, attr_id, value_ptr, check_access)
Sets attribute value, perform all needed checks before and after setting new value, including read-only check and marking for reporting.
Definition: zb_zcl_common.h:900
Definition: zb_zcl_multistate_value.h:90

Set overridden operating mode.

Parameters
ep- endpoint number

Function Documentation

§ zb_zcl_multi_value_init_client()

void zb_zcl_multi_value_init_client ( void  )

§ zb_zcl_multi_value_init_server()

void zb_zcl_multi_value_init_server ( void  )