Hi @mario_castaneda
We have total number of 6 endpoints.
1 - 5 as server scene
6 as client scene
Please find the code snippet
Code snippet:
PUBLIC void vSetAddress(tsZCL_Address * psAddress, bool_t bBroadcast,uint16_t GrpID)
{
if (bBroadcast)
{
psAddress->eAddressMode = E_ZCL_AM_BROADCAST;
psAddress->uAddress.eBroadcastMode = ZPS_E_APL_AF_BROADCAST_RX_ON;
}
else
{
psAddress->eAddressMode = E_ZCL_AM_GROUP;
psAddress->uAddress.u16GroupAddress = GrpID;
}
}
PUBLIC void vAppRecallSceneById( uint8 u8EndPt, uint8 u8SceneId, uint16 u16GroupId)
{
tsCLD_ScenesRecallSceneRequestPayload sRequest;
tsZCL_Address sAddress;
uint8 u8Seq;
teZCL_Status eStatus;
sRequest.u16GroupId = u16GroupId;
sRequest.u8SceneId = u8SceneId;
sRequest.u16TransitionTime = 0xF;//ZNC_RTN_U16 ( au8LinkRxBuffer, 8 );
vSetAddress(&sAddress, FALSE, u16GroupId);
eStatus = eCLD_ScenesCommandRecallSceneRequestSend ( u8EndPt, E_ZCL_AM_GROUP,
&sAddress,
&u8Seq,
&sRequest );
DBG_vPrintf(TRACE_APP, "\n eCLD_ScenesCommandRecallSceneRequestSend eStatus = %d", eStatus);
}
We are using the Endpoint 6 for above Scene recall which has scene client cluster enabled and registered using eZLO_RegisterOnOffLightSwitchEndPoint.
But scene recall do not work when using eCLD_ScenesRecall or eCLD_ScenesCommandRecallSceneRequestSend with end point 6.
When I call endpoint 1 to 5 with eCLD_ScenesRecall. Scene recall is successful and local endpoint can remember OnOff state with respect to scene and group.
But only local endpoint are recalled not other endpoint which is in same network.
We request you to let us know how to recall a scene (from our product) which works on both local and global endpoint in the same network.