Hast du diesen Thread mal gelesen?
urmel76 hat da seinen SR04 schön eingegossen.
Hast du diesen Thread mal gelesen?
urmel76 hat da seinen SR04 schön eingegossen.
LED Reversing Radar Crescent Buzzer bei aliexpress.com z.B.
Wie genau soll es denn sein? Man muss natürlich dann das auswerten was das gerät liefert.
oder dieser sollte doch deinen ersetzen:
LED Reversing Radar Crescent Buzzer bei aliexpress.com z.B.
Wie genau soll es denn sein? Man muss natürlich dann das auswerten was das gerät liefert.
oder dieser sollte doch deinen ersetzen:
Diesen wasserdichten habe ich jetzt hier liegen, der soll zwar auch mit 3.3V arbeiten, funktioniert allerdings mit Tasmota nicht. Ich habe jetzt auf ESPeasy umgeflasht, teste es ausgiebig.
Hallo zusammen,
ich brauche bitte Hilfe.
Das Messen mit dem SR04 habe ich über Tasmota (8.1) hinbekommen.
Nun möchte ich aber gern mit dem Wert rechnen, denn ich möchte nicht den Abstand Sensor <-> Wasseroberfläche, sonder den Füllstand ermitteln. Hierfür funktioniert es unter ESPEasy mit 197-%value%. Leider komme ich unter Tasmota mit der Berechnung nicht klar.Dem Beispiel entsprechend (Rules) müsste es so gehen:rule1 on SR04#DISTANCE do backlog var1 %value%; var1 %value%; sub1 197; mult1 -1; publish /Garten/Tasmota/tele/SENSOR %value% endonleider klappt es nicht, Es zeigt wieder den Messwert an. Rule1 1 habe ich gesetzt.Zur Erklärung, die 197 sind die cm vom Sensor bis zum Boden der Zisterne (wenn sie leer ist). D.h.: wenn der Messwert (var1= 100), dann muss das Ergebnis 97 sein.Ich könnte auch in fhem rechnen, jedoch benötige ich es für eine Anlage ohne Hausautomatisierung im Hintergrund.DankeSören
Hallo Sören,
Deine Rule ist so nicht zu gebrauchen.
Zitat
rule1 on SR04#DISTANCE do backlog var1 %value%; var1 %value%; sub1 197; mult1 -1; publish /Garten/Tasmota/tele/SENSOR %value% endon
Mein Vorschlag (nur mal schnell getippt, ohne ihn zu testen), deine Berechnung als geeignet vorausgesetzt:
on SR04#DISTANCE do backlog var1 %value%; sub1 197; mult1 -1; event pub endon on event#pub do publish Garten/Tasmota/tele/SENSOR %var1% endon
Der führende Slash im Topic ist übrigens eher unsinnig, du solltest diesen weglassen. Falls du diesen Slash in allen deinen Topics haben solltest, ist der Aufwand, diesen zu entfernen, etwas höher. Trotzdem halte ich eine sorgfältige Planung einer Topic-Struktur für sehr wichtig. Die entworfene Struktur sollte bei neue Erkenntnissen möglichst frühzeitig korrigiert werden - später ist es aufwändiger und Fehler trächtiger.
lieber spät als nie ...
Zitat
Diesen wasserdichten habe ich jetzt hier liegen, der soll zwar auch mit 3.3V arbeiten, funktioniert allerdings mit Tasmota nicht. Ich habe jetzt auf ESPeasy umgeflasht, teste es ausgiebig.
ich wäre sehr (extrem^^) verwundert, wenn ein Pegelproblem mit Software zu beheben wäre.
lieber spät als nie ...
ich wäre sehr (extrem^^) verwundert, wenn ein Pegelproblem mit Software zu beheben wäre.
Ja, ich stelle fest, dass die Streuung der Werte bei mir ca. 10 cm hat. Ich löse dieses Problem, indem ich dem Mittelwert bilde.
Ich nutze diesen Sensor in meiner Zisterne seit 14 Tagen, nachdem mir der SR-04 vergammelte. Irgendwo fand ich den Hinweis, die Impulslänge für den Trigger auf 20 µs einzustellen. Da ich vor der Verarbeitung die Rohdaten aufzeichne und derzeit immer 10 Messungen für einen Nutzwert durchführen lasse, konnte ich sehen, was die kurzen Triggerimpulse brachten - gelegentliche Fehlmessungen. Seitdem ich 20 µs als TRiggerimpulsdauer nehme, liegt die Messtoleranz bei 2 Promille. Ich bin begeistert.
Sorry, nein, dass kann ich leider nicht in Tasmota.
Meine Zisternenmessungen sind (noch) per selbst in C(++) codierter, proprietärer Software implementiert - auf einem Arduino Uno Clon, getriggert über USB von einem Banana Pi per crontab ... und einigen Shellscripten. Vor knapp 2 Jahren tat ich dieses mit viel Aufwand, da ich weder MQTT, noch ESP8266, noch Tasmota ... kannte. Hier zeigt sich auch der Vorteil bei selbst codierter Software, auch wenn dies vergleichsweise aufwändig ist.
Btw, inzwischen publishen diese alten Shellscripte brav MQTT-Nachrichten, eine angenehme Ergänzung.
Ich nutze allerdings Tasmota erst seit ein paar Wochen und habe noch nicht die sources angepasst compiliert. Irgendwo in den sources muss das Timing zu finden sein. Ich will aber nun nicht in die alten C(++) Codierungszeiten zurückfallen, auch wenn dies nicht schlecht war. Vielleicht in einem Jahr mal ...
Mit den SR-04 hatte ich übrigens auch stärkere schwankungen mit einer geschätzten Toleranz von 3 bis 4 %.
Korrektur, habe inzwischen in den alten Rohdatenaufzeichnungen nachgesehen. Es sind doch nur ca. 0,5% Messtoleranzen gewesen. Die Grafiken dazu waren aber deutlich unruhiger als die jetzigen. Mhhh ... jedenfalls sagt mir der JSN... deutlich mehr zu und er ist vermutlich in feuchter Umgebung (Zisterne) deutlich langlebiger.
Einen hab ich noch ...
Hast du schon die Richtwirkung deines SR-04 mit Röhrchen verbessert? Meine Tests zeigten eine deutlich bessere Richtwirkung (schlankere Keulen) mit ca. 40 cm langen Kabel-Leerrohren sowohl vor dem Aktor als auch vor dem Sensor.
Hast du schon die Richtwirkung deines SR-04 mit Röhrchen verbessert? Meine Tests zeigten eine deutlich bessere Richtwirkung (schlankere Keulen) mit ca. 40 cm langen Kabel-Leerrohren sowohl vor dem Aktor als auch vor dem Sensor.
Ich habe schon versucht, den Sensor in ein 40mm PVC Rohr zu stecken. Die Werte waren leider falsch, es hat immer den Wert um 20cm angezeigt, obwohl das Rohr 1m lang und kaum im Wasser war.
Diesen wasserdichten habe ich jetzt hier liegen, der soll zwar auch mit 3.3V arbeiten, funktioniert allerdings mit Tasmota nicht. Ich habe jetzt auf ESPeasy umgeflasht, teste es ausgiebig.
habe meinen Wasserdichten sensor mit 3,3v versorgt und läuft, vielleicht schwanken die Werte deswegen so!?!
Der hat ja noch eine Blaueplatine an die man den Sensor ansteckt. Wenn ich diese mit 5v betrieben würde, würde ich dann noch ein Spannungsteiler am Echo benötigen?
Bestätigung, den wasserdichten JSN ... betreffend.
Ich habe auch diesen Versuch mit einem ca. 40mm Rohr gemacht ... und wunderte mich. Was vorher mit einem HC SR-04 sehr gut wirkte, war hier kontraproduktiv. Die Messwerte lagen voll daneben, sie korrespondierten im wesentlichen (nichtlinear) mit der Länge des Rohres. Inzwischen bin ich davon überzeugt, dass dies am Abstrahlwinkel des Ultraschalls liegt, welcher bei 75° statt 90° liegen soll. Da gibt es offensichtlich ungewollte Reflektionen. Wer eine Kanalisierung braucht, sollte mal ein Regenfallrohr oder ähnliches mit großem Durchmessen testen. Dieses Rohr sollte bis fast zum Boden des Behälters reichen. Ich vermute dann aber auch einen etwas verlängerten Ultraschallweg (ähnlich der Lichtwellen im Lichtwellenleiter). Ich brauche dies in meiner 10000L fassenden Zisterne vermutlich nicht. Mal sehen ...
Ich denke auch, dass die 3,3V Versorgung zu dicht an der unteren Grenze liegen. Mein abgeschirmtes Telefonkabel von der Zisterne (Messelektronik) zum µC ist ca 16m lang - und die Messungen funktionieren bestens, aber mit 5V Speisung. Bei kurzer Verbindungsleitung mögen die 3,3V evtl. noch passen ...
Und ja, den Spannungsteiler am µC brauchst du auch bei längerer Leitung - oder einen Levelshifter. Und evtl. noch einen kleinen Kondensator, falls Oberwellen im (angenäherten) Rechtecksignal zu stark auftreten sollten - geschätzt ca. 1nF - zwischen Echo und Masse (GND).
habe meinen Wasserdichten sensor mit 3,3v versorgt und läuft, vielleicht schwanken die Werte deswegen so!?!
Mein JSN läuft gerade mit Wemos D1 mini und bekommt dort 5v, also Regelspannung.
Ich habe auch diesen Versuch mit einem ca. 40mm Rohr gemacht ... und wunderte mich. Was vorher mit einem HC SR-04 sehr gut wirkte, war hier kontraproduktiv. Die Messwerte lagen voll daneben, sie korrespondierten im wesentlichen (nichtlinear) mit der Länge des Rohres. Inzwischen bin ich davon überzeugt, dass dies am Abstrahlwinkel des Ultraschalls liegt, welcher bei 75° statt 90° liegen soll. Da gibt es offensichtlich ungewollte Reflektionen. Wer eine Kanalisierung braucht, sollte mal ein Regenfallrohr oder ähnliches mit großem Durchmessen testen. Dieses Rohr sollte bis fast zum Boden des Behälters reichen. Ich vermute dann aber auch einen etwas verlängerten Ultraschallweg (ähnlich der Lichtwellen im Lichtwellenleiter). Ich brauche dies in meiner 10000L fassenden Zisterne vermutlich nicht. Mal sehen ...
Ich habe hier noch ein größeres PVC Rohr liegen, kann bei Gelegenheit testen.
Ich bin auf deine Erkenntnisse gespannt.
on SR04#DISTANCE do backlog var1 %value%; sub1 197; mult1 -1; event pub endon on event#pub do publish Garten/Tasmota/tele/SENSOR %var1% endon
Hallo eich,
Danke für deine Antwort.
Leider funktioniert es so nicht.
Habe erst einmal das mult1 -1 rausgenommen. Im Web bekomme ich immernoch 118 cm angezeigt (der gemessene Abstand Sensor - Wasseroberfläche).
In meinem FHEM kommt "var1 -79" an - also stimmt es schon mal.
Die nächste Herausforderung ist es, die -79 mit -1 zu Multiplizieren.
...und nicht mehr die 118 auf der Website
LG Sören
Hallo zusammen,
zum Thema (JSN-)SR04 kann ich "nur" beisteuern, dass er lt. Datenblatt ab 20cm misst und 5V benötigt.
Vor meinen Tasmota-Gehversuchen habe ich alles mit ESPEasy geflasht. Hier hat der Sensor (6500l Zisterne/ im letzen Jahr) meist richtig gemessen. Gelegentlich hat er mal richtige Ausreißer von über 50cm gehabt.
In ESPEasy hat er auf 0,5cm genau gemessen, in Tasmota auf 0,001cm
Was mit aufgefallen war, dass er niedrige Temperaturen - wie sie es letzten "Winter" an wenigen Tagen gab, nicht mochte. Da war mir der Wasserstand in der vollen Zisterne aber auch egal.
LG Sören
Hallo Sören,
ich bevorzuge MQTT für die Messwertnachrichten und ein Frontend zu deren Darstellung, auch gerne Node-RED.
Du lässt ja auch in deiner Rule publishen ...
Dass im Web-Interface von Tasmota der Abstand zur Wasseroberfläche angezeigt wird halte ich für selbstverständlich. Ich denke, es kommt darauf an, diese Messwerte , bspw. aber nicht notwendigerweise per Rules, zu verarbeiten. Dies kann vermutlich auch in FHEM geschehen.
Zu deinen Erfahrungen aus dem letzten Winter.
Aus dem Datenblatt: Operating temperature -20 ° C to + 70 ° C
Das lag vermutlich weniger an der Temperatur als vielmehr am hohen Wasserstand.
Wie genau die beiden Firmwares die "Messergebnisse berechnen", liegt weniger an der Auflösung des Sensors als vielmehr an den intern verwendeten Datentypen - und evtl. an zusätzlich in ESPEasy vorgenommenen Rundungen. So klein ist die Auflösung des Sensors nicht.
Datenblatt: Resolution 1mm
Deshalb ergeben 2 Nachkommastellen in cm-Angaben schon keinen echten Sinn mehr.
Ergänzung:
Die Rechenmöglichkeiten von Tasmota Rules sind sehr eingeschränkt, die Grundrechenarten können aber angewendet werden. Ich setze derzeit die sensors.bin 8.02 ein. Wie lautet deine Formel zur Berechnung des Füllstandes komplett?
Evtl. kannst du einen Node-RED Adapter einsetzen oder auch ein kleines Shellskript. Ich verwende bspw. in meinen knapp 2 Jahre alten Skripten den bc, ein nützlicher, sehr betagter Kommandozeilen-Calculator in Linux/Unixen. Auch damit und mosquitto_sub ließe sich ein Adapter implementieren. Andererseits sollte das mit Perl (FHEM) auch gehen.
BM_Sorry alias Sören,
ich habe mir deine Berechnung zu Beginn noch einmal angeschaut.
-(%value%-197) ist leicht erkennbar. Also äquivalent zu 197-%value%.
Somit lautet deine Formel schlicht result = 197 - distance.
Das ist eine Längenangabe und kann die Füllstandhöhe oder evtl. die Prozentangabe im Verhältnis zu "voll" ergeben.
Die kürzere Form in der Rule ist somit:
... backlog var1 197; sub1 %value%; ...
Viel Erfolg
Gerhard
Hallo Gerhard,
nochamls DANKE für die Hilfe.
Ich habe nun seit über 2 Jahren fhem (von Hometic CCU2 kommend) und möchte ungern nochmal "umziehen".
Parallel bin ich dabei, für eine Freundin eine Gartenbewässung ohne Hintersund-Software (ioBroker, fhem, Node-Red etc) zu bauen. Sie telefoniert und chattet mit ihrem Smartphone, mehr aber auch nicht mehr.
Die Idee war, einen ESP8266 mit Tasmota flashen, 4 Relais für 4 Bewässerungskreise (Magnetventile) und einen SR04 für den Füllstand der Zisterne. Alles andere läuft per Timer bzw einen Tastendruck auf der App (Tasmota Control). Also ohne jeglicher Zusatzsoft- / oder Hardware (außer Router mit WLAN).
Ich habe die rule 1 geändert :
rule1on SR04#DISTANCE do backlog var1 %value%; sub1 197; mult1 -1; event pub endon on event#pub do publish /Garten/Tasmota/tele/SENSOR %var1% endon
ES KLAPPT
11:46:49 RUL: SR04#DISTANCE performs "backlog var1 120.491; sub1 197; mult1 -1; event p
11:46:49 MQT: /Tasmota/Garten/stat/RESULT = {"Var1":"120.491"}
11:46:50 MQT: /Tasmota/Garten/stat/RESULT = {"Sub1":"-76.509"}
11:46:50 MQT: /Tasmota/Garten/stat/RESULT = {"Mult1":"76.509"}
11:46:50 MQT: /Tasmota/Garten/stat/RESULT = {"Event":"Done"}
11:46:50 RUL: EVENT#PUB performs "publish /Garten/Tasmota/tele/SENSOR 76.509"
11:46:50 MQT: /Garten/Tasmota/tele/SENSOR = 76.509
In fhem kommt in den Readings Mult1 76.509 an.
Als On the TOP wäre nun auch dieser Wert in Tasmota genial, denn aktuell steht hier auf der Site noch 120.491 cm
Dennoch: Herzlichen DANKE
Sören