Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?

Begonnen von andi11, 27 Januar 2017, 15:12:15

Vorheriges Thema - Nächstes Thema

andi11

ich habe jetzt meine Userreadings erweitert:
lightintegral integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) },
lightintegralday  { ReadingsVal($name,"lightintegral",0)/86400 },
lightintegraldaystate {sprintf("%.2f",ReadingsVal($name,"lightintegralday",0)) },
fertility_filtered { if ((ReadingsVal($name,"moisture",0)>=46) and (ReadingsVal($name,"moisture",0)<=48)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_filtered",0);
}
},
fertility_10 { if ((ReadingsVal($name,"moisture",0)>=8) and (ReadingsVal($name,"moisture",0)<=12)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_10",0);
}
},
fertility_20 { if ((ReadingsVal($name,"moisture",0)>=18) and (ReadingsVal($name,"moisture",0)<=22)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_20",0);
}
},
fertility_30 { if ((ReadingsVal($name,"moisture",0)>=28) and (ReadingsVal($name,"moisture",0)<=32)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_30",0);
}
}
,
fertility_40 { if ((ReadingsVal($name,"moisture",0)>=38) and (ReadingsVal($name,"moisture",0)<=42)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_40",0);
}
},
fertility_50 { if ((ReadingsVal($name,"moisture",0)>=48) and (ReadingsVal($name,"moisture",0)<=52)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_50",0);
}
}
,
fertility_60 { if ((ReadingsVal($name,"moisture",0)>=58) and (ReadingsVal($name,"moisture",0)<=62)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_60",0);
}
},
fertility_70 { if ((ReadingsVal($name,"moisture",0)>=68) and (ReadingsVal($name,"moisture",0)<=72)) {
  ReadingsVal($name,"fertility",0);
}else{
  ReadingsVal($name,"fertility_70",0);
}
}


zum einen will ich mit fertility_filtered bei "Wohlfühlnässe" die Leitfähigkeit vergleichen. Zum anderen mit fertility_xx die Werte bei bestimmten Feuchtigkeiten. Ich mache beide Varianten da manche Pflanzen ja sehr selten gegossen werden müssen, und ich erstmal ein "Gefühl" bekommen will.

Dazu gibt es noch dass doif um "wurde gegossen" zu erfassen:
( ["^Pflanze:statMoistureTendency1h",0]>2)

  (setreading $DEVICE gotWater 1)
DOELSEIF (["^Pflanze:statMoistureTendency1h",0]<=0 )
  (setreading $DEVICE gotWater 0)

mumpitzstuff

Ich bin weit davon entfernt Experte zu sein, aber beim Parrot Sensor wird das Licht als mol/m * m/d erfasst. Hier fliesst sozusagen bereits eine Zeitkomponente d = day mit ein. Bei der Umrechnung in Lux wird dann von durchschnittlich 12h Licht ausgegangen. Das fliesst ebenfalls in die Berechnung mit ein. Das sieht dann so aus:

(($_ * 1000000) / (3600 * 12)) * 54

andi11

Ich habe jetzt mal über längere Zeit die Leitfähigkeit im Auge behalten. Wenn man den Wert bei immer der gleichen Bodenfeuchte verwendet, wird er für je eine Pflanze vergleichbar. Er sinkt schön langsam über mehrere Giesvorgänge. Man sieht daran eben wenn man düngt, aber auch wenn man plötzlich mal mit Regenwasser statt Leitungswasser giest.

Als Zeitpunkt, zu der man die Leitfähigkeit erfasst würde sich die Idealfeuchte für die Pflanze anbieten oder (MinFeuchte+MaxFeuchte)/2 nach ein paar Giesvorgängen konstant gesetzt.