code: def get_sensors():
      
      import sensors
      found_sensors = list()
  
      def get_subfeature_value(feature, subfeature_type):
          subfeature = chip.get_subfeature(feature, subfeature_type)
          if subfeature:
              return chip.get_value(subfeature.number)
  
      for chip in sensors.get_detected_chips():
          for feature in chip.get_features():
              if feature.type == sensors.FEATURE_TEMP:
                  try:
                      name = chip.get_label(feature)
                      max = get_subfeature_value(feature, sensors.SUBFEATURE_TEMP_MAX)
                      current = get_subfeature_value(feature, sensors.SUBFEATURE_TEMP_INPUT)
                      critical = get_subfeature_value(feature, sensors.SUBFEATURE_TEMP_CRIT)
                      if critical:
                          found_sensors.append(Sensor(name=name, current=current, maximum=max, critical=critical))
                  except sensors.SensorsException:
                      continue
      return found_sensors
docs: Detect and return a list of Sensor objects