matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
30 lines • 1.11 kB
JavaScript
/** Get vacuum property by schema code or property name. */
export function getVacuumProperty(device, property) {
if (!device) {
return undefined;
}
const schemas = device.schema;
const schema = schemas.find((sch) => sch.code === property);
if (schema && device.deviceStatus && device.deviceStatus[schema.id] !== undefined) {
return Number(device.deviceStatus[schema.id]);
}
if (device.deviceStatus && device.deviceStatus[property] !== undefined) {
return Number(device.deviceStatus[property]);
}
return undefined;
}
/** Check if model is supported (roborock.vacuum.*). */
export function isSupportedDevice(model) {
return model.startsWith('roborock.vacuum.');
}
/** Check if result is a status update message. */
export function isStatusUpdate(result) {
return (Array.isArray(result) &&
result.length > 0 &&
typeof result[0] === 'object' &&
result[0] !== null &&
'msg_ver' in result[0] &&
result[0].msg_ver !== undefined &&
result[0].msg_ver !== null);
}
//# sourceMappingURL=helper.js.map