code: def _valid_config(self, settings):
          
          if ((int(settings['environment_temp']) > self.MAX_BOUND_TEMP or
                  int(settings['environment_temp']) < self.MIN_BOUND_TEMP) or
              (int(settings['bean_temp']) > self.MAX_BOUND_TEMP or
                  int(settings['bean_temp']) < self.MIN_BOUND_TEMP)):
              self._log.error('Temperatures are outside of bounds')
              return False
          binary = ['drum_motor', 'chaff_tray', 'solenoid', 'cooling_motor']
          for item in binary:
              if int(settings.get(item)) not in [0, 1]:
                  self._log.error('Settings show invalid values')
                  return False
          return True
docs: Scan through the returned settings to ensure they appear sane.
  
          There are time when the returned buffer has the proper information, but
          the reading is inaccurate. When this happens, temperatures will swing
          or system values will be set to improper values.
  
          :param settings: Configuration derived from the buffer
          :type settings: dict
          :returns: bool