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 appreciated.