code: def autodetect(self):
          
          for device_type, autodetect_dict in SSH_MAPPER_BASE.items():
              tmp_dict = autodetect_dict.copy()
              call_method = tmp_dict.pop("dispatch")
              autodetect_method = getattr(self, call_method)
              accuracy = autodetect_method(**tmp_dict)
              if accuracy:
                  self.potential_matches[device_type] = accuracy
                  if accuracy >= 99:  # Stop the loop as we are sure of our match
                      best_match = sorted(
                          self.potential_matches.items(), key=lambda t: t[1], reverse=True
                      )
                      self.connection.disconnect()
                      return best_match[0][0]
  
          if not self.potential_matches:
              self.connection.disconnect()
              return None
  
          best_match = sorted(
              self.potential_matches.items(), key=lambda t: t[1], reverse=True
          )
          self.connection.disconnect()
          return best_match[0][0]
docs: Try to guess the best 'device_type' based on patterns defined in SSH_MAPPER_BASE
  
          Returns
          -------
          best_match : str or None
              The device type that is currently the best to use to interact with the device