ESPHome - Ultraschallsensor Füllstandmessung

SkyWalker2_D

Active member
Moin!

Ich versuche mich gerade an einer ESP Lösung um einen Füllstand zu messen. Soweit funktioniert es auch.
Der Wemos D1 Mini und das HC-SR04 Modul messen.

Jetzt habe ich mich aber durch etliche Beiträge im Netzt gewühlt um die korrekten Sensoren in ESPHome
zu erstellen und komme nicht weiter.

Hat schon mal jemand das realisiert und kann mir hier bei der Errechnung der Liter und % weiterhelfen?

Innerhalb der ESP Konfiguration habe ich das hier angelegt:
YAML:
sensor:
  - platform: ultrasonic
    trigger_pin: GPIO5
    echo_pin: GPIO4
    name: "Ölstand"
    update_interval: 5s
    accuracy_decimals: 2
    unit_of_measurement: cm

    filters:
      - lambda: return ((((x*100)-20)-(168-20))/(168-20))*-1000;
      - filter_out: nan

Höhe des Tanks: 168 cm, Abstand Sensor zur max. Füllhöhe 20 cm

Er misst die Höhe. Aber die Sensoren in Liter und Prozent fehlen mir.

Grüße
Sky

P.S.: Ich stelle gerade fest, der Sensor oben ist wohl auch nicht korrekt. Der zeigt zu viel cm an!
 
Zuletzt bearbeitet:
Das war auch einer der Treffer, an dem ich mich versuche zu orientieren :)

Zum einen verstehe ich die letzten Werte nicht. Ich weiß nicht, wie sich diese errechnen und wie ich die auf meinen Tank ummünzen kann.

Und zum testen hatte ich die YAML angepasst versucht zu flashen. Aber er meckert (mapping values are not allowed here)
in der Zeile
1728898754146.png
 
Hallo @SkyWalker2_D,

hmmm, aktuell bin ich raus.
Habe keine Idee mehr...
Nach den Beispielen hast Du ja alles richtig geschrieben.

Jetzt müssen die Profis ran....
Welche immer sagen, Sie haben keine Ahnung von einer Dehnung.
Aber ziemlich richtig liegen mit der Antwort....

Ich hänge mal einen Teilausschnitt aus meiner yaml an mit filters, vielleicht stimmt die Einrückung nicht.
YAML:
# Spannungen nach Messreihe in Prozent Füllhöhe umrechnen
  - platform: template
    name: "Zisterne %"
    lambda: |-
      return id(levelraw).state;
   
    filters:
      - calibrate_linear:
   
          - 0.0 -> 0
          - 23.0 -> 10        
          - 46.0 -> 20

Hier noch ein Bild, dann sieht man die Einrückungen besser.
1728906161554.png
 
Zuletzt bearbeitet:
Ich glaube, das hat schon geholfen. Die Einrückung bei "filters" war falsch in meiner YAML.
Alles nach links und es klappt mit dem flashen. Zumindest halb :)

Wenn ich nur einen Template Sensor anlege, wird geflasht. Wenn ich beide hinterlege, kommt das hier:

1728913186715.png

Aber ich habe auch hier die Zeilen 1:1 übernommen aus dem Link!

Update: Ich glaube, ich hatte eine 0 (Null) anstatt eines O (Buchstabe O) bei der GPIO Zeile.
Trotzdem meckert er neu :)

1728913679276.png
 
Zuletzt bearbeitet:
Hallo @SkyWalker2_D,

ich habe den Thread auch mal zu Ende gelesen.
Scheinbar haben die auch keine Lösung zu dem Problem gefunden.
Außer dem Vorschlag, welcher ich hier auch mit meiner Zisterne und absolut aktuell keine Probleme damit habe.
https://forum.heimnetz.de/threads/p...dsmessung-erfahrungsaustausch.4541/post-46353

Vielleicht das ganze Projekt aktuell so in die Tonne stampfen, bis neue Erkenntnisse dazu kommen.

Aber das kann fast nicht sein, dass Du der einzige bist, der mit der Sensormessung nicht klar kommt.
Irgendwo ist hier ein Fehler verbaut, oder wir beide haben noch nicht den passenden Code gefunden, das zum laufen zu bewegen.

Vielleicht liegt es noch an der Schreibweise von:
trigger_pin: GPIO5
echo_pin: GPIO4

trigger_pin: D1
echo_pin: D2

Mach mal das GPIO vor den Zahlen weg und Validiere mal den das ganze durch.
Welche Fehlermeldung kommt dann?
Kannst Du uns mal den Anschluss zeigen.
Weil die meisten haben GPIO und D Bezeichnungen und die Nummern sind hier nicht logisch aufgebaut.
Ich hoffe Du verstehst was ich damit meine.
Hier mal ein Beispielbild:
https://makesmart.net/upload/esp8266-d1-mini-pinout

1728967714344.png


Vielleicht ist hier die Ursache begraben.
 
Zuletzt bearbeitet:
Moin!

Alles merkwürdig, da gebe ich Dir Recht.

Ich habe jetzt mal das 'GPIO' entfernt und nur '5' bzw. '4' genommen. Das flashen klappt genau so wie mit 'GPIO', aber nur mit einem Sensor. Wenn ich beide in der YAML habe bekomme ich wieder:
1728971152376.png

'D1' bzw. 'D2' klappt gar nicht:
1728971227094.png

Aber ich denke, ich kann mit einem Sensor leben. Liter reichen mir :)

Ich muss jetzt mal schauen, ob ich die korrekten Abstände gemessen habe und der Sensor auch die richtigen Mengen liefert.

Grüße
Sky
 
Zuletzt bearbeitet:
Hallo @SkyWalker2_D,

die Umrechnung in % und cm könnten wir in einer anderen Umgebung machen, template nämlich.
So habe ich das auch als Versuch bei mir am Start.
Interesse daran?

Moment mal, welches Board hast Du tatsächlich am laufen?

Dein Screenshot zeigt ein esp01_1m an.
Stimmt das?
 
Dann ändere das mal in der espHome Config ab.

lösche das esp01_1m mal und schreibe dann D1 und dann geht ein neues Fenster auf, dort kannst dann die einzelnen D1 auswählen...
1728978358222.png
Probiere das mal.
Danach Validiere mal das neue Sheet.
 
Zuletzt bearbeitet:
Das wird immer merkwürdiger :)

Ich sitze im Job und habe per Fernzugriff (Nabu Casa) die vier Möglichkeiten probiert. Also D1, D1 Mini, D1 Mini Lite und D1 Mini Pro.
Beim nachvollgenden Versuch dann die Trigger und Echo Pins geändert zu flashen, kam die bekannte Fehlermeldung bzgl. Pin Belegung (s.o.)

Jetzt kommt als Fehlermeldung:

ERROR Error binary size: Error: ESP has been flashed with wrong flash size. Please choose the correct 'board' option (esp01_1m always works)

Ich werde also sobald ich wieder zu Hause bin des ESP an USB anschliessen und wieder Initial flashen!
 
Hallo @SkyWalker2_D,

ich validiere (Validate) immer vorher das was ich geschrieben habe in ESPHome, bevor ich das versuche auf den ESP8266 zu flashen.
Die drei Punkte anklicken.
Somit bekomme ich immer Fehler vorher mit.
Weißt Du wie das geht?
1728979506873.png
Ganz unten steht dann:

1728980449054.png
 
Zuletzt bearbeitet:
Vielen Dank. Kannte ich so nicht und teste es mal!
Ich schaue mir auch mal den Link an bzgl. Templates

Danke für Deine Hilfe und Geduld
 
Hallo @SkyWalker2_D,

immer wieder gerne.
Bekomme ja von Euch auch immer Hilfe angeboten bei meinen "geistigen Blockaden" oder "Aussetzer".

Klicke mal auch auf den Reiter Logs, da kannst auch viel sehen, was da Dein Sensor macht und welche Daten der aktuell liefert.
Ganz oben beim Verbinden mit dem WLAN siehst Du die Stärke und IP Adressen, welche er nimmt und hat und welche Sensoren angebunden sind.

Danach kannst dann einfach mit "Close" wieder die Logs verlassen.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.880
Beiträge
57.444
Mitglieder
5.813
Neuestes Mitglied
Blacksnofru
Zurück
Oben