homebridge-plugin-utils
Version:
Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.
19 lines (18 loc) • 902 B
TypeScript
import { HomebridgePluginLogging } from "./util.js";
export declare class MqttClient {
private brokerUrl;
private isConnected;
private reconnectInterval;
private log;
private mqtt;
private subscriptions;
private topicPrefix;
constructor(brokerUrl: string, topicPrefix: string, log: HomebridgePluginLogging, reconnectInterval?: number);
private configure;
publish(id: string, topic: string, message: string): void;
subscribe(id: string, topic: string, callback: (cbBuffer: Buffer) => void): void;
subscribeGet(id: string, topic: string, type: string, getValue: () => string, log?: HomebridgePluginLogging): void;
subscribeSet(id: string, topic: string, type: string, setValue: (value: string, rawValue: string) => Promise<void> | void, log?: HomebridgePluginLogging): void;
unsubscribe(id: string, topic: string): void;
private expandTopic;
}