UNPKG

homebridge-daikin-oneplus

Version:
101 lines 4.62 kB
import { AxiosResponse } from 'axios'; import { Logging } from 'homebridge'; export declare const enum TargetHeatingCoolingState { OFF = 0, HEAT = 1, COOL = 2, AUTO = 3, AUXILIARY_HEAT = 4 } export type DataChanged = () => void; export declare const DAIKIN_DEVICE_WRITE_DELAY_MS: number; export declare const DAIKIN_DEVICE_BACKGROUND_REFRESH_MS: number; export declare const DAIKIN_DEVICE_FOREGROUND_REFRESH_MS: number; export declare class DaikinApi { private _token; private _tokenExpiration; private _devices; private _isInitialized; private _listeners; private _lastUpdateTimeMs; private _nextUpdateTimeMs; private _noUpdateBeforeMs; private _updateTimeout?; private _lastWriteStartTimeMs; private _lastWriteFinishTimeMs; private _lastReadStartTimeMs; private _lastReadFinishTimeMs; private user; private password; private log; private pendingCoolThreshold?; private pendingHeatThreshold?; constructor(user: string, password: string, log: Logging); addListener(l: DataChanged): void; removeListener(l: DataChanged): void; private notifyListeners; Initialize(): Promise<void>; isInitialized(): boolean; getData(): Promise<void>; updateNow(): void; /** * Schedules the next update. The scheduler has 2 modes. * * ASAP: Pull an update as soon as updates are neither blocked by a prior `blockUntilMs` value * nor by the maximum refresh frequency `DAIKIN_DEVICE_FOREGROUND_REFRESH_MS`. * * Regular: Pull an update every `DAIKIN_DEVICE_BACKGROUND_REFRESH_MS`. * * @param blockUntilMs If given and > 0 then no updates are guaranteed to take place in the next `blockUntilMs` milliseconds. * @param asap perform update as soon as allowed by DAIKIN_DEVICE_FOREGROUND_REFRESH_MS */ _scheduleUpdate(blockUntilMs?: number, asap?: boolean): void; private _scheduleAsap; private _scheduleFuture; private _updateIn; private _monotonic_clock_ms; getToken(): Promise<boolean | void>; setToken(response: AxiosResponse<any>): Promise<void>; getDevices(): Promise<any>; getDeviceData(device: any): Promise<any>; refreshToken(): Promise<boolean | void> | undefined; getRequest(uri: string): Promise<any>; getDeviceList(): any[] | undefined; getDeviceName(deviceName: number, deviceNameCustom: string): string; deviceHasData(deviceId: string): boolean; getCurrentStatus(deviceId: string): number; getCurrentTemp(deviceId: string): number; getOutdoorTemp(deviceId: string): number; getTargetState(deviceId: string): number; getOneCleanFanActive(deviceId: string): boolean; getCirculateAirFanActive(deviceId: string): boolean; getCirculateAirFanSpeed(deviceId: string): number; getTargetTemp(deviceId: string): number; heatingThresholdTemperature(deviceId: string): number; coolingThresholdTemperature(deviceId: string): number; getCurrentHumidity(deviceId: string): number; getOutdoorHumidity(deviceId: string): number; getTargetHumidity(deviceId: string): number; getAirQualityLevel(deviceId: string, forIndoor: boolean): number; getOzone(deviceId: string, forIndoor: boolean): number; getAirQualityValue(deviceId: string, forIndoor: boolean): number; getPM2_5Density(deviceId: string, forIndoor: boolean): number; getVocDensity(deviceId: string, forIndoor: boolean): number; getDisplayUnits(deviceId: string): number; getScheduleState(deviceId: string): boolean; getAwayState(deviceId: string): boolean; setTargetTemps(deviceId: string, targetTemp?: number, heatThreshold?: number, coolThreshold?: number): Promise<boolean>; setTargetState(deviceId: string, requestedState: number): Promise<boolean>; setOneCleanFanActive(deviceId: string, requestedState: boolean): Promise<boolean>; setCirculateAirFanActive(deviceId: string, requestedState: boolean): Promise<boolean>; setCirculateAirFanSpeed(deviceId: string, requestedSpeed: number): Promise<boolean>; setDisplayUnits(deviceId: string, requestedUnits: number): Promise<boolean>; setTargetHumidity(deviceId: string, requestedHumidity: number): Promise<boolean>; setScheduleState(deviceId: string, requestedState: boolean): Promise<boolean>; setAwayState(deviceId: string, requestedState: boolean, enableSchedule: boolean): Promise<boolean>; private putRequest; private _updateCache; private _cachedDeviceById; logError(message: string, error: any): boolean; } //# sourceMappingURL=daikinapi.d.ts.map