@homebridge-plugins/homebridge-roomba
Version:
homebridge-plugin for Roomba devices
68 lines • 2.19 kB
TypeScript
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