Cerbo GX doesn't detect the Solplanet battery or its BMS

Hello everyone.
I have installed:
-Cerbo GX firmware v3.55
-MultiPlus-II 48/5000/70-48 firmware 2623556
-BMV-712 Smart Battery Monitor v4.16
-Solplanet ASW5120-LB-G3 Battery

I have data traffic on the BMS-Can port between the GX and the battery. I get the message “ERROR-ACTIVE,” but the battery doesn’t appear in the device list. Does anyone know why?

Your comms is good - ERROR-ACTIVE is what you want because ERROR-ACTIVE means the BMS can actively transmit error frames when issues are detected. Getting TX packets but nothing back is bad, and getting ERROR-PASSIVE is ok, but not as good as ERROR-ACTIVE.

Its probably just that the Solplanet is not sending the correct messages. This can be because the bms thinks it talking to another brand of inverter.
The easiest first step is to;

  • enable ssh on your cerbo
  • ssh into the cerbo
  • run candump to see the messages - you will likely be missing certain messages, so wait until at least a couple of loops have been dumped (watch for the messages from the cerbo, 351 i think, once you have that message and the following replies a couple of times you are good)
  • post that data here, and me or someone with more experience like @alexpescaru might be able to see what is happening.

This will confirm that the data is being sent. This is also a proxy to proving your data cable is in the right ports, your data cable is sound, and your pinouts are correct (some batteries like Dyness have a different pinout for different inverters, others like the Growatt use a standard data cable and you make the changes in the Growatt’s config)

Making the BMS send the correct data could be a few different things in my experience;

  1. The BMS needs to be told that it is talking to a Victron Cerbo by a dropdown selector in the BMS software
  2. The BMS might have a particular DIP switch setting on the front of the battery and a few different flavours of CAN that satisfy multiple groups of inverter (e.g Victron and Fronius might need DIP1 ON, and Growatt, X, Y, Z need it set to off, and messages are sent multiple times with different IDs to satisfy all the mandatory fields of each group)
  3. Unlikely, but the BMS might be looking for hints in the message from the Cerbo in order to reply with the correct set of CAN messages.

Also see my post going through the same thing with a comms battery: Trying to get CAN communication working from an AFBMS to a GX - #2 by RoarPowerNZ

Just in case this is new to you and you don’t know what to use:

candump -c -a -n40 -e -x can0

or:

candump -c -a -n40 -e -x can1

The line with 35E should be the name of the manufacturer. This way you know that you are looking at the target data.

The line with 370 should be something like “.4VxVIC.” and if not, make sure that you select the desired protocol.

“.4VxVIC.” is 307 and it’s sent by Cerbo to somehow instruct the battery what protocol wants the data to be sent on.
But I remember I read somewhere Victron dumped the use of 307 on later releases and use only 305 keepalive.

Still seeing the 307 and 305 in the candump from a VM-3P75CT but I guess that the BMS will follow Pylontech and use 370.

the result of doing the candump is that.

Ok. Data is there, but under the wrong ID’s. It is now set to the wrong CAN protocol (AISWEI). Can you change the protocol in the BMS (app)?

Ok thanks. I don’t have access to BMS. There is no app for my battery.

Oh ok. Maybe someone else here knows what to do next in this case.