matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
35 lines • 1.53 kB
TypeScript
import { AnsiLogger } from 'matterbridge/logger';
import { ServiceArea } from 'matterbridge/matter/clusters';
import { MapInfo, RoomIndexMap } from '../core/application/models/index.js';
import { HomeEntity } from '../core/domain/entities/Home.js';
export interface AreaInfo {
mapId: number | null;
roomId: number;
roomName: string;
}
export interface SegmentInfo {
areaId: number;
mapId: number;
roomName: string;
}
export interface SupportedAreasResult {
supportedAreas: ServiceArea.Area[];
supportedMaps: ServiceArea.Map[];
roomIndexMap: RoomIndexMap;
}
export declare function toSupportedMaps(mapInfo: MapInfo, enableMultipleMap?: boolean): ServiceArea.Map[];
/**
* Convert vacuum rooms and room map to Matter ServiceArea areas.
* Handles single and multiple map configurations.
* @param homeInFo - Home entity containing room and map information
* @param logger - Logger for debugging and error reporting
* @param enableMultipleMap - When false, expose only the primary map and its rooms
* @returns Supported areas, maps, and room index mapping
*/
export declare function getSupportedAreas(homeInFo: HomeEntity, logger: AnsiLogger, enableMultipleMap?: boolean): SupportedAreasResult;
/**
* Maps a B01 roomTypeId (0–11, per ioBroker ROOM_TYPE_ID_TO_TOKEN) to a CommonAreaNamespaceTag numeric value.
* Returns null for unknown / fallback (roomTypeId 0).
*/
export declare function roomTypeIdToAreaTag(roomTypeId: number): number | null;
//# sourceMappingURL=getSupportedAreas.d.ts.map