Builds a facade manager bound to the given Home API client; facades it returns share this reference.
Home API client.
Returns the cached facade for the given Home device, lazily creating
one on first access. The overloads preserve type-narrowing: callers
who already discriminated instance via isAta()/isAtw() get the
matching facade type back without runtime checks.
Registry device to wrap.
The device facade, the same instance on every call for the same model.
Returns the cached facade for the given Home device, lazily creating
one on first access. The overloads preserve type-narrowing: callers
who already discriminated instance via isAta()/isAtw() get the
matching facade type back without runtime checks.
Registry device to wrap.
The device facade, the same instance on every call for the same model.
Returns the cached building facade for the given /context
building, lazily creating one on first access. Any registered
device of the building resolves it, whatever its connection type;
null only for an unknown id or a building emptied by a sync —
stale cache entries are dropped.
Identifier of the /context building.
The building facade, or null when no registered device
belongs to the building.
Groups registry devices by building — the Home counterpart of the
Classic manager's getBuildings.
Optionalparams: { type?: HomeDeviceType }
Optional filter.
Optionaltype?: HomeDeviceTypeConnection-type discriminator; omitted merges both connection types per building.
One name-sorted entry per building.
Resolves a device facade by id — the by-id twin of get.
Device identifier.
The facade, or null when the id is unknown.
Flattens the registry into the picker zone list (grouped:
name-sorted buildings each followed by their own name-sorted
devices; Classic's getZones sorts its flat list globally).
Optionalparams: { type?: HomeDeviceType }
Optional filter.
Optionaltype?: HomeDeviceTypeConnection-type discriminator; omitted covers both connection types.
The flattened zone nodes.
Batch frost-protection update for the given Home devices: groups them by type, clamps the bounds into range, and issues one API write. All ids must belong to this manager's account.
Target device ids.
The new frost-protection settings.
Batch holiday-mode update for the given Home devices: groups them by type and issues one API write. Mirror of updateFrostProtection for the holiday window. All ids must belong to this manager's account.
Target device ids.
The new holiday-mode window.
Batch overheat-protection update for the given Home devices: keeps only the ATA ids (the feature is ATA-only — the official app never sends ATW ids), clamps the bounds into range, and issues one API write when at least one ATA id remains. All ids must belong to this manager's account.
Target device ids (non-ATA ids are dropped).
The new overheat-protection settings.
Lazily creates and caches Home device facade instances using a WeakMap keyed by model reference. Mirrors the classic ClassicFacadeManager pattern.