@@ -103,6 +103,8 @@ async def start_network(self):
103
103
self .listener_event ("raw_device_initialized" , xbee_dev )
104
104
self .devices [dev .ieee ] = xbee_dev
105
105
106
+ await self .register_endpoints ()
107
+
106
108
async def load_network_info (self , * , load_devices = False ):
107
109
# Load node info
108
110
node_info = self .state .node_info
@@ -186,10 +188,15 @@ async def force_remove(self, dev):
186
188
"""Forcibly remove device from NCP."""
187
189
pass
188
190
189
- async def add_endpoint (self , descriptor ) :
191
+ async def add_endpoint (self , descriptor : zdo_t . SimpleDescriptor ) -> None :
190
192
"""Register a new endpoint on the device."""
191
- # This is not provided by the XBee API
192
- pass
193
+ self ._device .replacement ["endpoints" ][descriptor .endpoint ] = {
194
+ "device_type" : descriptor .device_type ,
195
+ "profile_id" : descriptor .profile ,
196
+ "input_clusters" : descriptor .input_clusters ,
197
+ "output_clusters" : descriptor .output_clusters ,
198
+ }
199
+ self ._device .add_endpoint (descriptor .endpoint )
193
200
194
201
async def _get_association_state (self ):
195
202
"""Wait for Zigbee to start."""
0 commit comments