diff --git a/STATS.md b/STATS.md index ec96986..1a00b39 100644 --- a/STATS.md +++ b/STATS.md @@ -1,6 +1,9 @@ # Badges showing number of downloads per version - ![badge latest](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/latest/total.svg) +- ![badge v1.1.21](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.21/total.svg) +- ![badge v1.1.20](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.20/total.svg) +- ![badge v1.1.19](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.19/total.svg) - ![badge v1.1.18](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.18/total.svg) - ![badge v1.1.17](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.17/total.svg) - ![badge v1.1.16](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.16/total.svg) diff --git a/custom_components/zha_toolkit/binds.py b/custom_components/zha_toolkit/binds.py index f2ee2e4..8f87447 100644 --- a/custom_components/zha_toolkit/binds.py +++ b/custom_components/zha_toolkit/binds.py @@ -310,13 +310,15 @@ async def bind_ieee( for src_ep in src_endpoints: LOGGER.debug( - "0x%04x: binding %s/EP:%s, out-cluster 0x%04X to %s/EP:%s", + "0x%04x: binding %s/EP:%s, out-cluster 0x%04X to %s/EP:%s" + " (%r)", src_dev.nwk, str(src_dev.ieee), src_ep, src_out_cluster, str(dst_dev.ieee), dst_epid, + dst_addr, ) res = await u.retry_wrapper( zdo.request, @@ -365,7 +367,11 @@ async def bind_ieee( for ep_id, ep in dst_dev.endpoints.items(): if ep_id == 0: continue - if isCoordinatorTarget or (src_in_cluster in ep.out_clusters): + if ( + isCoordinatorTarget + or (src_in_cluster in ep.out_clusters) + and (u_dst_epid is None or u_dst_epid == ep_id) + ): dst_epid = ep_id break if not dst_epid: @@ -374,13 +380,15 @@ async def bind_ieee( for src_ep in src_endpoints: LOGGER.debug( - "0x%04X: binding %s/EP:%s, in-cluster: 0x%04X to %s/EP:%s", + "0x%04X: binding %s/EP:%s, in-cluster: 0x%04X to %s/EP:%s" + " (%r)", src_dev.nwk, str(src_dev.ieee), src_ep, src_in_cluster, str(dst_dev.ieee), dst_epid, + dst_addr, ) if src_ep not in results: results[src_ep] = {}