FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Haus-Andi am 12 April 2020, 15:31:02

Titel: Bodenfeuchte berechnen
Beitrag von: Haus-Andi am 12 April 2020, 15:31:02
Hallo zusammen

Ich habe aus den vielen Einträgen im Forum, Wicki, etc.. schlicht den Überblick verloren und stehe etwas neben der Spur. Ich möchte mit 2 Bodenfeuchtesensoren VH400 (Vegetronix) an 2 verschiedenen Orten im Garten den Bewässerungsbedarf ermitteln.

Ich habe mir mit einem Arduino Uno R3 und einem WZ5100 Shield ein MQTT-Client gebaut, der mir die gemessene Spannung in mV via MQTT ins fhem übermittelt. Im fhem ziehe ich nun mittels "readingsProxy" den Wert aus dem MQTT Device in ein eigenes Device.

define SolarSensoren MQTT_DEVICE
setuuid SolarSensoren 5e91dc89-f33f-fbd2-07ee-952b2e09dccb7155
attr SolarSensoren userattr subscribeReading_bodenfeuchte1 subscribeReading_bodenfeuchte2
attr SolarSensoren DbLogExclude .*
attr SolarSensoren IODev Mosquitto
attr SolarSensoren room 99_MQTT
attr SolarSensoren subscribeReading_bodenfeuchte1 /solar/bodenfeuchte1
attr SolarSensoren subscribeReading_bodenfeuchte2 /solar/bodenfeuchte2

define BF_Tomaten readingsProxy SolarSensoren:bodenfeuchte2
setuuid BF_Tomaten 5e92ff20-f33f-fbd2-ac99-4fda5bfe2d7c8807
attr BF_Tomaten DbLogExclude .*
attr BF_Tomaten room 20_Garten
attr BF_Tomaten userReadings BF_Tomate {sprintf("%.3f",(ReadingsVal("BF_Tomaten","state",0))/1000)." "}


Soweit so gut, nun möchte ich aber mit der Formel aus dem Wicki:
https://wiki.fhem.de/wiki/1-Wire_Feuchtemessung#Volumetrische_Feuchte_des_Bodens (https://wiki.fhem.de/wiki/1-Wire_Feuchtemessung#Volumetrische_Feuchte_des_Bodens)

das ganze zu einem vergleichbaren Wert bringen. Wie bekomme ich diese Formel nun in das userReadings?.

Leider bin ich als Handwerker eben nicht so geschickt bei Software.

PS: ich weiss man könnte das ganze ja auch direkt im Arduino berechnen, dazu habe ich einfach 2 Probleme:
1. weiss ich auch da nicht, wie ich die Formel implementieren soll und
2. muss mein Arduino noch etliche andere Dinge machen, so das ich bedenken habe, das ich alles drauf kriege.




Titel: Antw:Bodenfeuchte berechnen
Beitrag von: amenomade am 12 April 2020, 17:35:58
Ein 2. userReadings mit der formel definieren.

attr BF_Tomaten userReadings BF_Tomate {sprintf("%.3f",(ReadingsVal("BF_Tomaten","state",0))/1000)." "}, BF_irgendwas { my $v = ReadingsVal("BF_Tomaten", "BF_Tomate",0);; return (11.6552 * $v**4 + 7.10835 * $v**2 - 0.569557) / ($v**2 + 1) }
Titel: Antw:Bodenfeuchte berechnen
Beitrag von: Haus-Andi am 13 April 2020, 12:32:15
Hallo amenomade

Vielen Dank für deine schnelle Hilfe. So funktioniert es, es gibt mindestens ein Wert aus der sich mit mehr Wasser vergrössert und beim rausziehen aus der Erde gegen 0 geht.

Ich merke, dass ich das mit der Formelbildung und dem "my $v" immer noch nicht begriffen habe. Ich merke wieder einmal, dass ich eben doch Handwerker bin und das wohl auch bleiben werde. Solche Abstrakten Formeln begreife ich eher selten, da bin ich sehr dankbar, das es Leute gibt, die das können.

Nochmals vielen Dank und noch einen schönen Montag