UNPKG

matterbridge-roborock-vacuum-plugin

Version:
66 lines 2.81 kB
import { RoborockMatterbridgePlatform } from './module.js'; import { BurstPollingManager } from './platform/burstPollingManager.js'; import type { MessagePayload } from './types/MessagePayloads.js'; export declare class PlatformRunner { private readonly platform; private activateHandlers; private static readonly CLEANING_STATES; readonly burstPolling: BurstPollingManager; constructor(platform: RoborockMatterbridgePlatform); activateHandlerFunctions(): void; /** * Request and process home data update from Roborock service. * Fetches latest home data including device states and triggers robot state updates. * Returns early if no robots configured, no home ID set, or service unavailable. */ requestHomeData(): Promise<void>; /** * Update robot state based on message payload. * Routes to appropriate handler using type-safe discriminated unions. */ updateRobotWithPayload(payload: MessagePayload): Promise<void>; /** * Template method: Execute handler with robot instance. * Handles robot lookup, error logging, and passes data to handler. */ private executeWithRobot; /** * Get robot by DUID or log error if not found. */ private getRobotOrLogError; /** * Handle error occurred messages and update robot operational state. * Processes vacuum and docking station errors, updating Matter attributes accordingly. * Prioritizes vacuum errors over docking station errors. */ private handleErrorOccurred; /** * Handle battery update messages and update robot power attributes. */ private handleBatteryUpdate; /** * Handle device status notify messages and update robot run mode and operational state. * Uses state resolution matrix to determine final state based on status code and modifiers. */ private handleDeviceStatusUpdate; /** * Handle simple device status updates from home data API. * For devices without real-time connection, uses only status code without modifier flags. * Converts to StatusChangeMessage with undefined modifiers for state resolution. */ private handleDeviceStatusSimpleUpdate; /** * Handle clean mode update messages and update robot clean mode. * Processes clean mode settings (suction power, water flow, mop route). */ private handleCleanModeUpdate; /** * Handle service area update messages and update robot service area attributes. * Processes service area changes (supported areas, maps, selected areas, current area). */ private handleServiceAreaUpdate; private getSelectedAreas; private handleCleaningWithoutInfo; private resolveAreaFromCleaningInfo; } //# sourceMappingURL=platformRunner.d.ts.map