vastra-radiator-valve
Version:
Node.js library to query and configure Vastra's smart radiator valves.
30 lines (23 loc) • 952 B
text/typescript
import EventEmitter from "events";
export interface IGattCentral {
startScanning(callback: (peripheral: IGattPeripheral) => void): Promise<void>;
stopScanning(): Promise<void>;
}
export interface IGattPeripheral {
readonly address: string;
readonly state: "error" | "connecting" | "connected" | "disconnecting" | "disconnected";
connectAsync(): Promise<void>;
disconnectAsync(): Promise<void>;
discoverServicesAsync(uuids: Array<string>): Promise<Array<IGattService>>;
}
export interface IGattService {
discoverCharacteristicsAsync(uuids: Array<string>): Promise<Array<IGattCharacteristic>>;
}
export interface IGattCharacteristic extends EventEmitter {
writeAsync(value: Buffer, response: boolean): Promise<void>;
notify(status: boolean): void;
discoverDescriptorsAsync(): Promise<Array<IGattDescriptor>>;
}
export interface IGattDescriptor {
writeValueAsync(value: Buffer): Promise<void>;
}