From 07edc32a8afc1fd6d6d257d9db0afd29188538b7 Mon Sep 17 00:00:00 2001 From: bene Date: Sun, 9 Jan 2022 13:47:15 +0100 Subject: [PATCH] parse multiple feedback message correctly Using a virtual port you get feedback for the virtual port and its componentes in one message. Change suggested by @aileo https://github.com/nathankellenicki/node-poweredup/issues/118#issuecomment-754911527 --- src/hubs/lpf2hub.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/hubs/lpf2hub.ts b/src/hubs/lpf2hub.ts index e7b7d0c..0c45a2c 100644 --- a/src/hubs/lpf2hub.ts +++ b/src/hubs/lpf2hub.ts @@ -348,14 +348,13 @@ export class LPF2Hub extends BaseHub { private _parsePortAction (message: Buffer) { + for (let offset = 3; offset < message.length; offset += 2) { + const device = this._getDeviceByPortId(message[offset]); - const portId = message[3]; - const device = this._getDeviceByPortId(portId); - - if (device) { - device.finish(message[4]); + if (device) { + device.finish(message[offset+1]); + } } - }