More availability fixes. #6281

This commit is contained in:
Koen Kanters
2021-08-28 14:42:04 +02:00
parent fd7351ff61
commit a9e4745075
2 changed files with 8 additions and 6 deletions
+2 -2
View File
@@ -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));
}
+6 -4
View File
@@ -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<void>}[]
}
interface ResolvedDevice {
type: 'device',
definition?: {
model: string
toZigbee: {key: string[], convertGet?: (entity: Endpoint, key: string, meta: {}) => Promise<void>}[]
},
definition?: Definition,
name: string,
endpoint: Endpoint,
device: Device,