My Pylontech Batteries/LV Hub suddenly lose communication with the Cerbo GX

My current setup with 1 x LV-Hub, 4 stacks of 5 x Pylontech US5000 batteries (20 batteries total):

  • LV-Hub connections:

    • Port 0 (CAN OUT) → Cerbo GX (using Victron BMS CAN Type A cable)

    • Port 1 (CAN IN) → A/CAN of the top battery (master) in Stack 1

    • B/RS485 of that same battery (Stack 1 master) → A/CAN of the top battery in Stack 2

    • B/RS485 of the Stack 2 master → A/CAN of the top battery in Stack 3

    • B/RS485 of the Stack 3 master → A/CAN of the top battery in Stack 4

  • Inside each stack (5 batteries per stack):

    • LINKPORT1 of the first (top) battery → LINKPORT0 of the second battery

    • LINKPORT1 of the second → LINKPORT0 of the third

    • And so on until the fifth battery

    • Same method repeated for all 4 stacks

  • DIP switch settings:

    • First battery (master) in Stack 1 = DIP set to 0001

    • All other batteries in Stack 1 have all DIP switches up

    • In the other 3 stacks, all batteries (including the top/master) have all DIP switches up


Issue:
The system worked perfectly for about 3 weeks. Suddenly, the Pylontech system lost communication with the Victron Cerbo GX when the batteries were almost fully charged.


My questions to the community:

  1. Are my DIP switch settings correct? Should each battery in the stack have a unique address instead of all being set the same?

  2. Is the way I have daisy-chained the stacks (B/RS485 → A/CAN of the next stack) correct, or should each stack master be connected directly back to the LV-Hub?

  3. Could the comms dropout at high SOC be related to the DIP or wiring setup?

  4. For long-term stability, what’s the recommended wiring and DIP configuration for 4 stacks of 5 US5000 batteries with 1 LV-Hub connected to a Victron Cerbo GX?