Soil moister sensor and irrigation control recommendations

Hi everyone,

I’ve got Openhab running with a few sensors now I’m ready to make it do some actual automation.

What I want to do is measure the soil moister content in my green house and turn on my drip irrigation based on when the soil needs water not simply with a timer.

I pretty sure I could scratch build something with an Arduino, but an of the shelf solution especially for the soil moister measurement would sure simplify things.

Not having bought into any home automation standard as of yet, I’m open to suggestions.


Hi Sean,

My experience:
I have looked a long time for the right sensor to measure the soil moisture in my garden.
I came across e.g.

In the end these systems used either cloud solutions (which I did not like, I want to keep my data for myself and not open up any ports in my router), were to expensive, or nor long lasting (most of all the “cheap” sensors you can buy (e.g.

Thus I decided use an AVR-NET-IO board in combination with a Vegetronix sensor.

This in combination with a small shell script looging in the AVR-NET-IO via telnet provides me the wanted data.

Maybe this helps.



There is a Koubachi binding, but I think the product line is in doubt related to a corporate acquisition.

I don’t have to open ports in the router to use cloud services; they work similarly to web browsers in that openHAB makes HTTP(S) requests to get and set information.

That VH400 probe looks very interesting, it could be driven with an Arduino turns on a relay to actuate a 12v irrigation valve at the appropriate time and wirelessly sends data to an MQTT server which would allow me to change the set points etc via OH.

Just might have to order one up and try it out.

Thanks Björn


Hi Björn!
i’m looking for a soil moister sensor and found your (1 year old) post.
the combination AVR-NET-IO board with VH100 sensor looks interesting.
are you still running this setup? Have you had any problems so far?
Would you care to explain your setup (hard- / software)?


Hi Peter,

So far no problems.

Hardware: AVR-NET-IO board with VH100 sensor. Easy to connect. Just connect the VH100 to one of the ADC input clamps.


Step 1:
Creating and using the file “”:


expect << ‘END’

log_user 0
set timeout 2
spawn telnet 50290
expect "’^]’."
send "\r"
expect "NAK COMMAND"
set output [open “NETAVRIOoutput.txt” “w”]
sleep 2
send "GETADC 3 \n\r"
expect "NAK COMMAND"
set outcome $expect_out(buffer)
send "\r"
puts $output $outcome
send "quit \r"
expect eof


Output=awk '{if(NR==4)print $0}' NETAVRIOoutput.txt
echo $Output

In items I have included:

Number FeuchteRasen1 “Feuchte Rasen1 [%.0f]” (Garten, Bodenfeuchte) { exec="<[/data/OpenHab/*?))]" }

Number FeuchteRasen_Chart_Period “Bewaesserung_Chart_Period”

In mysql.persist I have included:

Bodenfeuchte* : strategy = everyHour

In sitemap I have included:

Frame label=Rasenzustand icon=“Luftfeuchte”
Text item=FeuchteRasen1 icon=“Luftfeuchte"
Switch item=FeuchteRasen_Chart_Period icon=“clock-on” label=“Chart Period” mappings=[0=“D”, 1=“W”, 2=“M”]
Chart item=Bodenfeuchte label=”%" period=D refresh=100000 service=“mysql” visibility=[FeuchteRasen_Chart_Period==0]
Chart item=Bodenfeuchte label="%" period=W refresh=100000 service=“mysql” visibility=[FeuchteRasen_Chart_Period==1, FeuchteRasen_Chart_Period==“Uninitialized”]
Chart item=Bodenfeuchte label="%" period=M refresh=100000 service=“mysql” visibility=[FeuchteRasen_Chart_Period==2]

Maybe it helps.