You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per the Central Static Controller (CSC) role spec (§8.4.1), after including a node the controller MUST perform several setup steps. Currently the only post-inclusion step is an interview - none of the required network configuration happens.
Assign SIS return route - Call AssignSucReturnRoute so the node can reach the SIS/controller.
Configure Wake Up (for battery nodes) - if the node supports WakeUp CC and is a sleeping node type (PEN/RSEN/WOEEN), send WakeUpIntervalSet with the controller's NodeID as the destination and a reasonable interval (use the device's default or advertised min/max).
The setup must handle failures gracefully — if lifeline setup fails, still proceed with interview.
For battery nodes, steps 1-3 must happen during the initial wake window after inclusion (before the node goes back to sleep).
Design notes: This logic should be a well-defined method on Controller (e.g., ConfigureNewNodeAsync) called after inclusion succeeds. The WakeUp configuration requires awareness of the node's role type, which comes from the GetNodeProtocolInfo response.
Depends on: #17 (Node Add/Remove), #161 (Association CC), #140 (Multi Channel Association - optional, fall back to basic Association)
Per the Central Static Controller (CSC) role spec (§8.4.1), after including a node the controller MUST perform several setup steps. Currently the only post-inclusion step is an interview - none of the required network configuration happens.
Scope:
AddNodeflow), perform these steps in order:AssociationSet(groupId: 1, nodeIds: [controllerNodeId])to the new node's root device. If the node supports Multi Channel Association (Implement Multi Channel Association Command Class (0x8E v5) #140), use that instead.AssignSucReturnRouteso the node can reach the SIS/controller.WakeUpCC and is a sleeping node type (PEN/RSEN/WOEEN), sendWakeUpIntervalSetwith the controller's NodeID as the destination and a reasonable interval (use the device's default or advertised min/max).GetNodeProtocolInfo→RequestNodeInfo→InterviewCCs)Design notes: This logic should be a well-defined method on
Controller(e.g.,ConfigureNewNodeAsync) called after inclusion succeeds. The WakeUp configuration requires awareness of the node's role type, which comes from theGetNodeProtocolInforesponse.Depends on: #17 (Node Add/Remove), #161 (Association CC), #140 (Multi Channel Association - optional, fall back to basic Association)