DS18B20 Sketch erweitern, anzahl erhöhen

void Hauptseite()
{
  Antwort = "";


  Antwort += "<meta http-equiv='refresh' content='60'/>";
  ListSensors();
  Antwort += ConnectString;
  //Antwort += "</body></html>";

  server.send ( 300, "text/html", Antwort );
  delay(100);

  //server.send(300, "text/plain", Antwort);
  //delay(150);
}

float GetRoomTemperature(char adress[255], bool doreset)
{
  int HighByte, LowByte, TReading, SignBit, Tc_100, Whole, Fract;
  byte i, present = 0, data[12], addr[8];
  char stradd[255];
  while (ds.search(addr))
  {
    sprintf(stradd, "");
    //Serial.print("\nR=");
    for ( i = 0; i < 8; i++)
    {
      sprintf(stradd, "%s %X", stradd, addr[i]);
    }
    ds.reset();
    ds.select(addr);
    ds.write(0x44, 1);        // start Konvertierung, mit power-on am Ende

    delay(200);     // 750ms sollten ausreichen
    // man sollte ein ds.depower() hier machen, aber ein reset tut das auch

    present = ds.reset();
    ds.select(addr);
    ds.write(0xBE);         // Wert lesen

    for ( i = 0; i < 9; i++)
    {
      // 9 bytes
      data[i] = ds.read();
    }

    if (Contains(stradd, adress))
    {
      LowByte = data[0];
      HighByte = data[1];
      TReading = (HighByte << 8) + LowByte;
      SignBit = TReading & 0x8000;  // test most sig bit

      if (SignBit) // negative
      {
        TReading = (TReading ^ 0xffff) + 1; // 2's comp
      }
      Tc_100 = (6 * TReading) + TReading / 4;    // mal (100 * 0.0625) oder 6.25
      /* Für DS18S20 folgendes verwenden Tc_100 = (TReading*100/2);    */
      Whole = Tc_100 / 100;  // Ganzzahlen und Brüche trennen
      Fract = Tc_100 % 100;

      if (SignBit) // negative Werte ermitteln
      {
        //Serial.print("-");
      }


      if (doreset)ds.reset_search();
      return (float)Whole + ((float)Fract / 100);
    }
  }
}
char Sensor[16];
void loop(void)
{
  server.handleClient(); // auf HTTP-Anfragen warten

  jetztMillis = millis();

  // neue Messung falls Zeitintervall erreicht
  if (jetztMillis - letzteMessungMillis > deltaMessungMillis)
  {
    ListSensors();
  }

  for (int c = 0; c < 11; c++)
  {
    if (deltaTemp != 0 && abs(OldTemp[c] - NewTemp[c]) > deltaTemp)
    {
      Serial.print("Temperatur änderung bei Sensor: ");
      Serial.print(c + 1);
      Serial.print(" erreicht.");
      OldTemp[c] = NewTemp[c];
      sprintf(Sensor, "Sensor%d", c + 1);
      MeldeWert(Sensor, NewTemp[c]);
    }
  }

  // neue Meldung an die CCU falls Zeitintervall erreicht
  if (!deltaMeldungMillis == 0 && jetztMillis - letzteMeldungMillis > deltaMeldungMillis)
  {
    Serial.print(zeitstempel() + "  Zeitintervall erreicht: \n");
    letzteMeldungMillis = jetztMillis;
    //melde_CCU();

    for (int c = 0; c < 11; c++)
    {
      sprintf(Sensor, "Sensor%d", c + 1);
      MeldeWert(Sensor, NewTemp[c]);
    }
  }
}