@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
31 lines • 1.6 kB
TypeScript
/// <reference types="node" />
import { MqttService } from '../../common';
import { GoveeDeviceStatus } from '../govee-device';
import { OpenAPIDevice } from './models/device-list.response';
import { OpenAPIDeviceState } from './models/device-state.response';
import { OpenAPIMqttPacket } from './openapi.models';
import { OpenAPIConfig, OpenAPIMqttMessageHandler } from './openapi.types';
export type OnOpenAPIMqttMessageCallback = (message: GoveeDeviceStatus) => Promise<void>;
export declare class OpenAPIService implements OpenAPIMqttMessageHandler {
private config;
private readonly mqtt;
private readonly logger;
private messageCallback;
private apiKey;
private static findState;
static deserializeMqttMessage(payload: string | Buffer): OpenAPIMqttPacket;
private static parseMqttMessage;
constructor(config: OpenAPIConfig, mqtt: MqttService<OpenAPIMqttPacket>);
handle(message: OpenAPIMqttPacket, topic?: string): Promise<void>;
setApiKey(apiKey: string): void;
setMqttCallback(callback: OnOpenAPIMqttMessageCallback): void;
sendMessage(topic: string, message: Buffer): Promise<void>;
private request;
connect(): Promise<void>;
disconnect(): Promise<void>;
getDevices(): Promise<OpenAPIDevice[]>;
getDevice(deviceId: string, model: string, commandId?: string): Promise<OpenAPIDeviceState | undefined>;
getScenes(deviceId: string, model: string): Promise<OpenAPIDevice | undefined>;
getDIYScenes(deviceId: string, model: string): Promise<OpenAPIDevice | undefined>;
}
//# sourceMappingURL=openapi.service.d.ts.map