Navien, ESP32 Navilink interface

Oh yeah, that is the second most popular reason :slight_smile: I recall there was also a way to set temperature differential, i.e. what should be the delta between the target and actual for it to stop recirculating. Check around for that also.

I had the same issue. Bumped up the distance + added a HASS automation to re-press the button a few times after it shuts off the first time its pressed

@htumanyan I see I'm a few days late for your custom boards, but if you run another batch I would love one!

@htumanyan I'm also late to the part and just sent you a message a message for a board. The demand was unreal! :sweat_smile:

Hello, just curious on if you have more instructions on how to make the "hot button" for the 240A.
Or should I purchase the Navien Kit? I have my own atom lite setup in HA.

Thanks!

Here is my working config now:

substitutions:
  name: "navien"
  friendly_name: "Navien Water Heater"
  project_name: "Navien.Custom-S3-DevKit"
  project_version: "1.0.0"
  
  # Your custom physical UART pins for your ESP32-S3 DevKit layout
  tx_pin: "GPIO6"
  rx_pin: "GPIO5"

# This gives ESPHome the source code FIRST so it understands the custom platforms
external_components:
  - source:
      type: git
      url: https://github.com/htumanyan/navien
    components: [ navien ]

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: false
  project:
    name: ${project_name}
    version: ${project_version}

# Pulls in the rest of the layout (LEDs, Buttons, Sensors)
packages:
  navien_atoms3: github://htumanyan/navien/esphome/navien-esphome-atoms3-lite-tail485-esp32.yml

# Merges your explicit static IP configuration into the package's WiFi block
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: x.x.x.x
    gateway: x.x.x.x
    subnet: x.x.x.x.

logger:
  level: WARN

api:

ota:
  - platform: esphome

Let me know if you would like me to sell you a kit for $100. I tried it and sadly it doesn't work for me because my Navien 240a is a pre-2016 model that doesn't support Navilink..

I snagged one off of Hovhannes but maybe @moto2000 if he is still looking for one.

There are two options to make hot button work on 240A:

a. Need to have the Navien hot button kit installed
b. Solder a circuit that emulates the hot button kit.

I assume you're interested in the latter. If so, take a look at the picture in this post - Navien, ESP32 Navilink interface - #194 by htumanyan

You'd need to obtain a 13 pin JST connector and a 10khom resistor. Once you connect them as in the picture you'll have two ways to trigger hot button:

a. Through RS485 - you can use the soft hot button in the firmware
b. Wire up the +5V pin I am showing on the picture to a level shifter that is connected to a free logical pin on your board. Then you'll trigger low/high from esphome.

Does this help? Happy to help further.

Did you have a chance to review this yet please? :slight_smile:

Thanks. Yes, if I can source the parts, that would work so I don't have to purchase the Hot Button Kit. Any specs or location of the JST connector?

@htumanyan , I hate to just add more noise to this thread but I've been a lurker for years and never made an account, thus I cannot DM you. It seems like you are out of your custom connectors, but if you do run another batch of them, I am interested.

Very cool project! Love when devices have RS485 that exposes anything. I'm getting an NPE240-A2 installed at the moment. Before I order an Atom S3 Lite + RS485, figured I'd check about the custom board. I think the main plus really is the custom wiring harness, rather than having to order all of that. Especially if it can include a preassembled 13 pin connector to simulate the NaviLink install.

If it doesn't look like it'll materialize, I'll order some JST-XH 5 pin and 13 pin pigtails, and some 10k resistors, and can mail out the extras.

Interestingly, I am actively trying to get native Fahrenheit support in ESPHome Climate. We have already merged the wire changes to aioesphome, and I have a corresponding PR in HomeAssistant. I use this with my esphome+rs485 connected hot tub, to avoid round-trip converting F to C on RS485 packet receive, and then C to F on the Home Assistant UI. Once that's merged and shipped, this repo can be updated to track the temperature in the native units, and I can help with that!

Edit: I see this note now:

// Note: this does not affect the values reported by Navien unit. Those are always reported in metric.

So, the change would really just mean that it fixes the display value on the ESPHome Web Display, if one wanted to override it to Fahrenheit and do the conversion in code. Probably not useful in this case - just let Home Assistant do the conversion.

Edit 2:

I ordered 5 pin JST and 13 pin JST. I can make 2 extras for people who use M5 devices, but they probably wont arrive to you till July (I'm busy), and you'll have to pay for shipping (probably $11, USPS flat rate box).

You don't need to simulate the hot button if you have the 240A2 - it comes with hot button kit pre-installed.

Ah, sweet.

That makes my NPE240A2 all set once I get the 5 Pin. I also have a Navien NFB in another house doing hydronic heating that I'm hoping to see if I can help contribute.

Hello, I am able to build my own, just need to know what to order if you are willing to share :). I was not sure on the size of the 13 pin connector.

Thanks for all your work. I'm a little late to the thread so I assume you are out of custom devices. ? what do you recommend to purchase to build a device. Thanks Stephen