I think your idea needs a bit more exploration - how are you collecting the water? From a roof drain pipe? Rather than a gravity fed solenoid, I think using a reservoir and 12v pump may actually provide a cheaper solution which is easier to build.
Let's consider you have a vertical drain pipe. You don't say specifically how the water is going to be collected, so I'll assume it is run-off coming from an angled roof surface. How will you connect the drain pipe to the smaller connector on a solenoid valve? What happens when there is a lot of rain and the pipe overflows? How will you know when there is water backed up in the pipe? A pump running out of a butt type reservoir with a simple water level sensor (search for something called a float switch) may well be easier to implement.
Also, you are likely to get better water flow-rate control with a pump than a valve solenoid with a body of water above it. If the water comes out too fast it will fly straight out of the bowl!
I would suggest a 12V battery like this, with a typical 12V DC relay attached to allow the Arduino to turn on a pump like this connected to the battery. You could run the Arduino from the 12V battery also using a separate 5V regulated power supply circuit, and even add solar recharging to the system once you get it up and running.
This page explains how you can use relays with an Arduino to control motors and pumps, which would probably be a good starting point for you.
Another consideration is what happens if there is no rain water available? If you get this working well and your parent's come to rely on it, and then say go on holiday, you don't want your dogs to go without water! Also, don't burn the pump out as they are often cooled by the water flow. Maybe you could use a WiFi shield to email you when there was no water available, or just sound an alarm buzzer. You could then use a simple TCP/IP interface using Telnet or a simple DIY program to remotely control the pump. Using a flow rate meter after the pump to monitor the pump output might be another thing to think about.
There is another non-electrical issue which needs consideration too. Depending on where you live, rain water and water butts can harbour parasites and insect larvae which may be harmful to your dog's health. You might be able to get away with a few UV LEDs and a charcoal filter. You should do some research into this to see if it is a concern or not - have a look at these two pages:
What you have there are solid state relays. They are designed to switch AC, not DC.
They rely on the voltage flowing through the switched side falling to 0V (the "zero crossing" point of an AC waveform) to turn off.
They are not suitable for switching DC.
Best Answer
Adding a pullup or pulldown between the Arduino and the buffer won't do you any good (assuming the buffer is actually doing its job).
I assume your buffer has a CMOS input stage. That means its input resistance is so high that miniscule currents, especially when exacerbated by dirty power, cause voltage swings and oscillations. This is where to put your pullup or pulldown, on the buffer's input. Even a huge resistor (hundreds of K or even megs) should work.
If the signal you're measuring is so weak that no pullup or pulldown can be used (say, the output from a load cell), you'll need to find a more stable amplifier, possibly one with a bipolar input stage.
If you're interested, read up on op amps and input resistance.