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
endpointId An endpoint identifier
groupId A group identifier
groupName A pointer to an array containing name of group
groupNameLength Length of group name array (groupName is ignored if this length is 0)
address pointer 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
endpointId An endpoint identifier
groupId A group identifier
groupName An array pointer which will contain the group name
groupNameLength A 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
endpointId An endpoint identifier
dstAddr IPv6 address to be checked
groupId A 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
endpointId An endpoint identifier
groupId A 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
endpointId An endpoint identifier
Returns
EmberZclStatus_t emberZclRemoveEndpointFromGroup ( EmberZclEndpointId_t endpointId,
EmberZclGroupId_t groupId
)

This function removes an endpoint from a group.

Parameters
endpointId An endpoint identifier
groupId A group identifier
Returns
EmberZclStatus_t emberZclRemoveGroup ( EmberZclGroupId_t groupId )

This function removes a group.

Parameters
groupId A group identifier
Returns