UNPKG

@homebridge-plugins/homebridge-roomba

Version:
68 lines 2.19 kB
import type { API, Logging } from 'homebridge'; import type { DeviceConfig, RoombaPlatformConfig } from './settings.js'; import type { Robot } from './roomba.js'; /** * Represents a Roomba device as a Homebridge Matter RoboticVacuumCleaner accessory. * * This class manages the connection to the physical Roomba device, translates * Roomba states to Matter clusters, and handles Matter commands (start, stop, pause, * resume, dock). */ export declare class RoboticVacuumCleaner { private readonly _api; private readonly _log; private readonly _device; private readonly _blid; private readonly _robotpwd; private readonly _ipaddress; private readonly _cleanBehaviour; private readonly _mission; private readonly _stopBehaviour; private readonly _idlePollIntervalMillis; private _cachedStatus; private _lastRefreshState; private _roombaLastActiveTimestamp?; private _pollTimeout?; private _currentRoombaPromise?; private _currentCipherIndex; private _started; /** * The Matter accessory UUID (derived from device blid) */ readonly UUID: string; /** * The Matter accessory display name */ readonly displayName: string; constructor(api: API, log: Logging, device: Robot & DeviceConfig, config: RoombaPlatformConfig, version: string); /** * Returns a plain Matter accessory object suitable for registration with Homebridge. */ toAccessory(): any; /** * Start polling Roomba's status and pushing updates to Matter. */ startPolling(): void; /** * Stop polling Roomba's status. */ stopPolling(): void; private _handleChangeRunMode; private _handlePause; private _handleResume; private _handleGoHome; private _startCleaning; private _stopAndDock; private _dockWhenStopped; private _connectedRoomba; private _connect; private _parseState; private _mergeCachedStatus; private _pushMatterState; private _schedulePoll; private _refreshState; private _pollInterval; private _getSerialNum; private _shouldTryDifferentCipher; } //# sourceMappingURL=matterAccessory.d.ts.map