docs: async def async_run_command(self, command, retry=False):
          """Run commands through an SSH connection.
  
          Connect to the SSH server if not currently connected, otherwise
          use the existing connection.
          """
          if not self.is_connected:
              await self.async_connect()
          try:
              result = await asyncio.wait_for(self._client.run(
                  "%s && %s" % (_PATH_EXPORT_COMMAND, command)), 9)
          except asyncssh.misc.ChannelOpenError:
              if not retry:
                  await self.async_connect()
                  return self.async_run_command(command, retry=True)
              else:
                  self._connected = False
                  _LOGGER.error("No connection to host")
                  return []
          except TimeoutError:
              del self._client
              self._connected = False
              _LOGGER.error("Host timeout.")
              return []
  
          self._connected = True
          return result.stdout.split('\n')