| 
36 | 36 | MISMATCHED_RESPONSE_TIMEOUT = 0.5  | 
37 | 37 | COMMAND_TIMEOUT = 1.8  | 
38 | 38 | PROBE_TIMEOUT = 2  | 
39 |  | -REQUEST_RETRY_DELAYS = (0.5, 1.0, 1.5, None)  | 
40 | 39 | 
 
  | 
41 | 40 | FRAME_LENGTH = object()  | 
42 | 41 | PAYLOAD_LENGTH = object()  | 
@@ -872,37 +871,27 @@ async def aps_data_request(  | 
872 | 871 |             assert len(relays) <= 9  | 
873 | 872 |             flags |= t.DeconzSendDataFlags.RELAYS  | 
874 | 873 | 
 
  | 
875 |  | -        for delay in REQUEST_RETRY_DELAYS:  | 
876 |  | -            if not self._free_slots_available_event.is_set():  | 
877 |  | -                LOGGER.debug("Waiting for free slots to become available")  | 
878 |  | -                await self._free_slots_available_event.wait()  | 
 | 874 | +        if not self._free_slots_available_event.is_set():  | 
 | 875 | +            LOGGER.debug("Waiting for free slots to become available")  | 
 | 876 | +            await self._free_slots_available_event.wait()  | 
879 | 877 | 
 
  | 
880 |  | -            try:  | 
881 |  | -                rsp = await self.send_command(  | 
882 |  | -                    CommandId.aps_data_request,  | 
883 |  | -                    request_id=req_id,  | 
884 |  | -                    flags=flags,  | 
885 |  | -                    dst=dst_addr_ep,  | 
886 |  | -                    profile_id=profile,  | 
887 |  | -                    cluster_id=cluster,  | 
888 |  | -                    src_ep=src_ep,  | 
889 |  | -                    asdu=aps_payload,  | 
890 |  | -                    tx_options=tx_options,  | 
891 |  | -                    radius=radius,  | 
892 |  | -                    relays=relays,  | 
893 |  | -                )  | 
894 |  | -            except CommandError as ex:  | 
895 |  | -                LOGGER.debug("'aps_data_request' failure: %s", ex)  | 
896 |  | -                if delay is None or ex.status != Status.BUSY:  | 
897 |  | -                    raise  | 
 | 878 | +        rsp = await self.send_command(  | 
 | 879 | +            CommandId.aps_data_request,  | 
 | 880 | +            request_id=req_id,  | 
 | 881 | +            flags=flags,  | 
 | 882 | +            dst=dst_addr_ep,  | 
 | 883 | +            profile_id=profile,  | 
 | 884 | +            cluster_id=cluster,  | 
 | 885 | +            src_ep=src_ep,  | 
 | 886 | +            asdu=aps_payload,  | 
 | 887 | +            tx_options=tx_options,  | 
 | 888 | +            radius=radius,  | 
 | 889 | +            relays=relays,  | 
 | 890 | +        )  | 
898 | 891 | 
 
  | 
899 |  | -                LOGGER.debug("retrying 'aps_data_request' in %ss", delay)  | 
900 |  | -                await asyncio.sleep(delay)  | 
901 |  | -            else:  | 
902 |  | -                self._handle_device_state_changed(  | 
903 |  | -                    status=rsp["status"], device_state=rsp["device_state"]  | 
904 |  | -                )  | 
905 |  | -                return  | 
 | 892 | +        self._handle_device_state_changed(  | 
 | 893 | +            status=rsp["status"], device_state=rsp["device_state"]  | 
 | 894 | +        )  | 
906 | 895 | 
 
  | 
907 | 896 |     async def get_device_state(self) -> DeviceState:  | 
908 | 897 |         rsp = await self.send_command(CommandId.device_state)  | 
 | 
0 commit comments