docs: async def async_connect(self):
          """Connect to the ASUS-WRT Telnet server."""
          self._reader, self._writer = await asyncio.open_connection(
              self._host, self._port)
  
          with (await self._io_lock):
              try:
                  await asyncio.wait_for(self._reader.readuntil(b'login: '), 9)
              except asyncio.streams.IncompleteReadError:
                  _LOGGER.error(
                      "Unable to read from router on %s:%s" % (
                          self._host, self._port))
                  return
              except TimeoutError:
                  _LOGGER.error("Host timeout.")
              self._writer.write((self._username + '\n').encode('ascii'))
              await self._reader.readuntil(b'Password: ')
  
              self._writer.write((self._password + '\n').encode('ascii'))
  
              self._prompt_string = (await self._reader.readuntil(
                  b'#')).split(b'\n')[-1]
          self._connected = True