So I’ve spent the morning working on option 2: Mellon ball the thing.
First thought was that I could send a 3.6 volt pulse to the drivers in front of the valve solenoids to “do something” but that did not work so I abandoned that line for the moment. And went to plan b:
Plan B is to toggle the buttons on the device automagically. Finding the test points for the buttons was pretty simple, and pressing the button would make the system toggle the water on or off manually. Ok, we can use this.
I set up my Pi B+ with a nice little relay hat and pigpio running in a daemon mode with the HA configuration.yaml file containing a switch device using remote_rpi_gpio. Then I wired the relay so when closed it would connect ground to the test point for one of the buttons.
Trying this manually did nothing. However when I lifted the ground from the test point the Diivoo toggled the water valve. Which means it watches the button and looks for a state change from low to high after being taken to low. Makes sense, you want the valve to open when you press and release the switch since press and hold may do something else.
So wired it up to the relay, restarted HomeAssistant to reconnect the gpio (it does not auto reconnect, need to figure that out) then created a quick script that would set the relay switch to “On”, wait 1 second, then set the relay switch to “Off”.
This turned on the water valve. Doing it again turned off the water valve.
So I have basic control!
Now this is nowhere near perfect. First I have to have a Relay hat to do it, which is a pain. I’m going to see if I can have the wires connect directly to the Rpi GPIO pins and simply toggle the pin low (to “ground” it) and then high (to let it float). This should work as both devices are using 3.6 volt signals. We shall see.
Second problem is it’s not possible to figure out the STATE of the valve. I don’t know if/how the app can tell, or if the app DOES tell. It’s still possible that it sends a positive voltage to open the valve and a negative one to close it (release the latch) but I’m not sure as sending 2 positive signals will toggle the latch and it doesn’t seem to remember the state between reboots. So there is the possibility that HA will get out of sync with the device and turn it “on” when you mean to turn it “off”.
Might need a separate water flow sensor here. Otherwise you could inadvertently flood your yard.
Still, I’m going to take this shooting match outside and try hooking it up. I would like to turn my sprinkler on and off from my bed using Home Assistant…
Edit: Pics!