Description
I've been thinking about the idea of connecting multiple controllers via CAN with the goal of providing aggregated data to Victron (or Pylontech, etc.) as one large battery. I figured I would open a Git Issue in case someone has already put more thought into this.
This functionality has probably been viewed as a bit of an edge case to date. Pylontech and Victron do offer the ability to daisy chain batteries. Besides the ability for further expansion, it also provides redundancy. For instance, in my case a 4s4p battery will be arranged so that there are 2x controllers configured as 4s2p which are themselves connected in parallel -each with their own battery disconnect. This way a fault with any cell only takes half the battery offline and maintains uninterrupted power.
Thoughts so far…
• Each controller has a configuration page option “Controller X of Y”. Where X is the sequential number the user assigns each controller and Y is the total number of controllers that will be networked.
• The controller # ‘X’ determines the hierarchy of the ‘master’ succession list. Controller 1 is default ‘master’ and is responsible for communicating to Victron. If Controller 1 fails to update then Controller 2 assumes the ‘master’ role and begins communicating with Victron.
• Some form of a heartbeat might need established to ensure all controllers are updating vitals regularly so that the ‘master’ can report out within Victron’s heartbeat window
• The controller # ‘X’ also determines the predetermined identifier or “address” range where each controller will be broadcasting its data. Whoever is elected ‘master’ is responsible for aggregating the data from these ‘locations’ to send to Victron
• I haven’t really gone into the rules used for aggregating each piece of data. Many are simple like grabbing the lowest module voltage. There may be some that require more careful thought...