From a9e4745075381c9d202cd3b1fc78656c28e4a32b Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 28 Aug 2021 14:42:04 +0200 Subject: [PATCH] More availability fixes. #6281 --- lib/extension/availabilityNew.ts | 4 ++-- lib/types/types.ts | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/extension/availabilityNew.ts b/lib/extension/availabilityNew.ts index b60c7140d..e71053184 100644 --- a/lib/extension/availabilityNew.ts +++ b/lib/extension/availabilityNew.ts @@ -191,10 +191,10 @@ class AvailabilityNew extends ExtensionTS { for (const keys of keySet) { const converter = rd.definition.toZigbee.find((c) => c.key.find((k) => keys.includes(k))); await converter?.convertGet?.(rd.endpoint, keys[0], - {message: this.state.get(rd.device.ieeeAddr) || {}}); + {message: this.state.get(rd.device.ieeeAddr) || {}, mapped: rd.definition}); } } catch (error) { - logger.error(`Failed to read state of '${rd.name}' after reconnect`); + logger.error(`Failed to read state of '${rd.name}' after reconnect (${error.message})`); } }, seconds(2)); } diff --git a/lib/types/types.ts b/lib/types/types.ts index 6e9cb7262..288614c7a 100644 --- a/lib/types/types.ts +++ b/lib/types/types.ts @@ -126,12 +126,14 @@ declare global { type: 'device' | 'group', } + interface Definition { + model: string + toZigbee: {key: string[], convertGet?: (entity: Endpoint, key: string, meta: {message: {}, mapped: Definition}) => Promise}[] + } + interface ResolvedDevice { type: 'device', - definition?: { - model: string - toZigbee: {key: string[], convertGet?: (entity: Endpoint, key: string, meta: {}) => Promise}[] - }, + definition?: Definition, name: string, endpoint: Endpoint, device: Device,