FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: andi11 am 27 Januar 2017, 15:12:15

Titel: Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 27 Januar 2017, 15:12:15
Diskussion aus diesem Thread ausgelagert https://forum.fhem.de/index.php?topic=60914 (https://forum.fhem.de/index.php?topic=60914)
Es gibt ja so einige Pflanzen Sensoren. Parrot Flower Power und Xiaomi (bevorzugt) habe ich im Einsatz. Einige hier haben gefragt, wie man sinnvoll die Daten überwachen kann, um so z.b. eine Meldung "Bitte giessen" abzuleiten. Was ich momentan habe:
lightintegral integral { (ReadingsVal($name,"lux",0) <50) ? 0 : (ReadingsVal($name,"lux",0)) },
lightintegralday  { ReadingsVal($name,"lightintegral",0)/86400 },
lightintegraldaystate {sprintf("%.2f",ReadingsVal($name,"lightintegralday",0)) }

damit hat man eine Tagesbilanz in lightintegralday und kann damit vergleichen.
Was mir z.b. wichtig ist bei einer Überwachung ist ein Sommer und Wintermodus. Pflanzendatenbanken haben da meines Wissens, ehr wenig standatisiertes an Sollwerten.
Was wäre noch denkbar? Die Leitfähigkeit hängt sehr stark vom Wassergehalt, => zu einem definierten Zeitpunkt den Messwert verwenden?
Staunässe erkennen? Was habt ihr für Lösungen?
Ich kenne an Datenbanken:
https://myflowerpower.parrot.com/#plantdb
www.pfaf.org/user/Plant.aspx?LatinName=casuarina+equisetifolia
Ich persönliche finde eine Einbindung einer Datenbank zwar schön, aber ich habe noch nicht soviele Pflanzensensoren, als das ich das nicht manuell machen könnte.
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: mpl8580 am 27 Januar 2017, 15:28:34
Super ein neuer Thread für dieses Thema. Das trägt zu Übersichtlichkeit bei.

Wo genau muss man denn deinen Code hin kopieren?
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 27 Januar 2017, 15:44:28
das sind Userreadings, also unten bei den Attributen.
Oder so:
attr Pflanze1 userReadings lightintegral integral { (ReadingsVal($name,"lux",0) <50) ? 0 : (ReadingsVal($name,"lux",0)) },\
lightintegralday  { ReadingsVal($name,"lightintegral",0)/86400 },\
lightintegraldaystate {sprintf("%.2f",ReadingsVal($name,"lightintegralday",0)) }


das mit <50 habe ich drin, da die Sensoren auch im dunkeln gerne mal 50-100Lux anzeigen.
lightintegraldaystate habe ich nur da man meines Wissens nach leider nicht bei stateformat runden kann.

Ich habe dann noch ein AT das Nachts das integral auf 0 zurücksetzt.
+*23:58:00 {

  fhem("setreading Pflanze1 lightintegral 0");
}

Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: mpl8580 am 27 Januar 2017, 17:18:49
Schön wäre es ja sowas alle Sensoren in einer Art Tabelle zu haben in der die je 4 Werte stehen vom Sensor und wo man sich die optimalen Werte einstellen kann
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: sash.sc am 27 Januar 2017, 17:22:52
Es gibt hier im Forum eine Modifikation. Die gibt das die rssi Werte in einer Tabelle aus.

Könnte man ja evtl anpassen.

Finde den thread jetzt nicht auf Anhieb.

Von mobil gesendet daher kurze Antwort

Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 27 Januar 2017, 17:28:17
das hier? Ich glaube erstmal ist die Herausforderung Kriterien festzulegen oder?
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 27 Januar 2017, 17:35:08
für das Licht wäre z.b. etwas in der "Halbschatten entspricht abc ... def Lux/Tag" sinnvoll. Mit der Einheit mmol in der Xiaomi App kann ich z.b. garnichts anfangen. Ich wäre auch gerne unabhängig von Pflanzendatenbank XYZ da ich bisher nicht alle meine überwachten Pflanzen in einer DB gefunden habe, sondern verteilt. Und die Angabe Schatten, vor praller Sonne schützen usw ist doch verbreiteter.
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: Christian.Kühnel am 30 Januar 2017, 23:46:51
Liebe Freunden der Pflanzenautomatisierung,

ich habe am Wochenende eine erste Version der Software zur Überwachung der Pflanzen mit dem Xiaomi Sensoren gebaut:
https://github.com/ChristianKuehnel/fhem-gardener

Die Software ist noch relativ rudimentär und überwacht nur Batterie, Feuchtigkeit und Leitfähigkeit. Denn das sind die Parameter, die sich laufend ändern. Wenn was nicht passt, schickt das Modul eine Email raus. Die Schwellwerte sind derzeit global für alle Pflanzen gleich, das will ich aber noch ändern, so dass man die Schwellwerte auch für jede Pflanze einzeln festlegen kann.

Die Helligkeit und Temperatur sind mir derzeit egal, da ich die Pflanzen schon halbwegs sinnvoll in der Wohnung verteil habe. Auch hängt beides vom der Jahreszeit und Wetter ab...

Ich nutze das Modul nicht mit dem XiaomiFlowerSens, da die Pflanzen bei mir nicht in Bluetooth-Reichweite des fhem stehen. Insofern weiß ich nicht, ob das damit auch funktioniert. Statt dessen übertrage ich die Messwerte über MQTT und mein "plantgateway":
https://github.com/ChristianKuehnel/plantgateway


Schönen Abend,
Christian
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 31 Januar 2017, 08:57:06
Danke für den Start. Die Reading Namen sind glaube ich nicht 100% identisch zu denen vom Xiamoi Modul. Kann ich aber erst Nachmittag kucken.
Ich würde mir wünschen dass statt der Email ein FHEM oder Perl Befehl ausgeführt werden kann.

Bringt es dir was die Leitfähigkeit so zu überwachen? Die ist ja sehr stark abhängig von der Bodenfeuchte. Von daher wäre evl. eine Überwachung zu definierten Zeitpunkten (nach dem Giesen) wünschenswert oder?


Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 31 Januar 2017, 17:14:04
fertility beim Xiaomi Modul ist conductivity in deinem Modul.

Interessant wären Logiken wie z.b.:

Wenn die Bodenfeuchte in der letzten Stunde um mind. xxx gestiegen ist => Pflanze gegossen
Wenn Zustand = Pflanze gegossen und in den letzten 2h ist Sie nicht mehr als yyy gefallen => Staunässe!!!!
Ich versuche das mal mit dem statictis Modul hinzufrickeln, wäre aber in einem extra Modul viel schöner, sobald sachen wie die Logik dazukommt.


Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: Christian.Kühnel am 31 Januar 2017, 22:18:26
@Andi11:
Ich setzte aktuell den STATE auf "good" oder "problem", in Abhängigkeit davon, ob was zu tun ist oder nicht. Ich würde vermuten, dass das ausreicht um eine anderes Ereignis auszulösen. Oder brauchst du ein Ereignis pro Sensor?

Ja, die Leitfähigkeit schwankt stark mit der Feuchtigkeit. Deswegen schaue ich mir das Maximum über die letzten 3 Tage an. Wenn das über dem Schwellwert liegt, gehe ich davon aus, dass grundsätzlich genug Dünger im Boden ist.

Das Problem mit der Staunässe hatte ich bisher nicht. Das hätte ich im Zweifelsfall über eine Maximalwert festgelegt: Wenn die Feuchtigkeit über einen längeren Zeitraum (1 Tag?) über dem Schwellwert ist, hätte ich eine Meldung rausgeschickt.
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 01 Februar 2017, 06:26:33
ich habe eh noch nicht ganz verstanden, wie man dein Modul einbinden muss, und wie es dann arbeitet. Scheint eine Instanz für alle Devices zu sein?
Ja ich hätte gerne einen Status der auf die Pflanze deutet, und was das Problem ist.

Und bei jeder Pflanze eben ein paar Schwellwerte (Für Sommer und Winter).

Das mit der Staunässe hatte ich gestern wegen einem kleinem Konstruktionsfehler meiner Pflanztreppe.
Daher hab ich mit statistics dafür angefangen. Allerdings bin ich mit doif nicht so fit, dass ich damit schon was machen kann. Siehe:
https://forum.fhem.de/index.php/topic,66143.0.html
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 01 Februar 2017, 18:16:43
Zur Leitfähigkeit, wie erfolgreich bist du mit deinem Kriterium? Ich schau mir gerade meine Charts an, was ich erkennen kann ist "es wurde gerade gedügt" denn da steigt die Leitfähigkeit deutlich mehr als beim normalen giesen.
Bei identischen Feuchtigkeitswerten habe ich ca identische Leitfähigkeitswerte (Temperatur mal als ungenaugikeit außen vor gelassen).
=> Man bräuchte einen identischen Bewertungspunkt, bezogen auf die Feuchtigkeit. Alla "wenn die Feuchtigkeit auf (Max+Min)/2 ist dann messe die Leitfähigkeit.
Fällt jemand ein leichter zu erfassender fixer Feuchtigkeitswert bzw Zeitpunkt ein? Direkt nach dem giessen isses zwar nass, aber nicht unbedingt so nass wie zum Referenzzeitpunkt.
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: Christian.Kühnel am 01 Februar 2017, 20:47:13
Ja, ich habe ein Device das mehrere Pflanzen überwacht. Du kannst aber auch mehrere Devices aufsetzen, die jeweils eine Pflanze überwachen. Ansonsten steht in der Email, die das Device verschickt, welche Pflanze gerade welches Bedürfnis hat.

Es wäre auch zu überlegen, ob ich das Modul so umbaue, dass ein Device mehrere Pflanzen überwacht und den Status nicht im Device sondern bei jeder Pflanze speichert. Das gäbe dann auch mehr Möglichkeiten bei der Auswertung.

Ich habe noch nicht genügend Sensordaten (< 2 Wochen) und kann noch nicht sagen, wie man aus Leitfähigkeit und Feuchtigkeit schlau wird...

Machen die Jahreszeiten bei Zimmerpflanzen wirklich einen Unterschied? Ich will einfach dann gießen, wenn der Schwellwert unterschritten wird. Das ist im Sommer wahrscheinlich häufiger als im Winter. Beim Dünger würde ich es genauso machen, unabhängig von der Jahreszeit.

Wie sieht das bei dir aus?
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 01 Februar 2017, 21:01:06
Status bei der Pflanze fände ich persönlich schöner. Zumal meine Sensoren Pflanze1 usw heisen und im Alias steht z.b. Amberbaum.

Sommer/Winter macht bei Temperatur und Helligkeit eine ganze Menge aus, zumal ich nicht nur Zimmerpflanzen überwache. Einige Pflanzen müssen hell und kühl im Winter stehen usw. Gerade wenn es an Licht fehlt im Winter und es dazu noch zu warm ist, dann werden die Pflänzchen hässlich. Und düngen musst du ggf. im Winter garnicht.

Ich habe hier 4Sensoren im Einsatz. Alle bei "soll mal ein Bonsai werden", dementsprechend kleine Töpfe. Einer davon im Gewächshaus und 2 kriegen künstliche Beleuchtung, einer ist im Frühbeet (Frostfreier Parkplatz)

Ein Ansatz für Dünger Werte wäre auch "Messen bei Lieblingsfeuchtigkeit der Pflanze", das wird ggf. aber nur alle paar Tage aktualisiert.
Alternativ wäre auch ein Array denkbar "Leitfähigkeit bei 45%","Leitfähigkeit bei 50%" usw.
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 02 Februar 2017, 19:33:13
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)
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: mumpitzstuff am 16 Februar 2017, 10:20:35
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
Titel: Antw:Sensoren für Pflanzen. Viele Daten zum auswerten, aber wie sinnvoll?
Beitrag von: andi11 am 05 März 2017, 08:48:04
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.