UNPKG

@pietrolubini/homebridge-ecoflow

Version:
30 lines (29 loc) 1.75 kB
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; }