matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
28 lines • 979 B
JavaScript
import protobuf from 'protobufjs';
import { ROBOROCK_PROTO_STR } from './roborockProto.js';
export class B01MapParser {
robotMapType;
constructor() {
const root = protobuf.parse(ROBOROCK_PROTO_STR).root;
this.robotMapType = root.lookupType('SCMap.RobotMap');
}
parseRooms(buffer) {
const decoded = this.robotMapType.decode(buffer);
const roomDataInfo = decoded.roomDataInfo;
if (!roomDataInfo || roomDataInfo.length === 0) {
return { rooms: [] };
}
const rooms = roomDataInfo.map((r) => {
const namePost = r.roomNamePost;
return {
roomId: r.roomId,
roomName: r.roomName || '',
roomTypeId: r.roomTypeId,
colorId: r.colorId,
labelPos: namePost ? { x: namePost.x, y: namePost.y } : undefined,
};
});
return { rooms };
}
}
//# sourceMappingURL=b01MapParser.js.map