Nachdem ich das letzte Update (v1024) bzgl. der PINs etwas verbaselt hatte, hier nun ein neues Update für die Füllstandsanzeige der Zisterne. Zudem gibt es auf mehrfachen (berechtigten) Wunsch auch nochmal ein komplettes Schaubild für die Verdrahtung aller bisher genutzten Komponenten.
Hier gibt es die aktuelle Version zum Download:
http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin
Zur Installation etc. bitte wieder in die älteren Artikeln schauen!
Das Update enthält unter anderem:
- DHT22-Temperatur-Sensor an D5 (statt des bereits durch das Display genutzten D6)
- Darstellung der Werte auf der Webseite nicht mehr als TABLE sondern als DIV-Boxen damit es auf kleinen Displays auch besser passt
- Bei Erstinstallation und Einrichtung des WLAN per Access Point wird nur die Konfiguration der WLAN-Daten angezeigt was hoffeltnlich das Problem mit dem “fehlenden” Speicher-Button beseitigt. Hier wäre ich über Erfahrungen dankbar!
- TITLE-Tag eingebaut
- ein paar Kleinigkeiten…
Hier das Schaubild der aktuellen Verdrahtung. Bei Ultraschallsensor, Display und Schalter bleibt alles wie gehabt. Der DHT22 kommt nun an D5 damit dieser mit dem Display parallel betrieben werden kann.
Die Weboberfläche ist durch die Verwendung der DIVs anstatt TABLE nun auch auf kleinen Display (z.B. Handy) besser dargestellt und die Boxen passen sich der Breite des Bildschirms an.
Dann möchte ich nochmal allen Danken die etwas gespenden haben. Das Geld ging wie immer an Bärenherz in Wiesbaden.
Viel Spaß mit der neuen Version. Der Frühling ist ja schon im Anmarsch und die Zisterne muss für das sommerliche Bewässern startklar werden!
Gruß
Chris
Moin. Super Sache aber hat jemand das Update over the air erhalten? Und ab wann kann man mit der Einbindung vom bme 280 rechnen?
Ansonsten super geile Sache danke dafür….
Guten Morgen Sepp,
OTA geht noch nicht automatisch sondern aktuell nur auf zuruf. In einer der letzten Versionen wurden beim OTA leider die gespeicherten WLAN Daten überschrieben. Daher erstmal OTA nur auf Wunsch. Kann ich aber für Dich aktivieren, bräuchte nur Deine MAC-Adresse des ESP (am besten per Mail).
Gruß
Chris
Hallo Chris. Vielen Dank für das Update. Sensor arbeitet weiterhin zuverlässig 🙂 Frage: Könntet ihr für eine kommende Version eventuell vorsehen, dass auch der JSON Feed zum Beispiel mit dem Fassungsvermögen in Litern noch erweitert wird? Oder alternativ – das wäre noch besser – im JSON Feed berücksichtigt wird, dass auch die Dezimalstellen berücksichtigt werden? Für das Web-Frontend konnte man das anschalten, wird aber leider im JSON Feed nicht berücksichtigt. Daher habe ich extern momentan noch keine Möglichkeit das auszulesen. Alternativ muss ich einen anderen Weg einschlagen und genau diese Info per Post an ein PHP Script senden. Praktischer für mich wär es aber alles sauber direkt her den JSON Feed abfragen zu können. Idealerweise also erweitert um Dezimalstellen und Fassungsvermögen in Litern zb
Vielen Dank jedenfalls für die Arbeit !
Hallo Gino,
kommt auf die Liste für die nächste Version 🙂 Ich melde mich bei Dir.
Gruß
Chris
hallo Chris,erstmal ein fettes Lob für die Bereitstellung der Füllstandsanzeige. Genau das was ich gesucht habe nachdem meine Homematic Füllstandsanzeige den Geist aufgegeben hat. Habe sie nachgebaut und funktioniert super. Leider verstehe ich aber vom
Programmieren so gut wie gar nichts und ich weiß (noch) nicht wie ich jetzt die ausgelesenen Daten in meine CCU 3 RM in die Systemvariablen bekomme. Ich kann ja bei den Einstellungen einen Server, Pfad und Port angeben. Hier scheitere ich aber.Bei Server kommt doch sicherlich die IP meiner CCU3 RM rein,Richtig? Der Port sollte doch 8181 sein.Davon gehe ich mal aus.Aber nun was genau muss denn beim Pfad eingetragen werden damit eben die Daten in den Systemvariablen landen und aktualisiert werden? Eine Aktualisierung von ca. 5 min.sollte doch auch ok sein, Oder?
Ich hoffe du kannst einen “Ahnungslosen” helfen.Vielen Dank schon mal.
Harald
Hallo Harald,
die Übergabe der Daten an eine eigene API wird durch den Aufruf eines Links gemacht in den die Sensorwerte zur Laufzeit “eingebaut” werden.
In meinem Beispiel in einem älteren Artikel zur Füllstandsmessung habe ich ein beispielhaftes PHP-Script welches auf einem Server laufen muss und die Werte aus der zusammengbauten URL auswertet und in eine MySQl-Tabelle oder per Telnet an FHEM sendet. Eine direkte Kommunikation mit dieser zusammengabuten URL mit der CCU ist wahrscheinlich nicht möglich bzw. kann ich da nicht viel sagen da ich keine CCU habe.
Andere Möglichkeit wäre noch die Daten mit der CCU per JSON zu holen. Aber auch da weiß ich nicht ob die CCU das unterstützt.
Falls es irgendwie geht, reicht wahrscheinlich eine Aktualisierung im Stundenbereich.
Schreib mir ne Mail falls Du noch Fragen hast und ich vielleicht doch noch irgendwie helfen kann!
Gruß
Chris
Hallo Chris,erstmal vielen Dank.
Ich habe es nun hinbekommen und hole mir die Daten per Script in Homematic. Klappt soweit ganz gut. Allerdings möchte ich mich Gino anschließen. Die Literzahl und gegebenenfals noch Temperatur Und Feuchte bei den json Daten hinzufügen wäre sehr gut. Dann hätte man alle Daten relativ einfach und könnte sie z.B. per Script holen und in Systemvariablen (die man noch anlegen müsste, oder Script erweitern damit sie automatisch angelegt werden) schreiben lassen. Zur zeit funktioniert ja nur Füllmenge und Abstand. Ich hänge hier mal ein Script an (ist nicht von mir, wurde in Homematicforum gepostet) mit dem man die json Daten dann abholt. Klappt hervorragend.
!JSON universell auslesen
!V1.0 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=26&t=65051&p=639981#p639981
string url = “http://192.168.XXX.XXX/json”;
string prefix = “SV_”;
string rueck;
string error;
object SV;
system.Exec(“wget –no-check-certificate –timeout=2 -O – ‘”#url#”‘” , &rueck, &error);
if (!rueck== “”)
{
WriteLine(“HTTP-Request OK”);
rueck = rueck.Replace(‘{‘,”);
rueck = rueck.Replace(‘}’,”);
rueck = rueck.Replace(‘”‘,”);
string Part;
foreach (Part, rueck.Split(“,”) ){
if (Part.Contains(“:”))
{
Part = Part.Replace(“:”,”;”);
WriteLine (prefix # web.webGetValueFromList(Part,0) #” = “# web.webGetValueFromList(Part,1));
SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get((prefix # web.webGetValueFromList(Part,0)));
if (SV) {
SV.State(web.webGetValueFromList(Part,1));
WriteLine(“=== SV “#prefix # web.webGetValueFromList(Part,0)#” written ===”);
}
}
}
} else {
WriteLine(“Error at HTTP Request”);
}
wobei man noch die IP anpassen muss und und den prefix kann
Also 2 Systemvariablen bei Homematic erstellen und als Namen dann SV_Abstand und SV_Fuellstand 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 und Fuellstand sollte man aber so belassen und nur bei Bedarf ändern was vor den _ steht.
LG
Harald
PS: Chris ich hatte dir eine Mail mit einer Frage gesendet. Könntest du da bitte mal schauen und mir Bescheid sagen? Danke
Hallo Harald ,Hallo Chris
Neue Version auf den ESP geladen ,im Wlan versuch ich mich in mein Wlannetz anzumelden .Er finet mein Netz aber ich glaube erspeichert es nicht ab und meldet sich nicht in meine Fritzbox 6591 an. Was mach ich falsch ?
Hallo Thomas,
ich akann das Problem leider nicht reproduzieren. EDas Einrichten des WLANs funktioniert bei mir immer einwandfrei. Kannst Du mal einen seriellen Monitor dranhängen (z.B. aus der Arduinio IDE) und schauen was das Log so sagt?
Gruß
Chris
hallo Chris, vielen Dank für die Neue Version und die schnelle Umsetzung. In der .json Abfrage wird nun auch (wenn man einen DHT22 angeschlossen und auch aktiviert hat) jetzt die Temperatur, Luftfeuchtigkeit und auch die Literzahl mit angegeben. Diese Daten werden mit obigen Script (siehe Beitrag von mir weiter oben) auch in Homematic in die Systemvariablen geschrieben und können von dort aus mit anderen Apps abgefragt werden.
Was ich persönlich noch sehr gut fände, wenn außer dem SR04 Ultraschallsensor auch eventuell noch ein VL53L0X Time of Flight Sensor 940nm kompatibel mit Arduino mit integriert werden könnte. Diese Sensoren werden über I2C angesprochen und haben einen max. Messberreich von ca. 2 Metern, aber dafür einen sehr kleinen Öffnungswinkel von unter 2 Grad. Dies macht sie besonders bei schmalen Regentonnen oder auch die sehr oft verwendeten IBC Tanks sehr interessant. Man kann den Füllstandssensor relativ klein aufbauen, braucht nur ein Wassergeschütztes Gehäuse wie z.B. die Verteilergehäuse aus der Elektrik und dort nur eine kleine Öffnung von ca. 10mm Bohren für den VL53LOX Sensor.
Die “normalen” SR04 Ultraschallsensoren haben dagegen meißt ein Öffnungswinkel von 15 Grad, häufig aber sogar mehr und eignen sich für solche Fälle nur bedingt. Kannst es dir ja mal überlegen. Sage schonmal vielen Dank
PS: laut Anleitung sollen sie sogar hinter Glas messen können. Das kann ich aber natürlich nicht genau sagen, getestet habe ich es noch nicht. Wäre dem so, könnte man den Füllstandssensor komplett Wassergeschützt aufbauen, was ich nochmal Testen werde.
habe gerade mal getestet hinter Glas und Folie. Leider klappt das bei mir nicht, es wird dann vermutlich der Abstand zum Glas/Folie gemessen was ja unbrauchbar ist. Versuch war es aber Wert.
Hallo Chris, vielen Dank für neue Version. Läuft nun schon einige Zeit ganz gut. Eine Frage hätte ich aber noch, könnte man anstatt oder zusätzlich bei der Temperatur den allseits beliebten Temperatursensor/Wassertemperatur DS18B20 mit aufnehmen/anschließen? Sage wie immer schonmal Danke
LG
Harald
Hallo Harald,
welcher Temperatursensor der Favorisierte ist, ist wohl Geschmackssache da auch schon nach dem BME280 gefragt wurde.
Ich habe aber auch den DS18B20 noch hier rumliegen. Ich schau mal für eine der nächsten Versionen.
Gruß
Chris
Moin,
Funktioniert super! Habe gleich zwei gebaut und in FHEM über MQTT eingebunden. Darstellung in FTUI mit dem Scale Widget. Einfach Klasse. Eine kleine Anregung habe ich noch. Ist es möglich den LWT-Status (oder ähnliches) über MQTT an FHEM zu übermitteln? So könnte ich einfach feststellen, ob die Sensoren “online” sind. Noch mal vielen Dank!
Hallo Raymond,
ich benutze auch FTUI, hatte den Füllstand aber bisher nicht per “Scale” angezeigt. Danke für den Hinweis.
Wegen LWT schaue ich mal. Das kommt auf die Todo-Liste
Gruß
Chris
Hallo Chris,
vielen Dank für das großartige Projekt. Für mich ist es das erste unter Verwendung eines ESP8266 und alles hat auf Anhieb funktioniert. Ich betreibe den HC-SR04 innerhalb eines 75er Rohres, da sich im Domschacht meines Flachtanks verschiedene Einbauten befinden, die die Messung verfälschen. Ich würde mir als Erweiterung noch wünschen, dass man bei Unterschreiten eines bestimmten Mindestfüllstands einen digitalen Ausgang schalten kann, um damit z.B. die Pumpe zu stoppen (…Relais) oder eine LED anzusteuern. Vielleicht lässt sich das ja realisieren. Über eine Antwort würde ich mich auf jeden Fall sehr freuen. Besten Dank.
Gruß
Julian
Hallo Julian,
eine gute Idee für eine Erweiterung. Kommt auf die Liste. Allerdings bin ich im Sommer programmierfaul 😉 (zumindest wenn das Wetter schön ist).
Gruß
Chris
Hallo Chris,
die Temperatur des DHT22 wird ja aktuell nicht auf dem Oled-Display angezeigt, sondern nur auf der Webseite.
Würde es auf einem anderen Display (16×2 bzw.16×4) angezeigt?
Hätte das eigentlich auch gerne noch auf dem kleinen Display.
Desweitern ist es bei mir so, dass wenn ich den Taster drücke, das Oled-Display kurz flimmert, aber nichts weiter passiert.
Es dauert dann ca. 5 Sekunden, erst dann wird auf dem Diplay was nagezeigt.
Ist das normal?
Manchmal muss ich auch nochmal drücken dass das Display dann was anzeigt.
Gruß
Thomas
Hallo zusammen,
ich denke, dass das normal ist, da das Display ja nicht alle 5ms aktualisiert wird. @Thomas Keller
Ich hätte eine keine bitte.
Gerne würde ich das System in meinem Camper installieren bzw. habe ich installiert.
Nun Zeigt aber das Display immer die IP 0.0.0.0 an, da ja keine Verbindung zum Netzwerk besteht.
Da diese Anzeige den Anwendungseinsatz einschränkt, würde ich gerne erfragen, ob dies einfach weggelassen werden kann.
Ich glaube das wäre nur von Vorteil.
Man könnte stattdessen die LED vom ESP Blicken lassen oder eine weitere einbauen, sollte die IP-Adresse 0.0.0.0 sein.
Somit könnte man das System mit Display, an einem Ort ohne Netzwerk trotzdem nutzen.
VIELEN DANK für die bisherige Entwicklung!!! Danke dir!
Hallo Tim,
gute idee! Ich muss mir nur mal ein Display besorgen um das zu testen. Habe aktuell keins mehr hier rumliegen.
Könntest Du das als Issue im GITHub eintragen? Dann vergessse ich es nicht (https://github.com/diefenbecker/opencistern/)
Gruß
Chris