Cerbo Gx and NMEA2000 PGN's

I am new to Victron but not to NMEA2000. I have two 1000A smart shunts connected to a Cerbo Gx running on VenusOS on a Raspberry Pi. The two shunts are connected via ve.direct USB cables. The Cerbo is connected to my Garmin MFD’s via an ethernet cable and also use wifi for the Cerbo App via the web. The Pi is connected to NMEA2000 via a PICAN-M board.

All of that works with out an issue and display’s as intended. In the Cerbo Gx I have enabled Ve.CAN to NMEA 2000 (N2K). This is where my issue starts. In short, the Cerbo is not including the correct instance number in the N2K PGN packet’s, PGN127506 - DC Detailed Status and PGN127508 - Battery Status, always have 0 for the battery instance number.

I have set them in the OS under the devices option.

All three PGN127508 packets have their instance number set to zero.

My Garmin MFD’s seem to make sense of the information correctly (because of the ethernet connection?), but anything else on the N2K network does not see the batteries, and only instance 0 works.

In this pic I have each set for instance 0 through 3, as indicated by battery #0 etc., and only instance 0 is populated. Instance 0 should not be populated, and 1-3 should be.

Looking for some feedback on if this can be addressed or not.
Thanks,
Orlando

Hi Orlando,

You need to change the data instance instead of the device instance, see Changing NMEA2000 instances [Victron Energy]

Wow, that was unexpected. I had tried doing that but in Maretron’s N2KAnalyzer which apparently only reads the device ID. Using Actsense NGT-1 worked like a charm. Thank you very much!

I feel a little stupid having posted this after spend a few hours trying to get this to work.

I do have one last question, data instance 1 cannot be used for some reason. I can use any number above 1, but not 1. Is that by design or do I have another issue somewhere to fix?

Again, thank you very much,
Orlando

There should be no limit on the value. Any number from 0-255 should be fine.
However, the driver can also expose the aux input of a battery monitor using (default) data instance 1. When changing data instances the driver checks for conflicts, even when you device does not have the aux input. And since you cannot change this instance through N2K, this value cannot be used.

Ok then I am not crazy. So 1 is a reserved value. I can live with that, now understanding what is going on.

Curious why you didn’t include the data instance in the Cerbo software like the device instance is? But either way it can be set, thanks.