 
   for (int i=0;i<sizeof(conditions) / sizeof(struct condition);i++) {
     if (conditions[i].source == source) {
-      if (ts - conditions[i].last_chk < 30)
-	return;
       conditions[i].last_chk = ts;
       value=source->measured.analog;
       limit=conditions[i].limit->value;

  setSyncInterval(7200);
  setSyncProvider(getNtpTime);
  sched.every(1000,processSensors);
  sched.every(30000,evaluateConditions);
  sched.every(200,checkEthernet);
  _counters=(int *) malloc(sizeof(int) * sizeof(cntArr) / sizeof(struct cnt));
  for (int i=0;i<(sizeof(cntArr) / sizeof(struct cnt));i++) {

      case METHOD_TABLE:
	// calculate target
	iTable=(struct convert *) conditions[i].target;
	float target=resolveConversion(value,conditions[i].limit->value,iTable);
	bp1.setTarget(target);
	if (!bp1.turnBypass(ts))
	  conditions[i].source->flags &= ~FLAGS_EVALUATE;
	break;
      }
    }
  }
}

/* find boundings from conversion table
 * and convert / interpolate according to the table
