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.1k

  • 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

    @Homoran
    möglich ist es!
    Es ist ja nur zur allgemeinen Übersicht für mich einmal im Monat messe ich ja normal mit Spindel.
    Ich vertraue Technik auch nicht in allen Dingen.

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

    @Aphofis dann wird das hier wohl etwas oversized sein ;-)

    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 dann wird das hier wohl etwas oversized sein ;-)

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

      @Homoran finde ich nicht! muss jeder ja selbst wissen. nur richtig gute Leitwert Messgeräte kosten verdammt viel Geld und dieser Pflanzen Messwert Sensir ist für den Dauereinsatz in einer Pflanze geeignet. Ich hatte für das Messgerät ein gehäuse gedruckt und die Messtäbe müssen ja dauerhaft eingetaucht sein egal ob in der Erde oder im Becken und der obere Gehäuse teil ist in einer kleinen einhausung. Damit nicht all zu viel Luftfeuchtigkeit an die Elektronik kommt.

      1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @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 !

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

        @paul53
        Der Alias Datenpunkt wird in

        Aqua_Control.0.Sensoren
        

        nicht erstellt, woran kann das liegen ?
        Vor allem wo ist jetzt das Script hin !?

        paul53P 1 Antwort Letzte Antwort
        0
        • AphofisA Aphofis

          @paul53
          Der Alias Datenpunkt wird in

          Aqua_Control.0.Sensoren
          

          nicht erstellt, woran kann das liegen ?
          Vor allem wo ist jetzt das Script hin !?

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

          @Aphofis sagte:

          wird in
          Aqua_Control.0.Sensoren
          nihct erstellt

          Der Alias-Datenpunkt ist unter "alias.0" zu finden. Der js-controller kann ihn nur dort verarbeiten.
          ID: "alias.0.Aquarium.Wasser.Leitfaehigkeit"

          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:

            wird in
            Aqua_Control.0.Sensoren
            nihct erstellt

            Der Alias-Datenpunkt ist unter "alias.0" zu finden. Der js-controller kann ihn nur dort verarbeiten.
            ID: "alias.0.Aquarium.Wasser.Leitfaehigkeit"

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

            @paul53
            Also so ?

            // 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 = 'Leitfaehigkeit 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('alias.0.Aquarium.Wasser.Leitfaehigkeit' + idAlias, idOrigin, idRead);
            
            paul53P 1 Antwort Letzte Antwort
            0
            • AphofisA Aphofis

              @paul53
              Also so ?

              // 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 = 'Leitfaehigkeit 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('alias.0.Aquarium.Wasser.Leitfaehigkeit' + idAlias, idOrigin, idRead);
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #32

              @Aphofis sagte:

              Also so ?

              Ja, das Script zum Erstellen des Alias einmal starten.

              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:

                Also so ?

                Ja, das Script zum Erstellen des Alias einmal starten.

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

                @paul53 OK I try

                Kann man den Wert auch auf zwei nachkomma stellen kürzen?

                paul53P 1 Antwort Letzte Antwort
                0
                • AphofisA Aphofis

                  @paul53 OK I try

                  Kann man den Wert auch auf zwei nachkomma stellen kürzen?

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

                  @Aphofis sagte in Dichte sensor kalibrierung:

                  Kann man den Wert auch auf zwei nachkomma stellen kürzen?

                  Man kann.

                  read = "Math.round(1.16 * val) / 100";
                  

                  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 2 Antworten Letzte Antwort
                  0
                  • paul53P paul53

                    @Aphofis sagte in Dichte sensor kalibrierung:

                    Kann man den Wert auch auf zwei nachkomma stellen kürzen?

                    Man kann.

                    read = "Math.round(1.16 * val) / 100";
                    
                    AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    schrieb am zuletzt editiert von
                    #35

                    @paul53 sagte in Dichte sensor kalibrierung:

                    read = "Math.round(1.16 * val) / 100";

                    in Zeile 14 ?

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Aphofis sagte in Dichte sensor kalibrierung:

                      Kann man den Wert auch auf zwei nachkomma stellen kürzen?

                      Man kann.

                      read = "Math.round(1.16 * val) / 100";
                      
                      AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      schrieb am zuletzt editiert von
                      #36

                      @paul53
                      eigentlich braucht der Wert garnicht gegen die Temperatur gemessen werden, da das Messgerät das schon macht.
                      wie kann ich jetzt den wert kalibrieren
                      was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

                      paul53P 2 Antworten Letzte Antwort
                      0
                      • AphofisA Aphofis

                        @paul53 sagte in Dichte sensor kalibrierung:

                        read = "Math.round(1.16 * val) / 100";

                        in Zeile 14 ?

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

                        @Aphofis sagte:

                        in Zeile 14 ?

                        Ja, wenn der Datenpunkt noch nicht erstellt wurde. Sonst in die RAW-Ansicht und korrigieren.

                        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
                          eigentlich braucht der Wert garnicht gegen die Temperatur gemessen werden, da das Messgerät das schon macht.
                          wie kann ich jetzt den wert kalibrieren
                          was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

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

                          @Aphofis sagte:

                          was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

                          ?? 1,16 * 4433 / 100 = 51,42 mS/cm

                          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 Zeile 14 ?

                            Ja, wenn der Datenpunkt noch nicht erstellt wurde. Sonst in die RAW-Ansicht und korrigieren.

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

                            @paul53
                            Das ist Top nur ich stehe gerade völlig auf dem Schlauch!
                            wie kann man den Wert nun ermitteln, damit wenn ich den salzgehalt dann ausgeglichen habe per gemessener Spindel und dann auf den selben wert bekommen will!?
                            vermutlich einfacher Dreisatz aber ich blicke gerade nicht durch

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @Aphofis sagte:

                              was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

                              ?? 1,16 * 4433 / 100 = 51,42 mS/cm

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

                              @paul53 sagte in Dichte sensor kalibrierung:

                              @Aphofis sagte:

                              was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

                              ?? 1,16 * 4433 / 100 = 51,42 mS/cm

                              das habe ich mir so auch gedacht und gerechnet auf die selbe summe gekommen

                              1 Antwort Letzte Antwort
                              0
                              • AphofisA Aphofis

                                @paul53
                                Das ist Top nur ich stehe gerade völlig auf dem Schlauch!
                                wie kann man den Wert nun ermitteln, damit wenn ich den salzgehalt dann ausgeglichen habe per gemessener Spindel und dann auf den selben wert bekommen will!?
                                vermutlich einfacher Dreisatz aber ich blicke gerade nicht durch

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

                                @Aphofis sagte:

                                per gemessener Spindel und dann auf den selben wert bekommen will!?

                                Berechne den Salzgehalt (eigener Datenpunkt) per Script. Korrigiere bei Abweichung den Faktor 1,16.

                                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

                                  @paul53
                                  eigentlich braucht der Wert garnicht gegen die Temperatur gemessen werden, da das Messgerät das schon macht.
                                  wie kann ich jetzt den wert kalibrieren
                                  was wird aus der zahl zb 4433 mit dem faktor 1.16damit der wert bei 51,42 landet !?

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

                                  @Aphofis sagte:

                                  eigentlich braucht der Wert garnicht gegen die Temperatur gemessen werden, da das Messgerät das schon macht.

                                  Ist es ein Leitfähigkeits-Messgerät und/oder ein Salzgehalt-Messgerät ?
                                  Wenn es nur die Leitfähigkeit misst, wird auch nur dieser Wert korrigiert. Für die Berechnung des Salzgehalts ist eine weitere Korrektur erforderlich (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:

                                    eigentlich braucht der Wert garnicht gegen die Temperatur gemessen werden, da das Messgerät das schon macht.

                                    Ist es ein Leitfähigkeits-Messgerät und/oder ein Salzgehalt-Messgerät ?
                                    Wenn es nur die Leitfähigkeit misst, wird auch nur dieser Wert korrigiert. Für die Berechnung des Salzgehalts ist eine weitere Korrektur erforderlich (Script).

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

                                    @paul53
                                    wie füge ich dann

                                    Salzgehalt = 15.75 + 0.68 (LF - T)
                                    

                                    in das script ein!?
                                    Nein es mist die Leitfähigkeit, Temperatur, Lux und Feuchtigkeit es ist kein Salzwert Messgerät

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • AphofisA Aphofis

                                      @paul53
                                      wie füge ich dann

                                      Salzgehalt = 15.75 + 0.68 (LF - T)
                                      

                                      in das script ein!?
                                      Nein es mist die Leitfähigkeit, Temperatur, Lux und Feuchtigkeit es ist kein Salzwert Messgerät

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

                                      @Aphofis
                                      Erstelle ein neues Script und einen eigenen Datenpunkt für den Salzgehalt.

                                      // IDs anpassen !
                                      const idTemp = '...'; // Wassertemperatur
                                      const idSalz = '...';
                                      const idLeit = 'alias.0.Aquarium.Wasser.Leitfaehigkeit';
                                      
                                      var temp = getState(idTemp).val;
                                      var leit = getState(idLeit).val;
                                      
                                      function Salzgehalt() {
                                         setState(idSalz, 15.75 + 0.68 * (leit - temp), true);
                                      }
                                      
                                      Salzgehalt(); 
                                      on(idTemp, function(dp) {
                                         temp = dp.state.val;
                                         Salzgehalt();
                                      });
                                      on(idLeit, function(dp) {
                                         leit = dp.state.val;
                                         Salzgehalt();
                                      });
                                      

                                      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

                                      269

                                      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