Mit Ultraschall den Füllstand des Futterautomaten anzeigen
Dumme Geräte smart machen ist wohl das schönste Hobby eines jeden Smart Home Nerds. Ich hab neulich eine Füllstandsanzeige des Futterautomaten in Home Assistant eingebunden. Realisiert habe ich dies mit einem ESP32 und einem Ultraschall Sensor.
Vorab möchte ich klarstellen, dass die Ergebnisse in meinem Fall nicht so genau sind, wie ich es mir vorgestellt haben. Aber dazu später mehr.
Mein Ziel war es, in Home Assistant angezeigt zu bekommen, wie voll der Futterautomat mit Trockenfutter noch ist. Dieser wird meist alle paar Wochen mal aufgefüllt. Meine Idee war, den Abstand zwischen Deckel und Futter zu messen. Ist der Abstand größer als X muss nachgefüllt werden.
Aufbau
Dieses Projekt war mein erster Berührungspunkt mit einem ESP32 Board. Bis dato habe ich zwar davon gehört, konnte die Funktionalität jedoch nicht wirklich einordnen.
Hinweis: Für die genannten Schritte muss Home Assistant via https erreichbar sein!
Benötigt wird hierzu:
Konfiguration
Als erstes installiert man sich ESPHome in Home Assistant. Das findet ihr in den Addons.
Anschließend schließt ihr den ESP32 an euer Home Assistant Gerät per USB an.
Öffnet nun ESPHome und klickt auf „New device – Continue“. Gebt einen Namen ein und klickt auf „Next“. Wählt anschließend ESP32 aus. Euch wird ein encryption key angezeigt. Speichert diesen ab und klickt auf „install“. Klickt nun auf „plug into this computer“. Abschließend gebt ihr noch eure WLAN Einstellungen ein.
Nun wird die Firmware auf das ESP32 installiert. Dies kann eine Weile dauern.
Anschließend könnt ihr das Geräte unter ESPHome finden.
Für den nächsten Schritt gehen wir auf die Webseite https://www.esphome.io und suchen dort das von euch eingesetzte Gerät aus. In meinem Fall den Ultraschall Sensor. Dort findet ihr die Parameter, womit ihr den Sensor einbinden könnt. Kopiert diesen und fügt ihn in Home Assistants ESPHome ein, indem ihr bei eurem Gerät auf „EDIT“ klickt und die Parameter ganz unten hinzufügt. Das ganze sieht bei mir so aus:
captive_portal:
sensor:
- platform: ultrasonic
trigger_pin: GPIO5
echo_pin: GPIO18
name: "Ultrasonic Sensor"
update_interval: 600s
Bei meinem ESP32 Board sind die Pins nicht GPIO, sondern mit D benannt. Diese Seite hat mir bei der Referenzierung geholfen. Anschließend noch 5V und Ground anschließen und fertig.
Angeschlossen ist es nun also wie folgt:
Vcc – VIN
Trig – D5
Echo – D18
GND – GND
Ergebnis
Der Ultraschall Sensor zeigt nun den Abstand in Home Assistant an.

Aber warum entspricht dieser Aufbau nicht so ganz meinen Vorstellungen? Ganz einfach: ich habe sehr große Schwankungen in den Messwerten, auch wenn sich nichts verändert ist. Ich gehe davon aus, dass es daran liegt, dass Ultraschall Sensoren am besten funktionieren, wenn sie den Abstand zu einer Ebenen Fläche messen. Dadurch, dass das Trockenfutter natürlich eine sehr unebene Struktur hat, kommt es wahrscheinlich zu diesen Schwankungen.

Kann der Ultraschall Sensor als Bewegungsmelder verwendet werden? Ich würde eher sagen: nein! Der Ultraschall Sensor hat nur eine Reichweite von ca 2 Metern, was für einen Bewegungssensor doch recht wenig ist. Außerdem sind die ESP32 Boards teurer als einfache Bewegungsmelder. Hinzu kommt, dass ESP32 Boards eine externe Stromversorgung benötigen, was bei Bewegungsmeldern ebenfalls nicht der Fall ist.
Post Comment