Füllstandssensor mit ESP8266 in Homatic verwenden

  • Vor einiger Zeit bin ich im Internet auf ein (für mich zumindest) sehr interessantes Projekt von Chris gestoßen (http://blog.bubux.de/update-fuellst…v1026/#comments) . Er hat einen Füllstandssensor mit einen ESP8266 (z.B. D1mini oder 12E etc.) sowie einen Temperatursensor DHT22 und einen Display aufgebaut. Dafür hat er eine eigene Firmware geschrieben. Ich fand das Projekt so gut, das ich Chris angeschrieben und Ihm gebeten habe ob er das Projekt eventuell etwas erweitern könnte um es eben auch mit Homematic zu verwenden. Da er keine CCU hat, habe ich für Ihn dann etwas getestet. Anfangs konnte man im JSON Feed "Nur" den Füllstand in % übertragen. Mittlerweile aber lassen sich jetzt aber auch Füllstand in %, Füllmenge in Liter, Temperatur in °C und die Luftfeuchte in % übertragen. Diese Daten kann man dann in Homematic mit einen Script auslesen lassen und in Systemvariablen schreiben. Dort kann man sie dann weiter verwenden wie man gern möchte. So lassen sie sich z.B. auch mit einer Handy App abfragen, an einen MQTT Broker senden etc. und noch viel mehr.

    Da die Original Homatic Füllstands Sensoren doch recht Teuer und auch anfällig sind, ist das hier eine Preiswerte Alternative und auch für ungeübte Bastler relativ leicht aufzubauen.

    Was benötigt man dazu ?

    Nun als erstes natürlich einen ESP8266, wo bei man da verschiedene Typen wählen kann. z.B. D1 mini oder Node MCU12E etc. das ist jeden selbst überlassen. Dann natürlich noch einen Sensor um Entfernungen zu messen. Hier hat man nun auch wieder verschiedene Möglichkeiten. Z.B. die recht Preiswerten SR04 Ultraschallsensoren. Diese gibt es auch wieder in verschiedenen Ausführungen und Preiskategorien. Der "Öffnungswinkel beträgt meist 15 Grad. Damit lassen sich meist bis. ca. 4-5 Meter messen. Es gibt sie auch als Wassergeschützte Ausführung, dann aber mit Öffnungswinkel von ca. 75 Grad. Seit neuesten kann man aber auch sogenannte Time of Flight Sensoren wie z.B den VL53LOX verwenden. Diese haben einen sehr geringen Öffnungswinkel von unter 2 Grad, sind extrem klein und messen sehr Präzise. Nachteil ist aber, das die günstigen max. 2 Meter messen. Je nach Verwendungszweck reicht das aber in sehr vielen Fällen vollkommen aus. So kann man z.B. seine Regenwasserzisternen oder die sehr beliebten IBC Tanks oder Öltanks damit den Füllstand sehr gut überwachen. Optional kann man noch einen DHT22 Sensor mit anschließen und erhält somit noch Temperatur und Luftfeuchte Werte. Ebenfalls Optional läßt sich auch ein Display (LCD 20x4 oder LCD 16x2 oder auch ein kleines OLED Display 1306) anschließen

    Um nun das ganze auch mit Homematic verwenden zu können, brauchen wir noch ein kleines Script das wir selbst in der CCU anlegen müssen. Je nach dem was man sich alles anzeigen lassen möchte, muss man nun noch Systemvariablen auf der CCU selbst anlegen. Wie das geht erspare ich mir hier zu erläutern und kann überall nachgelesen werden. Ebenso muss man sich noch ein Programm erstellen, wo dann das Script aufgerufen wird. Dies würde ich z.B. mit einen Timer verbinden und ca. alle 5 Minuten abrufen/aktualisieren lassen. Man kann aber auch viel größere Abstände wählen.

    Der ESP8266 muss zuvor natürlich mit einer speziellen Firmware (diese stammt von Chris) geflasht werden. Ich nutze dazu meist ein kleines Programm und zwar den ESPEasy Flasher. Es gibt natürlich noch sehr viel mehr Programme, einfach mal etwas Googeln nach ESP flashen.Ich hänge den ESP Easyflasher unten mal mit an. Es ist sehr einfach zu bedienen und man muss nur den Seriellen Port (an dem der ESP8266 angeschlossen ist) und die Firmware (zisternen.ino.bin. Diese sollte sich im selben Verzeichniss befinden wo auch die ESPEasyflasher.exe ist) angeben. Nach ca. 2 - 5 min. ist der ESP dann geflasht. Jetzt noch die Komponenten die man möchte anschließen und schon kann man Testen. Dazu in einen Webbrowser die IP des ESP8266 eingeben und es sollte sich ein Seite öffnen wo man dann die Einstellungen etc. tätigen kann. Das meiste ist eigentlich selbsterklärend dort. Unter Sonstiges findet man die Konfiguration. Hier gibt man den verwendeteten Sensortyp an, ob man ein Display angeschlossen hat oder nicht. Ebenso ob ein DHT22 angeschlossen wurde und noch andere Einstellungen. Den Typ des zu überwachenden Gefäßes (Maße) ob man MQTT nutzen möchte oder API etc. Denke aber das ist selbsterklärend.

    Kommen wir nun zu den Script, das in Homatic angelegt werden muss (wenn man Homatic verwenden möchte)

    Dies sollte so aussehen und noch auf seine Bedürfnisse angepasst werden sollte.

    Die IP (string url) muss man und und den prefix kann man anpassen.

    Also mehrere Systemvariablen bei Homematic erstellen und als Namen dann SV_Abstand und SV_Fuellstand; SV_Temperatur sowie SV_Luftfeuchtigkeit eingeben. Nun werden die Variablen automatisch gefüllt. SV kann man anpassen nach seinen Wünschen, muss das dann aber beim anlegen der Systemvariablen beachten. Also wenn man es auf z.B. RT_ändert, muss die Variable dann eben RT_Abstand heißen. Abstand, Fuellstand, Temperatur und Luftfeuchtigkeit sollte man aber so belassen und nur bei Bedarf ändern was vor den _ steht.

    Links: http://blog.bubux.de/update-fuellst…zisterne-v1024/

    http://blog.bubux.de/update-fuellst…v1026/#comments

    http://blog.bubux.de/neue-version-d…zeige-zisterne/

    87insane
    2. August 2019 um 17:46

    https://www.amazon.de/gp/product/B08…0?ie=UTF8&psc=1

    https://de.aliexpress.com/item/329151006…wE&gclsrc=aw.ds

    https://www.amazon.de/Ultraschall-Me…7270192&sr=8-14

    https://www.amazon.de/AZDelivery-D1-…17270278&sr=8-3

    https://www.amazon.de/AZDelivery-Nod…17270335&sr=8-3

    https://www.amazon.de/AZDelivery-Tem…2dDbGljaz10cnVl

    https://www.amazon.de/WayinTop-Displ…17270404&sr=8-5

    https://www.amazon.de/YXPCARS-12864-…17270469&sr=8-4

    ESP Flashtool

    https://github.com/letscontrolit/…g/mega-20210223


    Anbei noch paar Bilder und wie es z.B. in einer App (in meinen Beispiel die Smartha APP PC Version, die es auch für IOS und Android gibt, aussehen könnte. Wobei die Anzeige Brunnen von einen HB UNI Sensor ist und die anderen 3 von den ESP8266. Luftfeuchte habe ich bei mir nicht angezeigt, könnte man aber auch machen. 😉

    Ein großes Danke geht natürlich an 66er, Chris (ohne dessen Firmware es so nicht ohne weiteres möglich wäre) und auch an MichaelN für die Bereitstellung des Script

    PS: auf den vorletzten Bild sieht man den Provisorischen Aufbau auf den Schreibtisch. Steckbrett war gerade keins vorhanden, deshalb mit Vagoklemmen. Aber zum Testen langt es zu. Das ganze kann man dann in ein Wasser Geschütztes Gehäuse, wie z.B. einer Verteilerdose aus der Elektrik recht klein aufbauen. Siehe dazu letztes Bild. In dem "Größeren Gehäuse, rechts im Bild, ist zusätlich noch ein Shelly und ein Mininetzteil 220 Volt zu 3,3 Volt mit eingebaut).Bei Verwendung eines VL53LOX braucht man dazu nur ein etwa 10mm Loch Bohren. Die ganzen Webansichten etc. kann man alle bei Chris auf seinen Blog anschauen. Links dazu siehe oben.

    Sollte man einen VL53LOX verwenden, so wird dieser über I2C angeschlossen.

    D1>SCL
    D2->SDA

    VCC > VCC

    GND>GND


  • Ich habe auch schon mit den US Sensoren am Arduino..

    Auch vieles andere an Arduinos.

    Gerade in unregelmäßigen Räumen, wie deine, oder engen Räumen, sind die eher nicht geeignet.

    Ich komme aus der Industrie und da sind US sehr schwierig..

    In dem Projekt mit den 2 x 300l Tanks ist das auch nicht kritisch.

    Die Sensoren werden eine Zeit lang funktionieren.

    Übringens..Shelly?

    VG Rolf

    (Wer einen Tippfehler findet, darf den gerne behalten :saint:)

    • Offizieller Beitrag
    ...

    Übringens..Shelly?

    Ich denke, deshalb ist es auch unter "Homematic" und nicht unter "Eure Projekte" (Shelly) publiziert,

    Für manchen Homematiker unter den Shelly-Jüngern schon nützlich. ;)

    Es war unter anderem auch meine Bitte es zu publizieren.

  • Moin.

    Kleine Frage an den Fred Ersteller. Sind in den Flashdateien die "Treiber" für die VL53LOX enthalten? Weil ich versuche schon seit einiger Zeit die Sensoren zum laufen zu bekommen. Und die VL53LOX gehören nicht zum Standartumfang von ESPEasy. Man muss die immer händisch zufügen und damit habe ich so meine Probleme :rolleyes:

    ^^ Und um wieder den Bezug zu Shelly herzustellen. Ich will mit einem D1 Mini, den Sensoren und dem ESPEasy meinen Teichwasserstand kontollieren und damit eine Shelly 1 ansteuern der die Pumpe zum Nachfüllen anschaltet. ;)

  • DarkSoul

    in der zisterne.ino.bin sind die Treiber schon mit drin. Du kannst dann in den Browser die Daten aktivieren wie du es benötigst oder bzw. welche eben du angeschlossen hast.

    Ich würde dir dann empfehlen die zisterne.ino.bin zu flashen. So kannst du das obige Script verwenden in Homematic. Mit Hilfe der Systemvariablen kannst du dir dann ein Programm erstellen wo du eben deinen Shelly damit schaltest. Bei Fragen einfach nochmal melden.

    Schöne Ostern allen hier

    PS: DarkSoul

    solltest du aber doch lieber mit ESPEasy arbeiten wollen, so hänge ich hier mal eine Datei an wo der VL53LOX bereits integriert ist und unter Devices dann ausgewählt werden kann. Ansonsten so wie bei Easymega erst ins WLan 192.168.4.1 einwählen, seine eigenen daten dann eingeben und ESP neu starten. Nun sollte er im Heimischen WLan erreichbar sein.

    Ein Ähnliches Projekt findest du z.B. auch hier > https://nerdiy.de/howto-espeasy-…l53l0x-vl53l1x/

  • Dieses Thema enthält 2 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.