Problem bei der Anzeige von Temperaturdaten!* 
Liebe Community,
ich habe in meinem Home-Assistant-Setup ein MQTT-basiertes System zur Überwachung von Temperaturdaten eingerichtet. Dabei werden die Temperaturdaten von verschiedenen Sensoren über MQTT an meinen Home-Assistant-Broker gesendet und dann in meinem Dashboard angezeigt.
Bisher hat alles reibungslos funktioniert, aber seit kurzem habe ich ein Problem mit der Anzeige der Temperaturdaten. Statt die aktuellen Temperaturen korrekt anzuzeigen, erscheint im Dashboard die Meldung ‘Unbekannt’.
Hier sind die Schritte, die ich bisher unternommen habe, um das Problem zu lösen:
- Überprüfung der MQTT-Konnektivität: Ich habe überprüft, ob mein Home-Assistant-Broker weiterhin korrekt mit den MQTT-Sensoren kommuniziert. Dabei habe ich festgestellt, dass die neuen Temperaturdaten ordnungsgemäß im MQTT-Broker ankommen.
- Analyse der JSON-Daten: Da die Temperaturdaten als JSON-Objekte über MQTT gesendet werden, habe ich sicherheitshalber überprüft, ob diese Daten korrekt im Dashboard ausgewertet werden. Dabei konnte ich keinen offensichtlichen Fehler feststellen.
- Überprüfung der Sensorhardware: Um sicherzustellen, dass das Problem nicht an den Sensoren selbst liegt, habe ich die Hardware der Sensoren überprüft und festgestellt, dass sie ordnungsgemäß funktionieren.
Trotz dieser Schritte bleibt das Problem bestehen, und ich stehe nun vor einem Rätsel. Hat jemand von euch eine Idee, was das Problem verursachen könnte oder wie ich es lösen kann?
Vielen Dank im Voraus für eure Unterstützung! 
Die Unit of Measurement ist “°C” - bei dir ist es andersherum.
Vielen dank für die Antwort, ist leider nicht die Lösung vielleicht hilft das weiter
Moin,
Im ersten Beitrag, war es

Jetzt zeigst Du uns aber
Dann würde ich keine Umlaute usw. nutzen, einfach bei englisch bleiben, ASCII nutzen und in HA frindly name
nutzen.
VG
Bernd
Danke für die Antwort
Das wäre der Skecht der auf einen D1 MINI läuft vllt ist da ein Fehler den ich Übersehe
Ich sitze nun seit 3 Wochen an den Problem**
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <PubSubClient.h>
#include <DHT.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// WLAN-Einstellungen
const char* ssid = "xxxxxx";
const char* password = "xxxxxx";
// DHT Sensor
#define DHTPIN 14 // GPIO-Pin, an den der DHT22-Sensor angeschlossen ist
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// MQTT Einstellungen
const char* mqtt_server = "192.168.178.xxx";
const int mqtt_port = 1883;
const char* mqtt_user = "xxxxx";
const char* mqtt_password = "xxxx";
char mqtt_topic[50] = "DTH22ROOMEAT";
// Display
#define SCREEN_WIDTH 128 // OLED-Display Breite in Pixel
#define SCREEN_HEIGHT 64 // OLED-Display Höhe in Pixel
#define OLED_RESET -1 // OLED Reset-Pin (nicht verwendet)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Offset für Temperatur (in °C)
float temperatureOffset = 0.0;
String deviceName = "DHT22-ESP8266"; // Standardgerätename
WiFiClient espClient;
PubSubClient client(espClient);
ESP8266WebServer server(80);
unsigned long lastSendTime = 0; // Variable zur Speicherung der Zeit des letzten Sendevorgangs
const unsigned long sendInterval = 5000; // Sendeintervall in Millisekunden (5 Sekunden)
void handleRoot() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature() + temperatureOffset;
String html = "<html><head><meta charset='UTF-8'></head><body>";
html += "<h1>Temperatur und Luftfeuchtigkeit</h1>";
html += "<p>Luftfeuchtigkeit: " + String(humidity) + " %</p>";
html += "<p>Temperatur: " + String(temperature) + " °C</p>";
html += "<p>MQTT Verbindung: " + String(client.connected() ? "Erfolgreich" : "Nicht erfolgreich") + "</p>";
html += "<p>Gerätename: " + deviceName + "</p>";
html += "<p>Offset für Temperatur: " + String(temperatureOffset) + " °C</p>";
html += "<p>Timer bis zur nächsten Aktualisierung: " + String((sendInterval - (millis() - lastSendTime)) / 1000) + " Sekunden</p>";
html += "<form action='/updateSettings' method='get'>";
html += "Name: <input type='text' name='name' value='" + deviceName + "'><br>";
html += "Offset für Temperatur (°C): <input type='text' name='offset' value='" + String(temperatureOffset) + "'><br>";
html += "<input type='submit' value='Einstellungen aktualisieren'>";
html += "</form>";
html += "<form action='/restart' method='get'>";
html += "<input type='submit' value='Gerät neu starten'>";
html += "</form>";
html += "</body></html>";
server.send(200, "text/html", html);
}
void handleSettingsUpdate() {
if (server.hasArg("name")) {
deviceName = server.arg("name");
deviceName.toCharArray(mqtt_topic, 50);
}
if (server.hasArg("offset")) {
temperatureOffset = server.arg("offset").toFloat();
}
server.sendHeader("Location", "/", true);
server.send ( 302, "text/plain", "");
}
void restartESP() {
ESP.restart(); // Funktion zum Neustarten des ESP8266
}
void reconnect() {
while (!client.connected()) {
Serial.print("Versuche eine MQTT Verbindung...");
if (client.connect("DVES_1B1899", mqtt_user, mqtt_password)) {
Serial.println("verbunden");
} else {
Serial.print("fehlgeschlagen, rc=");
Serial.print(client.state());
Serial.println(" Versuche es in 5 Sekunden erneut");
delay(5000);
}
}
}
void updateDisplay(float temperatur, float humidity) {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("Temperatur & Luftfeuchtigkeit");
display.print("Temp: ");
display.print(temperatur);
display.println(" C");
display.print("Feucht: ");
display.print(humidity);
display.println(" %");
display.print("Gerätename: ");
display.println(deviceName);
display.print("Offset für Temperatur: ");
display.print(temperatureOffset);
display.println(" °C");
display.display();
}
void setup() {
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi verbunden");
Serial.println("IP-Adresse: ");
Serial.println(WiFi.localIP());
dht.begin();
client.setServer(mqtt_server, mqtt_port);
reconnect();
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 konnte nicht initialisiert werden");
while (true);
}
display.display();
display.clearDisplay();
server.on("/", handleRoot);
server.on("/updateSettings", handleSettingsUpdate);
server.on("/restart", restartESP); // Neustart-Endpunkt
server.begin();
Serial.println("HTTP-Server gestartet");
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
server.handleClient();
unsigned long currentMillis = millis(); // Aktuelle Zeit in Millisekunden abrufen
if (currentMillis - lastSendTime >= sendInterval) { // Prüfen, ob das Sendeintervall abgelaufen ist
lastSendTime = currentMillis; // Aktualisiere die Zeit des letzten Sendevorgangs
float humidity = dht.readHumidity();
float temperature = dht.readTemperature() + temperatureOffset;
if (!isnan(temperature) && !isnan(humidity)) { // Sicherstellen, dass gültige Werte gelesen wurden
// Daten an MQTT-Broker senden
if (client.connected()) { // Prüfen, ob eine Verbindung zum MQTT-Broker besteht
client.publish((String(mqtt_topic) + "/temperatur").c_str(), String(temperature).c_str()); // Temperatur senden
client.publish((String(mqtt_topic) + "/humidity").c_str(), String(humidity).c_str()); // Luftfeuchtigkeit senden
}
}
// OLED-Display aktualisieren
updateDisplay(temperature, humidity);
}
}