Navien Hot Water heater - Navilink

I got my Navien NPE-240A2 a little over a week ago, but I had been planning for it for a few weeks before that. I wrote to Navien to ask about a public API or SDK, and they wrote back that they do not have either. They suggested that I could monitor and control via the mobile app. Nobody on this forum is interested in that kind of closed-box solution. So, you people who were going to bug Navien to get them to provide an API, get busy! :slight_smile:

Not long after the installer walked out the door, I switched things over to being controlled by the HotButton feature. I didn’t want to run wires all the way to my upstairs bathrooms, and I wanted more functionality. So, I applied a little bit of IoT hardware and a little bit of HA glue. Now my family members can push a button in either upstairs bathroom (or on a wall panel HA dashboard in the kitchen) and have hot water in about 2 minutes. That’s way less time than some of them spend gazing at themselves in the mirror before hitting the shower, so it all works out.

I realize this is not the kind of jazzy monitoring and control being discussed in this thread. I want that, too, and maybe someday I’ll do something with that reverse engineered python library and integration.

If you want to see details of how I set up my remote HotButton operation, you can read about it here: Calling for hot water | Hackaday.io

1 Like

One of the things I haven’t gotten around to exploring, but I wonder if someone else has already figured it out: I’d like to be able to detect when the recirculation pump is actually running. For now, my HA automation includes a timed delay that I manually set to match the configuration on the water heater, which is a bit inelegant and only approximately correct.

I expect I can easily find wires running from the control board to the pump so that I can figure out if the pump has been commanded to run. When the bypass valve under the bathroom sink closes, I assume the pump detects that and maybe stops pumping. It would be pretty groovy if I could somehow or other detect that condition.

Has anybody already been down this path and figured it out? Mine is a Navien NPE-240A2, but it might be pretty similar for some of the other models.

I assume you have a NaviCirc valve which uses the cold water line as a return in lieu of a dedicated recirculation loop? Either way, as far as I can tell, the water heater seems to trigger off flow rate, so when that closes, the flow drops to 0 resulting in the recirc pump turning off.

By monitoring my unit for a while, I’m confident that a high flow rate (in my case >~3 gpm) is only caused by the recirculation pump. So, a template sensor could provide that sort of feedback. But, the switch entity already provided by this integration already turns on when recirc is on since it’s always a Hot Button actuation - whether manual or via automation.

@megaz555 @chiem @ben1492 Sorry for the direct ping, but I learned a lot by piecing together your posts. I tried to consolidate everything into an updated readme. If you have a few minutes, would you mind taking a look and letting me know if you have any recommendations for changes before I submit a PR to @nikshriv?

hass_navien_water_heater/Readme.md at main · GitHubGoody/hass_navien_water_heater

Ah, yes, after a brief perusal, I already assumed the integration would provide that. To clarify my question, I’m looking for a way to figure out if the pump is running without purchasing one of Navien’s add-on controllers. (Though I might eventually do that anyhow if nothing else pans out.)

Some things I’ve thought of but have yet to experiment with:

  • Finding the wires from the control board to the pump, and either detecting something like on/off or taking a current measurement.
  • Monitoring the pipes and NaviCirc valve to noise, temperature, or vibration.

I did plug the water heater into a smart outlet that reports power consumption, but there are other things going on that can consume a lot of power in addition to the recirculation pump being on.

PS:- You get 3 gpm from the recirculation pump, or is that from some other consumption that triggers the heater to turn on? When I press the HotButton, the A2 reports on the front panel a flow of 0.8 or 0.9 GPM. That’s with 3/4 inch copper pipes leaving the heater, but it goes down to 1/2 inch copper before it gets to the valve.

I was getting around the same flow rate with the recirc pump on, but was also getting occasional E438 error messages. We inspected and replaced this check valve which is a known common failure point. In my case, the plunger’s o-ring had dislodged and fused to the body so the plunger would stick to it periodically. Once we replaced the check valve, my flow rate went to the 3 gpm I’m seeing now and I haven’t had the error code. Definitely worth checking out and maybe replacing.

Based on your original post, I gather that you already are using this integration with the more capable A2 and a NaviLink controller. So, you should already have the flow_rate entity in Home Assistant. What additional add-on controller(s) are you trying to avoid purchasing?

Yes, I have the A2. But as far as I know, it doesn’t have any communications. I think I would have to add a NaviLink or NaviLink Lite. I’d be happy to find out otherwise.

I’m away from home right now, so I can’t poke around at the moment.

Yes, you need NaviLink or NaviLink Lite to use the integration that is the subject of this topic.

Anyone know what the heating_power sensor indicates exactly? Since it’s in %, is that relative to the max power draw possible?

Relative to your max power, ie. 199k btu.

My Navien is older CH-240 but likely same interfaces as newer.
Would like to understand pinout of RS485 port which has 5 pins.
Specifically RS485, is it full or half duplex.
Would like to understand 2 pin interface to wall mounted LCD display unit.
Two wires communicates with and powers the display unit.

I have a spares of both main controller board and LCD unit.

It’s not compatible with Navilink 128 (at least the version I have), even the HA “official” Cozytouch integration (Overkiz) isn’t.

I made a custom integration for Cozytouch that works with my Navilink 128 + Naema Micro 25, you can try it if you want : GitHub - gduteil/cozytouch: Atlantic Cozytouch integration for Home Assistant

1 Like

Thanks!
what sensors are available?

It depends on your device, and some adjustments need to be done if your device has not been integrated yet.
What device are you using ?

Lot of sensors and controls are available in the Cozytouch API, at least everything you can have in the official app will be accessible in the integration, but much more sensors are published and not used by the app.

I have an NPE-240A2 and I just ordered a NaviLink Lite. I also have a logic analyzer as well as a capable digital storage oscilloscope. I think I am going to set things up initially using this integration, but for fun I also think I am going to have a go at examining the RS-485 traffic. I’ll let you know what I find out :grinning:.

1 Like

oh - can you say more about examining the RS-485 traffic? i have another device i want to do that on. i have a couple of USB to RS-485 connectors but haven’t used them yet, haven’t figured out where to start actually. that’s the next rabbit hole i’m going down :joy:

29 posts were merged into an existing topic: Navien, ESP32 Navilink interface

@mbcomer Were you able to do this exploration, and did you figure out anything interesting?

1 Like

I am a little confused by the name of these items and what the on/off button is or isn’t?

  1. what is the difference between inlet temp and hot water temp?
  2. is the button my hot power button / circulation being on or a true power on/off button to the unit as a whole?

i didn’t see the note about dip switches until after i had installed the navilink lite and i would prefer not to re-open as our unit it is a little difficult to get too, so hoping can someone clarify if I have the full set of entities?

A few questions regarding this integration. Thanks to @nikshriv for your work on this.

I’ve installed the Navilink Lite and the integration and seem to have access to the entities exposed by the integration, including the hot button recirc switch.

My unit doesn’t have a remote temp sensor installed but does have the dedicated recirc circuit. Can this work without a remote temp sensor? If not, any pointers to a workable wireless solution?

If it can work without the remote temp sensor, are there any particular settings that I should look at on the water heater itself? Temp differential would see it has no effect if there is no temp sensor.

The recirc pump does not run more than a couple of minutes when the recirc is triggered. I’ve increated fixture distance to 400 feet but doesn’t seem to have any effect. Water at the fawcet is luke warm at best when running on cycle of every 30 min.

Appreciate any guidance on this.