typhon/src/ble/BleControllerClient.ts

26 lines
776 B
TypeScript

export interface BleTelemetryReading {
temperatureCelsius: number;
temperatureFahrenheit: number;
humidityPercent: number;
vpdKpa: number;
choosePort: number;
workType: number;
fanSpeedGuess: number;
receivedAtEpochSeconds: number;
}
export interface BleWifiNetworkCredentials {
ssid: string;
password: string;
hidden: boolean;
}
export class BleFeatureNotSupportedError extends Error {}
export interface BleControllerClient {
verifyConnection(macAddress: string): Promise<void>;
readTelemetry(macAddress: string, requestPort: number): Promise<BleTelemetryReading>;
setPortSpeed(macAddress: string, portByte: number, speedLevel: number): Promise<void>;
recoverWifi(macAddress: string, credentials: BleWifiNetworkCredentials): Promise<void>;
}