question

daniel123b avatar image
daniel123b asked

Using VE.can to communicate with third party devices

I have a Smart Shunt and a Cerbo GX which are connected by a VE.direct cable. I would like to receive the current measurement through the VE.can to NMEA 2000 cable which is connected to the Cerbo GX.


I found the document VE.Can registers but I can't really figure out how to communicate with the Cerbo GX properly. To begin with I'm using a can program where I can send and receive message from my computer.

cerbo gxSmartShuntVE.Can
2 |3000

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

1 Answer
bathnm avatar image
bathnm answered ·

Generally CAN is a broadcast means of communication. Therefore the CerboGX will send CAN messages, which anyone on the CAN network can receive and process to get information. It is a message based system, where the CAN header contains a message identifier that defines the structure of the payload. The payload can be split across multiple packets.

It is also extensible so Victron can define it's own payload structure and this is what you have seen in the VE.Can registers document. It is only a portion of the information and messages that Victron sends. There are also other standards which define CAN messages and they include ISO and NMEA2000. These are closed and you need to buy the standards.

So what you are trying to do is not easy. There is public information out there and some public libraries which define some of the messages structures search for canboat and NMEA2000 libraries. This will provide valuable information.

So from the information you find, you should be able to find the messages which contain the information you need and the structure, allowing you to decode it and use it in an application.

Happy hunting!

2 |3000

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