Hallo Leute,
habe da ein Problem mit ESPHome, das ich mir nicht erklären kann (und Google auch nicht). Nachdem ich bei einem bestehenden Gerät nicht mehr existierende Entitäten löschen wollte, was aber nicht geht, habe ich kurzerhand das gesamte Gerät gelöscht und wieder angelegt, immer mit dem selben Code.
Danach war es mir aber unmöglich, den Code zu installieren, ich hatte ich Log immer diesen Fehler:
[api.connection:071]: 10.1.3.168: Socket operation failed: CONNECTION_CLOSED errno=11
Komischerweise hatte die Installation des Gerätes (auch die Updates) vorher immer geklappt.
Auf jeden Fall habe ich mir den API-Key genauer angeschaut, da der Fehler sich ja auf diesen bezieht. Und siehe da, auch beim Versuch, diesen mittels “Show API Key” aus dem YAML-Code auszulesen, endete mit der Meldung
Unable to automatically extract API key. It may not be set. Open the configuration and look for
api:
Nach weiteren Versuchen habe ich herausgefunden, dass beide Fehler NICHT passieren, wenn ich im Code den Filterfilter_out: nan
weglasse, dann klappt alles reibungslos.
Diesen Fehler hätte ich aber gerne drin gelassen, da er in meinem Fall Sinn macht. Im HA-Log kann ich leider keinerlei Fehlermeldungen finden, was das Auslesen des API-Key betrifft.
Hier noch ein Test-Code für einen Ultraschall-Sensor, der nur das Notwendigste enthält, und der auch die Fehler verursacht:
esphome:
name: test
friendly_name: test
esp8266:
board: d1_mini
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: "BD7oYgph6lN0iAXuwh22MzvJORVGe+ZGwhR2K6ElwIQ="
ota:
password: "e0eff7a1da9a07a6c11b4e95f345b8f6"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Test Fallback Hotspot"
password: "T7DXMzBrqGDK"
captive_portal:
sensor:
# The actual distance sensor
- platform: ultrasonic
trigger_pin: D1
echo_pin: D2
name: garden_watertank_distance
update_interval: 600s
pulse_time: 50us
filters:
- filter_out: nan
Vielen Dank für alle Inputs!