RapidHA and RapidConnect both support 'native' clusters (full list for RapidHA and RapidConnect) by allowing for single-point-configuration of cluster attributes and command handlers.
MMB Networks RapidConnect Desktop application makes adding non-native clusters trivial by providing a fully configurable endpoint widget. See here for more details.
Alternatively, users can easily add support for 'non-native' clusters via their Host code by following the guide below.
What is the difference between Native and Non-Native Cluster Support?
Native Clusters: When we refer to native clusters, we are referring to clusters that the RapidHA/RapidConnect firmware have a handler for. These native clusters can be configured with a single command. Attributes will receive default values and command handlers will have full implementations. This support can be for the Client-End or Server-End cluster, or for both.
Non-Native Clusters: Non native clusters can still be added to the device configuration but certain actions will have to be performed manually, such as, initializing attribute values, implementing command handlers in the Host app, passing commands through to the Host to be handled using the Register Command Passthrough command and handling responses.
Adding Non-Native Clusters to the Device Configuration
Clear Endpoints
When adding a new cluster the the device configuration, the Endpoint configuration must be first cleared and the following command sent:
- Put the device into Startup Config mode by sending the Host Startup Ready Command - ( PH:0x55, SH:0x20 ).
- Send the Clear Endpoint Config Command - (PH: 0x03, SH: 0x30) to clear the previous endpoint configuration.
Once the endpoint configuration has been cleared, add new endpoints and clusters the the device configuration by sending the Add Endpoint Command(PH:0x03, SH:0x10).
Add Attributes to Cluster
For the non-native clusters:
- Add attribute to the cluster by sending the Add Attributes to Cluster Command - ( PH:0x03, SH:0x20 ).
- Set attribute values by sending the Attribute Write Command - ( PH:0x03, SH:0x25 ).
Register Commands Passthrough
For non-native clusters, commands that are received by the module will be discarded as there are no embedded handlers for the non-native cluster commands. Therefore commands sent by devices for a non-native cluster need to be passed through from the module to the host. This can be done by enabling command passthroughs using the Register Commands Passthru Command - ( PH:0x03, SH:0x80 ). This command allows all or a specific set of commands to be passed through to the host and handled in the Host logic.
Complete Startup Config
Once all of the above steps are complete, send the Startup Sync Complete Command - ( PH:0x55, SH:0x22 )