MELCloud & MELCloud Home API for Node.js - v48.2.0
    Preparing search index...

    Interface ClassicDeviceAtaFacade

    Facade for Air-to-Air (ATA) devices, exposing the ATA group operations on a single device by treating it as a group of one — MELCloud's native group endpoints only address zones (building/floor/area), so a device emulates them against its own state.

    interface ClassicDeviceAtaFacade {
        data: Readonly<ClassicListDeviceData<T>>;
        devices: readonly ClassicDeviceAny[];
        exists: boolean;
        fetch: () => Promise<Readonly<ClassicListDeviceDataAta>>;
        flags: Record<keyof ClassicUpdateDeviceData<T>, number>;
        getEnergy: (query: ReportQuery) => Promise<Result<ClassicEnergyDataAta>>;
        getEnergyReport: (
            query?: ReportQuery,
        ) => Promise<Result<ReportChartLineOptions>>;
        getErrorLog: (
            query: ClassicErrorLogQuery,
        ) => Promise<Result<ClassicErrorLog>>;
        getFrostProtection: () => Promise<Result<ProtectionState | null>>;
        getGroup: () => Promise<Result<ClassicGroupState>>;
        getHolidayMode: () => Promise<Result<HolidayModeState | null>>;
        getHourlyTemperatures: (
            hour?: Hour,
        ) => Promise<Result<ReportChartLineOptions>>;
        getInternalTemperatures: (
            query: ReportQuery,
        ) => Promise<Result<ReportChartLineOptions>>;
        getOperationModes: (
            query: ReportQuery,
        ) => Promise<Result<ReportChartPieOptions>>;
        getSignalStrength: (hour?: Hour) => Promise<Result<ReportChartLineOptions>>;
        getTemperatureRange: (
            mode?: ClassicOperationMode,
        ) => TemperatureRange | null;
        getTemperatures: (
            query: ReportQuery,
        ) => Promise<Result<ReportChartLineOptions>>;
        getTiles: (
            device: true | ClassicDeviceAny,
        ) => Promise<Result<ClassicTilesData<0>>> & (
            device?: false,
        ) => Promise<Result<ClassicTilesData<null>>>;
        getValues: () => Promise<Result<ClassicGetDeviceData<0>>>;
        id: number;
        isAvailable: boolean;
        name: string;
        notifySync: (params?: { type?: ClassicDeviceType }) => Promise<void>;
        power: boolean;
        rssi: number;
        type: 0;
        updateFrostProtection: (update: ProtectionUpdate) => Promise<void>;
        updateGroupState: (state: ClassicGroupState) => Promise<void>;
        updateHolidayMode: (update: HolidayModeUpdate) => Promise<void>;
        updatePower: (value?: boolean) => Promise<void>;
        updateValues: (
            data: ClassicUpdateDeviceDataAta,
        ) => Promise<ClassicSetDeviceDataAta>;
    }

    Hierarchy (View Summary)

    Index
    devices: readonly ClassicDeviceAny[]

    All devices managed by this facade.

    exists: boolean

    Whether the underlying entity still exists in the registry. Non-throwing staleness check — see EntityNotFoundError for the throwing counterpart surfaced by other accessors.

    Fetch the latest device data after syncing.

    flags: Record<keyof ClassicUpdateDeviceData<T>, number>

    Bitfield flags mapping each updatable property to its effective flag value.

    Fetch energy consumption report. ATA and ATW only.

    getEnergyReport: (
        query?: ReportQuery,
    ) => Promise<Result<ReportChartLineOptions>>

    Fetch the energy report as line chart data (kWh buckets). ATA and ATW only: types without an energy report resolve an empty chart.

    Retrieve the error log for all devices in this facade.

    getFrostProtection: () => Promise<Result<ProtectionState | null>>

    Get the current frost protection settings, null when never configured.

    getGroup: () => Promise<Result<ClassicGroupState>>

    Read this device's current state projected as a group state.

    getHolidayMode: () => Promise<Result<HolidayModeState | null>>

    Get the current holiday mode settings, null when never configured.

    getHourlyTemperatures: (hour?: Hour) => Promise<Result<ReportChartLineOptions>>

    Fetch hourly temperature report. ATW only.

    getInternalTemperatures: (
        query: ReportQuery,
    ) => Promise<Result<ReportChartLineOptions>>

    Fetch internal temperature report. ATW only.

    getOperationModes: (
        query: ReportQuery,
    ) => Promise<Result<ReportChartPieOptions>>

    Fetch operation mode usage as pie chart data.

    getSignalStrength: (hour?: Hour) => Promise<Result<ReportChartLineOptions>>

    Fetch WiFi signal strength report as line chart data.

    getTemperatureRange: (mode?: ClassicOperationMode) => TemperatureRange | null

    Setpoint bounds enforced for an operation mode — the cross-dialect read: a caller needs no knowledge of which API backs the device.

    Type Declaration

    getTemperatures: (query: ReportQuery) => Promise<Result<ReportChartLineOptions>>

    Fetch temperature history as line chart data.

    getTiles: (
        device: true | ClassicDeviceAny,
    ) => Promise<Result<ClassicTilesData<0>>> & (
        device?: false,
    ) => Promise<Result<ClassicTilesData<null>>>

    Fetch tile overview data, optionally selecting a specific device.

    getValues: () => Promise<Result<ClassicGetDeviceData<0>>>

    Fetch current device values from the Classic API.

    id: number
    isAvailable: boolean
    name: string
    notifySync: (params?: { type?: ClassicDeviceType }) => Promise<void>

    Trigger a sync callback for downstream consumers.

    power: boolean

    Whether the unit is powered on.

    rssi: number

    Last-reported Wi-Fi signal strength, in dBm.

    type: 0
    updateFrostProtection: (update: ProtectionUpdate) => Promise<void>

    Update frost protection settings with temperature clamping.

    updateGroupState: (state: ClassicGroupState) => Promise<void>

    Apply a group state to this device.

    updateHolidayMode: (update: HolidayModeUpdate) => Promise<void>

    Enable or disable holiday mode.

    updatePower: (value?: boolean) => Promise<void>

    Turn all devices in this facade on or off.

    Send updated device values, clamping temperatures to valid ranges.