You might want to try an integrated solutions such as this:
http://readytemp.com/
It has a neat feature where a momentary contact switch (eg MIMOlite) can request circulation, but it will only circlulate if the in-pipe temp sensor is below the target temperature.
More info here:
I have just completed and shared a new SmartApp I call the Green Smart Hot Water Recirculator (GSHWR for short), which you can find here (and in the IDE):
This app allows you to define multiple events that will turn on your HW recirculation pump, and it supports multiple different ways for that pump to be controlled. It should be flexible enough to fit practically every use case for controlling a circulation pump (or any other switch, for that matter).
As with Smart Alarm, this app essentially centralizes your recirculation control point and eliminates the need to set individual demand events for each device. It also allows for interval timer-based demand, and disabling all demand when nobody is home (i.e., location.mode == “Away”).
Comments, feedback and enhancement requests apprecia…
and here:
For those interested, I’ve created an event-driven app that can be used for @pizzinini 's use case, and for many others - like:
turn on demand when bathroom door closes, off when it opens
demand when motion detected near the kitchen sink
demand when the laundry room light is switched on
demand when a pocket door starts moving (I have pocket doors on 2 of my bathrooms)
demand every XX minutes
DON’T demand if the return temperature (as read by any ST temperature sensor) is above a set temp
All only when the location is in “Home” mode (or whatever you desire). The idea being (of course) to run the recirculator just prior to when you need hot water.
http://community.smartthings.com/t/green-smart-hot-water-recirculator/7085
And for those interested in this kind of thing, I highly recommend…