Zigbee device consists of different endpoints(ep), ep0 is occupied by zdo, users can use others ep(0-254);
Normally the srcEp represent the device which sends the command, it should be 1 if you use the telink gateway demo;
and the dstEpInfo include the dstAddrtype(bind(not present), long, short), dstAddr(depend on dstAddrtype) and the dstEp(the end point that you need to add group), this param is decided by the specific application, it should be 1 if you use the telink light demo.
For examples, modify the shortAddr to you device short addr.
For more specific information, please refer the telink development Manual or zigbee specification.
Zigbee device consists of different endpoints(ep), ep0 is occupied by zdo, users can use others ep(0-254);
Normally the srcEp represent the device which sends the command, it should be 1 if you use the telink gateway demo;
and the dstEpInfo include the dstAddrtype(bind(not present), long, short), dstAddr(depend on dstAddrtype) and the dstEp(the end point that you need to add group), this param is decided by the specific application, it should be 1 if you use the telink light demo.
For examples, modify the shortAddr to you device short addr.
For more specific information, please refer the telink development Manual or zigbee specification.
Still I have no clue how to resolve my problem. I have a registered endpoint = 0x02 and I want to add it to the group in order to receive multicast messages from coordinator. What steps should I take? I use sampleLight project as a base.
The zgc tool is in the SDK directory: (...\Zigbee_SDK_xxx\Tools\ZGC), it has a simple userguide.
As for the attached screenshots, the device should have joined the network before sending the addGroupCmd, so it's not recommended to send any command during init step.
Reference manual: Zigbee Development Manual (CN) -> 7.6.4;
Code example: zbhci_zclHandler.c, void zbhci_clusterGroupHandle(void *arg).
Users can verify the functions with zgc tool.
I would be grateful, if you explain me how to properly specify first two parameters (srcEp and especially pDstEpInfo) in zcl_group_addCmd(...).
epInfo_t dstEpInfo;
TL_SETSTRUCTCONTENT(dstEpInfo, 0);
dstEpInfo.profileId = MYRMIDON_PROFILE_ID;
dstEpInfo.dstAddrMode = APS_SHORT_GROUPADDR_NOEP;
u8 srcEp = SAMPLE_LIGHT_ENDPOINT;
u16 groupID = 0x1111;
u8 groupName[] = "testGRP";
status_t sta = zcl_group_addCmd(srcEp, &dstEpInfo, FALSE, groupID, groupName);
@hk.wang
Zigbee device consists of different endpoints(ep), ep0 is occupied by zdo, users can use others ep(0-254);
Normally the srcEp represent the device which sends the command, it should be 1 if you use the telink gateway demo;
and the dstEpInfo include the dstAddrtype(bind(not present), long, short), dstAddr(depend on dstAddrtype) and the dstEp(the end point that you need to add group), this param is decided by the specific application, it should be 1 if you use the telink light demo.
For examples, modify the shortAddr to you device short addr.
For more specific information, please refer the telink development Manual or zigbee specification.
@ZNS
Reference manual: Zigbee Development Manual (CN) -> 7.6.4;
Code example: zbhci_zclHandler.c, void zbhci_clusterGroupHandle(void *arg).
Users can verify the functions with zgc tool.
I would be grateful, if you explain me how to properly specify first two parameters (srcEp and especially pDstEpInfo) in zcl_group_addCmd(...).
epInfo_t dstEpInfo;
TL_SETSTRUCTCONTENT(dstEpInfo, 0);
dstEpInfo.profileId = MYRMIDON_PROFILE_ID;
dstEpInfo.dstAddrMode = APS_SHORT_GROUPADDR_NOEP;
u8 srcEp = SAMPLE_LIGHT_ENDPOINT;
u16 groupID = 0x1111;
u8 groupName[] = "testGRP";
status_t sta = zcl_group_addCmd(srcEp, &dstEpInfo, FALSE, groupID, groupName);
@hk.wang
Zigbee device consists of different endpoints(ep), ep0 is occupied by zdo, users can use others ep(0-254);
Normally the srcEp represent the device which sends the command, it should be 1 if you use the telink gateway demo;
and the dstEpInfo include the dstAddrtype(bind(not present), long, short), dstAddr(depend on dstAddrtype) and the dstEp(the end point that you need to add group), this param is decided by the specific application, it should be 1 if you use the telink light demo.
For examples, modify the shortAddr to you device short addr.
For more specific information, please refer the telink development Manual or zigbee specification.
@ZNS
Still I have no clue how to resolve my problem. I have a registered endpoint = 0x02 and I want to add it to the group in order to receive multicast messages from coordinator. What steps should I take? I use sampleLight project as a base.
First, add group addr to the sampleLight ep2;![](/static/topic/hk.wang/ffd71cc9-644a-49b2-b699-6ff89da2b338.png?v=2)
sdk will parse the command and do the follow steps;
you can get the response which indicates the result of add group.
If added successfully, you can multicast message as follow:
note that the addr type is group here;
@ZNS
The zgc tool is in the SDK directory: (...\Zigbee_SDK_xxx\Tools\ZGC), it has a simple userguide.
As for the attached screenshots, the device should have joined the network before sending the addGroupCmd, so it's not recommended to send any command during init step.
You may try the zgc tool first.
My final solution:
![](/static/topic/ZNS/7f358f69-5367-4fa4-a86b-325cf14c3991.png?v=6)