I use a VPN for remote access. There is no direct relationship between the VPN and OpenSprinkler. Once connected via the VPN my Android phone can access my home network as if it was local. Step-wise, I start the VPN client on my phone and then run the OpenSprinker phone app. In general the difficult part is setting up the VPN. You need a VPN server on your home router, assuming it provides a VPN capability, (or on a device on the network that you can connect to) and a compatible client on the device that you want to access from.