Data Structures

struct  EmberZclGroupEntry_t

Macros

#define EMBER_ZCL_GROUP_ALL_ENDPOINTS   0xFFFF
 
#define EMBER_ZCL_GROUP_MIN   0x0001
 
#define EMBER_ZCL_GROUP_MAX   0xFFF7
 
#define EMBER_ZCL_GROUP_NULL   0x0000
 
#define EMBER_ZCL_MAX_GROUP_NAME_LENGTH   0

Typedefs

typedef uint16_t EmberZclGroupId_t

Functions

bool emberZclIsEndpointInGroup (EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId)
 
bool emberZclIsEndpointAndAddrInGroup (EmberZclEndpointId_t endpointId, const EmberIpv6Address *dstAddr, EmberZclGroupId_t groupId)
 
bool emberZclGetGroupName (EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId, uint8_t *groupName, uint8_t *groupNameLength)
 
EmberZclStatus_t emberZclAddEndpointToGroup (EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId, const uint8_t *groupName, uint8_t groupNameLength, EmberIpv6Address *address)
 
EmberZclStatus_t emberZclRemoveEndpointFromGroup (EmberZclEndpointId_t endpointId, EmberZclGroupId_t groupId)
 
EmberZclStatus_t emberZclRemoveEndpointFromAllGroups (EmberZclEndpointId_t endpointId)
 
EmberZclStatus_t emberZclRemoveGroup (EmberZclGroupId_t groupId)
 
EmberZclStatus_t emberZclRemoveAllGroups (void)

Detailed Description

See zcl-core-types.h for source code.

See zcl-core.h for source code.

Macro Definition Documentation

#define EMBER_ZCL_GROUP_ALL_ENDPOINTS   0xFFFF

A group identifier for the all-endpoints (endpoint broadcast) group.

All endpoints are always members of this group. This group cannot be removed and no endpoint can be removed from it.

#define EMBER_ZCL_GROUP_MAX   0xFFF7

A maximum group identifier value.

#define EMBER_ZCL_GROUP_MIN   0x0001

A minimum group identifier value.

#define EMBER_ZCL_GROUP_NULL   0x0000

A distinguished value that represents a null (invalid) group identifier.

#define EMBER_ZCL_MAX_GROUP_NAME_LENGTH   0

Typedef Documentation

typedef uint16_t EmberZclGroupId_t

A group identifier.

Function Documentation

EmberZclStatus_t emberZclAddEndpointToGroup ( EmberZclEndpointId_t  endpointId,
EmberZclGroupId_t  groupId,
const uint8_t *  groupName,
uint8_t  groupNameLength,
EmberIpv6Address address 
)

This function adds an endpoint to a group.

Parameters
endpointIdAn endpoint identifier
groupIdA group identifier
groupNameA pointer to an array containing name of group
groupNameLengthLength of group name array (groupName is ignored if this length is 0)
addresspointer to the IPv6 multicast address assigned to the group, must be non-NULL
Returns
bool emberZclGetGroupName ( EmberZclEndpointId_t  endpointId,
EmberZclGroupId_t  groupId,
uint8_t *  groupName,
uint8_t *  groupNameLength 
)

This function gets a group name and its length.

Parameters
endpointIdAn endpoint identifier
groupIdA group identifier
groupNameAn array pointer which will contain the group name
groupNameLengthA pointer which will contain the group name length
Returns
true if group name was retrieved successfully, false otherwise.
bool emberZclIsEndpointAndAddrInGroup ( EmberZclEndpointId_t  endpointId,
const EmberIpv6Address dstAddr,
EmberZclGroupId_t  groupId 
)

This function returns TRUE if the supplied endpoint is a member of the group and the supplied address is associated with the group. The following addresses are automatically considered associated with any group:

  • Any unicast IPv6 address
  • All CoAP Nodes IPv6 address
  • All Nodes IPv6 address
  • The multicast IPv6 address constructed from the group ID according to the ZCL Base Device Behavior Specification
Parameters
endpointIdAn endpoint identifier
dstAddrIPv6 address to be checked
groupIdA group identifier
Returns
true if the endpoint is a member of the group and the address is associated with the group, false otherwise.
bool emberZclIsEndpointInGroup ( EmberZclEndpointId_t  endpointId,
EmberZclGroupId_t  groupId 
)

This function determines if an endpoint is a member of a group.

Parameters
endpointIdAn endpoint identifier
groupIdA group identifier
Returns
true if the endpoint is a member of the group, false otherwise.
EmberZclStatus_t emberZclRemoveAllGroups ( void  )

This function removes all groups.

Returns
EmberZclStatus_t emberZclRemoveEndpointFromAllGroups ( EmberZclEndpointId_t  endpointId)

This function removes an endpoint from all groups to which it belongs.

Parameters
endpointIdAn endpoint identifier
Returns
EmberZclStatus_t emberZclRemoveEndpointFromGroup ( EmberZclEndpointId_t  endpointId,
EmberZclGroupId_t  groupId 
)

This function removes an endpoint from a group.

Parameters
endpointIdAn endpoint identifier
groupIdA group identifier
Returns
EmberZclStatus_t emberZclRemoveGroup ( EmberZclGroupId_t  groupId)

This function removes a group.

Parameters
groupIdA group identifier
Returns