1010#include "zcl_include.h"
1111#include "base_components/relay.h"
1212#include "configs/nv_slots_cfg.h"
13+ #include "binding_table.h"
1314
1415#define MULTI_PRESS_CNT_TO_RESET 10
1516
@@ -753,39 +754,32 @@ static void switch_cluster_binding_recall_scene(zigbee_switch_cluster *cluster)
753754 scenesInfo .src_endpoint = cluster -> endpoint ;
754755 scenesInfo .dst_addr_mode = 0x00 ;
755756
756- bind_dst_list_tbl bindTbl ;
757+ aps_binding_entry_t * e ;
757758
758- if ( aps_search_dst_from_bind_tbl ( & scenesInfo , & bindTbl ) != APS_STATUS_SUCCESS )
759+ BINDING_TABLE_FOR_EACH ( ZCL_CLUSTER_GEN_SCENES , cluster -> endpoint , e )
759760 {
760- goto out ;
761- }
762-
763- for (u8 i = 0 ; i < bindTbl .txCnt ; ++ i )
764- {
765- bind_dst_list * l = bindTbl .list + i ;
766-
767761 u16 group_id = 0xffff ;
768762
769763 epInfo_t dstEpInfo ;
770764 TL_SETSTRUCTCONTENT (dstEpInfo , 0 );
771765
772- if (l -> dst_addr_mode == APS_BIND_DST_ADDR_GROUP )
766+ if (e -> dstAddrMode == APS_BIND_DST_ADDR_GROUP )
773767 {
774- group_id = l -> aps_addr . dst_group_addr ;
768+ group_id = e -> groupAddr ;
775769
776770 dstEpInfo .profileId = HA_PROFILE_ID ;
777771 dstEpInfo .dstAddrMode = APS_SHORT_GROUPADDR_NOEP ;
778- dstEpInfo .dstAddr .shortAddr = l -> aps_addr . dst_group_addr ;
772+ dstEpInfo .dstAddr .shortAddr = group_id ;
779773 }
780774 else
781775 {
782776 group_id = 0 ;
783777
784778 dstEpInfo .profileId = HA_PROFILE_ID ;
785779 dstEpInfo .dstAddrMode = APS_LONG_DSTADDR_WITHEP ;
786- dstEpInfo .dstEp = l -> aps_addr . dst_endpoint ;
780+ dstEpInfo .dstEp = e -> dstExtAddrInfo . dstEp ;
787781
788- ZB_IEEE_ADDR_COPY (dstEpInfo .dstAddr .extAddr , l -> aps_addr . dst_ext_addr );
782+ ZB_IEEE_ADDR_COPY (dstEpInfo .dstAddr .extAddr , e -> dstExtAddrInfo . extAddr );
789783 }
790784
791785 recallScene_t recallScene = {
@@ -798,7 +792,6 @@ static void switch_cluster_binding_recall_scene(zigbee_switch_cluster *cluster)
798792 }
799793 }
800794
801- out :
802795 switch_cluster_report_next_scene (cluster );
803796}
804797
0 commit comments