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;
The BMS needs to be told that it is talking to a Victron Cerbo by a dropdown selector in the BMS software
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)
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.
“.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.