A thermal differential controller is what is used to control the pump between the solar panel and hot water tank. It senses when the solar panel is hotter than the tank and starts up the pump so that the water can get warmed up. When the panel cools off, the controller turns the pump off so it doesn’t cool down the tank.
This is a 2 part series explaining the concept and process, but the implementation with a Arduino seems unfinished.
Part 1 - http://ecorenovator.org/series/thermal-differential-controller/
Part 2 - http://ecorenovator.org/diy-thermal-differential-controller-part-2-component-selection/
Discussion Thread - http://ecorenovator.org/forum/projects-improvements/637-diy-thermal-differential-controller-solar-hot-water-pump-controller.html