Leslieanne avatar image

Multiplus II, CCGX, CAN and Zeva BMS compatable?


I am seeking advice whether the CAN protocol used by the Zeva BMS, which I understand to be “SMA protocol”, is compatible with Victron equipment.

By way of background, the Zeva BMS is used for lithium batteries built up from separate cells. I am planning a 16S LiFePO4 8 kWh battery. The Zeva system apparently communicates seamlessly over CAN with Goodwe and SMA inverters. From the manufacturer:

“The only change needed for compatibility with inverters is a different CAN bus baud rate, since the default for the Zeva BMS is 250kbps but the Goodwe inverters use 500kbps. No extra cost, just something to confirm upon ordering”. “Basically once the BMS has been attached to the battery pack and configured to suit (telling it the number and size of cells, voltage limits, etc), the BMS can communicate this information to the inverter over CAN bus - pretty much plug and play. The inverter will offer a range of battery options, and “ZEVA" won’t be among them specifically but selecting any that use SMA’s protocol should work fine, such as LG RESU or BYD battery types. That’s probably the only “gotcha” that your sparky would need to be aware of, otherwise it’ll be much the same as any other battery storage installation he’s done (if you’ll be handling the assembly of the battery itself)”

On inquiring about use of Zeva with Victron equipment:

“My understanding is that the Victrons use a different CAN protocol (NMEA2000). So if they work with BYD batteries, I’m actually not sure if the Victron is able to talk SMA protocol or the BYD batteries know how to talk Victron protocol. It might be something Victron could answer. It is possible to run without CAN integration as BMS can protect the battery (using a contactor), but it’s not as elegant as CAN bus integration.”

The proposed system is for domestic use in Australia, with grid connection including feed-in. It will comprise Multiplus II 48V 5k, CCGX or Venus, 3 kW AC coupled solar and 1.5 kW via Smartsolar Mppt. I am confident that we could set up the battery “drop-in style”, using the Zeva BMS simply as emergency disconnect, but like the man says...not as elegant!

Unfortunately I really understand very little of CAN communication, other that it does it via 4, ground, high and low!!! Zeva publish their CAN protocol, link here for those who understand this stuff.

Any advice or experience re this would be much appreciated. Many thanks, Leslie

Multiplus-IICCGX Color ControlBMScommunication protocol
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

3 Answers
gro avatar image
gro answered ·


A Victron pers will probably come along and answer your questions, if not have a look at I know it is actually addressing serial connections other than CAN bus but at least Louis is working to connect to BMS not currently supported by Victron. From my understanding from the reading in this community it appears that Victron’s CAN bus implementation expands on NEMA2000, J1939.

I can’t answer your question but good luck, there is plenty of knowledgeable people taking part in this community and they pop up in this modifications section.

1 comment
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi Gro,

Thanks for your answer. I had given up ever hearing anything, being almost a year since I posted, so was not expecting a response from Victron any time soon! I had indeed seen Louis’s post from a few days ago, and wondered if it might eventually work for Zeva-Victron integration.

But in the meantime I proceeded with my installation using Zeva’s potential free relay outputs to drive the Victron 2 signal BMS, rather than pursue the CAN route. The “allow to charge” and “allow to discharge” relay outputs work perfectly with the Victron gear and ESS. Very simple and robust. I am very happy with the set-up. Our system includes a Victron battery monitor, so I am running the Zeva without its own shunt, and it just handles the cell voltage limits and balance, and pack temperature limits. The system has performed extremely well since last May, exporting surplus power to the grid most days, even in winter, and has got us through several blackouts. The 8 KWh Winston pack has proved to be an ideal size for our solar production and consumption (just two people and mostly wood-fired heating in winter). In summer, overnight discharges are mostly to between about 80 and 50% SOC, and in winter to between about 60 and 30%. I am using “optimised without battery life” with 25% cut-off unless grid fails. Only hit that level a few times over winter when the kids were staying over. Battery reaches absorption voltage almost every day. So far the only times it has forced to float or prevented discharge have been in testing. Otherwise it stays well within limits. Conservatively, I use 55.2V absorption, 53.6V float, cells balance from 3.46V.

The Zeva BMS has its own display to adjust settings and view cell level data, but I cannot access this remotely via VRM, of course. CAN integration would have allowed this.

As an aside: With ESS, when the grid is lost, low/high cell signals from CAN connected BMS's are ignored, and the internal workings of battery/bms become the final safeguard to prevent overdischarge. So if using CAN integration in my system I would need a BMS controlled contactor for additional back-up protection during blackouts. Unnecessary with the 2-signal BMS. The other advantage for me with the 2-signal BMS is that, being simpler, I can understand exactly how it is working!!

Cheers, Leslie

jbakuwel avatar image
jbakuwel answered ·

Hi Leslie,

Coincidentally (?) I build a first rough Python script yesterday to interpret the Zeva BMS CAN frames using a simple CAN 2 USB interface from AliExpress and publish the data to a MQTT broker. NodeRed then picks that up and displays the data.


When the Zeva BMS detects an overcharge condition, it sets a flag (Error in the display above) that we may be able to use to tell the Victron chargers to stop charging by updating values on dbus (you still want your contactor to isolate the batteries in a LVD condition).

This would not turn the Zeva BMS into a full fledged BMS compatible with Victron such as REC-BMS, but it might be sufficient for your purpose.

Time allowing I might be able to combine Louise's work with mine to turn a Zeva BMS into a Victron compatible BMS.


zeva.png (34.5 KiB)
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi Jan,

Thanks for your answer - two answers in one day after 11 months of silence. Wow!

I went ahead and have been using the simple 2 signal BMS successfully - see comment on Gro's answer below for details.

Your Python script looks like the perfect answer to allow remote viewing of cell-level data, which is the only thing I really find lacking with the 2-signal BMS. I will, however, have to learn to use all these things that are just words to me right now...python, MQTT, Node red, etc.....

Cheers Leslie

Hi Leslie,


With regard to making it work for you there a few options:

- learn how to use open source software
- find someone how likes doing it for you for free
- pay a few $ to someone to do it for you on your local GX device (which can be done by anyone knowledgeable and willing anywhere on the planet).

I don't know if VRM would display data from something like the REC-BMS (or Louise's software for that matter). Assuming that is not the case, you'd need to have a way to remotely access your local GX device. The way I do that is by using a VPN server on the internet to which the local GX devices I'm lookng after connect. I connect to that VPN server as well with my laptop and then have full (safe) remote access to these local GX devices (web UI, and Node-RED).

Not all GX devices have capacity to run the (at this stage experimental) Node-RED addition. A Raspberry Pi surely has enough capacity, and if I'm not mistaken VenusGX also. If your local GX device does not have enough capacity you can easily add something like a Raspberry Pi for that purpose.


gro avatar image
gro answered ·

Glad to hear you are getting use of your battery. I look forward to be in a similar position and will chase up how to make the most of a BMS produced data. To me it looks pretty much like the Victron gear can look after the battery SOC without having to worry about individual cell status.
I think the BMS just needs to ensure you don’t get cells out of balance and that is intra battery issues whereas the Victron gear can deal with the battery as a whole without having to look inside your battery pack. Yes I would like to ensure that no individual cell is stressed. I will keep an eye on what people are doing with regards to BMS not supported by Victron. Louis and others are on an Energymatters South African forum and will keep an eye down there as well. I don’t particularly want to fork out over or near $1k for a BMS like REC which is already supported by Victron. I am currently looking at the Daly and similar Chinese BMS. I feel the cost for the CMOS BMS get a bit pricey once you are looking at over 100 Amps going in to and out of the battery pack. I am currently looking at a BMS that uses a solenoid instead of FEts. I am just trying to get a system that is value for money. I don’t mind carrying the risk and doing some work myself t get a system that works.

I am in Melbourne and just getting into solar so will be please to hear of your efforts.

good lunch and all the best, fully charge and ready for night time.



2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.