 // confitions are kept in array to have a possibility to configure them with tcp/ip telnet style commands
 // and to store them to eeprom.
 struct condition conditions[]= {
-  {0,&adArr[0],'<',0,24.4,&outIoArr[0],1}, // if boiler is under 24.4, turn burnerfeed to 1
-  {0,&adArr[0],'>',0,26.0,&outIoArr[0],0}  // if boiler is over 26, turn burnerfeed to 0
+  {0,&adArr[0],&variables[0],&variables[1],&outIoArr[0] ,1},  // start boiler if it is under 24.5, and off when it has reached 26.0
+  {1,&adArr[2],&variables[3],&variables[0],&variables[2],2}  // if hothousewater is under hhboil, then boilTemp should be boilReduced.
 };
 
 

  time_t last_change;
};

// simple conditions for logical operations.
struct condition {
  int id;
  struct ad *source;
  char op;
  dig2a value;
  struct outIo *target;
  int state;
};


struct variable variables[]= {
  {"boilTemp",60.0},
  {"radiatorTemp",20.0}
};

// in future this table shall be stored mainly in eeprom.
// and so is it's size

void irqh1()
{
  _counters[1]++;
}


int resetVariable(char *name)
{
  for (int i=0;i<sizeof(variables) / sizeof(struct variable);i++) {
    if (!strcmp(variables[i].name,name)) {
      variables[i].value=origVariables[i].value;
      return 0;
    }
  }
  return 1;
}

void processSensors()
