1.)------------------------------------------- String FARBE; String col_defective = ""; /* Fkt um bei DS18B20 Fehler Farbe der Fehlermeldung zu aendern */ String readDSTemperatureERR_col() { if((!err_tempC)&&(!err_tempF)&&(!zu_kaltC)&&(!zu_kaltF)) { FARBE = "color: blue"; } else { FARBE = "color: red"; } Serial.println(FARBE); return String(FARBE); } /* Ersetzt Platzhalter mit SD18B20 Werten */ String processor(const String& var) { //Serial.println(var); if(var == "TEMPERATUREC") { return temperatureC; } else if(var == "TEMPERATUREF") { return temperatureF; } else if(var == "FARBE") { return col_defective; } else if(var == "DEFECTIVE") { return defective; } return String(); } 2.)------------------------------------------------------------ index_html angepasst: Fehlermeldung: %DEFECTIVE% setInterval(function ( ) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("errormessage_col").innerHTML = this.responseText; } }; xhttp.open("GET", "/errormessage_col", true); xhttp.send(); }, 5000) ; 3.)--------------------------------------------------------------- beim setup() hinzugefĆ¼gt: server.on("/errormessage_col", HTTP_GET, [](AsyncWebServerRequest *request) { request->send_P(200, "text/plain", col_defective.c_str()); }); 4.)--------------------------------------------- die loop()angepasst: void loop() { if ((millis() - lastTime) > timerDelay) { temperatureC = readDSTemperatureC(); temperatureF = readDSTemperatureF(); col_defective = readDSTemperatureERR_col(); defective = readDSTemperatureERR(); tog = (!tog); lastTime = millis(); } } 5.)----------------------------------- Fazit: es wird die Fehlermeldung: "kein Fehler" korrekt in Blau angezeigt (Web-Page und serieller Monitor) es wird die Fehlermeldung: "das ist zu kalt" falsch in Blau angezeigt - sollte ROT in der Web-Page sein; im seriellen Monitor wird aber korrekt "color: red" angezeigt.