code: def get(self, command=None):
          
  
          try:
              assert self.telnet
              with self.lock:
                  if command:
                      if not command.endswith('\r\n'):
                          command += '\r\n'
                      LOGGER.debug('%s: sending %r', self.host, command)
                      self.telnet.write(command.encode())
  
                  res = self.telnet.read_until('\r\n'.encode()).decode()
                  LOGGER.debug('%s: received %r', self.host, res)
                  if res.split()[0] not in ('100', '250'):
                      LOGGER.warn('command error: %r', res)
                      return None
                  return res.split()[1]
  
          except (AssertionError):
              self.connect()
  
          except (EOFError, socket.gaierror, BrokenPipeError):
              LOGGER.error("Cannot get answer from %s (%d)",
                           self.host, self.retries)
              if self.retries > 0:
                  self.retries -= 1
                  self.connect()
                  return self.get(command)
              else:
                  self.retries = Netio.MAX_RETRIES
                  return None
docs: Interface function to send and receive decoded bytes
          Retries the connect [self.retries] times