homebridge
Version:
HomeKit support for the impatient
46 lines • 1.73 kB
TypeScript
/**
* ClosureControl Cluster Behavior
*
* Handles move/stop commands for closures - garage doors, gates and similar.
*/
import { ClosureControlServer } from '@matter/main/behaviors/closure-control';
import { ClosureControl } from '@matter/main/clusters/closure-control';
/**
* Default ClosureControl Server.
*
* matter.js's base ClosureControlServer implements none of the commands -
* invoking one throws NotImplementedError - so a closure without plugin
* handlers would advertise moveTo/stop and then fail every one. This default
* reflects the command in the cluster state instead, which is enough for the
* endpoint to behave sanely on its own.
*
* The move is reported as complete immediately. A plugin that knows better
* (a garage door takes ~15 seconds) should update `overallCurrentState` from
* its own device reports; the point here is only that the target is recorded
* and the closure never looks stuck.
*/
export declare class DefaultClosureControlServer extends ClosureControlServer {
moveTo(request: ClosureControl.MoveToRequest): Promise<void>;
stop(): Promise<void>;
}
/**
* Custom ClosureControl Server that calls plugin handlers.
*
* Extends the default server so `super.*()` records the state (the matter.js
* base would throw NotImplementedError).
*/
export declare class HomebridgeClosureControlServer extends DefaultClosureControlServer {
/**
* Get the registry for this behavior's endpoint
*/
private getRegistry;
/**
* Handle 'moveTo' command
*/
moveTo(request: ClosureControl.MoveToRequest): Promise<void>;
/**
* Handle 'stop' command
*/
stop(): Promise<void>;
}
//# sourceMappingURL=ClosureControlBehavior.d.ts.map