matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
66 lines • 2.81 kB
TypeScript
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