Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Dichte sensor kalibrierung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Dichte sensor kalibrierung

Geplant Angeheftet Gesperrt Verschoben Blockly
44 Beiträge 3 Kommentatoren 1.6k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AphofisA Aphofis

    @paul53
    Das schon mal gut! Nur wie erstellt man einen Alias Datenpunkt und erstellt dann diese Rechnung darin !?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #4

    @Aphofis sagte:

    wie erstellt man einen Alias Datenpunkt

    Nachdem Du idOrigin und idAlias angepasst hast und bei read a und b durch die richtigen Zahlen ersetzt hast, starte das folgende Script einmalig.

    // Original-Datenpunkt
    const idOrigin = 'mqtt.0.dimmer.status'; 
    // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
    // Bei Nicht-Verwendung Leerstring '' zuweisen
    const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
     
    // Alias-Datenpunkt
    const idAlias = 'Aquarium.Wasser.Dichte';
    var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
    // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
    nameAlias = 'Dichte Meerwasser';
    desc = 'per Script erstellt';
    // typeAlias = 'boolean'; // oder 'number'
    read = "a + b * val"; // a und b durch Zahlen ersetzen !
    // write = "val ? true : true";
    role = 'value';
    // min = 0; // nur Zahlen
    // max = 100; // nur Zahlen
    unit = 'g/ml'; // nur für Zahlen
    // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
    // custom = []; // verhindert doppelte Ausführung von history, ...
    // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
    // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
    
    // Ab hier nichts ändern !!
    function createAlias(idDst, idSrc, idRd) {
       if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
       else {
          var obj = {};
          obj.type = 'state';
          obj.common = getObject(idSrc).common;
          obj.common.alias = {};
          if(idRd) {
              obj.common.alias.id = {};
              obj.common.alias.id.read = idRd;
              obj.common.alias.id.write = idSrc;
              obj.common.read = true;
          } else obj.common.alias.id = idSrc;
          if(typeAlias) obj.common.type = typeAlias;
          if(obj.common.read !== false && read) obj.common.alias.read = read;
          if(obj.common.write !== false && write) obj.common.alias.write = write;
          if(nameAlias) obj.common.name = nameAlias;
          if(role) obj.common.role = role;
          if(desc) obj.common.desc = desc;
          if(min !== undefined) obj.common.min = min;
          if(max !== undefined) obj.common.max = max;
          if(unit) obj.common.unit = unit;
          if(states) obj.common.states = states;
          if(custom && obj.common.custom) obj.common.custom = custom;
          obj.native = {};
          setObject(idDst, obj);
          if(raum && existsObject('enum.rooms.' + raum)) {
             let obj = getObject('enum.rooms.' + raum)
             obj.common.members.push(idDst);
             setObject('enum.rooms.' + raum, obj);
          }
          if(gewerk && existsObject('enum.functions.' + gewerk)) {
             let obj = getObject('enum.functions.' + gewerk)
             obj.common.members.push(idDst);
             setObject('enum.functions.' + gewerk, obj);
          }
       } 
    }
     
    createAlias('alias.0.' + idAlias, idOrigin, idRead);
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • AphofisA Aphofis

      Hey Ho Leute,
      ich wollte ja schon lange meine Dichte in meinem Meerwasser Aquarium messen.
      Nun kann ich es endlich einen Sensor, der Dauerhaft im Becken verbleiben kann, doch zeigt der Sensor einen leicht anderen Wert an, als wenn ich die Dichte mit einer temperatur geeichten Spindel messe.
      Wie könnte man diesen Wert umrechnen damit der korekte Wert heaus kommt und in einen Datenpunkt geschrieben wird. Die Werte werden per Bluetooth und dem BLE Adapter übertragen an ioBroker.
      gemessene Werte:
      Spindel 52,73 ms/cm
      Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.
      @paul53 vielleicht magst du auch mal mit überlegen, wie man das machen könnte per Blockly!

      Danke Danke Danke

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #5

      @Aphofis sagte:

      gemessene Werte:
      Spindel 52,73 ms/cm

      Was ist das für eine Maßeinheit ? Leitfähigkeit ? Normalerweise gibt man die Dichte in kg/l bzw. g/ml an.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      AphofisA 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Aphofis sagte:

        gemessene Werte:
        Spindel 52,73 ms/cm

        Was ist das für eine Maßeinheit ? Leitfähigkeit ? Normalerweise gibt man die Dichte in kg/l bzw. g/ml an.

        AphofisA Offline
        AphofisA Offline
        Aphofis
        schrieb am zuletzt editiert von Aphofis
        #6

        @paul53
        Der gemessene Wert ist Mit einer Spindel gemessen
        In Dichte also ich glaube wert war 1,0215 g/cm3 bei 29,5 grad den Wert habe ich in meinem Aquarium Umrechner eingetippselt um den Wert in Dichte mit Temperatur abhängig umzurechnen.
        Man kann den Salzgehalt in Dichte, relative Dichte, Salinität und Leitwert messen.
        Meine Spindel misst Die Dichte in Gramm pro cm3 und mein refeagtometer Mist in psu (Salinität)
        Das neue Messgerät Mist Den Leitwert in µs/cm
        Ist iDOrigin der gemessene Wert mit der Spindel umgerechnet oder ist es der Wert den ich vom Dichte Messgerät aus Blue bekomme?

        paul53P 1 Antwort Letzte Antwort
        0
        • AphofisA Aphofis

          @paul53
          Der gemessene Wert ist Mit einer Spindel gemessen
          In Dichte also ich glaube wert war 1,0215 g/cm3 bei 29,5 grad den Wert habe ich in meinem Aquarium Umrechner eingetippselt um den Wert in Dichte mit Temperatur abhängig umzurechnen.
          Man kann den Salzgehalt in Dichte, relative Dichte, Salinität und Leitwert messen.
          Meine Spindel misst Die Dichte in Gramm pro cm3 und mein refeagtometer Mist in psu (Salinität)
          Das neue Messgerät Mist Den Leitwert in µs/cm
          Ist iDOrigin der gemessene Wert mit der Spindel umgerechnet oder ist es der Wert den ich vom Dichte Messgerät aus Blue bekomme?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #7

          @Aphofis sagte:

          Ist iDOrigin der gemessene Wert mit der Spindel umgerechnet oder ist es der Wert den ich vom Dichte Messgerät aus Blue bekomme?

          Der Datenpunkt mit idOrigin enthält den Messwert. Der Datenpunkt mit idAlias enthält den umgerechneten Wert.

          @Aphofis sagte:

          Meine Spindel misst Die Dichte in Gramm pro cm3

          Also in g/ml. Soll das das Ergebnis der Umrechnung sein ?
          Die Umrechnung kann so einfach nur erfolgen, wenn die Temperatur konstant ist und der Salzgehalt nur wenig schwankt. Sollen Temperaturänderungen berücksichtigt werden, benötigt man ein Script.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          AphofisA 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Aphofis sagte:

            Ist iDOrigin der gemessene Wert mit der Spindel umgerechnet oder ist es der Wert den ich vom Dichte Messgerät aus Blue bekomme?

            Der Datenpunkt mit idOrigin enthält den Messwert. Der Datenpunkt mit idAlias enthält den umgerechneten Wert.

            @Aphofis sagte:

            Meine Spindel misst Die Dichte in Gramm pro cm3

            Also in g/ml. Soll das das Ergebnis der Umrechnung sein ?
            Die Umrechnung kann so einfach nur erfolgen, wenn die Temperatur konstant ist und der Salzgehalt nur wenig schwankt. Sollen Temperaturänderungen berücksichtigt werden, benötigt man ein Script.

            AphofisA Offline
            AphofisA Offline
            Aphofis
            schrieb am zuletzt editiert von
            #8

            @paul53
            Temperatur schwankungen mit einberechnet wäre natürlich mega!
            Da der Salzgehalt ja Temperatur abhängig ist.
            Der Wert soll in ms/cm als Leitwert ausgegeben werden.
            Vielleicht bringt ja diese Tabelle etwas beim kalkulieren

            salinität tabelle.pdf

            paul53P 2 Antworten Letzte Antwort
            0
            • AphofisA Aphofis

              @paul53
              Temperatur schwankungen mit einberechnet wäre natürlich mega!
              Da der Salzgehalt ja Temperatur abhängig ist.
              Der Wert soll in ms/cm als Leitwert ausgegeben werden.
              Vielleicht bringt ja diese Tabelle etwas beim kalkulieren

              salinität tabelle.pdf

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #9

              @Aphofis sagte:

              Vielleicht bringt ja diese Tabelle etwas beim kalkulieren

              Die Tabelle reicht nur bis 28 °C. In welcher Spanne bewegt sich die Temperatur im Aquarium ? Wenn sie nicht groß ist, genügt sicherlich eine lineare Interpolation.
              Was möchtest Du als Ergebnis ? Salzgehalt oder Dichte ?

              @Aphofis sagte in Dichte sensor kalibrierung:

              Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.

              Dieser Wert ist viel zu klein !

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              AphofisA 1 Antwort Letzte Antwort
              0
              • AphofisA Aphofis

                @paul53
                Temperatur schwankungen mit einberechnet wäre natürlich mega!
                Da der Salzgehalt ja Temperatur abhängig ist.
                Der Wert soll in ms/cm als Leitwert ausgegeben werden.
                Vielleicht bringt ja diese Tabelle etwas beim kalkulieren

                salinität tabelle.pdf

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @Aphofis sagte:

                Da der Salzgehalt ja Temperatur abhängig ist.

                Eine Näherungsformel für den Salzgehalt könnte etwa so passen:

                Salzgehalt = 15.75 + 0.68 (LF - T)
                

                Salzgehalt in g/l (psu), LF in mS/cm, T in °C

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                AphofisA 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @Aphofis sagte:

                  Vielleicht bringt ja diese Tabelle etwas beim kalkulieren

                  Die Tabelle reicht nur bis 28 °C. In welcher Spanne bewegt sich die Temperatur im Aquarium ? Wenn sie nicht groß ist, genügt sicherlich eine lineare Interpolation.
                  Was möchtest Du als Ergebnis ? Salzgehalt oder Dichte ?

                  @Aphofis sagte in Dichte sensor kalibrierung:

                  Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.

                  Dieser Wert ist viel zu klein !

                  AphofisA Offline
                  AphofisA Offline
                  Aphofis
                  schrieb am zuletzt editiert von
                  #11

                  @paul53 Die Temperatur schwankt zwischen 25-30 Grad
                  Je nach monat und Tageszeit meistens liegt die Temperatur im Sommer bei 27- 30 Grad und im Winter bei 25-27 Grad
                  Das Messgerät mist in µs/cm ich benötige ms/cm also durch 100 aber die kalibrierung habe ich keine Ahnung von.

                  paul53P HomoranH 3 Antworten Letzte Antwort
                  0
                  • AphofisA Aphofis

                    @paul53 Die Temperatur schwankt zwischen 25-30 Grad
                    Je nach monat und Tageszeit meistens liegt die Temperatur im Sommer bei 27- 30 Grad und im Winter bei 25-27 Grad
                    Das Messgerät mist in µs/cm ich benötige ms/cm also durch 100 aber die kalibrierung habe ich keine Ahnung von.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #12

                    @Aphofis sagte:

                    Das Messgerät mist in µs/cm ich benötige ms/cm also durch 100

                    Nein, durch 1000. Deshalb schrieb ich, dass der Wert viel zu klein ist.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Aphofis sagte:

                      Da der Salzgehalt ja Temperatur abhängig ist.

                      Eine Näherungsformel für den Salzgehalt könnte etwa so passen:

                      Salzgehalt = 15.75 + 0.68 (LF - T)
                      

                      Salzgehalt in g/l (psu), LF in mS/cm, T in °C

                      AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      schrieb am zuletzt editiert von Aphofis
                      #13

                      @paul53
                      Wäre das so korekt ???

                      // Original-Datenpunkt
                      const idOrigin = 'ble.0.c4:7c:8d:6b:b7:5a.fertility'; 
                      // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                      // Bei Nicht-Verwendung Leerstring '' zuweisen
                      const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
                       
                      // Alias-Datenpunkt
                      const idAlias = 'Aquarium.Wasser.Dichte';
                      var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                      // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                      nameAlias = 'Dichte Meerwasser';
                      desc = 'per Script erstellt';
                      // typeAlias = 'boolean'; // oder 'number'
                      read = "a + b * val"; // a und b durch Zahlen ersetzen !
                      // write = "val ? true : true";
                      role = 'value';
                      // min = 0; // nur Zahlen
                      // max = 100; // nur Zahlen
                      unit = 'g/ml'; // nur für Zahlen
                      // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                      // custom = []; // verhindert doppelte Ausführung von history, ...
                      // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                      // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                      
                      // Ab hier nichts ändern !!
                      function createAlias(idDst, idSrc, idRd) {
                         if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                         else {
                            var obj = {};
                            obj.type = 'state';
                            obj.common = getObject(idSrc).common;
                            obj.common.alias = {};
                            if(idRd) {
                                obj.common.alias.id = {};
                                obj.common.alias.id.read = idRd;
                                obj.common.alias.id.write = idSrc;
                                obj.common.read = true;
                            } else obj.common.alias.id = idSrc;
                            if(typeAlias) obj.common.type = typeAlias;
                            if(obj.common.read !== false && read) obj.common.alias.read = read;
                            if(obj.common.write !== false && write) obj.common.alias.write = write;
                            if(nameAlias) obj.common.name = nameAlias;
                            if(role) obj.common.role = role;
                            if(desc) obj.common.desc = desc;
                            if(min !== undefined) obj.common.min = min;
                            if(max !== undefined) obj.common.max = max;
                            if(unit) obj.common.unit = unit;
                            if(states) obj.common.states = states;
                            if(custom && obj.common.custom) obj.common.custom = custom;
                            obj.native = {};
                            setObject(idDst, obj);
                            if(raum && existsObject('enum.rooms.' + raum)) {
                               let obj = getObject('enum.rooms.' + raum)
                               obj.common.members.push(idDst);
                               setObject('enum.rooms.' + raum, obj);
                            }
                            if(gewerk && existsObject('enum.functions.' + gewerk)) {
                               let obj = getObject('enum.functions.' + gewerk)
                               obj.common.members.push(idDst);
                               setObject('enum.functions.' + gewerk, obj);
                            }
                         } 
                      }
                       
                      createAlias('Aqua_Control.0.Sensoren.Dichte_kalibrierung' + idAlias, idOrigin, idRead);
                      

                      Das sind nun mal die Werte die ich habe! Anders kann das Messgerät nicht messen und ich brauche ms/cm um es in meine App zu tippseln damit ich weiss wie viel salz ich in mein Becken bringen muss oder wie viel Meerwasser ich durch Osmose Wasser ersetzen muss.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • AphofisA Aphofis

                        @paul53
                        Wäre das so korekt ???

                        // Original-Datenpunkt
                        const idOrigin = 'ble.0.c4:7c:8d:6b:b7:5a.fertility'; 
                        // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                        // Bei Nicht-Verwendung Leerstring '' zuweisen
                        const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
                         
                        // Alias-Datenpunkt
                        const idAlias = 'Aquarium.Wasser.Dichte';
                        var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                        // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                        nameAlias = 'Dichte Meerwasser';
                        desc = 'per Script erstellt';
                        // typeAlias = 'boolean'; // oder 'number'
                        read = "a + b * val"; // a und b durch Zahlen ersetzen !
                        // write = "val ? true : true";
                        role = 'value';
                        // min = 0; // nur Zahlen
                        // max = 100; // nur Zahlen
                        unit = 'g/ml'; // nur für Zahlen
                        // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                        // custom = []; // verhindert doppelte Ausführung von history, ...
                        // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                        // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                        
                        // Ab hier nichts ändern !!
                        function createAlias(idDst, idSrc, idRd) {
                           if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                           else {
                              var obj = {};
                              obj.type = 'state';
                              obj.common = getObject(idSrc).common;
                              obj.common.alias = {};
                              if(idRd) {
                                  obj.common.alias.id = {};
                                  obj.common.alias.id.read = idRd;
                                  obj.common.alias.id.write = idSrc;
                                  obj.common.read = true;
                              } else obj.common.alias.id = idSrc;
                              if(typeAlias) obj.common.type = typeAlias;
                              if(obj.common.read !== false && read) obj.common.alias.read = read;
                              if(obj.common.write !== false && write) obj.common.alias.write = write;
                              if(nameAlias) obj.common.name = nameAlias;
                              if(role) obj.common.role = role;
                              if(desc) obj.common.desc = desc;
                              if(min !== undefined) obj.common.min = min;
                              if(max !== undefined) obj.common.max = max;
                              if(unit) obj.common.unit = unit;
                              if(states) obj.common.states = states;
                              if(custom && obj.common.custom) obj.common.custom = custom;
                              obj.native = {};
                              setObject(idDst, obj);
                              if(raum && existsObject('enum.rooms.' + raum)) {
                                 let obj = getObject('enum.rooms.' + raum)
                                 obj.common.members.push(idDst);
                                 setObject('enum.rooms.' + raum, obj);
                              }
                              if(gewerk && existsObject('enum.functions.' + gewerk)) {
                                 let obj = getObject('enum.functions.' + gewerk)
                                 obj.common.members.push(idDst);
                                 setObject('enum.functions.' + gewerk, obj);
                              }
                           } 
                        }
                         
                        createAlias('Aqua_Control.0.Sensoren.Dichte_kalibrierung' + idAlias, idOrigin, idRead);
                        

                        Das sind nun mal die Werte die ich habe! Anders kann das Messgerät nicht messen und ich brauche ms/cm um es in meine App zu tippseln damit ich weiss wie viel salz ich in mein Becken bringen muss oder wie viel Meerwasser ich durch Osmose Wasser ersetzen muss.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #14

                        @Aphofis sagte in Dichte sensor kalibrierung:

                        Wäre das so korekt ???

                        Nein. Das Ergebnis soll die Leitfähigkeit in mS/cm sein.

                        // Original-Datenpunkt
                        const idOrigin = 'ble.0.c4:7c:8d:6b:b7:5a.fertility'; 
                        // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                        // Bei Nicht-Verwendung Leerstring '' zuweisen
                        const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
                         
                        // Alias-Datenpunkt
                        const idAlias = 'Aquarium.Wasser.Leitfaehigkeit';
                        var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                        // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                        nameAlias = 'Leitfähigkeit Meerwasser';
                        desc = 'per Script erstellt';
                        // typeAlias = 'boolean'; // oder 'number'
                        read = "0.0116 * val"; // 
                        // write = "val ? true : true";
                        role = 'value';
                        // min = 0; // nur Zahlen
                        // max = 100; // nur Zahlen
                        unit = 'mS/cm'; // nur für Zahlen
                        // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                        // custom = []; // verhindert doppelte Ausführung von history, ...
                        // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                        // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                        
                        // Ab hier nichts ändern !!
                        function createAlias(idDst, idSrc, idRd) {
                           if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                           else {
                              var obj = {};
                              obj.type = 'state';
                              obj.common = getObject(idSrc).common;
                              obj.common.alias = {};
                              if(idRd) {
                                  obj.common.alias.id = {};
                                  obj.common.alias.id.read = idRd;
                                  obj.common.alias.id.write = idSrc;
                                  obj.common.read = true;
                              } else obj.common.alias.id = idSrc;
                              if(typeAlias) obj.common.type = typeAlias;
                              if(obj.common.read !== false && read) obj.common.alias.read = read;
                              if(obj.common.write !== false && write) obj.common.alias.write = write;
                              if(nameAlias) obj.common.name = nameAlias;
                              if(role) obj.common.role = role;
                              if(desc) obj.common.desc = desc;
                              if(min !== undefined) obj.common.min = min;
                              if(max !== undefined) obj.common.max = max;
                              if(unit) obj.common.unit = unit;
                              if(states) obj.common.states = states;
                              if(custom && obj.common.custom) obj.common.custom = custom;
                              obj.native = {};
                              setObject(idDst, obj);
                              if(raum && existsObject('enum.rooms.' + raum)) {
                                 let obj = getObject('enum.rooms.' + raum)
                                 obj.common.members.push(idDst);
                                 setObject('enum.rooms.' + raum, obj);
                              }
                              if(gewerk && existsObject('enum.functions.' + gewerk)) {
                                 let obj = getObject('enum.functions.' + gewerk)
                                 obj.common.members.push(idDst);
                                 setObject('enum.functions.' + gewerk, obj);
                              }
                           } 
                        }
                         
                        createAlias('Aqua_Control.0.Sensoren.Dichte_kalibrierung' + idAlias, idOrigin, idRead);
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        AphofisA 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @Aphofis sagte in Dichte sensor kalibrierung:

                          Wäre das so korekt ???

                          Nein. Das Ergebnis soll die Leitfähigkeit in mS/cm sein.

                          // Original-Datenpunkt
                          const idOrigin = 'ble.0.c4:7c:8d:6b:b7:5a.fertility'; 
                          // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                          // Bei Nicht-Verwendung Leerstring '' zuweisen
                          const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
                           
                          // Alias-Datenpunkt
                          const idAlias = 'Aquarium.Wasser.Leitfaehigkeit';
                          var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                          // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                          nameAlias = 'Leitfähigkeit Meerwasser';
                          desc = 'per Script erstellt';
                          // typeAlias = 'boolean'; // oder 'number'
                          read = "0.0116 * val"; // 
                          // write = "val ? true : true";
                          role = 'value';
                          // min = 0; // nur Zahlen
                          // max = 100; // nur Zahlen
                          unit = 'mS/cm'; // nur für Zahlen
                          // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                          // custom = []; // verhindert doppelte Ausführung von history, ...
                          // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                          // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                          
                          // Ab hier nichts ändern !!
                          function createAlias(idDst, idSrc, idRd) {
                             if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                             else {
                                var obj = {};
                                obj.type = 'state';
                                obj.common = getObject(idSrc).common;
                                obj.common.alias = {};
                                if(idRd) {
                                    obj.common.alias.id = {};
                                    obj.common.alias.id.read = idRd;
                                    obj.common.alias.id.write = idSrc;
                                    obj.common.read = true;
                                } else obj.common.alias.id = idSrc;
                                if(typeAlias) obj.common.type = typeAlias;
                                if(obj.common.read !== false && read) obj.common.alias.read = read;
                                if(obj.common.write !== false && write) obj.common.alias.write = write;
                                if(nameAlias) obj.common.name = nameAlias;
                                if(role) obj.common.role = role;
                                if(desc) obj.common.desc = desc;
                                if(min !== undefined) obj.common.min = min;
                                if(max !== undefined) obj.common.max = max;
                                if(unit) obj.common.unit = unit;
                                if(states) obj.common.states = states;
                                if(custom && obj.common.custom) obj.common.custom = custom;
                                obj.native = {};
                                setObject(idDst, obj);
                                if(raum && existsObject('enum.rooms.' + raum)) {
                                   let obj = getObject('enum.rooms.' + raum)
                                   obj.common.members.push(idDst);
                                   setObject('enum.rooms.' + raum, obj);
                                }
                                if(gewerk && existsObject('enum.functions.' + gewerk)) {
                                   let obj = getObject('enum.functions.' + gewerk)
                                   obj.common.members.push(idDst);
                                   setObject('enum.functions.' + gewerk, obj);
                                }
                             } 
                          }
                           
                          createAlias('Aqua_Control.0.Sensoren.Dichte_kalibrierung' + idAlias, idOrigin, idRead);
                          
                          AphofisA Offline
                          AphofisA Offline
                          Aphofis
                          schrieb am zuletzt editiert von
                          #15

                          @paul53
                          OK und als Javascript in Blockly erstellen?
                          Die Datenpunkte sind so OK ?

                          1 Antwort Letzte Antwort
                          0
                          • AphofisA Aphofis

                            @paul53 Die Temperatur schwankt zwischen 25-30 Grad
                            Je nach monat und Tageszeit meistens liegt die Temperatur im Sommer bei 27- 30 Grad und im Winter bei 25-27 Grad
                            Das Messgerät mist in µs/cm ich benötige ms/cm also durch 100 aber die kalibrierung habe ich keine Ahnung von.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #16

                            @Aphofis Nach deiner Tabelle wird die Leitfähigkeit in mc/cm angegeben. Eine mir gar nicht geläufige Einheit.
                            Habe daraufhin mal gesucht und folgendes gefunden:

                            Der Ausdruck EC wird als allgemeine Bezeichnung für die elektrische Leitfähigkeit benutzt (Electrical Conductivity = EC). Bei manchen Leitfähigkeitsmessgeräten wird die tatsächliche Leitfähigkeit in "EC" Einheiten angegeben, 1 EC ist hierbei gleichbedeutend mit milliS/cm.

                            demnach wären milliCondukivitäten gleichbedeutend mit µS.

                            Bei 29°C und einer Ziel-Salinität im grünen Bereich müsste die Leitfähigkeit laut Tabelle (extrapoliert) irgendwo bei 59 sein. Bei deinen 45.41 tun mir deine Fische richtig leid. Die sind kurz vor einem osmotischen Schock.
                            Das Wasser entzieht den Fischen dann die Eelktrolyte, die Kiemen kommen da kaum noch gegen an

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            AphofisA 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @Aphofis Nach deiner Tabelle wird die Leitfähigkeit in mc/cm angegeben. Eine mir gar nicht geläufige Einheit.
                              Habe daraufhin mal gesucht und folgendes gefunden:

                              Der Ausdruck EC wird als allgemeine Bezeichnung für die elektrische Leitfähigkeit benutzt (Electrical Conductivity = EC). Bei manchen Leitfähigkeitsmessgeräten wird die tatsächliche Leitfähigkeit in "EC" Einheiten angegeben, 1 EC ist hierbei gleichbedeutend mit milliS/cm.

                              demnach wären milliCondukivitäten gleichbedeutend mit µS.

                              Bei 29°C und einer Ziel-Salinität im grünen Bereich müsste die Leitfähigkeit laut Tabelle (extrapoliert) irgendwo bei 59 sein. Bei deinen 45.41 tun mir deine Fische richtig leid. Die sind kurz vor einem osmotischen Schock.
                              Das Wasser entzieht den Fischen dann die Eelktrolyte, die Kiemen kommen da kaum noch gegen an

                              AphofisA Offline
                              AphofisA Offline
                              Aphofis
                              schrieb am zuletzt editiert von
                              #17

                              @Homoran
                              Also zum Verständnis.
                              Bitte genau lesen!!!
                              Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                              Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.
                              Gemessen bei 29,5 Grad habe ich einen Leitwert von 57,52 ms/cm einen PSU von 34,8 einne Dichte von 1,0217 also ein sehr sehr guter Wert bei der Temperatur!!!! Wie gesagt ich habe einen Wert per Spindel gemessen um den Wert den das Messgeät ermittelt umzurechnen in der eigentlichen Leitwert!!!!

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • AphofisA Aphofis

                                @Homoran
                                Also zum Verständnis.
                                Bitte genau lesen!!!
                                Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.
                                Gemessen bei 29,5 Grad habe ich einen Leitwert von 57,52 ms/cm einen PSU von 34,8 einne Dichte von 1,0217 also ein sehr sehr guter Wert bei der Temperatur!!!! Wie gesagt ich habe einen Wert per Spindel gemessen um den Wert den das Messgeät ermittelt umzurechnen in der eigentlichen Leitwert!!!!

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #18

                                @Aphofis sagte in Dichte sensor kalibrierung:

                                Bitte genau lesen!!!
                                Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.

                                Wo stehen diese Informationen denn, dass man sie hätte lesen können?

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                AphofisA 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @Aphofis sagte in Dichte sensor kalibrierung:

                                  Bitte genau lesen!!!
                                  Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                  Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.

                                  Wo stehen diese Informationen denn, dass man sie hätte lesen können?

                                  AphofisA Offline
                                  AphofisA Offline
                                  Aphofis
                                  schrieb am zuletzt editiert von
                                  #19

                                  @Homoran aller erster post:

                                  gemessene Werte:
                                  Spindel 52,73 ms/cm
                                  Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.
                                  es fehlen um die 300 Gramm Salz was bei einer Tonne Wasser ein leicht zu dünner wert ist 4541 ist die messung vom messgerät was für pflanzen ist dieInfo habe ich vllt verschluckt!:anguished: :astonished:

                                  HomoranH paul53P 2 Antworten Letzte Antwort
                                  0
                                  • AphofisA Aphofis

                                    @Homoran aller erster post:

                                    gemessene Werte:
                                    Spindel 52,73 ms/cm
                                    Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.
                                    es fehlen um die 300 Gramm Salz was bei einer Tonne Wasser ein leicht zu dünner wert ist 4541 ist die messung vom messgerät was für pflanzen ist dieInfo habe ich vllt verschluckt!:anguished: :astonished:

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #20

                                    @Aphofis sagte in Dichte sensor kalibrierung:

                                    aller erster post:

                                    da lese ich nichts von:

                                    @Aphofis sagte in Dichte sensor kalibrierung:

                                    Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                    Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.

                                    Aber jetzt weiß ich es ja

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    AphofisA 1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @Aphofis sagte in Dichte sensor kalibrierung:

                                      aller erster post:

                                      da lese ich nichts von:

                                      @Aphofis sagte in Dichte sensor kalibrierung:

                                      Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                      Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.

                                      Aber jetzt weiß ich es ja

                                      AphofisA Offline
                                      AphofisA Offline
                                      Aphofis
                                      schrieb am zuletzt editiert von
                                      #21

                                      @Homoran sagte in Dichte sensor kalibrierung:

                                      @Aphofis sagte in Dichte sensor kalibrierung:

                                      aller erster post:

                                      da lese ich nichts von:

                                      @Aphofis sagte in Dichte sensor kalibrierung:

                                      Ich habe ein Messgerät, was eigentlich für Pflanzen ist und den Leitwert des in der Erde befindlichen Wassers ist!!!
                                      Dieser Wert soll kalibriert werden zu dem normalen Wert der in meinem Becken herscht.

                                      Aber jetzt weiß ich es ja

                                      Danje für dein Verständnis, das ich ne Info vergessen hatte.

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • AphofisA Aphofis

                                        @Homoran aller erster post:

                                        gemessene Werte:
                                        Spindel 52,73 ms/cm
                                        Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.
                                        es fehlen um die 300 Gramm Salz was bei einer Tonne Wasser ein leicht zu dünner wert ist 4541 ist die messung vom messgerät was für pflanzen ist dieInfo habe ich vllt verschluckt!:anguished: :astonished:

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #22

                                        @Aphofis sagte:

                                        Dichte messgerät 4541 us/cm bei 29,5 Grad gemessen.

                                        Wenn es 4541 µS/cm (=4,541 mS/cm) im Meerwasser anzeigt: Ist es dann überhaupt für Meerwasser geeignet ? Der Wert ist um ca. den Faktor 12 zu klein !

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        HomoranH AphofisA 2 Antworten Letzte Antwort
                                        0
                                        • AphofisA Aphofis

                                          @paul53 Die Temperatur schwankt zwischen 25-30 Grad
                                          Je nach monat und Tageszeit meistens liegt die Temperatur im Sommer bei 27- 30 Grad und im Winter bei 25-27 Grad
                                          Das Messgerät mist in µs/cm ich benötige ms/cm also durch 100 aber die kalibrierung habe ich keine Ahnung von.

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #23

                                          @Aphofis sagte:

                                          Die Temperatur schwankt zwischen 25-30 Grad

                                          Dann sollte eine lineare Interpolation ausreichend genau sein.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          540

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe