neramirez-broadlink-ts
Version:
A TypeScript-enhanced Node.JS fork of broadlinkjs, designed for interacting with RM devices in homebridge-broadlink-rm. Now includes a feature for handling multiple requests to the same device, with a specific focus on supporting homebridge-broadlink-wind
43 lines (42 loc) • 1.57 kB
TypeScript
/// <reference types="node" />
import { Logger } from "../logger";
import { Host } from "../types/host";
import { PacketHandler } from "../packet.handler";
import { SocketHandler } from "../socket.handler";
import { QueueItem } from "../types/queueItem";
export declare class BroadLinkDevice {
protected request_header: Buffer;
protected macAddress: Buffer;
protected deviceType: number;
protected packetHandler: PacketHandler;
protected socketHandler: SocketHandler;
protected requestCounter: number;
private logger;
private host;
private rm4Type;
private code_sending_header;
private readonly promises;
private isProcessing;
private queue;
constructor(host: Host, macAddress: Buffer, deviceType: number, logger: Logger);
authenticate: () => Promise<Buffer>;
onPayloadReceived: (_err: number, payload: Buffer) => void;
checkData: () => Promise<Buffer>;
sendData: (queueItem: QueueItem) => Promise<Buffer>;
enterLearning: () => Promise<Buffer>;
checkTemperature: () => Promise<Buffer>;
checkHumidity: () => Promise<Buffer>;
cancelLearn: () => Promise<Buffer>;
enqueue(command: Buffer): Promise<unknown>;
processQueue(): Promise<void>;
toJSON(): {
host: Host;
macAddress: Buffer;
deviceType: number;
requestCounter: number;
rm4Type: string;
isProcessing: boolean;
queue: QueueItem[];
};
protected dispatchCommandAndIncrementCounter(command: number, payload: Buffer, queueItem?: QueueItem): Promise<Buffer>;
}