Skip to content

Commit 65269da

Browse files
committed
Add a converter for ZDOCmd.Mgmt_Permit_Joining_req
1 parent d4afc12 commit 65269da

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

zigpy_znp/zigbee/application.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,20 @@
9696
)
9797
),
9898
),
99+
ZDOCmd.Mgmt_Permit_Joining_req: (
100+
(
101+
lambda addr, device, PermitDuration, TC_Significant: (
102+
c.ZDO.MgmtPermitJoinReq.Req(
103+
AddrMode=t.AddrMode.NWK,
104+
Dst=addr,
105+
Duration=PermitDuration,
106+
TCSignificance=TC_Significant,
107+
)
108+
)
109+
),
110+
(lambda addr: c.ZDO.MgmtPermitJoinRsp.Callback(partial=True, Src=addr)),
111+
(lambda rsp: (ZDOCmd.Mgmt_Permit_Joining_rsp, {"Status": rsp.Status})),
112+
),
99113
ZDOCmd.Mgmt_Leave_req: (
100114
(
101115
lambda addr, device, DeviceAddress, Options: c.ZDO.MgmtLeaveReq.Req(
@@ -618,6 +632,15 @@ async def _send_zdo_request(
618632

619633
device = self.get_device(nwk=dst_addr.address)
620634

635+
if cluster not in ZDO_COMPLEX_CONVERTERS:
636+
LOGGER.error(
637+
"ZDO converter for cluster %s has not been implemented!"
638+
" Please open a GitHub issue and attach a debug log:"
639+
" https://github.com/zha-ng/zigpy-znp/issues/new",
640+
cluster,
641+
)
642+
return t.Status.FAILURE, "No ZDO converter"
643+
621644
# Call the converter with the ZDO request's kwargs
622645
req_factory, rsp_factory, zdo_rsp_factory = ZDO_COMPLEX_CONVERTERS[cluster]
623646
request = req_factory(dst_addr.address, device, **zdo_kwargs)

0 commit comments

Comments
 (0)