question

Jonny Sollid avatar image

Raymarine integration in nk2 network with several Victron devices that send battery data.

I have several devices in nk2 networks that send battery data such as Multiplus, MPPT, rec-bms and smart shunnt. Without modifications, only two batteries will appear on Raymarine instruments. (I have 3 battery banks) Based on testing to display battery data correctly on Raymarine, we have used a programmable interface and changed "device instance" and "data instance" to see how data is presented on Raymarine display. Changing the device instance as described in the Victron GX manual chapter 11.5.4 does not change anything on Raymarine instruments! (Tried this from the venus os menu as well) When we change the data instance, the battery is presented correctly. This was also the case on thread eg posted about 1 year ago about data instance. The question is why device instance is made available in menu on Venus os and manual describe that change of data instance is not recommended?

Anyone have experiences to share that can confirm this? Do other manufacturers use device instance for numbering batteries?

cerbo gxNMEA 2000 - N2Kraymarinevenus os large
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.

4 Answers
sunnycoastgreg avatar image
sunnycoastgreg answered ·

and.. regretablly this didnt fix the problem.

changed Device instance using Venus GX (as per manual 11.4),

and confirmed change with actisense n2k reader.

the raymarine axiom continues to see battery/DC (data) instances from multiple devices

and just flips between them (despite only ONE of the devices having device instance =0 )

.... conclusion: changing the device instance does not appear to address this problem... unles there is some way “reset” the axiom to forget?

7 comments
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.

Sorry for the late reply, but we are currently testing all of this using a
programmable interface. The finding so far is that changing the device
instance as described in the Venus gx manual 11.4 does not change anything on
the presentation of batteries on raymarine. The same problem is discussed
in this thread "How to Change data instanse" that I posted 1 year ago and then I gave up getting this corrected.

But now I have received help from a good friend who is an expert in programming to analyze the problem. Based on my previously posted thread and response from "Greg and Mvader" as well as our findings with testing so far, Raymarine uses "data instance" to identify multiple batteries. Why it is described in detail about device instance and this is made available in Venus gx menu I am not sure. Raymarine and Maretron definetely use data instance. Maybe other manufacturers use device instance?

I want to make a new thread about this that is more descriptive and delete this one. The problem applies to many victron products that send battery data and not just mppt so a discussion about device instance and data instance will be more appropriate.

ok noted, i came to a similar conclusion - as you see below.

i will be trying to change data instances tomorrow (using an actisense)

and observing the raymarine behaviour, (one of my devices is direct onto n2k bus, the other a virtual device via venus) .. both devices are victron.

... so will be interesting to see the success or otherwise.

its dissapointing that the victron manual leads us down the wrong path,

and hopefully they will update it accordingly pending outcome of our tests.


unfortunately my plan is not possible,

the hw device im using with actisense reader sw. is only able to read (not write)

(its not a genuine actisense device )

so im stuck with the annoyance at present .. as i utterly object to pay aud$350 for an actisense device - simply to fix an issue with incompatability between victron and raymarine.. !!

and further.... i investigated using the “venus data instance change” methodology,

and whilst i was able to ssh into and ccsss venus root directory etc...

my knowledge and skill of linux etc is too poor to attempt messing around with special tools in the venus file system to make changes to config files etc

.. and this would at best ONLY change the nmea forwarded instances, and not the victorn can bus device ... so it would not really solve the problem...


i look fwd to hear of your success .. presumably using either actisense or maretron tools to chnge the data instances.

Just confirmed by Victron (mvader) that Raymarine uses data instance. See my question "How to change data instanc". So then our testing with interface was correct and we know this for sure. Unfortunately, it is complex to change without a good knowledge of programming. Expensive to buy hardware, but maybe the dealer or others have that you can borrow?

Had the same issue. Posted about it in a thread in here somewhere.


I ended up configuring and ssh’ing into my Cerbo. I then used dbus-spy to change the data instance.

thanks for confirmation,

im going to post and ask victron to update their documentation,

ive wasted hours following their directions

im working on a solution to make my hw bidirectional. so i can use actisense to program data instances,

im glad we got this resolved.

sunnycoastgreg avatar image
sunnycoastgreg answered ·

just to add some additinal info & close this one out.


the Venus GX has via its UI (see user manual) the ability to change a device instance for an n2k device ... so this should avoid need to use the other methods described in victron nmea2000 documents ..

the venus manual has beenupdated with a lot of additional info (make sure you get the latest version)

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.

sunnycoastgreg avatar image
sunnycoastgreg answered ·

here is the victron page that describes how to make the changes..
note that per this doc.. it states

Raymarine needs the device instance to be different in order to show information for (for example) multiple batteries. They use the data-instance to connect multiple products, for example gps-es, as a way of redundancy.

so it looks like we need to change “device instance” (NOT data instance as i originally thought
in above post)

I would still like someone more knowledgable than me to confirm this .. before i go messing with command line changes &/or actisense n2k changes

https://www.victronenergy.com/live/ve.can:changing_nmea2000_instances

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.

sunnycoastgreg avatar image
sunnycoastgreg answered ·

im having pretty much the same problem, only multiplied by 3 rather than 2 in your case..
(i have a BMV shunt, and solar MPTT charger - both connected via Ve.direct ports on venus gx)
plus a victron multibank charger (three battery banks) connected to n2k bus direct (skylla Ve.Can)
Hence I see THREE battery=0 instances (voltage & current) on the n2k bus
(as each of above outputs the “first” battery as data instance =0)
likewise for battery 1 & 2 instances I see multiple.

A couple of notes in case you were not aware
1) Nmea battery data? or device? instance =0. is shown on Raymarine as “Battery 1”
Battery instance =1 is raymarine battery 2 (& so on)
the LH3 axiom supports up to 5 batteries (1 to 5) which correspond to
n2k battery instances 0 to 4
(confusing huh ... thanks raymarine for being DIFFERENT .. and difficult)
2) the venus (or cerbo in your case) takes the MPPT charger input on ve.direct
and outputs onto n2k bus TWO battery & Current instances (0 & 1 )
these correspond to the “battery” (=0) the solar charger is connected
AND the “PV array“ (=1) .. for both there are voltage and current,
Plus for the PV it also provides power (in a different PGN - not sure which at present)

consequence of above : the Raymarine “battery” display flips between each of the 2 (or 3 ) readings
From what I gather from reading this and various other forums and sources,
its a lot to do with the “poor” suppport (incomplete nmea2000 implmentation by Raymarine)
of n2k messages on Raymarine LH3 MFDs.
(& frankly this is not the only poor raymarine n2k implmentation Ive found so far)

From what i gather so far .... it needs the “data? or device? instances” for some of the above devices changed
but here is where itgets tricky
a) The BMV and MPPT instances cannot be changed directly, but rather need to be changed
in the Venus/cerbo device - as this is where they are formatted and output onto the n2k bus.
(victron call this a “virtual device”)
b) For the skylla? (& other Ve.can devices - that are direct connected to n2k) .. I believe??
they have to be changed in the device themselves.

The Victron web site has references/docs on methods to do both a) & b) above

Given that I have more than 5 “battery” reporting devices .. i cannot display them all on axiom
regardless of the changes, but either way i need them all to be unique - to avoid the
axiom “flipping” between multiple devices - with same data instance

Im hoping that others &/or Victron will correct me if any of above is incorrect
.. and hopefully confirm if im on the correct track with how to fix the problem.


HELP please :)

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.