I had an other look at the cell module code and it looks to me as I told you before. The controller calculates the average cellvoltage and sends a bypass command to these cellmodules that are higher than the average above all.
The bypass time in the cellmodules is not limited by a timeframe. It bypasses for about 30sec and then pauses to get a cell voltage reading. Now a decision is made, if the cell voltage under the bypassvoltage when the balancing was enabled bypass process it finished and the balancing is switched off. Is the cellvoltage still above the bypassvoltage the balancing goes on and next check is in 30sec.
If I am wrong with that Stuart might help me out?
My cell modules behave according to this pattern. I use the original cell firmware from Stuart.
I do not use the original Stuart firmware for the diyBMS controller as I work with an ESP32.
At this time my firmware will probably not work with your setup bcs I adapted it for LiFePo and 8 cells. I need to go through my software and check if I can relaese it to your system.
What exactly is going on with your cellvoltage when you activate balancing?
Considder your chargers or loads my influence the balancing process while they change the voltage measured at the cells.
I would suggest you turn of chargers and loads, write down all cellvoltages and activate balancing. Now have a close look how the cell voltages change and when the cell modules stop balancing what is indicated with the blue LED´s.
I did similar to your setup, I placed 1.8 Ohms as load resistor for the bypass. As I work with LiFePo cells my nominal cell voltage is a bit lower than yours with max 3.65 V.
The resulting bypass current is very similar to yours with 2.027 A and my 10W resistors get quite hot, about 80 to 100 degree C. But it works.