@pietrolubini/homebridge-ecoflow
Version:
Homebridge plugin for EcoFlow devices
30 lines (29 loc) • 1.75 kB
TypeScript
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
import { FridgeStateType, TemperatureDisplayUnitsType } from '@ecoflow/characteristics/characteristicContracts';
import { ServiceBase } from '@ecoflow/services/serviceBase';
import { Characteristic } from 'homebridge';
export declare abstract class ThermostatFridgeServiceBase extends ServiceBase {
private readonly minTemperature;
private readonly maxTemperature;
private currentTemperature;
private targetTemperature;
private currentHeatingCoolingStateType;
private targetHeatingCoolingStateType;
private targetFridgeState;
private temperatureDisplayUnits;
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, minTemperature: number, maxTemperature: number, serviceSubType: string);
updateCurrentTemperature(value: number): void;
updateTargetTemperature(value: number): void;
updateCurrentState(value: FridgeStateType): void;
updateTargetState(value: FridgeStateType): void;
updateTemperatureDisplayUnits(value: TemperatureDisplayUnitsType): void;
protected addCharacteristics(): Characteristic[];
protected abstract processOnSetTargetTemperature(value: number, revert: () => void): Promise<void>;
protected abstract processOnSetTargetState(value: FridgeStateType, revert: () => void): Promise<void>;
protected abstract processOnSetTemperatureDisplayUnits(value: TemperatureDisplayUnitsType, revert: () => void): Promise<void>;
private addCurrentTemperatureCharacteristic;
private addTargetTemperatureCharacteristic;
private addCurrentHeatingCoolingStateCharacteristic;
private addTargetHeatingCoolingStateCharacteristic;
private addTemperatureDisplayUnitsCharacteristic;
}