Thank you. Lot for me to unpack there. The 300a comment knowing that inverter can only do 140 was theoretical. My batteries per pack can burst to 1C (100 amps charging) and sustained rating is .5C per pack so I can sustain a charge of 100amp an across both packs.
Your batteries can do 10C for that matter during a Fault, BMS or not.
That's what your Cell can handle. Then there is what your Cabling/Cabling can handle (don't know your System so I cannot judge).
What you WANT your system to do should be set in the Control/Regulation Part. That's what determines the "long-term". You don't want e.g. [in DISCHARGE mode] a Synchronous/Asynchronous Motor that is not behind a Soft Starter tripping your system during startup because for like 5s you went 20% above your "nominal" Current (and 1s like +500% maybe). That's still your "Normal Operation" if you start an Electric Drill or let your Lawnmower/Table saw/etc do their Job.
(Quotes because "Nominal" and "Rated" are very loose and User-dependent Terms)
On the other hand, for the medium-long term, you don't want the System to operate in overload and in Faulty Conditions. That's what the Protection Part does. You do NOT want the Protection to kick in during Normal Operation, yet you want to trip when you really need to. It's a COMPROMIZE: too high Setting = never Trip, too low = spurious/unwanted Trip). If you are in control of the System via Software, the Protection should NEVER kick in (unless there are BUGs in SW, wrong Settings, etc).
I also see the inverter max current setting as saving feature. Previously I had it set to max of 140 as I assumed YAMBMS would auto decrease if a physical BMS cutoff charging.
Which ... it should IMHO as well. Otherwise trips the first battery -> immediately after trips the second (and third etc) Battery.
The YamBMS 1 Requested Charge Current seems to be the total of OCP value set in each BMS, correct? There is no separate value in the multi-bms code?
NOT AT ALL. Unless the logic radically changed from Previous Versions.
Again you are confusing what a PROTECTION setting is (Current > Threshold for e.g. 1s -> TRIP/Disconnect) and a REGULATION/CONTROL setting is (the JK BMS "asks" the Inverter for this current, so of course if this current is too high, that's the wrong user Setting IMHO). BUG aside that it should be Nbat*min(IBat_Ref_each)
The "Overcurrent / OCP Current Value" is what the JK BMS (by itself !) does as last-resort SELF-PROTECTION and is NOT used by the ESP32 BMS.
The "Requested Charge Current" should be a user-defined parameter which ONLY the ESP32 BMS uses for REGULATION (and Protection to some extent IMHO) and is NOT used by the JK BMS (it has no way of knowing it even exists).
So, unless things changed radically from previous versions, it's 2 completely separate parameters.
And I don't know how it was implemented in the End, but I would expect N Batteries -> N Controllers -> N Current/Voltage References -> Global Controller: UBat_Charge = min(UBat_Ref_each) , IBat_Charge = Nbat*min(IBat_Ref_each)