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. ioBroker Allgemein
  4. Mi-Flower Werte interpretieren

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    259

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

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

Mi-Flower Werte interpretieren

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2 Beiträge 1 Kommentatoren 538 Aufrufe
  • Ä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.
  • S Offline
    S Offline
    Smartin
    schrieb am zuletzt editiert von
    #1

    Moin, ich hatte die Frage schon mal im Entwicklungs-Forum gestellt, aber natürlich gehört sie da gar nicht hin …. Sorry.

    Daher hier nochmal die Frage.

    Ich möchte wissen, wie ich den µS/cm-Wert (fertility) bewerte ?

    Ich möchte mir so eine Art Ampel im vis bauen, die den ausgelesenen Wert dann entweder rot, orange oder grün anzeigt, je nachdem, wie der Düngezustand ist.

    Natürlich habe ich schon mal ein wenig gegoogelt und weiß, dass es pflanzenabhängig ist.

    Aber was sind hier durchschnittlich gute Werte, bzw. was ist zu viel/zu wenig?

    Ist es richtig, wenn ich den vorhandenen Wert durch 1000 rechne, dass ich dann den EC Wert des Bodens erhalte?

    Damit könnte ich dann etwas anfangen.

    Auch die Bodenfeuchtigkeit würde mich interessieren für das Projekt.

    Hier steige ich nicht so recht durch ...

    Ich habe den mi-flora über Nacht in ein Wasserglas gestellt. Eigentlich müssten das für mein Verständnis dann 100% sein.

    Es wurde aber konstant ein Wert von 78% gemessen ...

    Jetzt würde mich hier interessieren, welchen Wert eine zu nasse, eine gut durchfeuchtete und eine zu trockene Erde haben.

    Hat jemand das Teil schon länger im Einsatz und kann mir dazu etwas sagen?

    Die Ampel habe ich soweit fertig, nur die richtigen Werte fehlen noch ....

    Vielen Dank schon mal im voraus!

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Smartin
      schrieb am zuletzt editiert von
      #2

      So, ich hatte heute Zeit und habe nebenbei (auch wenn es wahrscheinlich keinen wirklich interessiert) die jeweils korrekten EC Werte mit einem anständigen EC-Messgerät gemessen und sie in einer Messreihe den Werten des Mi-Flowers gegenübergestellt.

      Hierbei wird klar, dass die Sticks nicht wirklich genau messen.

      Legt man das bekannte Verhältnis (1.0 EC = 1000 µS/cm) zugrunde, zeigen die Mi Flowers im Durchschnitt ca. 25-30% zu viel an.

      Naja … besser als zu wenig anzuzeigen, sonst könnte man sich schnell von einigen seiner überwachten Pflanzen verabschieden.

      Aber auch die Ungenauigkeit kann man ja nutzen ...

      Ich habe aus den ermittelten Werten ein Skript erstellt, dass die µS/cm-Werte des Mi-Flower in realen EC-Werten anzeigt.

      • Für die Messung habe ich jeweils 2 Mi-Flowers aus verschiedenen Lieferungen verwendet

      • Grundlage der im Skript angegebenen Werte ist der Mittelwert von beiden Sticks nach jeweils ca. 10 Minuten Messzeit pro EC-Wert

      Ich erhebe natürlich keinen Anspruch auf absolute Korrektheit meiner gemessenen Werte, aber für meine Zwecke ist es in dieser Form absolut ausreichend.

      Vielleicht hilft das Skript (oder die ermittelten Werte) dem einen oder anderen, die Ungenauigkeit der Mi-Flowers trotzdem korrekt zu nutzen.

      Allerdings empfehle ich dann, die Werte stichprobenhalber mit dem eigenen Mi-Flower + einem EC-Messgerät zu überprüfen und ggf. anzupassen, da diese Sticks garantiert produktionsbedingte Unterschiede haben.

      Im Skript muss nur in der zweiten Zeile der entsprechende Adapter manuell nachgetragen werden.

      var idWERT1 = "javascript.0.variable.ecwert1";
      var idAktor1 = "ble.0.xx:xx:xx:xx:xx:xx.fertility";
      
      createState(idWERT1, '0.7', {
          def: '#0.7',
          type: 'string',
          role: 'text'
      });
      
      on(idAktor1, function (data) {
          if (data.state.val >= 0 && data.state.val <= 99) setState(idWERT1, '0.0');
          else if (data.state.val >= 100 && data.state.val <= 219) setState(idWERT1, '0.1');
          else if (data.state.val >= 220 && data.state.val <= 329) setState(idWERT1, '0.2');
          else if (data.state.val >= 330 && data.state.val <= 429) setState(idWERT1, '0.3');
          else if (data.state.val >= 430 && data.state.val <= 549) setState(idWERT1, '0.4');
          else if (data.state.val >= 550 && data.state.val <= 559) setState(idWERT1, '0.5');
          else if (data.state.val >= 560 && data.state.val <= 599) setState(idWERT1, '0.55'); 
          else if (data.state.val >= 600 && data.state.val <= 679) setState(idWERT1, '0.6');
          else if (data.state.val >= 680 && data.state.val <= 769) setState(idWERT1, '0.65');
          else if (data.state.val >= 770 && data.state.val <= 849) setState(idWERT1, '0.7');
          else if (data.state.val >= 850 && data.state.val <= 929) setState(idWERT1, '0.75');
          else if (data.state.val >= 930 && data.state.val <= 969) setState(idWERT1, '0.8');
          else if (data.state.val >= 970 && data.state.val <= 1039) setState(idWERT1, '0.85');
          else if (data.state.val >= 1040 && data.state.val <= 1129) setState(idWERT1, '0.9');
          else if (data.state.val >= 1130 && data.state.val <= 1219) setState(idWERT1, '0.95');
          else if (data.state.val >= 1220 && data.state.val <= 1289) setState(idWERT1, '1.0');
          else if (data.state.val >= 1290 && data.state.val <= 1369) setState(idWERT1, '1.05');
          else if (data.state.val >= 1370 && data.state.val <= 1449) setState(idWERT1, '1.1');
          else if (data.state.val >= 1450 && data.state.val <= 1509) setState(idWERT1, '1.15');
          else if (data.state.val >= 1510 && data.state.val <= 1569) setState(idWERT1, '1.2');
          else if (data.state.val >= 1570 && data.state.val <= 1649) setState(idWERT1, '1.25');
          else if (data.state.val >= 1650 && data.state.val <= 1699) setState(idWERT1, '1.3');
          else if (data.state.val >= 1700 && data.state.val <= 1769) setState(idWERT1, '1.35');
          else if (data.state.val >= 1770 && data.state.val <= 1839) setState(idWERT1, '1.4');
          else if (data.state.val >= 1840 && data.state.val <= 1899) setState(idWERT1, '1.45');
          else if (data.state.val >= 1900 && data.state.val <= 1979) setState(idWERT1, '1.5');
          else if (data.state.val >= 1980 && data.state.val <= 2029) setState(idWERT1, '1.55');
          else if (data.state.val >= 2030 && data.state.val <= 2099) setState(idWERT1, '1.6');
          else if (data.state.val >= 2100 && data.state.val <= 2159) setState(idWERT1, '1.65');
          else if (data.state.val >= 2160 && data.state.val <= 2229) setState(idWERT1, '1.7');
          else if (data.state.val >= 2230 && data.state.val <= 2299) setState(idWERT1, '1.75');
          else if (data.state.val >= 2300 && data.state.val <= 2369) setState(idWERT1, '1.8');
          else if (data.state.val >= 2370 && data.state.val <= 2419) setState(idWERT1, '1.85');
          else if (data.state.val >= 2420 && data.state.val <= 2499) setState(idWERT1, '1.9'); 
          else if (data.state.val >= 2500 && data.state.val <= 2569) setState(idWERT1, '1.95');
          else if (data.state.val >= 2570 && data.state.val <= 2629) setState(idWERT1, '2.00');
          else if (data.state.val >= 2630 && data.state.val <= 2699) setState(idWERT1, '2.05');
          else if (data.state.val >= 2700 && data.state.val <= 10000) setState(idWERT1, '>2.1');
      });
      
      

      Achso … noch zu dem im ersten Thread angesprochenen falschen Wert der Bodenfeuchtigkeit:

      Dieser ist bedingt durch die Füllhöhe des Wasserglases.

      Wenn der Wasserstand niedriger ist, zeigt der Stick auch keine 100% Humidity an. Erst wenn die Füllhöhe über der Gabelung der beiden Messfüße liegt wird auch 100% angezeigt.

      Hätte ich auch eher drauf kommen können :D

      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
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      604

      Online

      32.7k

      Benutzer

      82.5k

      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