|
10 | 10 | #include "zcl_include.h" |
11 | 11 | #include "base_components/relay.h" |
12 | 12 | #include "configs/nv_slots_cfg.h" |
| 13 | +#include "binding_table.h" |
13 | 14 |
|
14 | 15 | #define MULTI_PRESS_CNT_TO_RESET 10 |
15 | 16 |
|
@@ -753,39 +754,32 @@ static void switch_cluster_binding_recall_scene(zigbee_switch_cluster *cluster) |
753 | 754 | scenesInfo.src_endpoint = cluster->endpoint; |
754 | 755 | scenesInfo.dst_addr_mode = 0x00; |
755 | 756 |
|
756 | | - bind_dst_list_tbl bindTbl; |
| 757 | + aps_binding_entry_t *e; |
757 | 758 |
|
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) |
759 | 760 | { |
760 | | - goto out; |
761 | | - } |
762 | | - |
763 | | - for (u8 i = 0; i < bindTbl.txCnt; ++i) |
764 | | - { |
765 | | - bind_dst_list *l = bindTbl.list + i; |
766 | | - |
767 | 761 | u16 group_id = 0xffff; |
768 | 762 |
|
769 | 763 | epInfo_t dstEpInfo; |
770 | 764 | TL_SETSTRUCTCONTENT(dstEpInfo, 0); |
771 | 765 |
|
772 | | - if (l->dst_addr_mode == APS_BIND_DST_ADDR_GROUP) |
| 766 | + if (e->dstAddrMode == APS_BIND_DST_ADDR_GROUP) |
773 | 767 | { |
774 | | - group_id = l->aps_addr.dst_group_addr; |
| 768 | + group_id = e->groupAddr; |
775 | 769 |
|
776 | 770 | dstEpInfo.profileId = HA_PROFILE_ID; |
777 | 771 | dstEpInfo.dstAddrMode = APS_SHORT_GROUPADDR_NOEP; |
778 | | - dstEpInfo.dstAddr.shortAddr = l->aps_addr.dst_group_addr; |
| 772 | + dstEpInfo.dstAddr.dstGroupId = group_id; |
779 | 773 | } |
780 | 774 | else |
781 | 775 | { |
782 | 776 | group_id = 0; |
783 | 777 |
|
784 | 778 | dstEpInfo.profileId = HA_PROFILE_ID; |
785 | 779 | dstEpInfo.dstAddrMode = APS_LONG_DSTADDR_WITHEP; |
786 | | - dstEpInfo.dstEp = l->aps_addr.dst_endpoint; |
| 780 | + dstEpInfo.dstEp = e->dstExtAddrInfo.dstEp; |
787 | 781 |
|
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); |
789 | 783 | } |
790 | 784 |
|
791 | 785 | recallScene_t recallScene = { |
|
0 commit comments