homebridge-econet-rheem
Version:
Homebridge plugin for control of Rheem and Ruud thermostats and water heaters
41 lines (40 loc) • 1.22 kB
TypeScript
import { PrimitiveTypes } from 'homebridge';
import { DeviceAuth, UserAuth } from './auth.js';
import { Log } from '../tools/log.js';
export interface MQTTListener {
mqttMessageReceived(message: Record<string, unknown>): void;
}
export type MQTTDependency = {
log: Log;
parentName: string;
email: string;
auth: DeviceAuth | UserAuth;
serialNumber: string;
macAddress: string;
debug: boolean;
};
export declare class MQTT {
private readonly dependency;
private readonly options;
private static readonly INSTANCES;
static connect(dependency: MQTTDependency, listener: MQTTListener): MQTT | undefined;
private readonly log;
private client;
private idleTimer?;
private shouldReconnect;
private isReconnecting;
private reconnectCount;
private readonly listeners;
private readonly topicDesired;
private readonly topicReported;
private constructor();
private connect;
teardown(): void;
private messageReceived;
publish(payload: Record<string, PrimitiveTypes>): void;
private reconnect;
private resetIdleTimer;
private static readonly KNOWN_KEYS;
private static readonly STORAGE_KEY;
private saveData;
}