Venmar (Vanee/Broan) ERV / HVAC controller output

Hello! Im trying to figure out the signal out of this controller, is my Venmar ERV controller


there is 12v , D- , D+ and GND pin

I tried UART to USB , with a lot of baud rate… nothing so far, any help is appreciated
my guess is that the D+ and D- are not equivalent to RX, TX…

My final goal is to reproduce the signal to use it on a NodeMCU or Arduino to end up in Homeassistant

Thank in advance for any kind of help

The D+ and D- indicate a balanced communication interface like RS422.

Thank you Tom! Im gonna check that, any link to how connect it to an arduino or esp?

RS422 is a physical interface definition. If it is indeed RS422 you would still have to reverse engineer the data protocol they are using, unless someone has already done this.

Start by hooking up an RS422 to RS232 adaptor and sniff the data with a serial terminal as you execute the functions.

Wondering if you ended up having any luck with this? I’m trying to figure out a way to control a Broan ERV, and did find these two other threads on the subject:

Haven’t started working on it myself yet, though.

I have a VanEE air exchanger and this controller for it, as well as a RS485-USB adapter. I may try to look into getting this working soon. In the meantime, is there any information or updates on this that might be helpful?

Any luck? I just installed a Broan ERV and am desperate to automate it - I wish their “Advanced Touchscreen Control” (VTTOUCHW) controller actually allowed for remote access, I think it has Bluetooth for connecting to other remote auxiliary switches…

Hi there - I bought a Venmar HRV as well, and am thinking through the best way to locally automate my system as well. (I’m preferring to not have to lower myself to a couple switchbots pressing buttons on their simple remote interface). Admittedly I know this would work, and get me up and running fast, but it just seems wrong that we don’t at least consider a more elegant solution.

Any progress on anyone back-engineering the D+/D-?

Disclaimer: I am very new to all of this. If anyone has general RS485 / serial debugging experience that’d be awesome.

I ended up with a RS485 to USB adapter and have tried about 5 different software programs to reverse engineer it at this point (list below) with no luck. At first I tried a protocol analyzer (knockoff Logic 16 device) which was helpful to a point, but only really confirming that it is indeed serial RS485-ish. I do have a few dumps from that if anyone would find it helpful…

Everything I’ve seen so far seems to lean towards the protocol being Modbus-like, but so far all the combinations of Baud Rate / Data Bits / Stop Bits / Parity I’ve tried have led to the CRC failing on each frame/message. That said, there seem to be some Modbus commands with the controller connected (like reading registers - Serial Port Monitor says so at least)

When I have the controller powered, there is a LOT more traffic over the wire even when no settings are changing - it’s like the controller and the ERV are in constant communication. When the controller unpowered (12V unhooked), there are a few bytes that get repeated over and over again (9600 baud, 4c 28) coming from the ERV - I am unsure if this means the ERV is the “master” or the “slave” according to the protocol definition, which could be something to investigate next.

I think the baud rate might be 19200 because it has the fewest number of huge 00-filled gaps (so far)… 9600 also seems to be common with Modbus.

I emailed Broan to ask, but I fully expect not to get a response.

Current setup:

  • I have the D+ / D- wires connected to the RS485 serial adapter at the controller, just jammed both wires in to the terminals. I’m a bit concerned this method and the long length (~30ft) of thermostat wire might be hampering my investigation, but seems unlikely given how these controllers are typically installed.
  • I also tried reversing them on the adapter.

Different software I’ve tried…

Possible next steps:

  • Try to communicate just with the controller instead of (Controller+ERV) or just ERV - maybe more can be figured out in the other direction?
  • Reboot the ERV with a serial port monitor connected - maybe some different data will show?
  • Shorten control wires to ERV unit (low confidence this will help)
2 Likes

I have a vanee with the same controller and would also love to tap into the functions.

That being said at least some of these have simplified wall controls that at least let you turn on a ventilation cycle which are much simpler to figure out.

Mine has a dry contact option have running through a relay controlled by homeassistant.

Yeah, mine has a dry contact as well so that was plan B if this is a dead end… and it’s getting close for me personally.

@dvand This is tangentially related, but how do you have your dry contact configured, assuming you’re able to configure it? The unit I have (B160E65RS) has 3 options for the dry contact override:

When configurating OVR option on the LCD screen, choose among these 3 configurations:

  • BAL (the unit remains balanced while providing maximum airflow)
  • PER (the unit is slightly unbalanced since the distribution motor is in MAX speed while allowing maximum exhaust ventilation)
  • DIS (the unit is unbalanced since air distribution is constant despite a higher need in exhaust ventilation)

My goal is to basically blast as much supply air in as possible but turn down the exhaust if I detect another exhaust device is on (bathroom fan, dryer, range hood) - so I think I want PER (“Performance”) but maybe I actually want DIS (“Discretion”)… not exactly clear though.

I have mine setup as balanced but don’t have any other exhaust devices in my house.

I agree it’s not obvious what the PER mode means. I’m assuming it just winds up the motor and you get in terms of balance.

Had a chat with tech support for Broan today - he said they were unwilling to share the specs of the serial communication, but I might give Venmar a shot next given they seem like the actual business unit that manufactures these things.

They did explain the PER/DIS split to me - basically PER will allow positive pressure, and DIS will allow negative pressure. So I think PER is what I want for my use case (minor amount of “make up air”) in OVR mode.

Edit: Venmar was not particularly helpful on attempt #1 either… I’m not sure if it’s even possible to reach the department that would have this info over the phone…

2 Likes

Need that too :grinning:

Got the dry contact relay hooked up to the OVR port today with a Shelly 1 Plus and started playing around with it. For some reason it was missing on the online manual, but in the print manual it basically said to pass 12V across any relay and back into the OVR port. This was non-obvious to me at first (vs wiring up the Shelly some other way). Bonus: Shelly 1 Plus can be powered by 12VDC pulled off the ERV.

Now I’m considering another one, or maybe a 2-channel relay, because the dry contact can be set to put the unit in intermittent mode (good for if nobody’s home vs running all the time, I think?). Though I’m wondering if 12VDC will work there vs 24VAC given it’s expecting wiring from a thermostat…

I did confirm that DIS mode is not what I wanted, it’s entirely negative pressure when I looked at the live airflow on the device. So sticking with PER mode.

1 Like

FYI – I gave up on Venmar, and decided to things my own way. I simply bought a switchbot on the wall switch as the control of the switch. I then bought a power meter and plugged the HRV into it. (and used the power levels as the feedback) creating a feedback loop for whether I’ve achieved the desired power setting. I’ve found the switchbot lasts a few years, so replacing a battery now and then isn’t too big a deal.

Anyone else come up with something more elegant than this?

What are you trying to do and which model do you have? My Shelly 1 Plus on the OVR port works well enough. If you have a set of contacts of any kind, you should be able to control it with a relay - how much control you get depends on model I assume.

I did play around with the “Vent” wiring (dry contact) this past weekend. It actually worked great with 12VDC - I could set an unbalanced MAX setting and it would use it when the contact was closed. However, as the manual states it completely overrides the wall control. Once the dry contact is opened back up, the ERV is forced back into Standby (off) mode - the only way to get it back to the previous state is using the wall control again which is a nonstarter for me.

However, I discovered that using the VTTOUCHW you can set “Auxiliary” airflow CFM. It doesn’t allow for supply/exhaust independent settings, but if you set it as low as it’ll go and use “Performance” Mode you can end up with a small amount of positive pressure when the OVR contact is closed - which is exactly what I’m looking for. In my case it was ~60CFM which is enough to help exhaust fans work well!

I have noticed the airflow settings on the VTTOUCHW don’t seem to stick sometimes though, not sure why they keep getting reset. Anyone else with this device observed this by chance? Wondering if it has to do with my wonky wiring.

I just ordered a similar ERV, and I’m thinking about doing the automation a different way. These ERVs are compatible with the “automatic control” module, which lets you flip through a few basic modes with button presses. Details found here:

https://www.vanee.ca/en/products/accessory/95-automatic-control.html

The control module is pretty cheap (~30.00 USD). I’m going to attempt to open it up, and “emulate” the button presses from an ESP32 with a relay. The one button lets us cycle between these modes:

• Click 1 = RECIRC (if available)
• Click 2 = INT
• Click 3 = MIN
• Click 4 = MED
• Click 5 = MAX
• Click 6 = OFF

I think it would be fairly easy to pop the front button cover off and connect either side of it to a relay such as this:
https://www.aliexpress.com/item/1005002867727977.html

Then connect the other side of the relay to an ESP32:
(Can’t post the link because I’m limited to 2 links as a new user)

The ESP32 can then cycle through the modes by simply doing an emulated button press, based on CO2/VOC readings from sensors around the house, or whatever other system you wanted. Seems fairly simple, no? Let me know if anyone sees any concerns with this. My plan is to eventually drive many parts of my HVAC system (air handler, furnace, heat pump, dehumidifier, ERV, HEPA) all off the same ESP32, with inputs from air monitors placed around the house.

3 Likes

This seems clever, I’m curious how it goes for you! Especially vs something like a switchbot. I read somewhere that these basically worked on setting difference resistance levels, so that might be something to investigate too.

On my OVR connected to the relay I noticed that the time I close the contacts seems to switch between two modes (20 minutes and continuous), so there might be something to that too.

Personally I still like having my controls working without smarts if something goes wrong, which is why I was looking at complimentary solutions.

1 Like