matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
29 lines • 1.22 kB
JavaScript
import { Protocol } from '../roborockCommunication/models/protocol.js';
export function buildDevices(homeData, homeId, userData) {
const products = new Map();
homeData.products.forEach((p) => products.set(p.id, { model: p.model, category: p.category }));
return [...homeData.devices, ...homeData.receivedDevices].map((device) => ({
...device,
rrHomeId: homeId,
serialNumber: device.sn,
scenes: (device.scenes ?? []).filter((sc) => sc.param && JSON.parse(sc.param).action.items.some((x) => x.entityId === device.duid)),
specs: {
id: device.duid,
firmwareVersion: device.fv,
serialNumber: device.sn,
model: products.get(device.productId)?.model,
protocol: device.pv,
category: products.get(device.productId)?.category,
batteryLevel: Number(device.deviceStatus?.[Protocol.battery] ?? 100),
hasRealTimeConnection: false,
},
store: {
userData,
localKey: device.localKey,
pv: device.pv,
model: products.get(device.productId)?.model,
homeData,
},
}));
}
//# sourceMappingURL=deviceBuilder.js.map