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

  • sailor02
    antwortet
    Zitat von 1mannlan Beitrag anzeigen

    Offenbar keinen billigen mehr.
    Wie wäre es mit einem von Tecson?
    Vielleicht sind meine Erfahrungen für manch einen hier hilfreich:
    Ich hatte auch ewig an einer China-Sonde rumgetüftelt. Dachte zunächst, dass das Problem bei meiner Programmierung oder dem ABB Analogeingang liegen würde.
    Dann habe ich vor gut 2 Monaten in eine Tecson Sonde investiert und alles läuft seitdem perfekt. Über eine X1 Logik wird bei unterschreiten von 1cbm die Nachspeisung aktiviert, bis 3 cbm erreicht sind. Insgesamt wird der jeweilige Füllstand über 11cbm jederzeit exakt wiedergegeben....
    Ich kann nicht ausschließen, dass das mit anderen Produkten ähnlich gut funktioniert, aber mein Rat wäre: Zur Tecson Sonde greifen, wenn man eine flexible und robuste Lösung bauen möchte...
    VG!
    Zuletzt geändert von sailor02; 21.07.2023, 08:28.

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Zitat von ur63 Beitrag anzeigen
    Der AE/A ist doch in der Dose vormontiert? Kauf eine andere Dose mit richtigen Verschraubungen und ein Druckausgleichselement und montier den eigentlichen AE/A darin. Wäre einen letzten Versuch wert...
    Ja das ist auf jeden fall eine Idee Wert. Ich werde mir diese Dose jetzt mal holen bevor ich weiter mache: https://wekonn.de/products/feuchtedi...32903544766569

    Einen Kommentar schreiben:


  • ur63
    antwortet
    Der AE/A ist doch in der Dose vormontiert? Kauf eine andere Dose mit richtigen Verschraubungen und ein Druckausgleichselement und montier den eigentlichen AE/A darin. Wäre einen letzten Versuch wert...

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Zitat von ur63 Beitrag anzeigen
    Da ist aber doch nicht weniger Luftfeuchte, oder?
    Das stimmt, weniger Luftfeuchte ist da nicht. Bisher habe ich das aber auch nicht für ein Problem gehalten. 😅 Der PT1000 funktioniert zumindest seit einem Jahr Problemlos.

    Einen Kommentar schreiben:


  • ur63
    antwortet
    Zitat von exxtreme Beitrag anzeigen

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

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    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.

    Einen Kommentar schreiben:


  • ur63
    antwortet
    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?


    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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!

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    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.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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?

    Einen Kommentar schreiben:


  • exxtreme
    antwortet

    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.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    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?
    ​​​​​​

    Einen Kommentar schreiben:


  • Techi
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X