Help parsing modbus correctly

I'm trying to sniff on the communication between the my heat pumps master board (shown in photo) and its outdoor unit.

I've added shielded 18/2 and followed a route in the box to avoid the line voltage wires as much as possible (also following manufacturers route).

0DBDE948-4048-4324-B4C2-F8A5C06D7C31_4_5005_c.jpeg

By trial and error i worked out these settings which avoid regular FRAMING, PARITY and BREAK errors.

Screenshot 2025-02-16 at 9.40.59 AM.png

I'd like some advice on why I may be seeing continued error and how to use this advanced analyzer to work out the correct settings.

Assuming i can parse this modbus correctly i'd then like to have a persistent process for dumping the registers of this device to home assistant.

Unfortunately, I can't see the wiring or the mode switch position from the photo. However, on the screenshot, all the data is RX (green). Most likely, it's the usual two-wire RS485 (half-duplex), but the Modbus Analyzer is configured for full-duplex (TX Master, RX Slave) -- which is causing those parsing errors.

We have a KB article on configuring Modbus for half-duplex links:
https://ioninja.com/doc/kb/modbus_half_duplex.html

Please let me know if this works for you.

The mode switch is on RS485. Otherwise not exciting, the wiring is RX+ on board to the + terminal on, and RX- on board to the - terminal.

Does wire gauge matter, i'm using 18G shielded, whereas the outdoor unit gets 16G, does this matter? its unclear if 16G wire would fit in the terminal connections of the serial tap. I'll try what your saying and report back.

However, with these settings and without the the modbus analyzer i see the occasional framing error.

Hello,

Regarding the gauge of the wire, as long as it can be fit to the connector of the Serial Tap, it should be fine. The noise should not depend on the gauge of the wire in such a short length.
Unfortunately, I cannot see your connection to Serial Tap very clearly from your attached image. Generally, many of these errors on RS485 can happen because of impedance mismatch on the line. For example, I am not sure you have termination resistors on the bus or not. If not, you can add one 120Ohm resistor at each end of the bus and see if things get corrected. This is quite important in the long buses.
Another thing to try is to ensure you connect the ground between your board and Serial Tap. I assume you are already using a shielded cable between your board and Serial Tap. Join the GND and shield and connect them to GND pin on Serial Tap. Of course, RS485 does not need the Ground connection but as you are adding a stub to your RS485 bus and we don't know you have proper termination or not, so I offer this to try.
By the way, I recommend taking a look into the following article that we have created for Modbus and RS485 connections:
https://support.tibbo.com/hc/en-us/articles/40709215801369-FAQ-What-are-the-consideration-of-implementing-RS485-example-with-Modbus-sensors