   for (int analogChannel = 0; analogChannel < cnt; analogChannel++) {
     if (ts-ad[analogChannel].last_send > timeout) {
       ad[analogChannel].flags |= FLAGS_DATACHANGE;
+      ad[analogChannel].flags |= FLAGS_EVALUATE;
       ret=true;
     }
   }


void processSensors()
{
  static int cnt=0;
  boolean timeouts=false;
  boolean cntTimeouts,cntChanges;
  boolean changes=false;
  time_t ts=now();
  int chcnt=(sizeof(adArr) / sizeof(struct ad));

  if (!cnt)
    resetAdChannels(adArr,chcnt);
  readAdChannels(adArr,chcnt);
  cnt++;
  if ((cnt % AD_SAMPLECNT)==0) {
    sched.oscillate(13,150, LOW,2);
    cntTimeouts=chkCntTimeouts(ts,false);
    cntChanges=chkCntChanged();

  }
}


void evaluateCondition(struct ad *source,time_t ts)
{
  float value;
