Groups devices by their source building, name-sorted like the Classic registry's zone tree; devices keep registry order within a building (an upsert keeps a known device's position, new devices append).
Optional filter.
Optionaltype?: HomeDeviceTypeConnection-type discriminator; omitted merges both connection types per building.
One entry per building that holds at least one such device.
Returns the device with the given id, or undefined when no such device is registered.
Device identifier.
The device, or undefined.
Returns every device currently held in the registry.
All devices.
Returns every device whose connection type matches the given Ata / Atw discriminator, narrowed to the matching payload variant.
Connection-type discriminator.
The matching devices.
Returns every device whose connection type matches the given Ata / Atw discriminator, narrowed to the matching payload variant.
Connection-type discriminator.
The matching devices.
Returns every device whose connection type matches the given Ata / Atw discriminator, narrowed to the matching payload variant.
Connection-type discriminator.
The matching devices.
Flattens the registry into the picker zone list: name-sorted
buildings, each followed by its own name-sorted devices — the
grouped shape the consumer's Home picker established. Classic's
getZones differs by design: it sorts its flat list globally, so
children detach from their parents there.
Optional filter.
Optionaltype?: HomeDeviceTypeConnection-type discriminator; omitted covers both connection types.
The flattened zone nodes.
Upserts the device registry from a flat list of typed device payloads;
entries absent from devices are pruned.
Fresh typed device payloads.
Lightweight device registry for the Home API. Maintains stable model references across syncs using upsert + prune.