code: def send(self, cmd="", timeout=60, wait_for_string=None, password=False):
          
          if self.connected:
              output = ''
              if password:
                  self.chain.connection.log("Sending password")
              else:
                  self.chain.connection.log("Sending command: '{}'".format(cmd))
  
              try:
                  output = self.execute_command(cmd, timeout, wait_for_string, password)
              except ConnectionError:
                  self.chain.connection.log("Connection lost. Disconnecting.")
                  # self.disconnect()
                  raise
  
              if password:
                  self.chain.connection.log("Password sent successfully")
              else:
                  self.chain.connection.log("Command executed successfully: '{}'".format(cmd))
  
              return output
  
          else:
              raise ConnectionError("Device not connected", host=self.hostname)
docs: Send the command to the device and return the output.
  
          Args:
              cmd (str): Command string for execution. Defaults to empty string.
              timeout (int): Timeout in seconds. Defaults to 60s
              wait_for_string (str): This is optional string that driver
                  waits for after command execution. If none the detected
                  prompt will be used.
              password (bool): If true cmd representing password is not logged
                  and condoor waits for noecho.
  
          Returns:
              A string containing the command output.
  
          Raises:
              ConnectionError: General connection error during command execution
              CommandSyntaxError: Command syntax error or unknown command.
              CommandTimeoutError: Timeout during command execution