code: def wait(self, sensor_name, condition_or_value, timeout=5):
          
          sensor_name = escape_name(sensor_name)
          sensor = self.sensor[sensor_name]
          try:
              yield sensor.wait(condition_or_value, timeout)
          except tornado.gen.TimeoutError:
              raise tornado.gen.Return(False)
          else:
              raise tornado.gen.Return(True)
docs: Wait for a sensor in this resource to satisfy a condition.
  
          Parameters
          ----------
          sensor_name : string
              The name of the sensor to check
          condition_or_value : obj or callable, or seq of objs or callables
              If obj, sensor.value is compared with obj. If callable,
              condition_or_value(reading) is called, and must return True if its
              condition is satisfied. Since the reading is passed in, the value,
              status, timestamp or received_timestamp attributes can all be used
              in the check.
          timeout : float or None
              The timeout in seconds (None means wait forever)
  
          Returns
          -------
          This command returns a tornado Future that resolves with True when the
          sensor value satisfies the condition, or False if the condition is
          still not satisfied after a given timeout period.
  
          Raises
          ------
          :class:`KATCPSensorError`
              If the sensor does not have a strategy set, or if the named sensor
              is not present