OptionalgroupGroup this node belongs to. Required for channels that route by group
(e.g. MQTT constructs its shadow name from groupId + subgroupIds).
OptionalidNode identifier (preferred).
OptionalmetadataOptional metadata used by capability-gated channels (e.g. Matter markers).
OptionalnodeNode identifier as used by ESPRMNeoNode.
OptionalsubgroupSubgroup ids this node belongs to under groupId. Passed through to MQTT shadow-name construction. Empty/omitted → group-level shadow.
OptionalsubscriptionPer-node channel order override.
OptionaltypeOptional node type hint used by capability-gated channels.
Minimal structural shape the subscription manager needs from a node.
Used instead of a hard dependency on ESPRMNeoNode so that satellite SDKs (Matter, BLE, …) and lightweight proxies can be passed to the manager. A node is identified by id or nodeId; channel selection may also read subscriptionConfig, type and metadata.