Ich würde gern den Rest vom Sketch posten aber man darf nur 9000 Zeichen in einer Nachricht.
void ListSensors(void)
{
int count = 0, i = 0;
byte addr[8];
float Temp = 0.0;
char Adress[10][255] = {"", "", "", "", "", "", "", "", "", ""};
while (ds.search(addr))
{
sprintf(Adress[count], "");
for ( i = 0; i < 8; i++)
{
sprintf(Adress[count], "%s %X", Adress[count], addr[i]);
}
count++;
}
Antwort += "Gefundene Sensoren \n
";
Serial.print("\nGefundene Sensoren\n");
for (count = 0; count < 11; count++)
{
if (strcmp(Adress[count], ""))
{
Antwort += Adress[count];
Serial.print(Adress[count]);
Antwort += " Wert: ";
Serial.print(" Wert: ");
Temp = GetRoomTemperature(Adress[count], true);
Antwort += Temp;
Serial.print(Temp);
Antwort += "\n
";
Serial.print("\n");
}
}
Antwort += "
";
Serial.print("\n");
Antwort += "Definierte Sensoren:\n
";
Serial.print("Definierte Sensoren:\n");
for (count = 0; count < 11; count++)
{
if (Contains(Adress[count], SENSOR1) && strcmp(Adress[count], "") && strcmp(SENSOR1, ""))
{
Antwort += "SENSOR1: ";
Serial.print("SENSOR1: ");
Antwort += Adress[count];
Serial.print(Adress[count]);
Antwort += " Wert: ";
Serial.print(" Wert: ");
Temp = GetRoomTemperature(Adress[count], true);
Antwort += Temp;
Serial.print(Temp);
Antwort += "\n
";
Serial.print("\n");
//MeldeWert("Sensor1", Temp);
OldTemp[0] = NewTemp[0];
NewTemp[0] = Temp;
if (OldTemp[0] == -255) OldTemp[0] = Temp;
}
[b]Den Code für die anderen Sensoren habe ich aufgrund der Zeichanzahl pro message entfernt[/b]
else if (Contains(Adress[count], SENSOR11) && strcmp(Adress[count], "") && strcmp(SENSOR11, ""))
{
Antwort += "SENSOR11: ";
Serial.print("SENSOR11: ");
Antwort += Adress[count];
Serial.print(Adress[count]);
Antwort += " Wert: ";
Serial.print(" Wert: ");
Temp = GetRoomTemperature(Adress[count], true);
Antwort += Temp;
Serial.print(Temp);
Antwort += "\n
";
Serial.print("\n");
//MeldeWert("Sensor11", Temp);
OldTemp[10] = NewTemp[10];
NewTemp[10] = Temp;
if (OldTemp[10] == -255) OldTemp[10] = Temp;
}
}
Antwort += "
";
Serial.print("\n");
Antwort += "Nicht definierte Sensoren:\n
";
Serial.print("Nicht definierte Sensoren:\n");
for (count = 0; count < 11; count++)
{
//Serial.print(Adress[count]);
if (!(Contains(Adress[count], SENSOR1) && strcmp(SENSOR1, "")) &&
!(Contains(Adress[count], SENSOR2) && strcmp(SENSOR2, "")) &&
!(Contains(Adress[count], SENSOR3) && strcmp(SENSOR3, "")) &&
!(Contains(Adress[count], SENSOR4) && strcmp(SENSOR4, "")) &&
!(Contains(Adress[count], SENSOR5) && strcmp(SENSOR5, "")) &&
!(Contains(Adress[count], SENSOR6) && strcmp(SENSOR6, "")) &&
!(Contains(Adress[count], SENSOR7) && strcmp(SENSOR7, "")) &&
!(Contains(Adress[count], SENSOR8) && strcmp(SENSOR8, "")) &&
!(Contains(Adress[count], SENSOR9) && strcmp(SENSOR9, "")) &&
!(Contains(Adress[count], SENSOR10) && strcmp(SENSOR10, "")) &&
!(Contains(Adress[count], SENSOR11) && strcmp(SENSOR11, "")))
{
if (strcmp(Adress[count], ""))
{
Antwort += Adress[count];
Serial.print(Adress[count]);
Antwort += " Wert: ";
Serial.print(" Wert: ");
Temp = GetRoomTemperature(Adress[count], true);
Antwort += Temp;
Serial.print(Temp);
Antwort += "\n
";
Serial.print("\n");
}
}
}
letzteMessungMillis = jetztMillis;
ds.reset_search();
}