@pietrolubini/homebridge-ecoflow
Version:
Homebridge plugin for EcoFlow devices
28 lines (27 loc) • 1.54 kB
TypeScript
import { DeviceInfo } from '@ecoflow/apis/containers/deviceInfo';
import { EcoFlowHttpApiManager } from '@ecoflow/apis/ecoFlowHttpApiManager';
import { MqttSetMessage } from '@ecoflow/apis/interfaces/mqttApiContracts';
import { MachineIdProvider } from '@ecoflow/helpers/machineIdProvider';
import { Subscription } from 'rxjs';
export declare class EcoFlowMqttApiManager {
private readonly httpApiManager;
private readonly machineIdProvider;
private readonly mqttClientContainers;
constructor(httpApiManager: EcoFlowHttpApiManager, machineIdProvider: MachineIdProvider);
destroy(): Promise<void>;
subscribeOnQuotaTopic(deviceInfo: DeviceInfo): Promise<boolean>;
subscribeOnSetReplyTopic(deviceInfo: DeviceInfo): Promise<boolean>;
subscribeOnStatusTopic(deviceInfo: DeviceInfo): Promise<boolean>;
subscribeOnQuotaMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
subscribeOnSetReplyMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
subscribeOnStatusMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
sendSetCommand(deviceInfo: DeviceInfo, message: MqttSetMessage): Promise<void>;
private connect;
private connectMqttClient;
private subscribeOnTopic;
private subscribeOnMessage;
private processReceivedMessage;
private acquireCertificate;
private getMqttClientContainer;
private parseTopic;
}