Get available channels for a node. Filters channels based on:
The node to get channels for
Array of available channels in priority order
Get the effective channel order for a node. Priority: node.subscriptionConfig.channelOrder > global channel order
The node to get channel order for
Array of channel IDs in priority order
Get the global channel order.
Array of channel IDs in priority order
Initialize the subscription manager. This initializes all registered channels. Should be called during SDK initialization.
Promise that resolves when initialization is complete
Register a new subscription channel.
The channel to register
Whether to initialize the channel immediately (default: true)
Set the global default channel order. This order is used for all nodes unless they have a custom order in subscriptionConfig.
Array of channel IDs in priority order (first = highest priority)
Subscribe to updates for all nodes. This is used by the global ESPRMEventType.nodeUpdates subscription.
Array of nodes to subscribe to
Function to call when any node is updated
Subscribe to updates for a specific node using priority-based channel selection. Tries channels in order until one succeeds.
The node to subscribe to
Function to call when updates are received
Manages subscription channels and coordinates node update subscriptions. This is the central hub for all parameter update subscriptions from various sources (notifications, Matter, MQTT, BLE, custom channels, etc.)
The manager uses a priority-based approach:
Example