Builds the facade over a registry entity.
API surface the facade calls through.
Registry entity to wrap.
ReadonlyidWire did of the wrapped device.
ReadonlyproductProduct generation of the wrapped device.
When the running derogation ends, or null when none is running.
The derogation end date, or null.
Whether the device is heating (mode is not stop).
true while any heating mode is active.
The user-facing device name, tracking renames across syncs.
The wire dev_alias value.
Notify the API's onSyncComplete observer, scoped to this device.
Invoked by the @syncDevices decorator after each decorated
mutation or read.
Send a control payload, merge the echo into the in-memory model, and notify sync observers.
Writable attributes to apply.
The echoed attribute payload.
Merge a partial attribute payload into the registry entity.
Invoked by the @updateDevice decorator.
Partial attribute payload to merge.
Refresh a live attribute read into the in-memory model and notify sync observers.
The fresh attribute payload.
Behavioral wrapper around a registry Device for first-generation (V1) products, which only expose the heating mode. Subclasses layer the richer generations on top. Obtain instances through FacadeManager.get — facades are cached per entity.