MELCloud & MELCloud Home API for Node.js - v23.3.3
    Preparing search index...

    Interface API

    Full MELCloud API contract including authentication and device listing.

    interface API {
        authenticate: (data?: LoginCredentials) => Promise<boolean>;
        clearSync: () => void;
        fetch: () => Promise<BuildingWithStructure[]>;
        getEnergy: <T extends DeviceType>(
            __namedParameters: { postData: EnergyPostData },
        ) => Promise<{ data: EnergyData<T> }>;
        getErrorEntries: (
            __namedParameters: { postData: ErrorLogPostData },
        ) => Promise<{ data: FailureData | ErrorLogData[] }>;
        getErrorLog: (
            query: ErrorLogQuery,
            deviceIds: number[],
        ) => Promise<ErrorLog>;
        getFrostProtection: (
            __namedParameters: { params: SettingsParams },
        ) => Promise<{ data: FrostProtectionData }>;
        getGroup: (
            __namedParameters: { postData: GetGroupPostData },
        ) => Promise<{ data: GetGroupData }>;
        getHolidayMode: (
            __namedParameters: { params: SettingsParams },
        ) => Promise<{ data: HolidayModeData }>;
        getHourlyTemperatures: (
            __namedParameters: { postData: { device: number; hour: HourNumbers } },
        ) => Promise<{ data: ReportData }>;
        getInternalTemperatures: (
            __namedParameters: { postData: ReportPostData },
        ) => Promise<{ data: ReportData }>;
        getOperationModes: (
            __namedParameters: { postData: ReportPostData },
        ) => Promise<{ data: OperationModeLogData }>;
        getSignal: (
            __namedParameters: {
                postData: { devices: number | number[]; hour: HourNumbers };
            },
        ) => Promise<{ data: ReportData }>;
        getTemperatures: (
            __namedParameters: { postData: TemperatureLogPostData },
        ) => Promise<{ data: ReportData }>;
        getTiles: (
            __namedParameters: { postData: TilesPostData<null> },
        ) => Promise<{ data: TilesData<null> }> & <T extends DeviceType>(
            __namedParameters: { postData: TilesPostData<T> },
        ) => Promise<{ data: TilesData<T> }>;
        getValues: <T extends DeviceType>(
            __namedParameters: { params: GetDeviceDataParams },
        ) => Promise<{ data: GetDeviceData<T> }>;
        isAuthenticated: () => boolean;
        list: () => Promise<{ data: BuildingWithStructure[] }>;
        login: (
            __namedParameters: { postData: LoginPostData },
        ) => Promise<{ data: LoginData }>;
        onSync?: OnSyncFunction;
        registry: ModelRegistry;
        setFrostProtection: (
            __namedParameters: { postData: FrostProtectionPostData },
        ) => Promise<{ data: FailureData | SuccessData }>;
        setGroup: (
            __namedParameters: { postData: SetGroupPostData },
        ) => Promise<{ data: FailureData | SuccessData }>;
        setHolidayMode: (
            __namedParameters: { postData: HolidayModePostData },
        ) => Promise<{ data: FailureData | SuccessData }>;
        setLanguage: (language: string) => Promise<void>;
        setPower: (
            __namedParameters: { postData: SetPowerPostData },
        ) => Promise<{ data: boolean }>;
        setSyncInterval: (minutes: number | null) => void;
        setValues: <T extends DeviceType>(
            __namedParameters: { postData: SetDevicePostData<T>; type: T },
        ) => Promise<{ data: SetDeviceData<T> }>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    authenticate: (data?: LoginCredentials) => Promise<boolean>

    Authenticate with MELCloud using the provided or stored credentials.

    clearSync: () => void

    Cancel any pending automatic sync.

    fetch: () => Promise<BuildingWithStructure[]>

    Fetch all buildings and sync the model registry.

    getEnergy: <T extends DeviceType>(
        __namedParameters: { postData: EnergyPostData },
    ) => Promise<{ data: EnergyData<T> }>

    Fetch energy consumption report. Supported by ATA and ATW devices.

    getErrorEntries: (
        __namedParameters: { postData: ErrorLogPostData },
    ) => Promise<{ data: FailureData | ErrorLogData[] }>

    Fetch raw error log entries from the API.

    getErrorLog: (query: ErrorLogQuery, deviceIds: number[]) => Promise<ErrorLog>

    Retrieve a parsed and paginated error log for the given devices. Supported by all device types.

    getFrostProtection: (
        __namedParameters: { params: SettingsParams },
    ) => Promise<{ data: FrostProtectionData }>

    Get frost protection settings for a building, floor, area, or device.

    getGroup: (
        __namedParameters: { postData: GetGroupPostData },
    ) => Promise<{ data: GetGroupData }>

    Fetch ATA device group state. ATA only.

    getHolidayMode: (
        __namedParameters: { params: SettingsParams },
    ) => Promise<{ data: HolidayModeData }>

    Get holiday mode settings for a building, floor, area, or device.

    getHourlyTemperatures: (
        __namedParameters: { postData: { device: number; hour: HourNumbers } },
    ) => Promise<{ data: ReportData }>

    Fetch hourly temperature report. ATW only.

    getInternalTemperatures: (
        __namedParameters: { postData: ReportPostData },
    ) => Promise<{ data: ReportData }>

    Fetch internal temperature report. ATW only.

    getOperationModes: (
        __namedParameters: { postData: ReportPostData },
    ) => Promise<{ data: OperationModeLogData }>

    Fetch operation mode log data for charting.

    getSignal: (
        __namedParameters: {
            postData: { devices: number | number[]; hour: HourNumbers };
        },
    ) => Promise<{ data: ReportData }>

    Fetch WiFi signal strength report.

    getTemperatures: (
        __namedParameters: { postData: TemperatureLogPostData },
    ) => Promise<{ data: ReportData }>

    Fetch temperature log data.

    getTiles: (
        __namedParameters: { postData: TilesPostData<null> },
    ) => Promise<{ data: TilesData<null> }> & <T extends DeviceType>(
        __namedParameters: { postData: TilesPostData<T> },
    ) => Promise<{ data: TilesData<T> }>

    Fetch tile data for device overview.

    getValues: <T extends DeviceType>(
        __namedParameters: { params: GetDeviceDataParams },
    ) => Promise<{ data: GetDeviceData<T> }>

    Fetch current device data by device and building ID.

    isAuthenticated: () => boolean

    Whether a user is currently authenticated (context key valid).

    list: () => Promise<{ data: BuildingWithStructure[] }>

    List all buildings and their device hierarchy.

    login: (
        __namedParameters: { postData: LoginPostData },
    ) => Promise<{ data: LoginData }>

    Perform a login request against the MELCloud API.

    Callback invoked after sync operations.

    registry: ModelRegistry

    Central model registry containing all synced buildings, floors, areas, and devices.

    setFrostProtection: (
        __namedParameters: { postData: FrostProtectionPostData },
    ) => Promise<{ data: FailureData | SuccessData }>

    Update frost protection settings.

    setGroup: (
        __namedParameters: { postData: SetGroupPostData },
    ) => Promise<{ data: FailureData | SuccessData }>

    Update ATA device group state. ATA only.

    setHolidayMode: (
        __namedParameters: { postData: HolidayModePostData },
    ) => Promise<{ data: FailureData | SuccessData }>

    Update holiday mode settings.

    setLanguage: (language: string) => Promise<void>

    Update the user's language on the server if it differs from the current locale.

    setPower: (
        __namedParameters: { postData: SetPowerPostData },
    ) => Promise<{ data: boolean }>

    Turn devices on or off.

    setSyncInterval: (minutes: number | null) => void

    Update the automatic sync interval and reschedule. Set to 0 or null to disable.

    setValues: <T extends DeviceType>(
        __namedParameters: { postData: SetDevicePostData<T>; type: T },
    ) => Promise<{ data: SetDeviceData<T> }>

    Send updated device values to the API.