ReadonlychannelUnique identifier for this channel (e.g., "mqtt", "matter", "ble")
Cleanup and dispose of all channel resources (connections, callbacks, etc.). Called when the channel is unregistered or the app is closing.
Subscribe to parameter updates for a specific node.
Function to call when updates are received
The node to subscribe to. Must carry the identifier and any
routing context the channel needs (e.g. groupId, subgroupIds for MQTT
shadow topic construction). Passing the full node — not just an id —
lets channels operate without reverse-looking up group membership from
persistent state.
Promise that resolves when subscription is active
Check if this channel supports a specific node. This method determines whether the channel can provide updates for the given node.
Examples:
The node to check support for
true if this channel can provide updates for the node
Unsubscribe from updates.
OptionalnodeId: stringOptional node ID. If omitted, unsubscribes every node.
Optionalcallback: (update: ESPNodeUpdateData) => voidOptional specific subscriber to remove. When provided, only that callback is detached; the channel keeps delivering to the node's other subscribers and fully detaches the node only once none remain. When omitted, all subscribers for the node are removed.
Promise that resolves when unsubscription is complete
Interface for subscription channels that provide device parameter updates. Each channel represents a different communication method (MQTT, Matter, BLE, etc.)
Implementation Guidelines: