ESPHome - Sensoren auf Display zeigen nan

SkyWalker2_D

Active member
Moin!

Ich habe ein kleines Display welches mir Temperaturen anzeigt. Seit irgendeinem Update bekomme ich aber nur noch 'nan' angezeigt.
Ich bin mal auf Fehlersuche gegangen und habe den ESP auch kpl. neu geflasht, aber ohne Erfolg. Auch finde ich so ad hoc nichts unter
esphome.io

Hier mal der Ausschnitt der Sensoren sowie des Displays

YAML:
sensor:
  - platform: homeassistant
    name: "Kuehl (gross)"
    id: ks_gross
    entity_id: sensor.kuhlschrank_cooler_temperature_measurement

  - platform: homeassistant
    name: "Kuehl (klein)"
    id: ks_klein
    entity_id: sensor.lumi_lumi_weather_temperature_2

  - platform: homeassistant
    name: "TK"
    id: tk
    entity_id: sensor.kuhlschrank_freezer_temperature_measurement
 
display:
  - platform: ssd1306_i2c
    model: "SH1106 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 0, id(roboto), "KS - Gross  : %.1f °C", id(ks_gross).state);
      it.printf(0, 16, id(roboto), "KS - Klein    : %.1f °C", id(ks_klein).state);
      it.printf(0, 32, id(roboto), "TK            : %.1f °C", id(tk).state);

Gab es eine Anpassung innerhalb des HA Update 2025.7 oder bei ESPHome die ich übersehen habe?

Grüße
Sky
 
Hallo @SkyWalker2_D,
Kannst Du über die Webseite auf den ESP zugreifen?
Die Werte werden bestimmt über MQTT an HA gesendet. Du kannst Dir mit einem MQTT Explorer anzeigen lassen was gesendet wird. In HA kannst Du Dir auch die Werte der Entitys direkt anzeigen lassen. So könntest Du mal verfolgen was passiert und wo es klemmt.
 
Moin!
Der ESP ist über ESPHome in HA integriert. M. E: nach nicht über MQTT.

Die Werte der Entitäten habe ich ja parallel auch in HA und auf einem Dashboard hinzugefügt. Die liefern fleissig Werte!
 
Es hat was bewirkt, aber hat nicht zum Erfolg geführt :)

Das Display zeigt jetzt alle Werte mit "0,0°C" an und im Log steht das hier


YAML:
/config/esphome/esphome-web-249479.yaml: In lambda function:
/config/esphome/esphome-web-249479.yaml:59:31: warning: format '%f' expects argument of type 'double', but argument 6 has type 'std::string' {aka 'std::__cxx11::basic_string<char>'} [-Wformat=]
   59 |       it.printf(0, 0, id(roboto), "KS - Gross  : %.1f °C", id(ks_gross).state);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/config/esphome/esphome-web-249479.yaml:60:32: warning: format '%f' expects argument of type 'double', but argument 6 has type 'std::string' {aka 'std::__cxx11::basic_string<char>'} [-Wformat=]
   60 |       it.printf(0, 16, id(roboto), "KS - Klein    : %.1f °C", id(ks_klein).state);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
/config/esphome/esphome-web-249479.yaml:61:32: warning: format '%f' expects argument of type 'double', but argument 6 has type 'std::string' {aka 'std::__cxx11::basic_string<char>'} [-Wformat=]
   61 |       it.printf(0, 32, id(roboto), "TK            : %.1f °C", id(tk).state);

Wie schon gesagt. Es funktionierte alles wie es soll. Und dann kam eines der Updates!
 
Vielleicht mal einen numerischen Template Sensor anlegen:

YAML:
  - name: Außentemperatur
    unique_id: toutdoor
    state: >
      {{( states('sensor.lumi_lumi_weather_temperature_2')|float(0) ) }}
    unit_of_measurement: T

Und dann den numerischen Sensor verwenden (Beispiel: Außentemperatur).
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.923
Beiträge
67.152
Mitglieder
7.288
Neuestes Mitglied
schmitho
Zurück
Oben