code: async def _wait_for_cmd(self, cmd, value, timeout=OTGW_DEFAULT_TIMEOUT):
          
          if not self._connected:
              return
          try:
              return await asyncio.wait_for(self._protocol.issue_cmd(cmd, value),
                                            timeout,
                                            loop=self.loop)
          except TimeoutError:
              _LOGGER.error("Timed out waiting for command: %s, value: %s.", cmd,
                            value)
              return
          except (RuntimeError, SyntaxError, ValueError) as exc:
              _LOGGER.error("Command %s with value %s raised exception: %s", cmd,
                            value, exc)
docs: Wrap @cmd in applicable asyncio call.
  
          This method is a coroutine.