Wrapped wire-format payload variant: a connection-type specific shape once discriminated, or the full HomeDeviceData union by default.
Builds a Home device wrapper from a wire-format HomeDeviceData entry tagged with its connection type (Ata or Atw) and ownership origin.
Wrapped wire-format payload variant: a connection-type specific shape once discriminated, or the full HomeDeviceData union by default.
Wire-format device payload tagged with its connection type, ownership origin and source building.
Identity of the /context building the
payload was sourced from.
Wire-format device payload.
true when sourced from an owned building,
false when sourced from a guest one.
Connection-type discriminator.
Identity of the /context building this device was sourced from on
the latest sync — the account-level grouping key. Restated on every
sync, so a device moved between buildings follows its new home.
The building id and display name.
First instant (UTC) since which every sync has reported the unit
disconnected, or null while it reads connected. In-memory only: a
fresh wrapper (new registry after a re-login, host restart)
restarts the clock — deliberately conservative for the availability
hysteresis.
The start of the current disconnection streak, if any.
Unique device identifier as assigned by MELCloud Home.
The GUID string assigned by MELCloud Home.
Whether the current account owns this device (sourced from
context.buildings) rather than being a guest of it (sourced from
context.guestBuildings). Reports the structural origin only:
false does not by itself prove a guest is barred from control.
true when owned, false when shared with this account.
User-facing display name set in the MELCloud Home app.
The device's display name.
Type predicate that narrows this wrapper to the ATA variant when its connection-type discriminator is HomeDeviceType.Ata.
true when the wrapped payload is an ATA device.
Type predicate that narrows this wrapper to the ATW variant when its connection-type discriminator is HomeDeviceType.Atw.
true when the wrapped payload is an ATW device.
Replaces the internal data snapshot with a fresh payload while preserving the wrapper's object identity. Every sync restates the ownership origin, so a share/unshare between syncs is reflected rather than kept from a stale tag.
Registry-internal by contract (the Home mirror of Classic's
non-exported syncDevice): consumers read, the registry writes.
Fresh wire-format device payload.
Ownership origin from the current sync.
Building identity from the current sync.
Mutable wrapper around a HomeDeviceData, preserving object identity across syncs.
TDatanarrows the wrapped payload to a specific connection-type variant (e.g. HomeAtaDeviceData) when callers have already discriminated on HomeDevice.type; defaults to the full union for the registry.