Venmar (Vanee/Broan) ERV / HVAC controller output

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