Ankündigung

Einklappen
Keine Ankündigung bisher.

Füllstandsmessung Tank (Zisterne) (gerne auf KNX)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von 1mannlan Beitrag anzeigen
    Wenn du die Sonde über den Boden hängen willst, solltest du das mit einer Abspannklemme machen und nicht über die Verschraubung an der Dose.
    Zitat von Techi Beitrag anzeigen
    Dieser kleine dünne Schlauch muss also immer frei luftdurchgängig und frei von Beschädigung oder Feuchtigkeit, dabei aber immer dem Luftdruck der Aussenluft ausgesetzt sein.
    Dann ist eine Abspannklemme nicht wirklich die beste Idee, oder?

    Kommentar


      Zitat von crazyyou Beitrag anzeigen



      Dann ist eine Abspannklemme nicht wirklich die beste Idee, oder?
      Doch, denn genau um die Beschädigung zu vermeiden nutzt man die ja.
      Grüße
      Wolfgang

      Kommentar


        Drückt die Abspannklemme die Leitung nicht zu sehr zusammen?

        Kommentar


          Zitat von crazyyou Beitrag anzeigen
          Drückt die Abspannklemme die Leitung nicht zu sehr zusammen?
          Schau dir mal an wie die funktioniert. Wenn man danach googelt stellt man schnell fest, dass die genau dafür entwickelt wurde ein festhalten ohne großes einquetschen zu ermöglichen.

          Das Kabel wird auf großer Länge gleichmäßig eingeklemmt und dadurch nicht beschädigt.
          Grüße
          Wolfgang

          Kommentar


            btw:
            ich hab mittlerweile auf influxdb2 umgestellt und lasse in meinem NodeRed Script (Drucksensor zu Füllstand, siehe https://knx-user-forum.de/forum/%C3%...48#post1776248 ) die Rückgabe nun gleich so ausgeben, das man diese direkt als eine Ausgabe in die Influxdb2 schreiben kann und dabei auch Tags geschrieben werden.

            Ausgabe sieht nun wie folgt aus:
            Code:
            array[2]
                0: array[2]
                    0: object
                        menge: 5627
                    1: object
                        typ: "inhalt"
                        einheit: "liter"
                        quelle: "drucksensor"
                        ort: "zisterne"
                1: array[2]
                    0: object
                        menge: 71
                    1: object
                        typ: "inhalt"
                        einheit: "prozent"
                        quelle: "drucksensor"
                        ort: "zisterne"​
            Auch hab ich das Script intern noch etwas optimiert, es wird nun eine kleine fließende Mittelwertbildung gemacht, sowie intern nun nicht mehr nur mit integer gerechnet.

            NodeRed_Zisterne_1.jpg


            Programmcode für die Sektion "Funktion"
            Code:
            // zistern litering table (got from manufacturer GRAF)
            // first column = fillheight in mm
            // second column = liter
            const  literingTable = [
            [0, 0],
            [100, 368],
            [200, 976],
            [300, 1621],
            [400, 2339],
            [500, 3153],
            [600, 3796],
            [700, 4609],
            [800, 5341],
            [900, 6057],
            [1000, 6731],
            [1100, 7301],
            [1200, 7515],
            [1260, 7550]
            ];
            
            //var msg;
            var msg2;
            var msg3;
            var msg4;
            
            // pressure Sensor parameters
            const max_height = 2;   // 2m
            const max_mA = 20;      // mA at max_height
            const min_mA = 4;      // mA at zero height
            
            // index to table for lowest level in zistern where water
            // can still be pumped. Below pump cant reach the water
            const percent_0_index = 2   // eg, 2 is 976l
            //const lowest_level_Tindex = 2;
            
            
            // Main starts here
            var y;
            
            var measured_mA = msg.payload; // get mA value from Sensor as input
            var measured_mA_mean;
            
            measured_mA_mean = context.get('measured_mA_mean');
            if (context.get('Startup') == 341487) {
                context.set("Startup", 0)
                measured_mA_mean = measured_mA;
            }
            measured_mA_mean = (measured_mA_mean * 2 + measured_mA) / 3;
            context.set('measured_mA_mean', measured_mA_mean);
            
            if (measured_mA < min_mA){
                // if its below allowed range, then exit
                node.warn("Error ! Input Value below 4mA")  
                return;
            }
            
            var high_mm = (max_height * 1000 / (max_mA - min_mA) * (measured_mA_mean - min_mA));
            //var x = Math.round(high_mm);
            var x = high_mm;
            
            //search for fitting table area, getting index into table as i
            for(var i = 0; i < literingTable.length; i++) {
              if (literingTable[i][0] > x) break; // if "end entry" found, then exit
            }
            i = i - 1;  // correct index to "start entry"
            
            
            // check if index was inside table and not the last entry
            if (i<literingTable.length-1){
                // was inside table
                // get values from table
                var x1 = literingTable[i+0][0];
                var y1 = literingTable[i+0][1];
                var x2 = literingTable[i+1][0];
                var y2 = literingTable[i+1][1];
                // and calculate the value in between
                y=(y1+((x-x1)/(x2-x1)*(y2-y1)));
            }
            else{
                // was the last entry,
                // so return last entry as fixe value from table
                // no calcuation needed
                y=literingTable[i+0][1]
            }
            
            // calculate percentage from table index 2 as 0% to last table index as 100%
            
            var percent = 100 / (literingTable[literingTable.length-1][1] - literingTable[percent_0_index][1]);
            percent = Math.round(((percent * (y - literingTable[percent_0_index][1])) * 1) * 1e0) / 1e0;
            
            if (percent < 0){
                percent = -1;
            }
            
            y = Math.round(y);
            
            msg.payload = [
                [   // first value
                    {   // influxdb2 fields
                        "menge": y
                    },
                    {   // influxdb2 tags
                        "typ": "inhalt",
                        "einheit": "liter",
                        "quelle": "drucksensor",
                        "ort": "zisterne"
                    }
                ],
                [   // second value
                    {   // influxdb2 fields
                        "menge": percent
                    },
                    {   // influxdb2 tags
                        "typ": "inhalt",
                        "einheit": "prozent",
                        "quelle": "drucksensor",
                        "ort": "zisterne"
                    }
                ]
            ];
            
            return [msg];​

            Dann muß noch folgender Programmcode bei Sektion "Start" rein:
            Code:
            // Der Code hier wird ausgeführt,
            // wenn der Node gestartet wird
            if (context.get("Startup") === undefined) {
            context.set("Startup", 341487)
            }



            Es wurde nun mittlerweile auch die Impulsauswertung des Gartenwasserzählers in Betrieb genommen.
            Das hat mir nun ermöglicht beim Nachfüllen der Zisterne per Gartenwasser die Menge des Gartenwasserzählers mit der über den Drucksensor ermittelten Menge in Bezug zu setzen.

            Ergebnis: +/-10L !!!
            Zuletzt geändert von Techi; 20.08.2023, 06:57.

            Kommentar


              Bei mir ist gestern Nummer 4 von den Amazon China Sensoren verreckt nach ziemlich genau 3 Wochen fehlerfreien Betrieb. Immerhin deutlich länger gehalten als die letzten.
              Ich denke einen letzten Anlauf mit den Billigsensoren werde ich noch wagen. Hat noch jemand einen Tipp welchen Sensor man kaufen kann?
              ​​​​​​

              Kommentar


                Bekommst du die jedes mal kostenlos ersetzt oder zweifelt der Hersteller beim 4 mal in kurzer Zeit mehr an dir als an seinem Produkt?

                Kommentar


                  Zitat von exxtreme Beitrag anzeigen
                  Hat noch jemand einen Tipp welchen Sensor man kaufen kann?
                  ​​​​​​
                  Offenbar keinen billigen mehr.
                  Wie wäre es mit einem von Tecson?

                  Grüße
                  Wolfgang

                  Kommentar



                    Zitat von Robert86424 Beitrag anzeigen
                    Bekommst du die jedes mal kostenlos ersetzt oder zweifelt der Hersteller beim 4 mal in kurzer Zeit mehr an dir als an seinem Produkt?
                    Bisher hat Amazon die immer anstandslos ausgetauscht. Ich habe aber 4 Sensoren von 4 verschiedenen Händlern probiert zwischen 30 und 70€. Ergebnis: immer der gleiche Sensor mit dem gleichen Beipackzettel.

                    Zitat von 1mannlan Beitrag anzeigen
                    Offenbar keinen billigen mehr.
                    Wie wäre es mit einem von Tecson?
                    Ja, so weit war ich eigentlich auch schon, ich hatte nur überlegt vorher noch einen letzten Versuch mit einem günstigen Sensor zu versuchen.

                    Kommentar


                      Zitat von exxtreme Beitrag anzeigen
                      Ja, so weit war ich eigentlich auch schon, ich hatte nur überlegt vorher noch einen letzten Versuch mit einem günstigen Sensor zu versuchen.
                      Gabz ehrlich, wenn du schon vier versucht hast, was soll beim fünften anders sein?

                      Wenn dann müsstest du schon ganz woanders einen teureren kaufen, ich meinte mal welche im Bereich von 150€ gesehen zu haben.

                      Dass Wasser ins Druckausgleichsröhrchen kommt, oder es gequetscht wird ist ausgeschlossen?

                      Grüße
                      Wolfgang

                      Kommentar


                        Zitat von 1mannlan Beitrag anzeigen

                        Gabz ehrlich, wenn du schon vier versucht hast, was soll beim fünften anders sein?

                        Wenn dann müsstest du schon ganz woanders einen teureren kaufen, ich meinte mal welche im Bereich von 150€ gesehen zu haben.

                        Dass Wasser ins Druckausgleichsröhrchen kommt, oder es gequetscht wird ist ausgeschlossen?
                        Also gequetscht ist es definitiv nicht, es hat ja 3 Wochen problemlos funktioniert. Das Wasser direkt ins Röhrchen eindringt, schließe ich aus, allerdings könnte ich mir vorstellen, das eventuell Kondensat irgendwie rein kommen könnte, da die ABB/AE Dose nicht 100% abgedichtet ist.

                        Kommentar


                          Zitat von exxtreme Beitrag anzeigen
                          ...allerdings könnte ich mir vorstellen, das eventuell Kondensat irgendwie rein kommen könnte, da die ABB/AE Dose nicht 100% abgedichtet ist.
                          Dann würde ich zunächst dort ansetzen!
                          Grüße
                          Wolfgang

                          Kommentar


                            Zitat von exxtreme Beitrag anzeigen
                            die ABB/AE Dose nicht 100% abgedichtet ist.
                            D.h., du hast die ABB AE/A 2.1 (IP54) in der Zisterne verbaut, ohne weiteren Schutz?


                            Kommentar


                              Zitat von ur63 Beitrag anzeigen
                              D.h., du hast die ABB AE/A 2.1 (IP54) in der Zisterne verbaut, ohne weiteren Schutz?
                              Ja, ist allerdings im Domschacht verbaut, nicht direkt in der Zisterne.

                              Kommentar


                                Zitat von exxtreme Beitrag anzeigen

                                Ja, ist allerdings im Domschacht verbaut, nicht direkt in der Zisterne.
                                Da ist aber doch nicht weniger Luftfeuchte, oder?

                                Kommentar

                                Lädt...
                                X