   delay(100);
 }
 
+// TODO handle_actuator form
+
 void handle_data() {
   Serial.println("serving page at /data");
   String toSend = pageTop;

  ds.select(addr);
  ds.write(0xBE);       // read scratchpad

  Serial.print("  Data = ");
  Serial.print(present, HEX);
  Serial.print(" ");
  for(i = 0; i < 9; i++) { // we need 9 bytes

  Serial.println("getTemperature()...");

  while(!ds.search(addr)) {
    Serial.println("  no more addresses; resetting...");
    ds.reset_search();
    delay(250);
  }

  if(OneWire::crc8(addr, 7) != addr[7]) {
      Serial.println("  CRC is not valid!");
      return;
  }

  // the first ROM byte indicates which chip
  switch(addr[0]) {
    case 0x10:
      Serial.print("  chip=DS18S20");  // or old DS1820
      type_s = 1;
      break;
    case 0x28:
      Serial.println("  chip=DS18B20");
      type_s = 0;
      break;
    case 0x22:
      Serial.println("  chip=DS1822");
      type_s = 0;
      break;
    default:
      Serial.println("  device is not a DS18x20 family device :-(");
      return;
  }

