Smart Hot Water Recirculation Solution

That’s a better setup than mine. In your case, your “valve” is always open. You have the luxury of setting your threshold temperature to whatever you want.

You may want to configure your motion sensors so that they don’t report inactive too quickly so that the pump doesn’t cycle on and off so much.

How’s the battery life?

Good, as I have it configured. I have not seen the reported battery level drop since I installed it (a few months).

What’s the update interval like?

That’s important. I have it configured to measure the temperature every four minutes but only report when the temperature has changed more than 0.5 degrees celsius from the last report.

Hey Ross-

I got my fibaro FGK-101 from amazon a couple of days ago, and I have it setup with the DS18B20. Its working and reporting temp, but it seems to report every 10m. You mentioned that you have yours reporting at 4m intervals.

How did you do that? I don’t see any config options in the DH anywhere.


Unfortunately, the ST DTH does not support these configuration changes.

These are the ones that I changed …

  1. Interval of temperature measurements
  2. Temperature reports threshold

… to make the interval 4 minutes and the report threshold 0.5 degrees celsius.

Fortunately, the ST community supports an ad-hoc configuration capability to perform such one-time configuration modifications.

Because your device is battery powered, it is not always ready for such tweaks. Make sure you Wake Up (see manual referenced above) the device before the tweaker tries to sync with it.

Thanks. I’m up to my elbows in the physical side of this project right now but I should be back to the programatic side shortly. I have my design finalized and most of the pex run. Sweating up the copper parts now.

This project is basically a complete re-plumb of the whole house, swapping the 80 year old galvanized pipes for (mostly) pex, and moving the pipe runs out of the basement into the crawl space. Also removing the hot water heater to an external tankless that is not exactly situated perfectly, though its as good as I’m going to get, hence the recirculation plan.

I don’t suppose anybody knows how to turn off the tamper alarm on the Fibaro FGK-101?

Tamper is sensed by two “TMP” buttons (see manual). Both have to be depressed to clear the tamper alarm.

  1. When the cover is properly attached, a post on it depresses the inside button.
  2. When the device is tightly affixed to a surface, that surface depresses the outside button.

The problem is with the tightness of 2. The device comes with some double stick foam tape to aid in mounting. Unfortunately, I have found that the tape, by itself, does not hold the device tight enough to the surface to depress the outside TMP button. I have tried thin (foamless) double stick tape to no avail. I considered mounting with screws (that should/would do it) but decided instead to just ignore the tamper alarm (the device performs its function regardless) …

… Until now. Challenge accepted! This worked for me, YMMV:

  • Remove the cover
  • Depress the inside TMP button with a Q-Tip
  • Depress the outside TMP button with your finger
  • Wait for the tamper alert to clear
  • Release both buttons at exactly the same time
  • Verify that the tamper alert remains clear
  • Replace the cover without depressing the outside TMP button

What was more annoying than the tamper alert, to me, was the reported state of the Open/Close sensor. For mine to always report Closed, I just stuck the magnet directly to the device. Alternately, I suppose, I might have just bridged the internal terminals intended for a external binary sensor (normally open momentary switch) with a bit of wire. Still another way would have been to fiddle with the associated configuration parameters.

1 Like

Thanks for working that out man! I’d tried playing with the 2 switches to no avail and then just gave up.

I finally got my sensor installed in its final home last night, a crawlspace in the basement that is not… inaccessible, it’s just a slight PITA to get to. I may get up in there this evening and see if I can reset it.

So, I’ve finished my replumbing project complete with DIY on demand recirculation loop. I thought I’d leave a few notes here for anybody wanting to try this.

The good news: It works! Nearly instantaneous hot water at ever fixture, as often as I’ve tried them in the last day or two since finishing the project anyway.

The bad news: Was it cheap? Mmmm maybe. It depends on which demand based recirculation system you’re looking at.

There are 2 dedicate recirculation options sold by my water heater manufacturer, Rheem, which go with my tankless RTGH-84xln-1. The first one is their timer based option and it can be had for about $250. The second is their “on demand” kit which goes for upwards of $500. Most other “demand” systems I looked at were around $500 and up too. All in here I’ve got $199 Watts pump kit from Amazon , and another maybe $50 into the fibaro sensor and DS18B20. Of course the benefit of being fully ST integrated is not something you can buy at any price.

The Watts pump is a “timer based” pump though I’m using it as a “demand” pump. It’s unclear to me if there is a difference in flow velocity between “demand” pumps and “timer” pumps. I’d expect that there is, but it’s really not clear from the literature of recirc system manufacturers. The specs on the seemingly identical Grundfos version of the Watts pump claim that it’s a 1/25 HP pump which can deliver “0-7 GPM” depending on the “head”. I’m still unclear on what pipe head is so… uh, yeah. These specs do not seem to be out of line with what a “demand” pump claims be able to do however, so again, is there a difference? I don’t know enough about pumps and plumbing engineering to be able to tell.

The Watts pump seems to do the trick, though I’m still experimenting with it. It’s delivering enough flow back through my 1/2" recirc line to turn on my tankless water heater anyway. The Rheem tankless requires a minimum flow rate of .26 gpm (best in the industry! says rheem), so the flow rate the pump is delivering is somewhere between .26 GPM and 7? Yeah, not very helpful, I know.

It gets hot water to my furthest fixture in under a minute, which is the runtime I have my WebCoRE piston set at right now. Would 30-45 seconds work, which is about the time that dedicated on demand systems claim they can deliver hot water? Still experimenting.

The other issue here is that there’s significant delay in the feedback loop from the fibaro/DS18B20 sensor. Since the fibaro is a battery powered device, you can’t really set it up with real time temperature monitoring such that when you sense your desired temp you shut off the pump. Mine is sampling every 2 minutes, so the best I can do with it is to use it to decide if the water in the pipe is already hot enough to not have to run the pump for a motion event.

The last issue that I’ve noticed is that when waking up in the morning, it takes the fibaro/DS18B20 setup a while to “warm up”. I have the sensor glued with arctic silver thermal adhesive to a 6" piece of 3/4" type L copper, hooked up to pex on either side with 2 sharkbite fittings, all wrapped in foam pipe insulation. When the first motion event of the morning triggers a pump run, I get hot water at my fixtures as expected, but the sensor is still reporting much lower temps than after a pump run later in the day.

It appears that it takes a bit of hot water running through it to warm up my 6" piece of copper. Perhaps I should have used the thinner walled M type pipe for this application, or maybe sweated on the barb ends to connect to the pex, rather than using the more thermally massive Sharkbites? I’m unlikely to change it now, but for future builders this, or locatring your sensor on a 1/2" line might be something to consider.

So bottom line, the system is working but if there’s any room for improvement it would be with 2 things, a powered SmartThings enabled in-line aquastat, and possibly a faster pump. That would take nearly all of the play out of the system.

Here are the 2 pistons I’m using to control this. The line where the switch “physically” changes is so I can call for hotwater with alexa and get the same runtime.

The second piston is a failsafe to shutdown the pump in case a command is dropped.

I just checked the status on my SmartThings Mobile App and the device is presented as tampered! Huh? I have not touched since I last cleared the alarm. I looked at the logs and they show the tamper happened when I was last fiddling with it. Evidently, I was fooled into thinking my steps worked. Apparently, there was just a presentation delay.

I suspect, however, that if the tamper alarm is not heard by SmartThings when it happens that it will won’t be noticed. That is, clear the tamper in range of SmartThings, cause the tamper out of range, then put the device back.

Hmm… this looks promising as a real time temp monitor:

I may be converting my fibaro over to beam motion sensor experimental duty…

Looks like the Qubino uses a DS18B20 too - just in a different package. You could get the same package to use with Fibaro. IMO, the TO-92 package mounts to pipe better. I don’t see added value (for this application) here.

… unless you are putting value in eliminating the battery. You would still need an enclosure. I would consider wiring a 3.6v DC power supply into the Fibaro to the same end.

Can you do that? Wire 3.6v dc to the fibaro?

Yeah, for me the advantage of wired power is realtime (or near) status. I have an aeotec multisensor 6 outside that I use to gather lux measurements and then set certain lights based on the outdoor conditions. Once I was able to wire this sensor I could send near realtime data and everything worked much more smoothly than with a 4 minute update resolution.

My recirculation loop use case is a little different than yours. I’m looking to do an on demand loop with a dedicated return and no temp activated valve in the middle, so realtime temp data from the sensor at the other end is useful for shutting down the pump. Right now I’m just running it on a timer, but if I can get immediate temp data I can shut it down at a set temp at the far end.

I’m also considering sending the watts pump back for this one:

Not only is it 1/2 the price, it’s twice as fast. The gpm flow rate for the Watts pump, I just learned, is only 0-3.4GPM at 0-3.5 head. This is fine for a continuous recirculation solution, where you’re recirculating for a period of time in anticipation of user demand, but for an on demand application, speed of delivery after the motion trigger is important.

Yes, if you aren’t afraid of a little more DIY activity. The battery is just a 3.6 volt DC power source in a 1/2 AA package. Google 3.6 volt DC power adapter. I suspect most any will do as I can’t imagine an extraordinary current need. Cut off the plug and connect to the battery terminals, observing polarity. There are many ways to do this: solder to board, clip to terminals, sandwich wired plates between dummy battery (e.g. wood dowel) and terminals. Google battery eliminator. It should be easy to cut a gap in the cover to route the wire. I have done such on one of these to expose the antenna.

sweet! I’ve already ordered a qubino, but I suspect I can find a use for both, especially if they’re powered. Monitoring is a lot more useful when you don’t have to be stingy about power.

@wgmcg see this post of mine that describes how I hardwired a few battery devices. This may help you
Make a battery powered sensor run on USB

I have a Qubino relay as well and it has been rock solid so you should enjoy it.

1 Like

Most of the Qubino mains powered devices support the extra temperature sensor, so you could use either the thermostat or just a simple relay switch with some extra logic. Keep in mind that you need to enable watt reporting on the thermostat via configuration parameters if you want real-time data from the device, since thermostate devices are a bit specific here when dealing with delta values. You could get quite a few z-wave transmission frames being sent on output activation, depending on how high the temperature and setpoint diferrences get.

This is truly awesome! Thank you.