Is there a set of communication protocols to communicate with BMS?

fWhat data does the flight controller need to receive from the smart battery? There is no such document or information? Thanks in advance

Take a look at the BatMon protocol implementation

Here is the I2C smbus protocol document that is supported.

You may want to look at the smartbatt_info message in mavlink.

PR for that here:

There are CAN smart battery types as well defined in battmon. And PRs in regards to CAN smartbatts here,