UNPKG

homebridge-mhi-wfrac

Version:

A homebridge plugin for Mitshubishi WF-RAC aircos (using the Smart M-Air app)

113 lines (112 loc) 3.12 kB
import { Logging } from 'homebridge'; export declare class DeviceStatus { static outdoorTempList: number[]; static indoorTempList: number[]; static OPERATION_MODES: { 0: 'auto'; 1: 'cool'; 2: 'heat'; 3: 'fan'; 4: 'dry'; }; static AIRFLOW: { 0: 'auto'; 1: 'lowest'; 2: 'low'; 3: 'high'; 4: 'highest'; }; static HORIZONTAL_POSITIONS: { 0: 'auto'; 1: 'left-left'; 2: 'left-center'; 3: 'center-center'; 4: 'center-right'; 5: 'right-right'; 6: 'left-right'; 7: 'right-left'; }; static VERTICAL_POSITIONS: { 0: 'auto'; 1: 'highest'; 2: 'middle'; 3: 'normal'; 4: 'lowest'; }; airFlow: number; coolHotJudge: boolean; electric: number; entrust: boolean; errorCode: string; indoorTemp: number | null; isAutoHeating: boolean; isSelfCleanOperation: boolean; isSelfCleanReset: boolean; isVacantProperty: number; modelNo: number; operation: boolean; operationMode: number | null; outdoorTemp: number | null; presetTemp: number | null; windDirectionLR: number; windDirectionUD: number; constructor(); static fromBase64(base64: string): DeviceStatus; private static crc16ccitt; toBase64(): string; commandToByte(): number[]; static receiveToBytes(status: DeviceStatus): number[]; } interface DeviceStatusRequest { airconId: string; airconStat: string; } interface DeviceStatusResponse { command: string; apiVer: string; operatorId: string; deviceId: string; timestamp: number; result: number; contents: { airconId: string; airconStat: string; logStat: number; updatedBy: string; expires: number; ledStat: number; autoHeating: number; highTemp: string; lowTemp: string; firmType: string; wireless: { firmVer: string; }; mcu: { firmVer: string; }; timezone: string; remoteList: string[]; numOfAccount: number; }; } export declare class DeviceClient { private readonly ipAddress; private readonly port; private readonly operatorId; private readonly deviceId; private readonly log; private readonly ignoreConnectionErrors; status: DeviceStatus; constructor(ipAddress: string, port: number, operatorId: string, deviceId: string, log: Logging, ignoreConnectionErrors?: boolean); private isConnectionError; getDeviceStatus(): Promise<DeviceStatus>; setAirflow(airFlow: number): DeviceStatus; setOperationMode(operationMode: number): DeviceStatus; setOperation(operation: boolean): DeviceStatus; setPresetTemp(presetTemp: number): DeviceStatus; setAwayMode(awayMode: boolean): DeviceStatus; setDeviceStatus(status: DeviceStatus): Promise<DeviceStatus>; call(command: string, contents?: DeviceStatusRequest | null): Promise<DeviceStatusResponse>; } export {};