From 981ae7fa66b0f388818cd7450d3bc4553799f9e9 Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Mon, 23 Sep 2024 19:04:25 +0200 Subject: [PATCH 1/3] zigate: Fix ZDO BIND/UNBIND payload mismatch. --- src/adapter/zigate/adapter/zigateAdapter.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/adapter/zigate/adapter/zigateAdapter.ts b/src/adapter/zigate/adapter/zigateAdapter.ts index a8c09edd83..31479c279f 100644 --- a/src/adapter/zigate/adapter/zigateAdapter.ts +++ b/src/adapter/zigate/adapter/zigateAdapter.ts @@ -234,12 +234,14 @@ class ZiGateAdapter extends Adapter { case Zdo.ClusterId.BIND_REQUEST: case Zdo.ClusterId.UNBIND_REQUEST: { - // extra zeroes for endpoint XXX: not needed? - const zeroes = 15 - payload.length; - const prefixedPayload = Buffer.alloc(payload.length + zeroes); - prefixedPayload.set(payload, 0); - - payload = prefixedPayload; + // only need adjusting when Zdo.UNICAST_BINDING + if (payload.length === 14) { + // extra zeroes for endpoint + const prefixedPayload = Buffer.alloc(payload.length + 1); + prefixedPayload.set(payload, 0); + + payload = prefixedPayload; + } break; } From d315e534faf4cf8e6b50135cc91f1b6a8da9c75d Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Mon, 23 Sep 2024 19:06:42 +0200 Subject: [PATCH 2/3] Fix --- src/adapter/zigate/adapter/zigateAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/adapter/zigate/adapter/zigateAdapter.ts b/src/adapter/zigate/adapter/zigateAdapter.ts index 31479c279f..a9bb1d0f86 100644 --- a/src/adapter/zigate/adapter/zigateAdapter.ts +++ b/src/adapter/zigate/adapter/zigateAdapter.ts @@ -236,7 +236,7 @@ class ZiGateAdapter extends Adapter { case Zdo.ClusterId.UNBIND_REQUEST: { // only need adjusting when Zdo.UNICAST_BINDING if (payload.length === 14) { - // extra zeroes for endpoint + // extra zero for endpoint const prefixedPayload = Buffer.alloc(payload.length + 1); prefixedPayload.set(payload, 0); From 2e947cff0151efc9c2cfbd82fb19747ec3feda91 Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Mon, 23 Sep 2024 19:11:32 +0200 Subject: [PATCH 3/3] Fix comment. --- src/adapter/zigate/adapter/zigateAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/adapter/zigate/adapter/zigateAdapter.ts b/src/adapter/zigate/adapter/zigateAdapter.ts index a9bb1d0f86..932c0a7719 100644 --- a/src/adapter/zigate/adapter/zigateAdapter.ts +++ b/src/adapter/zigate/adapter/zigateAdapter.ts @@ -234,7 +234,7 @@ class ZiGateAdapter extends Adapter { case Zdo.ClusterId.BIND_REQUEST: case Zdo.ClusterId.UNBIND_REQUEST: { - // only need adjusting when Zdo.UNICAST_BINDING + // only need adjusting when Zdo.MULTICAST_BINDING if (payload.length === 14) { // extra zero for endpoint const prefixedPayload = Buffer.alloc(payload.length + 1);