Rinnai Tankless Water Heater & Control-R Module Integration

Awesome, very much appreciated! Your changes work perfect.

Confirmed working. Apologies for the delay! And thank you!

@Explosivo22 - Can anyone provide more info on the below features? I can get temperature to work. However, I can’t seem to use vacation mode, don’t understand “operation mode”, and am unable to turn the unit on/off.


Explosivo22, Thanks for your work on this.

I just set this up for my sister then found out her recirculation pump is out of commision and waiting on a plumber to check on it, so I can’t play with it too much. I’m curious how yall are making use of this integration. I have a couple ideas, but since I don’t live with it, I may be missing some obvious things.

I currently have the supported features set to Support Target Temperature so I am thinking that the water heater integration as a whole just enables the other services even if not supported or implemented. I hope one day to support the away or vacation mode. As for operation mode, Rinnai really only has one mode and that is STATE_GAS or STATE_OFF so this will probably never be used as the water heater determines those states for us now. I know you can turn off the water heater in the App, but I haven’t been able to turn it back on it there unless they fixed it so I will probably not implement those services either.

1 Like

TXSpazz, you are welcome.

I currently have some automations setup to start recirculation when a certain smart light switch is turned on so I have hot water when I am in one of those areas and another to turn on recirculation periodically when the temperature is below freezing to help the pipes in the house not freeze. I also have one that watches the outside temperature and adjusts the water heater temperature accordingly so the furthest faucet is always hot enough for my liking.

I am sure others have some great ideas in here as well.

I have released 1.2.0 beta version for anyone who wants to upgrade and test it out. Added some new sensors and decreased the maintenance retrieval time to 5 minutes to update a little more often.


1 Like

Brad, how do we install 1.2.0 if we want to test? Is it possible togo back to 1.0.48 if we install 1.2.0Beta?
Can you share how you do some of your automations for enabling recirculation. I am able to kick off a recirc request in services but I cannot identify how to do this in an automation or how to create a button
Thanks Bill

If you go to HACS and click on the Rinnai Integration, you can click the overflow menu in the top right and choose redownload. You can then just toggle the switch to show beta versions and it should populate in the select version box. You can back out and do an update once it refreshes or you can click download and let it update that way. To go back you would do the same steps, but just toggle off the show beta versions and downgrade to 1.0.48

As far as recirculation automations, just call a service in the automation action and call the rinnai recirculation service with your parameters.

1 Like

I think the best place to start is the Control-R Users guide. I think there may be confusion over how you can “actually” control re-circulation vs what happens when you make a request for re-circulation and they are very different.

There are many variables that go into what the Control-R will allow and they are covered in great detail in the users guide.
I have found that I have the best control and significantly better results after installing an insulated dedicated loop. I have 130F water at any tap in the house with less than 2min re-circulation. The part that was confusing is once the recirc line reaches temp it will shut off the pump. I can call for another re-circulation but the Control-R will not allow the pump to turn on again for a MIN of 9min(@140F and Comfort mode with an internal pump and dedicated return Line)
For example if I had the max temp set to 130F and the RUR199 set to comfort mode I would have to wait 22 min before I could make the pump turn on and start a re-circulation. I could request a re-circulation earlier but the Control-R would not allow the pump to turn on!
Also the results on how re-circulation works with a cross-over are quite different and significantly less efficient or controllable.
I think in the end you will find that the Control-R is not a bridge that you can just control at will. It is a controller that has its own management system with very specific rules.
Just some things to consider on your new journey :slight_smile:
These are my findings. Your mileage may vary.
I understand that Rinnai will introduce a new model Controller around the end of October.

Excellent! So far So Good!
The spikes in inlet temp indicate recirculation events. The flow rate is supposed to be over the same 24 hour time frame to match the other graphs, but may need more data points. I am not sure if GPM is correct. The Control-R indicates 38LPM with would be closer to the manufacurers max of approx. 11GPM?
It may be that the value of 3.8GPM should actually be 38LPM? That would make more sense and match the numbers displayed on the Control-R

I think the information you shared is great. I some how keep forgetting about that piece of documentation. I also have it in my manual as well about the recirculation, but I tend to forget about the different modes it offers. The issue that comes up with telling whether Rinnai is in Eco or Comfort mode on recirculation is that they don’t provide that in the data we can pull.

They haven’t decided to share everything from the water heater, but just a subset of information and not all of that has values as you can see from mine having a lot of null results. The issue that I am also seeing is that no matter what value is set for the recirculation time the recirculation_duration value never updates from the value 5 even when set from the official app. What this means is that no matter the time set for recirculation, even factoring in the great information you provided, recirculation will stop after 5 minutes. This was a new bug introduced when they blocked the old API call we used to be able to make.

I haven’t seen this, but I will definitely be doing my research now! Thanks.

I think once you get more data points this will reflect as mine seems to be giving that information.

I just went off what was listed on the manual for my model where the water flow rate is a raw value and you have to multiply it by 0.1gpm.

If your data is in LPM, then I may need to do some conversions on the backend to select your preferred measurement. I would be interested to know if your manual lists something different as I only have mine to reference.

There is a saying about “assuming”…My bad.
I re-ran the test and it appears that you are doing the Water flow correctly and the Control-R app needs to re-read the spec…So all good there.

I am running a 3hr recirculation test kicked off by HA followed by a 2hr control-R recirculation test and will provide the results to see if they perform differently.
BTW, it is amazing you can even talk to your Control-R with a Wifi signal streangth of -82dBm

No worries at all. I am glad to hear other ideas as my water heater is the only one I really have to test with so there is a possibility I might be wrong.

I did notice this right after taking and posting. I investigated and turns out it connected to my furthest AP instead of the one about 30FT away and in line of sight. Got that fixed right away.

Has anyone noticed their controller (either the controller on the front of the unit or remote units mounted throughout the house) randomly going through a bunch of (what looks like) hexadecimal parameters? Working with my installer (and Rinnai), they say that it’s being caused by “the WiFi module” “rebooting”. I’m wondering if it’s not random at all. It may be on five minute intervals (maintenance check) and I’m wondering if this integration may be causing it.

If you don’t have controllers on your walls, you may never notice it as your heater is out-of-sight. I’m away from my home right now but plan on disabling the integration temporarily to test.

Thought I’d reach out in the meantime.


So I think I’ve confirmed my suspicion. But could still use the community’s check.

  1. I’ve disabled the integration and it has seemed to stop
  2. If I go in to the Control-R application → System Status → Refresh Status , I can force the heater to make the controllers display those values.

Question: Is there a way to make this refresh interval configurable or even disable it altogether? I realize that this will make the sensors less accurate but may be OK in some cases, like mine, where I don’t use those sensors. (I mainly use the plugin to kick off recirc upon motion in certain rooms)


We have chatted offline, but to let the community know that yes the water heater display will go through a sequence of what Rinnai calls maintenance modes. They will flash on the screen when this process is happening. I will investigate the possibility of changing the frequency or disabling it manually.

1 Like

Yes. I did. Thanks. Newer firmware certainly helped. I had to get a new controller too, because one controller got bricked when an update happened. It would also lose my wifi settings every month or so. Not the new controller and firmware works fine.

Also, make sure you update the Rinnai Control-R app. If the app needs an update, the older app may not show recirc, temp, status, etc. I use this to start recirculation (I got my heater with the pump already installed). If there was a way to either start recirc for X mins, or display the heater status with recirc (i.e. Heater on, wifi connected, recirc active, recirc remaining mins, and diagnostic info might be good too (i.e. total time on heat, inlet and outlet temp, when maint - flush - is due, etc.).



Those values are the data about inlet temp, outlet temp, recirc status, etc. etc.

When you select “get maintenance data” (or similar nomenclature) what it does is go into a mode where the existing display on my local (on the heater) control panel shows the various values after a short period of delay…maybe 20 seconds of wait, then the data, which may take 20-30 seconds.

If you’re looking at a display at this time, it may show seemingly gibberish numbers, but it’s OK.

Now, I’d expect if you have X local, hardwired panels that the panel would be smart enough to say “I’m get maint data now, please standby”…but we can’t have everything.

I suppose depending on what you’re interrogating on the controller, you might see this on HA. But I’d expect you could suppress the display to the HA component(s).

I’d also expect that if you have the hardware Wi-Fi switch to enable recirc it would not work during the time the maintenance data is being sent from the heater to the controller.