Wie genau kann Wasserberechnung im Vorfeld sein?

Hallo Leute,
wie ich mit @Heckenschere schon mal besprochen hatte, fande ich jetzt mal wieder die Zeit dazu ein bissel in die Materie der Wasserumrechnung aber auch in HTML einzutauchen…

Ich bitte euch eigenständig mal darum, den unten genannten Code in einen Texteditor einzukopieren und die Datei mit der Endung .html abzuspeichern und dann anhand euerer vorliegenden Wasserwerten einfach mal zu schauen wie abwägig bei euch der errechnete Leitwert zum gemessen so ist und mir darüber mal ein Feedback zu geben :wink:

Zusammenfassung
<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Der KushMuss Wasserumrechner</title>
</head>
<body>
    <style>
        table, th, td {
          border-spacing: 5px; /*Fügt Pixel Abstand zwischen den Zellen ein*/
          text-align: center; /*Alle Beschriftungen werden zentrieren*/
      width: auto; /*Legt die Weite der Beschriftung automatisch fest*/ 
      border: 1px solid #dddddd; /*Rand um Zellen*/
      font-weight: bold; /*Fetter Text für alle Elemente*/ 
          }
      .eingabefeld {
      width: 90%; /*Legt hier die Breite in Prozent der Eingabefelder fest*/
      text-align: center; /*Zentriert alle Texte in den Eingabefeldern*/
      font-weight: bold;  /*Fetter Text für für alle Eingabefelder*/
      }
      .no-input {
      border: none; /*Kein Rand um Zellen ohne Eingabefeld*/
      }
      
    </style>
  <h1>Der KushMuss Wasserumrechner</h1>
  <h2>Version 1.0</h2>
  <h3>Hier können Ionenverbindungen gemäß den üblichen Angaben eines europäischen Wasserversorgers eingetragen werden:</h3>
  <table> 
    <thead>
      <tr>
        <th>Angabeformen</th>
        <th>Nitrat NO3</th>
        <th>Ammonium NH4</th>
        <th>Phosphat PO4</th>
        <th>Kalium K</th>
        <th>Calcium Ca</th>
        <th>Magnesium Mg</th>
        <th>Sulfat SO4</th>
        <th>Eisen Fe</th>
        <th>Mangan Mn</th>
        <th>Zink Zn</th>
        <th>Kupfer Cu</th>
        <th>Molybdän Mo</th>
        <th>Bor B</th>
        <th>Chlorid Cl</th>
        <th>Nickel Ni</th>
        <th>Cobalt Co</th>
        <th>Natrium Na</th>
        <th>Aluminium Al</th>
        <th>Siliziumdioxid SiO2</th>
        <th>Hydro-Karbo HCO3</th>
        <th>SB-Kapazität 4.3</th>     
        <th>Karbonat-Härte H°</th>    
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>mg/L & ppm</td>
        <td><input type="number" class="eingabefeld" id="WNitrat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td> 
        <td><input type="number" class="eingabefeld" id="WAmmonium-mg" value="0" min="0" oninput="calculateWasserwerte()"/></td>
        <td><input type="number" class="eingabefeld" id="WPhosphat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WKalium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WCalcium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMagnesium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WSulfat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WEisen-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMangan-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WZink-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WKupfer-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMolybdän-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WBor-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WChlorid-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WNickel-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WCobalt-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WNatrium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WAluminium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WSilizium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WHydroKarbonat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td class="no-input"></td>
      </tr>
      <tr>
        <td>mmol/L</td>
        <td><input type="number" class="eingabefeld" id="WNitrat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WAmmonium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WPhosphat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WKalium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WCalcium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMagnesium-mmol" value="0" min="0" oninput=" calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSulfat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WEisen-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMangan-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WZink-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WKupfer-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMolybdän-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WBor-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WChlorid-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WNickel-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WCobalt-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WNatrium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WAluminium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSilizium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WHydroKarbonat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSäureBaseKapazität-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td class="no-input"></td>
      </tr>
      <tr>
        <td>dH°</td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td><input type="number" class="eingabefeld" id="WKarbonatHärte-dH" value="0" oninput="calculateWasserwerte()" /></td>
      </tr>
      <tr>
        <td>fH°</td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td><input type="number" class="eingabefeld" id="WKarbonatHärte-fH" value="0" oninput="calculateWasserwerte()" /></td>
      </tr>
    </tbody>
  </table>
  
  <H3>In dieser Tabelle werden nun die Umrechnungen der eingetragenen Mengen gezeigt, wobei der errechnete Leitwert eine theoretische Annäherung darstellt:</H3>
    <table>
      <thead>
        <tr>
            <th>Umgerechnet in</th>
            <th>Nitrat N-NO3</th>
            <th>Ammonium N-NH4</th>
            <th>Phosphor P</th>
            <th>Kalium K</th>
            <th>Calcium Ca</th>
            <th>Magnesium Mg</th>
            <th>Schwefel S</th>
            <th>Eisen Fe</th>
            <th>Mangan Mn</th>
            <th>Zink Zn</th>
            <th>Kupfer Cu</th>
            <th>Molybdän Mo</th>
            <th>Bor B</th>
            <th>Chlorid Cl</th>
            <th>Nickel Ni</th>
            <th>Cobalt Co</th>
            <th>Natrium Na</th>
            <th>Aluminium Al</th>
            <th>Silizium Si</th>
            <th>Hydro Karbo HCO3</th>
            <th>Leitwert µS/cm</th>    
        </tr>
      </thead>
      <tbody>
        <tr>
            <td>mg/L & ppm</td> 
            <td><span id="WNitratErgebnis"></span></td>
            <td><span id="WAmmoniumErgebnis"></span></td>
            <td><span id="WPhosphorErgebnis"></span></td>
            <td><span id="WKaliumErgebnis"></span></td>
            <td><span id="WCalciumErgebnis"></span></td>
            <td><span id="WMagnesiumErgebnis"></span></td>
            <td><span id="WSchwefelErgebnis"></span></td>
            <td><span id="WEisenErgebnis"></span></td>
            <td><span id="WManganErgebnis"></span></td>
            <td><span id="WZinkErgebnis"></span></td>
            <td><span id="WKupferErgebnis"></span></td>
            <td><span id="WMolybdänErgebnis"></span></td>
            <td><span id="WBorErgebnis"></span></td>
            <td><span id="WChloridErgebnis"></span></td>
            <td><span id="WNickelErgebnis"></span></td>
            <td><span id="WCobaltErgebnis"></span></td>
            <td><span id="WNatriumErgebnis"></span></td>
            <td><span id="WAluminiumErgebnis"></span></td>
            <td><span id="WSiliziumErgebnis"></span></td>
            <td><span id="WHydroKarbonatErgebnis"></span></td>
            <td><span id="WLeitwertErgebnis"></span></td>            
        </tr>
      </tbody>
    </table>
</body>
<script>
  // Berechnet die Wasserwerteingabe bei Änderungen immer wieder neu und gibt sie aus
  function calculateWasserwerte() {
    // Hier werden alle Milligram Angaben in einer Variable verankert
    var WNitrat_mg = parseFloat(document.getElementById("WNitrat-mg").value);
    var WAmmonium_mg = parseFloat(document.getElementById("WAmmonium-mg").value);
    var WPhosphat_mg = parseFloat(document.getElementById("WPhosphat-mg").value);
    var WKalium_mg = parseFloat(document.getElementById("WKalium-mg").value);
    var WCalcium_mg = parseFloat(document.getElementById("WCalcium-mg").value);
    var WMagnesium_mg = parseFloat(document.getElementById("WMagnesium-mg").value);
    var WSulfat_mg = parseFloat(document.getElementById("WSulfat-mg").value);
    var WEisen_mg = parseFloat(document.getElementById("WEisen-mg").value);
    var WMangan_mg = parseFloat(document.getElementById("WMangan-mg").value);
    var WZink_mg = parseFloat(document.getElementById("WZink-mg").value);
    var WKupfer_mg = parseFloat(document.getElementById("WKupfer-mg").value);
    var WMolybdän_mg = parseFloat(document.getElementById("WMolybdän-mg").value);
    var WBor_mg = parseFloat(document.getElementById("WBor-mg").value);
    var WChlorid_mg = parseFloat(document.getElementById("WChlorid-mg").value);
    var WNickel_mg = parseFloat(document.getElementById("WNickel-mg").value);
    var WCobalt_mg = parseFloat(document.getElementById("WCobalt-mg").value);
    var WNatrium_mg = parseFloat(document.getElementById("WNatrium-mg").value);
    var WAluminium_mg = parseFloat(document.getElementById("WAluminium-mg").value);
    var WSilizium_mg = parseFloat(document.getElementById("WSilizium-mg").value);
    var WHydroKarbonat_mg = parseFloat(document.getElementById("WHydroKarbonat-mg").value);
    // Hier werden alle Millimol Angaben in einer Variable verankert
    var WNitrat_mmol = parseFloat(document.getElementById("WNitrat-mmol").value);
    var WAmmonium_mmol = parseFloat(document.getElementById("WAmmonium-mmol").value);
    var WPhosphat_mmol = parseFloat(document.getElementById("WPhosphat-mmol").value);
    var WKalium_mmol = parseFloat(document.getElementById("WKalium-mmol").value);
    var WCalcium_mmol = parseFloat(document.getElementById("WCalcium-mmol").value);
    var WMagnesium_mmol = parseFloat(document.getElementById("WMagnesium-mmol").value);
    var WSulfat_mmol = parseFloat(document.getElementById("WSulfat-mmol").value);
    var WEisen_mmol = parseFloat(document.getElementById("WEisen-mmol").value);
    var WMangan_mmol = parseFloat(document.getElementById("WMangan-mmol").value);
    var WZink_mmol = parseFloat(document.getElementById("WZink-mmol").value);
    var WKupfer_mmol = parseFloat(document.getElementById("WKupfer-mmol").value);
    var WMolybdän_mmol = parseFloat(document.getElementById("WMolybdän-mmol").value);
    var WBor_mmol = parseFloat(document.getElementById("WBor-mmol").value);
    var WChlorid_mmol = parseFloat(document.getElementById("WChlorid-mmol").value);
    var WNickel_mmol = parseFloat(document.getElementById("WNickel-mmol").value);
    var WCobalt_mmol = parseFloat(document.getElementById("WCobalt-mmol").value);
    var WNatrium_mmol = parseFloat(document.getElementById("WNatrium-mmol").value);
    var WAluminium_mmol = parseFloat(document.getElementById("WAluminium-mmol").value);
    var WSilizium_mmol = parseFloat(document.getElementById("WSilizium-mmol").value);
    var WHydroKarbonat_mmol = parseFloat(document.getElementById("WHydroKarbonat-mmol").value);
    var WSäureBaseKapazität_mmol = parseFloat(document.getElementById("WSäureBaseKapazität-mmol").value);
    // Hier werden alle dH und fH Angaben in einer Variable verankert
    var WKarbonatHärte_dH = parseFloat(document.getElementById("WKarbonatHärte-dH").value);
    var WKarbonatHärte_fH = parseFloat(document.getElementById("WKarbonatHärte-fH").value);
    // Hier beginnt die Umrechnung und das Zusammenführen von mg und mmol der einzelnen Elemente der Wasserwerte
    var WNitrat_ges = (WNitrat_mg * 0.225897) + ((WNitrat_mmol * 62.0049) * 0.225897);
    var WAmmonium_ges = (WAmmonium_mg * 0.776491) + ((WAmmonium_mmol * 18.03846) * 0.776491);
    var WPhosphor_ges = (WPhosphat_mg * 0.326138) + ((WPhosphat_mmol * 94.9714) * 0.326138);
    var WKalium_ges = WKalium_mg + (WKalium_mmol * 39.09830);
    var WCalcium_ges = WCalcium_mg + (WCalcium_mmol * 40.0780);
    var WMagnesium_ges = WMagnesium_mg + (WMagnesium_mmol * 24.30500);
    var WSchwefel_ges = (WSulfat_mg * 0.333793) + ((WSulfat_mmol * 96.0626) * 0.333793);
    var WEisen_ges = WEisen_mg + (WEisen_mmol * 55.8450);
    var WMangan_ges = WMangan_mg + (WMangan_mmol * 54.9380450);
    var WZink_ges = WZink_mg + (WZink_mmol * 65.3800);
    var WKupfer_ges = WKupfer_mg + (WKupfer_mmol * 63.5460);
    var WMolybdän_ges = WMolybdän_mg + (WMolybdän_mmol * 95.9600);
    var WBor_ges = WBor_mg + (WBor_mmol * 10.8110);
    var WChlorid_ges = WChlorid_mg + (WChlorid_mmol * 35.4530);
    var WNickel_ges = WNickel_mg + (WNickel_mmol * 58.69340);
    var WCobalt_ges = WCobalt_mg + (WCobalt_mmol * 58.9331950);
    var WNatrium_ges = WNatrium_mg + (WNatrium_mmol * 22.989769280);
    var WAluminium_ges = WAluminium_mg + (WAluminium_mmol * 26.98153860);
    var WSilizium_ges = (WSilizium_mg * 0.467435) + ((WSilizium_mmol * 60.08430) * 0.467435);
    // Findet bei mehreren Angaben bzw. Eingaben über die Karbonate einen höchsten Wert
    function findMaxKarbonat() {
    var WHydroKarbonat_ges = WHydroKarbonat_mg + (WHydroKarbonat_mmol * 61.0168);
    var WSäureBaseKapazität_ges = WSäureBaseKapazität_mmol * 61.0168;
    var WKarbonatHärteDH_ges = WKarbonatHärte_dH * 21.8; 
    var WKarbonatHärteFH_ges = (WKarbonatHärte_fH / 0.560) * 21.8; 
    return Math.max(WHydroKarbonat_ges, WSäureBaseKapazität_ges, WKarbonatHärteDH_ges, WKarbonatHärteFH_ges); 		
    }
    var WHydroKarbonat_max = findMaxKarbonat();
    // Hier beginnt die Leitwertberechnung 
    // Zuerst werden alle Nährstoffe in mmol und zu ihrem Vorliegen im Wasser umgeformt
    var WNitratLeit_mmol = ((WNitrat_ges * 4.427) / 62.0049);
    var WAmmoniumLeit_mmol = ((WAmmonium_ges * 1.287) / 18.0384);
    var WPO4Leit_mmol = ((WPhosphor_ges * 2.066) / 96.9872); // Phosphor wird zu Phosphat umgeformt
    var WKaliumLeit_mmol = (WKalium_ges / 39.0983);
    var WCalciumLeit_mmol = (WCalcium_ges / 40.0780);
    var WMagnesiumLeit_mmol = (WMagnesium_ges / 24.3050);
    var WSulfatLeit_mmol = ((WSchwefel_ges * 2.995) / 96.0626); // Schwefel wird zu Sulfat umgeformt
    var WEisenLeit_mmol = (WEisen_ges / 55.8450); // Eisen wird nur in Fe2 umgeformt 
    var WManganLeit_mmol = ((WMangan_ges * 2.164) / 118.9356); // Mangan wird zu MnO4 umgeformt
    var WZinkLeit_mmol = (WZink_ges / 65.3800);
    var WKupferLeit_mmol = (WKupfer_ges / 63.5460);
    var WMolybdänLeit_mmol = ((WMolybdän_ges * 1.666) / 159.9576); // Molybdän wird zu MoO4 umgeformt
    var WBorLeit_mmol = ((WBor_ges * 8.131) / 87.9147); // Bor wird zu B(C6H5) umgeformt
    var WChloridLeit_mmol = (WChlorid_ges / 35.4530);
    var WNickelLeit_mmol = (WNickel_ges / 58.6934);
    var WCobaltLeit_mmol = (WCobalt_ges / 58.9331);
    var WNatriumLeit_mmol = (WNatrium_ges / 22.9897);
    var WAluminiumLeit_mmol = (WAluminium_ges / 26.9815);
    var WSiliziumLeit_mmol = ((WSilizium_ges * 3.422) / 96.1149); // Silizium wird zu Silicate (Si(OH)4) umgeformt nicht im Buch
    var WHydroKarbonatLeit_mmol = (WHydroKarbonat_max / 61.0168);
    // Äquivalentestoffmengenkonzentration der Kationen bilden und den Leitwert anhand ihren Ladungszahlen berechnen
    // Die Zahlen entsprechen der im Buch verfasseten Millisiemensangabe zu den Nährstoffen bei 25 Grad Celsius
    var WAmmonium_leit = (WAmmoniumLeit_mmol * 1) * 73.5;
    var WKalium_leit = (WKaliumLeit_mmol * 1) * 73.48;
    var WCalcium_leit = (WCalciumLeit_mmol * 2) * 59.47;
    var WMagnesium_leit = (WMagnesiumLeit_mmol * 2) * 53;
    var WEisen_leit = (WEisenLeit_mmol * 2) * 54;
    var WZink_leit = (WZinkLeit_mmol * 2) * 52.8;
    var WKupfer_leit = (WKupferLeit_mmol * 2) * 53.6;
    var WNickel_leit = (WNickelLeit_mmol * 2) * 49.6;
    var WCobalt_leit = (WCobaltLeit_mmol * 2) * 55;
    var WNatrium_leit =(WNatriumLeit_mmol * 1) * 50.08;
    var WAluminium_leit = (WAluminiumLeit_mmol * 3) * 61; 
    // Gesamtleitwert der Kationen der Wasserwerte bilden
    var WKationen_leit = WAmmonium_leit + WKalium_leit + WCalcium_leit + WMagnesium_leit + WEisen_leit + WZink_leit +
    WKupfer_leit + WNickel_leit + WCobalt_leit + WNatrium_leit + WAluminium_leit;
    // Äquivalentestoffmengenkonzentration der Anionen bilden und den Leitwert anhand ihren Ladungszahlen berechnen
    // Die Zahlen entsprechen der im Buch verfasseten Millisiemensangabe zu den Nährstoffen bei 25 Grad Celsius
    var WNitrat_leit = (WNitratLeit_mmol * 1) * 71.42;
    var WPO4_leit = (WPO4Leit_mmol * 3) * 88.94; // Mittelwert aus allen Phosphat Leitwerten
    var WSulfat_leit = (WSulfatLeit_mmol * 2) * 68.41; //Mittelwert aus allen Sulfat Leitwerten
    var WMangan_leit = (WManganLeit_mmol * 1) * 61.3;
    var WMolybdän_leit = (WMolybdänLeit_mmol * 2) * 74.5;
    var WBor_leit = (WBorLeit_mmol * 2) * 21;
    var WChlorid_leit = (WChloridLeit_mmol * 1) * 76.31;
    var WSilizium_leit = (WSiliziumLeit_mmol * 4) * 4; // Nicht im Buch deklariert
    var WHydroKarbonat_leit = (WHydroKarbonatLeit_mmol *1) * 44.5;
    // Gesamt Leitwert der Anionen der Wasserwerte bilden
    var WAnionen_leit = WNitrat_leit + WPO4_leit + WSulfat_leit + WMangan_leit + WMolybdän_leit +
    WBor_leit + WChlorid_leit + WSilizium_leit + WHydroKarbonat_leit;
    // Gesamter Leitwert aus Kationen und Anionen der Wasserwerte bilden
    var WLeitwert_ges = (WAnionen_leit + WKationen_leit); // Die MilliSiemens bilden
    // Gibt nun die errechneten Werte als Ergebnis aus
    document.getElementById('WNitratErgebnis').textContent = WNitrat_ges.toFixed(2);
    document.getElementById('WAmmoniumErgebnis').textContent = WAmmonium_ges.toFixed(2);
    document.getElementById('WPhosphorErgebnis').textContent = WPhosphor_ges.toFixed(2);
    document.getElementById('WKaliumErgebnis').textContent = WKalium_ges.toFixed(2);
    document.getElementById('WCalciumErgebnis').textContent = WCalcium_ges.toFixed(2);
    document.getElementById('WMagnesiumErgebnis').textContent = WMagnesium_ges.toFixed(2);
    document.getElementById('WSchwefelErgebnis').textContent = WSchwefel_ges.toFixed(2);
    document.getElementById('WEisenErgebnis').textContent = WEisen_ges.toFixed(4);
    document.getElementById('WManganErgebnis').textContent = WMangan_ges.toFixed(4);
    document.getElementById('WZinkErgebnis').textContent = WZink_ges.toFixed(4);
    document.getElementById('WKupferErgebnis').textContent = WKupfer_ges.toFixed(4);
    document.getElementById('WMolybdänErgebnis').textContent = WMolybdän_ges.toFixed(4);
    document.getElementById('WBorErgebnis').textContent = WBor_ges.toFixed(4);
    document.getElementById('WChloridErgebnis').textContent = WChlorid_ges.toFixed(2);
    document.getElementById('WNickelErgebnis').textContent = WNickel_ges.toFixed(4);
    document.getElementById('WCobaltErgebnis').textContent = WCobalt_ges.toFixed(4);
    document.getElementById('WNatriumErgebnis').textContent = WNatrium_ges.toFixed(2);
    document.getElementById('WAluminiumErgebnis').textContent = WAluminium_ges.toFixed(4);
    document.getElementById('WSiliziumErgebnis').textContent = WSilizium_ges.toFixed(2);
    document.getElementById('WHydroKarbonatErgebnis').textContent = WHydroKarbonat_max.toFixed(2);
    document.getElementById('WLeitwertErgebnis').textContent = WLeitwert_ges.toFixed(0);
  }
  setInterval(calculateWasserwerte, 500); // Alle 500 mS das Skript wiederholen
</script>        
</html>

Ich habe eben etwas experimentiert und versuche möglichst genau an sehr viele Wasserwerte und deren Leitwerte ranzukommen…
Ich werde zudem die Tage auch nochmal alle Berechnungen mit einer Art Temperaturfaktor versehen die von 18 bis 25 Grad Celsius reichen, jedoch geht das leider nur in Schritten, denn das ist eben Arbeit…

Auch werde ich euch hier im Detail mal erklären wie und was um ggf. euch auch darin Aufklärung zu verschaffen, zumindesten für die jenigen die es auch verstehen wollen und ggf. auf anderen Ebenen weiter publizieren möchten…

Aber alles nach und nach…

LG Kushi

7 „Gefällt mir“

also bei mir kommt das so hin, errechnet werden 230 und es sind 230, ca. nur, mein china-ec messding, kalibiert isses nicht, sozusagen werkseinstellung. werde das aber gerne mal genau messen muss dafuer nur endlich mal mein raspi dafuer umruesten.(; werde dann nachliefern!
ich hab hier aber auch fast nix drin im wasser.

1 „Gefällt mir“

Hi Kushi,

hab das mal alles eingepflegt und dir nen Screenshot gemacht. Mein EC-Messgerät zeigt einen EC zwischen 0,4 und manchmal 0,5. Hab das Bluelab Combometer. Dazu noch das Protokoll, falls du noch etwas wissen möchtest.

LG


1 „Gefällt mir“

Hallo verti,
super, das freut mich! :slightly_smiling_face:

Hallo Fumu,
ich sehe das wir über 0,1 EC schießen, mal eine Frage zur Temperatur des Wassers, bei wieviel Grad hast du es in etwa wenn du es messen tust?
Besitzt dein Bluelab eine Temperaturkompensation?

Habe selbst 5 von 5 Angaben bis jetzt überprüft und nur geringfügige Abweichungen feststellen können… hier ist es aber jetzt extrem viel und 4 deiner Nährstoffe wie NO3, Ca, Mg und SO4 bilden eben die Haupten Leitwertgeber und da muss ich wenn noch etwa dran arbeiten…

LG Kushi

1 „Gefällt mir“

Ergebnis des Rechners: 632
Ergebnis der Messung: 553

Ich führe das darauf zurück dass in den Messwerten für einige Inhaltsstoffe nur „kleiner als“ Angaben gemacht werden und ich diese als „ist gleich“ in den Rechner eingegeben habe:

Mangan < 0,005
Zink < 0,20
Kupfer < 0,20
Bor < 0,1

Für Molybdän findet sich in meinen Messergebnissen keine Angabe.

1 „Gefällt mir“

Hab gerade nochmal gemessen:

Temperatur 17°C
EC = 0,4
CF = 4
ppm 500 = 210
ppm700 = 290

Ob es Temperaturkompensation hat, bin ich nicht sicher, aber hat 260 Tacken gekostet. Sollte es wohl dann vermutlich. Edit: Habs gefunden, hat es scheinbar. Es kann auch die Temperatur messen und lt. Verkaufsanzeige auch kompensieren.

Hab gesehen, dass das Wasserwerk einen Leitwert von 510 MicroSiemens/cm angegeben hat. Soll das einen EC von 0,51 MilliSiemens/cm darstellen, oder wie muss ich mir das vorstellen?

1 „Gefällt mir“

Auch wieder drüber… sehr schade!

Es gibt leider nicht für alles eine Angabe… manche machen sie, manche machen sie nicht. Meist wird nur das gemessen, wozu es auch laut Trinkwasserverordnung einen Grenzwert zu gibt. :wink:

Das meinte ich, also meine EC-Wert Berechnungen belaufen sich immer auf 25 grad hin. Deswegen bin ich Morgen mal an der Temperaturkompensation im Rechner selbst dran.

Man kann sich eigentlich gar nicht vorstellen wie einfach, aber es dennoch kompliziert ist!
Mal angenommen man studiert 3 Chemiebücher und einige Internetquellen wo eine Molare Leitfähigkeit zu dem Ion im Wasser angegeben wurde und jeder meint etwas anderes!
Zudem ist es auch sehr schwierig zu wissen in welcher Form mit Anhang sie im Wasser vorliegen!

Gibt eben mehrere Überlieferungen dazu und die muss ich jetzt eben doch nochmal alle durchgehen…
Meine Ergebnisse sind ermessen und berechnet auf 0,020 Abweichungen genau und von 2 Kollegen die auch.

Mhhhmmmm…

Man muss dazusagen dass (zumindest in meinen Daten) immer Minimum, Maximum und Durchschnitt angegeben sind. Sprich: Der Durchschnitt ist eben für alle Werte der Durchschnitt und alleine das kann schon dazu führen dass eine Abweichung in der Berechnung entstehen kann. Das errechnete Ergebnis liegt allerdings trotzdem über dem angegebenen Max. (606).

1 „Gefällt mir“

Jip und das ist leider sehr schade… aber wie sagt man so schön, wenns einfach wäre, könnte es ja jeder! :wink:

Aber ich hoffe hier erkennt ihr schon einen kleinen Teil was dazu beiträgt und das gehe ich Morgen eben mal an :wink:

Nun gut… man muss Tester haben um besser zu werden und ich bedanke mich bei dir und allen anderen recht herzlich dafür! :wink:

1 „Gefällt mir“

Im Tank hab ich auch eher 20-24°C, da sind die Abweichungen dann wahrscheinlich auch nicht so groß.
Aber ist natürlich geil, wenn man das auch noch anpassen kann. Je genauer, desto besser.

Mittlerweile hab ich das in so vielen Bereichen festgestellt, dass ich glaube, dass das selbst bei der Nasa so ist.
Fragst du 5 Fachleute bekommst du 10 Meinungen. Die „Wahrheit“ da rauszuhören ist manchmal echt schwer und manchmal haben alle recht, weil sie andere Ansatzpunkte und Prioritäten haben.

Trotzdem bin ich gespannt, was du uns hinzauberst, wenn du soweit bist :+1:

2 „Gefällt mir“

Ja, ich will nicht zu der Nasa gehören, auch nicht zu Space X oder so… aber ich finde es langsam echt zum kotzen das es soviel Müll gibt!

Zu den meist üblichen 25 Grad Angaben der Molaren Leitfähigkeit ist es bei den meisten recht stabil und zudem auch gleich muss ich sagen…
Quellen:
Tabelle der Diffusionskoeffizienten (aqion.de)
Molare Leitfähigkeit – Wikipedia
CRC Handbook Of Chemistry And Physics 97th Edition ( 2016) : Free Download, Borrow, and Streaming : Internet Archive Seite 941

Ein jeder wird bei seinem relativ teuren Messgerät einfach feststellen, dass die Temperaturkompensation eine echte Herausforderung darstellt, denn wir behaupten einfach mal oder legen es einfach fest, dass die gleiche Menge an Nährstoffem im Wasser gelöst einfach unterschiedliche Leitwerte bei steigender oder gar sinkender Temperatur verursacht! (das möchte ich halt kompensieren und auch berechnen ;))

Quellen belegen, dass sich die Viskusität des Wasser ähnlich sich wie bei Öl bei höheren Temperaturen veringert und dadurch die Ionen im Wasser schneller zum Minus oder gar Pluspol eures Messgerätes wandern können und sich so eben der Widerstand verkleinert und somit eben mehr Strom fließt!
Auf gut deutsch, deine Messanzeige zeigt mehr oder auch mal weniger an!

In der normalen Physik möchte ich das erstmal nicht angreifen… denn man hat sehr viel Geld für sein Messgerät mit Tempkorrekfaktor bezahlt! :rofl:

Nur jetzt kommt das große aaaaaaaaaaaaaber!
Angenommen, man hat diese Prüfschritte gemacht, bekommt herrliche Werte der Molaren Leitfähigkeit für Calcium wie folgt genannt:

  1. Bei 18 Grad Celsius = 52
  2. Bei 25 Grad Celsius = 59,5
  3. Einen Temperaturfaktor = 0,0211

Lässt man hier mal eine KI drüberrechnen, weil diverse Erstellungen in HTML einfach nicht hinkommen… kommt folgendes heraus:
Um den Temperaturfaktor zu berechnen, kannst du die folgende Formel verwenden:

Wert bei höherer Temperatur - Wert bei niedriger Temperatur
geteilt durch
Wert bei niedriger Temperatur x (Temperatur bei höherer Temperatur - Temperatur bei niedriger Temperatur)
Setzen wir die Werte in die Formel ein:

59,2 - 52
geteilt durch
52 x (25 - 18)

also:
7,2 : 364

Temperaturfaktor = 0,0198

Es scheint, als hätte es einen Berechnungsfehler gegeben. Der korrekte Temperaturfaktor wäre ungefähr 0,0198 anstelle von 0,0211. Bitte überprüfe die Werte und die Berechnung, um sicherzustellen, dass sie korrekt sind.

Memo an mich selbst… alle Messgeräte die auf einen integrierten Prozentsatz bei der Temperaturkompensation hinarbeiten, erklärt warum ich ggf. mal wieder anzweifle das wir jemals auf dem Mond waren! :rofl:
Aaaaber… ich muss hier ggf. in Kelvin denken und nicht in Grad Celsius!

Das musste halt mal zur Nasa jetzt sein… :wink:

2 „Gefällt mir“

Das ist richtig. Auf diesem Prinzip basieren auch die Temperaturfühler ( NTC ) im Auto oder am TC-Lüfter.

Was die Leitfähigkeit angeht, bin ich darauf gestoßen:

Temperaturkorrektur der elektrischen Leitfähigkeit (aqion.de)

Vermutlich ja, hab ich zumindest auch so gefunden. Aber mich da jetzt durchzuwühlen hab ich grad keine Zeit. Vielleicht heute Nacht…

1 „Gefällt mir“

Ich ja auch… aaaaber!
Man beachte: Die Gleichung bezieht sich (leider) nicht auf die Standard-Temperatur 25 , sondern auf 20 . :rofl:

Schau mal in meinem Link ganz unten in die Referenzen…

Anmerkungen und Referenzen

  1. Zur Vereinfachung wurde hier die Summation über die Ionen weggelassen. :leftwards_arrow_with_hook:

Dann hab ich deinen Wert in etwa gefunden… scheint da mehrere Faktoren zu geben…

Vergleich der Modellansätze und Näherungen

Es ist aufschlussreich, wenn man die Näherungsformel mit der Ausgangsformel in 8 vergleicht. Die folgende Abbildung stellt den Korrekturfaktor LF/LF25 als Funktion der Temperatur t dar:

nichtlinear (exakt) – Gleichung (8)
linear (a=0.020) – Näherungsformel (9) mit a = 0.020
linear (a=0.019) – Näherungsformel (9) mit a = 0.019 [Hayashi]
2 „Gefällt mir“

Ich weis… lineare ist einfach zu coden und das nicht lineare aber dennoch exaktere ist halt schwerer einzupflegen! :upside_down_face:

Ich will da auch keine Wissenschaft draus machen, ich werde jetzt jedenfalls für die hier genannten:


diese Faktoren nehmen und für die die eben noch fehlen einen eigenständigen von 0,0198 bzw. 0,0200 nehmen und es sollte dann im Rahmen des machbaren liegen.

Alle Ionen zu denen es eben auch keine Molare Leitfähigkeitsangaben bei 25 Grad Celsius gibt werde ich aus der Berechnung rauslassen. :slightly_smiling_face:

LG Kushi
(p.s. wer schon aufgegeben hat über was wir uns hier grade unterhalten, der sollte noch ein wenig Geduld mitbringen! Zu den exakten Berechnungen und Erklärungen komme ich noch etwas später. :wink: )

1 „Gefällt mir“

Das hab ich mir gedacht. Ich hab auch überlegt, wie man das lösen könnte, aber da ging mein Hirn dann richtig auf Wanderschaft.

Differentialrechnung / Ableitungen hatte ich zwar noch in der Schule, aber das ist mal gute 20 Jahre her. Das müsste ich auch neu lernen :sweat_smile:

Macht auch Sinn. Realistisch gesehen ist ja die ganze Rechnerei eh nur eine Art Annäherung, da die angegebenen Wasserwerte des Versorgers ein wenig dynamisch sind. Deshalb ist ein technisch exaktes Ergebnis eh nicht möglich, jedoch kann man mit deinem Rechner deutlich näher ans Optimum kommen, als mit raten oder rumprobieren. Das alleine macht den Rechner dann schon wertvoll, selbst wenn er noch nicht 100% optimiert ist, eigene kleine Korrekturgrößen enthält oder einige Dinge noch nicht berücksichtigt.

Wenn du da erstmal durch bist, dann bist du quasi automatisch der Dalai-Lama der Mono-Nährstoffe. Man kann dich dann nachts um 3 wecken und dir Fragen über Ionen-Austausch stellen und die Antwort kommt… :joy: :+1:

2 „Gefällt mir“

Das kenn ich zu gut Fumu, ich bin auch schon 21 Jahre aus der Schule draußen und muss auch dazu sagen, das ich auf Hauptschule nicht grade der besonders fleisigste war! :rofl:
Also was das angeht wandern zu gehen… da bin ich voll bei dir! :wink:

Ja so sehe ich das auch… und wenn du Lust hast überprüfst du jetzt nochmal meine Version und sagst einfach frei heraus wie du jetzt an deinen gemessenen Leitwert kommst, denn ich bin grade fertig damit geworden und muss bei 17,5 Grad aufm Tacho sagen, das ich bis auf 0,20 mS Differenz an meinen gemessenen Leitwert rankomme…

Nun hier das Skript:

Zusammenfassung
<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Der KushMuss Wasserumrechner</title>
</head>
<body>
    <style>
        table, th, td {
          border-spacing: 5px; /*Fügt Pixel Abstand zwischen den Zellen ein*/
          text-align: center; /*Alle Beschriftungen werden zentrieren*/
      width: auto; /*Legt die Weite der Beschriftung automatisch fest*/ 
      border: 1px solid #dddddd; /*Rand um Zellen*/
      font-weight: bold; /*Fetter Text für alle Elemente*/ 
          }
      .eingabefeld {
      width: 90%; /*Legt hier die Breite in Prozent der Eingabefelder fest*/
      text-align: center; /*Zentriert alle Texte in den Eingabefeldern*/
      font-weight: bold;  /*Fetter Text für für alle Eingabefelder*/
      }
      .no-input {
      border: none; /*Kein Rand um Zellen ohne Eingabefeld*/
      }
      
    </style>
  <h1>Der KushMuss Wasserumrechner</h1>
  <h2>Version 1.0</h2>
  <h3>Hier können Ionenverbindungen gemäß den üblichen Angaben eines europäischen Wasserversorgers eingetragen werden:</h3>
  <table> 
    <thead>
      <tr>
        <th>Angaben</th>
        <th>Nitrat NO3</th>
        <th>Ammonium NH4</th>
        <th>Phosphat PO4</th>
        <th>Kalium K</th>
        <th>Calcium Ca</th>
        <th>Magnesium Mg</th>
        <th>Sulfat SO4</th>
        <th>Eisen Fe</th>
        <th>Mangan Mn</th>
        <th>Zink Zn</th>
        <th>Kupfer Cu</th>
        <th>Molybdän Mo</th>
        <th>Bor B</th>
        <th>Chlorid Cl</th>
        <th>Nickel Ni</th>
        <th>Cobalt Co</th>
        <th>Natrium Na</th>
        <th>Aluminium Al</th>
        <th>Siliziumdioxid SiO2</th>
        <th>Hydro-Karbo HCO3</th>
        <th>SB-Kapazität 4.3</th>     
        <th>Karbonat-Härte H°</th>    
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>mg/L & ppm</td>
        <td><input type="number" class="eingabefeld" id="WNitrat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td> 
        <td><input type="number" class="eingabefeld" id="WAmmonium-mg" value="0" min="0" oninput="calculateWasserwerte()"/></td>
        <td><input type="number" class="eingabefeld" id="WPhosphat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WKalium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WCalcium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMagnesium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WSulfat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WEisen-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMangan-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WZink-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WKupfer-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WMolybdän-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WBor-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WChlorid-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WNickel-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WCobalt-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WNatrium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WAluminium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WSilizium-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td><input type="number" class="eingabefeld" id="WHydroKarbonat-mg" value="0" min="0" oninput="calculateWasserwerte()" /></td>
        <td class="no-input"></td>
      </tr>
      <tr>
        <td>mmol/L</td>
        <td><input type="number" class="eingabefeld" id="WNitrat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WAmmonium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WPhosphat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WKalium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WCalcium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMagnesium-mmol" value="0" min="0" oninput=" calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSulfat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WEisen-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMangan-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WZink-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WKupfer-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WMolybdän-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WBor-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WChlorid-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WNickel-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WCobalt-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WNatrium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WAluminium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSilizium-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WHydroKarbonat-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td><input type="number" class="eingabefeld" id="WSäureBaseKapazität-mmol" value="0" min="0" oninput="calculateWasserwerte()"  /></td>
        <td class="no-input"></td>
      </tr>
      <tr>
        <td>dH°</td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td><input type="number" class="eingabefeld" id="WKarbonatHärte-dH" value="0" oninput="calculateWasserwerte()" /></td>
      </tr>
      <tr>
        <td>fH°</td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td class="no-input"></td>
        <td><input type="number" class="eingabefeld" id="WKarbonatHärte-fH" value="0" oninput="calculateWasserwerte()" /></td>
      </tr>
    </tbody>
  </table>
  <H3>Hier könnt ihr eure Temperatur des Wassers eintragen:</H3>
    <table>
      <thead>
        <tr>
          <th>Angaben</th>
          <th>Temperatur</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>°C-Celsius</th>
          <td><input type="number" class="eingabefeld" id="Temperatur" value="18" min="15" max="30" oninput="calculateWasserwerte()"  /></td>
        </tr>
      </tbody>
    </table>
  <H3>In dieser Tabelle werden nun die Umrechnungen der eingetragenen Mengen gezeigt, wobei der errechnete Leitwert eine theoretische Annäherung darstellt:</H3>
    <table>
      <thead>
        <tr>
            <th>Umgerechnet in</th>
            <th>Nitrat N-NO3</th>
            <th>Ammonium N-NH4</th>
            <th>Phosphor P</th>
            <th>Kalium K</th>
            <th>Calcium Ca</th>
            <th>Magnesium Mg</th>
            <th>Schwefel S</th>
            <th>Eisen Fe</th>
            <th>Mangan Mn</th>
            <th>Zink Zn</th>
            <th>Kupfer Cu</th>
            <th>Molybdän Mo</th>
            <th>Bor B</th>
            <th>Chlorid Cl</th>
            <th>Nickel Ni</th>
            <th>Cobalt Co</th>
            <th>Natrium Na</th>
            <th>Aluminium Al</th>
            <th>Silizium Si</th>
            <th>Hydro Karbo HCO3</th>
            <th>Leitwert µS/cm</th>    
        </tr>
      </thead>
      <tbody>
        <tr>
            <td>mg/L & ppm</td> 
            <td><span id="WNitratErgebnis"></span></td>
            <td><span id="WAmmoniumErgebnis"></span></td>
            <td><span id="WPhosphorErgebnis"></span></td>
            <td><span id="WKaliumErgebnis"></span></td>
            <td><span id="WCalciumErgebnis"></span></td>
            <td><span id="WMagnesiumErgebnis"></span></td>
            <td><span id="WSchwefelErgebnis"></span></td>
            <td><span id="WEisenErgebnis"></span></td>
            <td><span id="WManganErgebnis"></span></td>
            <td><span id="WZinkErgebnis"></span></td>
            <td><span id="WKupferErgebnis"></span></td>
            <td><span id="WMolybdänErgebnis"></span></td>
            <td><span id="WBorErgebnis"></span></td>
            <td><span id="WChloridErgebnis"></span></td>
            <td><span id="WNickelErgebnis"></span></td>
            <td><span id="WCobaltErgebnis"></span></td>
            <td><span id="WNatriumErgebnis"></span></td>
            <td><span id="WAluminiumErgebnis"></span></td>
            <td><span id="WSiliziumErgebnis"></span></td>
            <td><span id="WHydroKarbonatErgebnis"></span></td>
            <td><span id="WLeitwertErgebnis"></span></td>            
        </tr>
      </tbody>
    </table>
</body>
<script>
  // Berechnet die Wasserwerteingabe bei Änderungen immer wieder neu und gibt sie aus
  function calculateWasserwerte() {
    // Hier werden alle Milligram Angaben in einer Variable verankert
    var WNitrat_mg = parseFloat(document.getElementById("WNitrat-mg").value);
    var WAmmonium_mg = parseFloat(document.getElementById("WAmmonium-mg").value);
    var WPhosphat_mg = parseFloat(document.getElementById("WPhosphat-mg").value);
    var WKalium_mg = parseFloat(document.getElementById("WKalium-mg").value);
    var WCalcium_mg = parseFloat(document.getElementById("WCalcium-mg").value);
    var WMagnesium_mg = parseFloat(document.getElementById("WMagnesium-mg").value);
    var WSulfat_mg = parseFloat(document.getElementById("WSulfat-mg").value);
    var WEisen_mg = parseFloat(document.getElementById("WEisen-mg").value);
    var WMangan_mg = parseFloat(document.getElementById("WMangan-mg").value);
    var WZink_mg = parseFloat(document.getElementById("WZink-mg").value);
    var WKupfer_mg = parseFloat(document.getElementById("WKupfer-mg").value);
    var WMolybdän_mg = parseFloat(document.getElementById("WMolybdän-mg").value);
    var WBor_mg = parseFloat(document.getElementById("WBor-mg").value);
    var WChlorid_mg = parseFloat(document.getElementById("WChlorid-mg").value);
    var WNickel_mg = parseFloat(document.getElementById("WNickel-mg").value);
    var WCobalt_mg = parseFloat(document.getElementById("WCobalt-mg").value);
    var WNatrium_mg = parseFloat(document.getElementById("WNatrium-mg").value);
    var WAluminium_mg = parseFloat(document.getElementById("WAluminium-mg").value);
    var WSilizium_mg = parseFloat(document.getElementById("WSilizium-mg").value);
    var WHydroKarbonat_mg = parseFloat(document.getElementById("WHydroKarbonat-mg").value);
    // Hier werden alle Millimol Angaben in einer Variable verankert
    var WNitrat_mmol = parseFloat(document.getElementById("WNitrat-mmol").value);
    var WAmmonium_mmol = parseFloat(document.getElementById("WAmmonium-mmol").value);
    var WPhosphat_mmol = parseFloat(document.getElementById("WPhosphat-mmol").value);
    var WKalium_mmol = parseFloat(document.getElementById("WKalium-mmol").value);
    var WCalcium_mmol = parseFloat(document.getElementById("WCalcium-mmol").value);
    var WMagnesium_mmol = parseFloat(document.getElementById("WMagnesium-mmol").value);
    var WSulfat_mmol = parseFloat(document.getElementById("WSulfat-mmol").value);
    var WEisen_mmol = parseFloat(document.getElementById("WEisen-mmol").value);
    var WMangan_mmol = parseFloat(document.getElementById("WMangan-mmol").value);
    var WZink_mmol = parseFloat(document.getElementById("WZink-mmol").value);
    var WKupfer_mmol = parseFloat(document.getElementById("WKupfer-mmol").value);
    var WMolybdän_mmol = parseFloat(document.getElementById("WMolybdän-mmol").value);
    var WBor_mmol = parseFloat(document.getElementById("WBor-mmol").value);
    var WChlorid_mmol = parseFloat(document.getElementById("WChlorid-mmol").value);
    var WNickel_mmol = parseFloat(document.getElementById("WNickel-mmol").value);
    var WCobalt_mmol = parseFloat(document.getElementById("WCobalt-mmol").value);
    var WNatrium_mmol = parseFloat(document.getElementById("WNatrium-mmol").value);
    var WAluminium_mmol = parseFloat(document.getElementById("WAluminium-mmol").value);
    var WSilizium_mmol = parseFloat(document.getElementById("WSilizium-mmol").value);
    var WHydroKarbonat_mmol = parseFloat(document.getElementById("WHydroKarbonat-mmol").value);
    var WSäureBaseKapazität_mmol = parseFloat(document.getElementById("WSäureBaseKapazität-mmol").value);
    var WTemperatur = parseFloat(document.getElementById("Temperatur").value);
    // Hier werden alle dH und fH Angaben in einer Variable verankert
    var WKarbonatHärte_dH = parseFloat(document.getElementById("WKarbonatHärte-dH").value);
    var WKarbonatHärte_fH = parseFloat(document.getElementById("WKarbonatHärte-fH").value);
    // Hier beginnt die Umrechnung und das Zusammenführen von mg und mmol der einzelnen Elemente der Wasserwerte
    var WNitrat_ges = (WNitrat_mg * 0.225896) + ((WNitrat_mmol * 62.0049) * 0.225896); // NO3 wird zu N-NO3 umgerformt
    var WAmmonium_ges = (WAmmonium_mg * 0.776490) + ((WAmmonium_mmol * 18.03846) * 0.776490); // NH4 wird zu N-NH4 umgeformt
    var WPhosphor_ges = (WPhosphat_mg * 0.326137) + ((WPhosphat_mmol * 94.9714) * 0.326137); // PO4 wird zu P umgeformt
    var WKalium_ges = WKalium_mg + (WKalium_mmol * 39.09830);
    var WCalcium_ges = WCalcium_mg + (WCalcium_mmol * 40.0780);
    var WMagnesium_ges = WMagnesium_mg + (WMagnesium_mmol * 24.30500);
    var WSchwefel_ges = (WSulfat_mg * 0.333792) + ((WSulfat_mmol * 96.0626) * 0.333792); // SO4 wir zu S umgeformt
    var WEisen_ges = WEisen_mg + (WEisen_mmol * 55.8450);
    var WMangan_ges = WMangan_mg + (WMangan_mmol * 54.9380450);
    var WZink_ges = WZink_mg + (WZink_mmol * 65.3800);
    var WKupfer_ges = WKupfer_mg + (WKupfer_mmol * 63.5460);
    var WMolybdän_ges = WMolybdän_mg + (WMolybdän_mmol * 95.9600);
    var WBor_ges = WBor_mg + (WBor_mmol * 10.8110);
    var WChlorid_ges = WChlorid_mg + (WChlorid_mmol * 35.4530);
    var WNickel_ges = WNickel_mg + (WNickel_mmol * 58.69340);
    var WCobalt_ges = WCobalt_mg + (WCobalt_mmol * 58.9331950);
    var WNatrium_ges = WNatrium_mg + (WNatrium_mmol * 22.989769280);
    var WAluminium_ges = WAluminium_mg + (WAluminium_mmol * 26.98153860);
    var WSilizium_ges = (WSilizium_mg * 0.467434) + ((WSilizium_mmol * 60.08430) * 0.467434); // SiO2 wird zu Si umgeformt
    // Findet bei mehreren Angaben bzw. Eingaben über die Karbonate einen höchsten Wert
    function findMaxKarbonat() {
    var WHydroKarbonat_ges = WHydroKarbonat_mg + (WHydroKarbonat_mmol * 61.0168);
    var WSäureBaseKapazität_ges = WSäureBaseKapazität_mmol * 61.0168;
    var WKarbonatHärteDH_ges = WKarbonatHärte_dH * 21.8; 
    var WKarbonatHärteFH_ges = (WKarbonatHärte_fH / 0.560) * 21.8; 
    return Math.max(WHydroKarbonat_ges, WSäureBaseKapazität_ges, WKarbonatHärteDH_ges, WKarbonatHärteFH_ges); 		
    }
    var WHydroKarbonat_max = findMaxKarbonat();
    // Hier beginnt nun die Leitwertberechnung 
    // Zuerst werden alle Nährstoffe in mmol und zu ihrem Vorliegen im Wasser umgeformt
    var WNitratLeit_mmol = ((WNitrat_ges * 4.426802) / 62.0049); // N-NO3 wird zu NO3 umgeformt
    var WAmmoniumLeit_mmol = ((WAmmonium_ges * 1.287845) / 18.0384); // N-NH4 wird zu NH4 umgeformt
    var WPO4Leit_mmol = ((WPhosphor_ges * 3.066188) / 94.9714); // P wird zu PO4 umgeformt
    var WKaliumLeit_mmol = (WKalium_ges / 39.0983);
    var WCalciumLeit_mmol = (WCalcium_ges / 40.0780);
    var WMagnesiumLeit_mmol = (WMagnesium_ges / 24.3050);
    var WSulfatLeit_mmol = ((WSchwefel_ges * 2.995870) / 96.0626); // S wird zu SO4 umgeformt
    var WEisenLeit_mmol = (WEisen_ges / 55.8450); 
    var WManganLeit_mmol = ((WMangan_ges * 2.164904) / 118.9356); // Mn wird zu MnO4 umgeformt, ist ph-Wert abhängig
    var WZinkLeit_mmol = (WZink_ges / 65.3800);
    var WKupferLeit_mmol = (WKupfer_ges / 63.5460);
    var WMolybdänLeit_mmol = ((WMolybdän_ges * 1.666919) / 159.9576); // Mo wird zu MoO4 umgeformt
    var WBorLeit_mmol = ((WBor_ges * 29.527943) / 319.2266); // B wird zu B(C6H5) umgeformt
    var WChloridLeit_mmol = (WChlorid_ges / 35.4530);
    var WNickelLeit_mmol = (WNickel_ges / 58.6934);
    var WCobaltLeit_mmol = (WCobalt_ges / 58.9331);
    var WNatriumLeit_mmol = (WNatrium_ges / 22.9897);
    var WAluminiumLeit_mmol = (WAluminium_ges / 26.9815);
    var WSiliziumLeit_mmol = ((WSilizium_ges * 2.139335) / 60.08430); // Si wird zu SiO2 umgeformt
    var WHydroKarbonatLeit_mmol = (WHydroKarbonat_max / 61.0168);
    // Äquivalentestoffmengenkonzentration der Kationen bilden und den Leitwert anhand ihren Ladungszahlen berechnen
    // Die Millisiemensangaben entsprechen der im Buch bei 25 Grad Celsius
    // Und hier packe ich dann noch für einige Ionen den Temperaturkoffezienten mit rein
    var WAmmonium_leit = (WAmmoniumLeit_mmol * 1) * ((1 + 0.0188 * (WTemperatur - 25)) * 73.5);
    var WKalium_leit = (WKaliumLeit_mmol * 1) * ((1 + 0.0187 * (WTemperatur - 25)) * 73.48);
    var WCalcium_leit = (WCalciumLeit_mmol * 2) * ((1 + 0.0211 * (WTemperatur - 25)) * 59.47);
    var WMagnesium_leit = (WMagnesiumLeit_mmol * 2) * ((1 + 0.0217 * (WTemperatur - 25)) * 53);
    var WEisen_leit = (WEisenLeit_mmol * 2) * ((1 + 0.0241 * (WTemperatur - 25)) * 54);
    var WZink_leit = (WZinkLeit_mmol * 2) * ((1 + 0.0227 * (WTemperatur - 25)) * 52.8);
    var WKupfer_leit = (WKupferLeit_mmol * 2) * ((1 + 0.0273 * (WTemperatur - 25)) * 53.6);
    var WNickel_leit = (WNickelLeit_mmol * 2) * ((1 + 0.0240 * (WTemperatur - 25)) * 49.6);
    var WCobalt_leit = (WCobaltLeit_mmol * 2) * ((1 + 0.0240 * (WTemperatur - 25)) * 55);
    var WNatrium_leit =(WNatriumLeit_mmol * 1) * ((1 + 0.0208 * (WTemperatur - 25)) * 50.08);
    var WAluminium_leit = (WAluminiumLeit_mmol * 3) * ((1 + 0.0216 * (WTemperatur - 25)) * 61); 
    // Gesamtleitwert der Kationen der Wasserwerte bilden
    var WKationen_leit = WAmmonium_leit + WKalium_leit + WCalcium_leit + WMagnesium_leit + WEisen_leit + WZink_leit +
    WKupfer_leit + WNickel_leit + WCobalt_leit + WNatrium_leit + WAluminium_leit;
    // Äquivalentestoffmengenkonzentration der Anionen bilden und den Leitwert anhand ihren Ladungszahlen berechnen
    // Die Zahlen entsprechen der im Buch verfasseten Millisiemensangabe bei 25 Grad Celsius
    var WNitrat_leit = (WNitratLeit_mmol * 1) * ((1 + 0.0183 * (WTemperatur - 25)) * 71.42);
    var WPO4_leit = (WPO4Leit_mmol * 3) * ((1 + 0.0200 * (WTemperatur - 25)) * 92.8); // selbst Tempko. definiert
    var WSulfat_leit = (WSulfatLeit_mmol * 2) * ((1 + 0.0206 * (WTemperatur - 25)) * 80);
    var WMangan_leit = (WManganLeit_mmol * 1) * ((1 + 0.0216 * (WTemperatur - 25)) * 61.3);
    var WMolybdän_leit = (WMolybdänLeit_mmol * 2) * ((1 + 0.0200 * (WTemperatur - 25)) * 74.5); // Fraglich da 2 Werte auftauchen und selbst Tempko. definiert
    var WBor_leit = (WBorLeit_mmol * 1) * ((1 + 0.0200 * (WTemperatur - 25)) * 21); // selbst Tempko. definiert
    var WChlorid_leit = (WChloridLeit_mmol * 1) * ((1 + 0.0194 * (WTemperatur - 25)) * 76.31);
    var WSilizium_leit = (WSiliziumLeit_mmol * 1) * ((1 + 0.0200 * (WTemperatur - 25)) * 0); // Nirgendwo deklariert und somit ohne Leitwert präsent
    var WHydroKarbonat_leit = (WHydroKarbonatLeit_mmol * 1) * 44.5; // besitzt keinen Tempko. 
    // Gesamt Leitwert der Anionen der Wasserwerte bilden
    var WAnionen_leit = WNitrat_leit + WPO4_leit + WSulfat_leit + WMangan_leit + WMolybdän_leit +
    WBor_leit + WChlorid_leit + WSilizium_leit + WHydroKarbonat_leit;
    // Gesamter Leitwert aus Kationen und Anionen der Wasserwerte bilden
    var WLeitwert_ges = (WAnionen_leit + WKationen_leit); // Die MilliSiemens bilden
    // Gibt nun die errechneten Werte als Ergebnis aus
    document.getElementById('WNitratErgebnis').textContent = WNitrat_ges.toFixed(2);
    document.getElementById('WAmmoniumErgebnis').textContent = WAmmonium_ges.toFixed(2);
    document.getElementById('WPhosphorErgebnis').textContent = WPhosphor_ges.toFixed(2);
    document.getElementById('WKaliumErgebnis').textContent = WKalium_ges.toFixed(2);
    document.getElementById('WCalciumErgebnis').textContent = WCalcium_ges.toFixed(2);
    document.getElementById('WMagnesiumErgebnis').textContent = WMagnesium_ges.toFixed(2);
    document.getElementById('WSchwefelErgebnis').textContent = WSchwefel_ges.toFixed(2);
    document.getElementById('WEisenErgebnis').textContent = WEisen_ges.toFixed(4);
    document.getElementById('WManganErgebnis').textContent = WMangan_ges.toFixed(4);
    document.getElementById('WZinkErgebnis').textContent = WZink_ges.toFixed(4);
    document.getElementById('WKupferErgebnis').textContent = WKupfer_ges.toFixed(4);
    document.getElementById('WMolybdänErgebnis').textContent = WMolybdän_ges.toFixed(4);
    document.getElementById('WBorErgebnis').textContent = WBor_ges.toFixed(4);
    document.getElementById('WChloridErgebnis').textContent = WChlorid_ges.toFixed(2);
    document.getElementById('WNickelErgebnis').textContent = WNickel_ges.toFixed(4);
    document.getElementById('WCobaltErgebnis').textContent = WCobalt_ges.toFixed(4);
    document.getElementById('WNatriumErgebnis').textContent = WNatrium_ges.toFixed(2);
    document.getElementById('WAluminiumErgebnis').textContent = WAluminium_ges.toFixed(4);
    document.getElementById('WSiliziumErgebnis').textContent = WSilizium_ges.toFixed(2);
    document.getElementById('WHydroKarbonatErgebnis').textContent = WHydroKarbonat_max.toFixed(2);
    document.getElementById('WLeitwertErgebnis').textContent = WLeitwert_ges.toFixed(0);
  }
  setInterval(calculateWasserwerte, 500); // Alle 500 mS das Skript wiederholen
</script>        
</html>

Ich hoffe es jetzt gefixt zu haben und es dient der Nachwelt als ein kleines Exemplar wie man das auf HTML Basis angehen kann… :wink:

LG Kushi

Gerne, aber muss ich nachher machen, ich ernte gerade die Runtz seit 3 Stunden. Bin halb fertig :sob:

Sind zwar über meiner Messung drüber, aber der errechnete Leitwert des Wasserwerks passt in etwa.

Jetzt ist die Frage, ob das überhaupt an der Berechnung liegt, oder ob die Werte einfach etwas dynamisch sind und ich deshalb etwas drunter bin.

Wenn sie dynamisch sind, bleibt das Verhältnis wenigstens erhalten (z.B. durch Verdünnung mit Regenwasser o.Ä.) oder fehlen bestimmte Inhaltsstoffe mehr als andere?

Kann man diese Frage klären und wenn nicht, wie geht man dann damit um?

Dann hab ich einfach mal versucht, alle praktischen Schritte einer Einzel-Nährstoff-Versorgung in der Theorie durchzugehen.
Mir ist direkt aufgefallen, dass die Mononährstoffe bei Canna nicht unbedingt Mono-Nährstoffe sind. Wie soll ich also die Zahlen praktisch anwenden, bzw. welche Nährstoffe muss ich dann nutzen?

image
image