Building model holding zone settings and geographic location.
Concrete device model holding mutable device data that can be partially updated after API calls.
Lazily creates and caches facade instances using a WeakMap keyed by model reference. Ensures each model instance maps to exactly one facade throughout its lifetime.
Floor model representing a level within a building.
Facade for a MELCloud Home ATA device. Provides typed access to device settings and temperature clamping per operation mode before sending values to the API.
Mutable wrapper around a HomeDevice, preserving object identity across syncs.
Lightweight device registry for the Home API. Maintains stable model references across syncs using upsert + prune.
Lazily creates and caches Home device facade instances using a WeakMap keyed by model reference. Mirrors the classic FacadeManager pattern.
Main MELCloud API client. Handles authentication, device syncing, and all API endpoint calls. Uses a private constructor — create instances via MELCloudAPI.create.
MELCloud Home API client. Authenticates via headless OIDC login through a double-federated flow: BFF → IdentityServer → AWS Cognito.
Central in-memory registry of all MELCloud models (buildings, floors, areas, devices). Synced from the API response and queryable by ID or parent relationship.
Full MELCloud API contract including authentication and device listing.
Low-level API adapter exposing all MELCloud HTTP endpoints. Methods are grouped by supported device types.
Configuration options for creating a MELCloud API instance.
Persistent settings managed by the API for session authentication.
Common configuration shared by all API clients.
Facade for a building, providing access to all its devices and zone settings.
Facade for Air-to-Water (ATW) devices with per-zone temperature clamping and merged temperature reports.
Extended ATW facade for units with two zones. Automatically couples zone operation modes so that cooling and room/flow modes stay consistent between zones.
Facade for an individual MELCloud device with type-safe data access and control.
A single error entry from the device error log.
Parsed error log with pagination support.
Query parameters for paginating the error log.
Base facade contract shared by all facade types (building, floor, area, device).
Parameters for configuring frost protection temperature bounds.
Parameters for enabling or disabling holiday mode.
MELCloud Home API contract.
Configuration options for the MELCloud Home API.
ATW hot water state derived from device data.
ATA properties that use different names in list responses vs set requests (e.g., FanSpeed in list, SetFanSpeed in set).
Logger interface for API call tracing.
Line chart data with named series and a measurement unit.
Pie chart data with labeled segments.
Date range query for report endpoints.
ATA properties that use different names in list responses vs set requests (e.g., FanSpeed in list, SetFanSpeed in set).
External storage adapter for persisting API session settings.
Facade for zones (building, floor, area) that contain multiple ATA devices supporting group operations.
Union of all device facade types.
Union of all device model types.
MELCloud device type identifiers.
Fan speed levels for ATA and ERV devices.
MELCloud Home API device type identifiers, matching context response keys.
Horizontal vane positions for ATA devices.
Set-request property names that have no direct counterpart in list responses (they map to SetDeviceDataAtaInList names instead).
Report axis label formatting types.
MELCloud supported language codes.
Base type for all model classes.
Fan speed values excluding silent, used in set/update commands.
Callback invoked after sync operations, with optional device IDs and type filter.
ATA device operation modes.
ATW device real-time operation state.
ATW hot water derived operational state.
ATW zone derived operational state.
ATW zone operation modes controlling temperature regulation strategy.
ATA set-temperature limits (universal across all ATA models).
ERV ventilation modes.
Vertical vane positions for ATA devices.
ATW zone state derived from device data.
Pre-built sets of ATA operation modes that support cooling or heating.
MELCloud device type identifiers.
Fan speed levels for ATA and ERV devices.
Effective flags value indicating no specific fields were changed; all data should be included.
MELCloud Home API device type identifiers, matching context response keys.
Horizontal vane positions for ATA devices.
Report axis label formatting types.
MELCloud supported language codes.
Synthetic operation mode for buildings with devices in different modes. Not a real API value — used at the application layer for mixed-state display.
ATA device operation modes.
ATW device real-time operation state.
ATW hot water derived operational state.
ATW zone derived operational state.
ATW zone operation modes controlling temperature regulation strategy.
ATA set-temperature limits (universal across all ATA models).
ERV ventilation modes.
Vertical vane positions for ATA devices.
Method decorator that triggers an API fetch before executing the decorated method.
Type guard that narrows an ATW facade to the zone 2 variant.
Allows consumers to safely access zone2 without type assertions.
Type guard that narrows a device facade to the ATA variant.
Type guard that narrows a device facade to the ATW variant.
Allows consumers to safely access hotWater and zone1 without type assertions.
Type guard that narrows a DeviceModelAny to a specific DeviceModel variant.
Overloads ensure the predicate type is always assignable to the union member.
Type guard that narrows a device facade to the ERV variant.
Method decorator factory that invokes the sync callback after the decorated method completes.
Works with any class that exposes notifySync (facades) or onSync (API services).
Method decorator that converts API response data back to list format and updates the device model, using effective flags to determine which fields changed.
Method decorator factory that propagates data changes to device models after
the decorated method completes. Supports filtering by device type and handles
the special SetPower method name for power state updates.
Area model representing a zone within a building or floor.