@@ -84,15 +84,19 @@ async def form_network(self, channel=15, pan_id=None, extended_pan_id=None):
8484 raise Exception ("Could not form network." )
8585
8686 @zigpy .util .retryable_request
87- async def request (self , nwk , profile , cluster , src_ep , dst_ep , sequence , data ,
88- timeout = SEND_CONFIRM_TIMEOUT ):
87+ async def request (self , device , profile , cluster , src_ep , dst_ep , sequence , data ,
88+ expect_reply = True , use_ieee = False ):
8989 req_id = self .get_sequence ()
9090 LOGGER .debug ("Sending Zigbee request with tsn %s under %s request id, data: %s" ,
9191 sequence , req_id , binascii .hexlify (data ))
9292 dst_addr_ep = t .DeconzAddressEndpoint ()
93- dst_addr_ep .address_mode = t .uint8_t (t .ADDRESS_MODE .NWK .value )
94- dst_addr_ep .address = t .uint16_t (nwk )
9593 dst_addr_ep .endpoint = t .uint8_t (dst_ep )
94+ if use_ieee :
95+ dst_addr_ep .address_mode = t .uint8_t (t .ADDRESS_MODE .IEEE )
96+ dst_addr_ep .address = device .ieee
97+ else :
98+ dst_addr_ep .address_mode = t .uint8_t (t .ADDRESS_MODE .NWK )
99+ dst_addr_ep .address = device .nwk
96100
97101 with self ._pending .new (req_id ) as req :
98102 try :
@@ -107,7 +111,7 @@ async def request(self, nwk, profile, cluster, src_ep, dst_ep, sequence, data,
107111 except zigpy_deconz .exception .CommandError as ex :
108112 return ex .status , "Couldn't enqueue send data request: {}" .format (ex )
109113
110- r = await asyncio .wait_for (req .result , timeout )
114+ r = await asyncio .wait_for (req .result , SEND_CONFIRM_TIMEOUT )
111115
112116 if r :
113117 LOGGER .warning ("Error while sending %s req id frame: 0x%02x" , req_id , r )
0 commit comments