I built a very low cost water level switch for arduino.
If there is water between the 5V contact and upper or lower contact, the op amp switch the output signal from high to low.
I built my own water level switch because there are no moving parts and it's a very low cost solution which can be connected directly to digital input on arduino.
Parts:
2 x OP AMP "OP07CP"
4 x 1MOhm resistor
2 x 960Ohm resistor
1 x breadboard
optional 3 x metal bar as water contacts
Addition:
You must place "5V signal contact" at the bottom of the bottle, or use a metal bar which reaches the bottom.
Otherwise the 5V contact will lost too early contact to the water.
I saw a different method in circuit cellar magazine this year. they pulse the pin with a PWM output and measure the other contacts with analog input... when you see a similar signal on the input, you know the water level reaches that.
They cited a reason for the pulsed pin as preventing corrosion due to galvanic action..