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_GROUP_ASSIGNMENT_MODE_AUTO_MIN   0x00
 
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MAX   0x10
 
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_MANUAL   0xFE
 
#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_NULL   0xFF
 
#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 emberZclIsAddressGroupMulticast (const EmberIpv6Address *dstAddr)
 
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, uint8_t assignmentMode, const uint8_t *groupAddress, uint16_t groupUdpPort)
 
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_ASSIGNMENT_MODE_AUTO_MAX   0x10

Upper range for the automatic address assignment mode

#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_AUTO_MIN   0x00

Lower range for the automatic address assignment mode

#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_MANUAL   0xFE

Manual address assignment mode

#define EMBER_ZCL_GROUP_ASSIGNMENT_MODE_NULL   0xFF

Value representing empty address parameters passed, using defaults

#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,
uint8_t  assignmentMode,
const uint8_t *  groupAddress,
uint16_t  groupUdpPort 
)

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)
assignmentModeAssignment Mode parameter of the "Add Group" command. If set to 0xff groupAddress and groupUdpPort should be ingnored.
groupAddressPointer to an array containing the "Multicats IPv6 Address" parameter passed to the "Add Group" command: based on the assignment mode this could be the full address, flag bits or NULL.
groupUdpPortUDP port number that group should be listening on, zero value means the group will listen on EMBER_COAP_PORT and EMBER_COAP_SECURE_PORT.
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 emberZclIsAddressGroupMulticast ( const EmberIpv6Address dstAddr)

This function returns TRUE if the supplied address is associated with one of the groups on the device.

Parameters
dstAddrIPv6 address to be checked
Returns
true if the address is associated with one of the groups, 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