article

mvader (Victron Energy) avatar image
mvader (Victron Energy) posted

RV-C protocol and Victron

Hi,

The RV-C protocol is for RVs what NMEA2000 (aka N2K) is for boats.

This article is to explain the possible benefits of integration and some technical pointers on where to start.

RV-C is canbus based; documentation available publicly; and for what I’ve understood much simpler to implement than NMEA2000 is. Its mostly used in the USA, I think, maybe also in Australia. I have not heard about RV-C in Europe.

Possible Benefits:

1) it would be nice to have GX devices read data from Garnet seelevel tank senders; and possible other RV-C compatible tank senders. (Garnet seems to be by far the most popular one).

- it could be nice to transmit some information out on RV-C, such as battery voltage and SOC; so that it can be displayed to other manufacturers displays. Note that I’m not familiar with what type if displays are used in motorhomes/RVs that use RV-C.

Regarding that last point, the big new coming feature in Venus OS, integration on marine MFD chartotters by means of a html5 webpage hosted on our side, will be get most of the same requirements done; and better in most cases than by trying to format Victron system metrics in a field oriented protocol such as NMEA2000 or RV-C. It does require (seamless) webbrowser capabilities on the side of the display.

Technical pointers

- Any sending or receiving of RV-C PGNs is best done on Venus OS / our GX product range.

- most of Venus OS is open source. And root access to our GX products is available.

- to integrate those seelevel tank senders; what is required is to make a command line executable or script; that listens to the canbus & when receiving data from on or more tank senders, publishes that data on the D-Bus. In the already existing format, documented here. Any non available data can be left out. More background on developing such driver is explained here.

- in case anyone makes something for reading tank levels; we’ll be more than happy to help & review and add it into standard Venus OS.

- to integrate onto a display that has webbrowsing capabilities, an HTML5 integration could be a better choice than working on RV-C. In most cases, all that needs doing to support a new brand of display is that a discovery protocol needs to be agreed on between the display and Venus OS: used by the display to show the button that opens the Victron (web-)page. To test the html5 integration; see latest sticky post regarding v2.30 release candidates for instructions. And, Source code of it is public.


Differences between RV-C and N2K wrt tank level

(Courtesy of Mark who has implemented both)

Major differences:

- NMEA2000 supports tank volumes with 0.1 liter resolution (int32) whereas RV-C supports one liter resolution (int16).

- RV-C implements an absolute liquid level field whereas NMEA2000 does not; that said, many OEM customers absolutely DO NOT want any device that reports absolute liquid levels because their customers will ultimately complain about absolute accuracy which means that the system must take tank shape into account, etc. For this reason, there are some benefits of not implementing the absolute level field.

- RV-C implements a tank diagnostic message whereas NMEA2000 does not; this allows for a greater degree of troubleshooting problems with an RV-C system as opposed to NMEA2000.

- NMEA2000 specifies specific CAN bus connector types and also specifies that the CAN bus must be electrically isolated; RV-C does not.

- NMEA2000’s handling of tank numbers and fluid types is a bit easier to follow. RV-C’s handling of this data involves one “tank instance number” which is implemented less easy to understand. RV-C does directly support LPG (propane) tank levels but NMEA2000 does not.

- NMEA2000 supports additional information such as two 70 character installation description fields, which are quite useful for a unit which may be hidden behind a panel. In addition, pretty much any major description or field may be changed via the CAN bus. RV-C doesn’t support remote configuration per se.



Venus OS
10 comments
2 |3000

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

natebert avatar image natebert commented ·

@mvader (Victron Energy Staff) Thank you for the informative post. I know of a few other folks who are interested in using RV-C style sensors with their Venus devices. Since it's been a while from the time that this was originally published back in April, do you know if there are there any recipe style articles available for implementing RV-C with Venus, much like the article found here? https://www.victronenergy.com/live/auto-generator-start-stop:start . (this was greatly helpful for me in implementing an auto-start with my system.)

I am not a developer to be able to develop a driver, but I would be happy to attempt to follow an instructional sheet of technical nature with supplied scripts, etc. and build any conversion circuits that may be needed to accompany them.

Thanks,
Nate

0 Likes 0 ·
mvader (Victron Energy) avatar image mvader (Victron Energy) ♦♦ natebert commented ·

Hi @Natebert for some reason I overlooked this message back in August; sorry. And no, no recipe style articles, it would be the more core software developer style: not too many guides; you'd need lots of patience and some experience and google. But sounds like its already done.

0 Likes 0 ·
mvader (Victron Energy) avatar image mvader (Victron Energy) ♦♦ commented ·

progress; @Kevin Windrem & @ben have been working on an implementation to read RV-C Seelevel tank data into Venus OS. Discussed here: https://community.victronenergy.com/questions/6170/rv-c-can-bus-tank-monitors.html?childToView=35180#comment-35180

0 Likes 0 ·
childcarepro avatar image childcarepro commented ·

It seems NMEA2000 is superior in nearly every respect BUT does not support propane tank levels. I would certainly like to have the ability to monitor my LPG levels too.

To put resolution into perspective, for a small 20 gallon (75.7L) tank, a 1 liter resolution amounts to 1.3% increments vs 0.13% for 0.1L resolution. BUT Garnet only claims 3/8" accuracy. That's great for a tall tank (2.3% resolution for 16" sender), but not great for a short wide tank (9.4% resolution for a 4" sender, but still better than 33%!). So at least in the case of SeeLevel senders, the protocol isn't the problem.

Still, despite the resolution limits, I FAR prefer SeeLevel to resistive senders due to its external mounting. It looks like my tanks are not super squat, thank goodness.

WRT LPG, my Winnie Via has LPG monitoring from a One Place monitor panel. Do most tanks with monitoring built in use some sort of analog voltage values? My One Place only has 1/4 tank resolution which would be lame if it gets continuous voltage readings, but maybe that's to avoid fielding accuracy complaints?

0 Likes 0 ·
Kevin Windrem avatar image Kevin Windrem childcarepro commented ·

I don't think it's necessary for a device like SeeLevel to handle LPG levels. I believe that the propane tank senders are resistive and as such could connect directly to Cerbo GV or Venus GX via their analog tank inputs.

A correction to mvaders post on Dec 02: Ben's and my work was for NMEA2000 version of SeeLevel not RV-C.

My tanks are 6" and 7" tall and with SeeLevel's short sensor, I'm seeing on the order of 2-3% steps in tank levels which is far better than 9% reported above.

My NMEA2000 tank repeater (which was started by Ben) is available at:

https://github.com/kwindrem/TankRepeater

0 Likes 0 ·
Show more comments
turn10-garage avatar image turn10-garage commented ·

Hello, I noticed this is a slightly older thread and was wondering with the introduction of the Cerbo GX and Touch 50 if some of this has been addressed in the Venus OS releases.

I would love to integrate the SeeLevel into my RV and also other RV-C compliant devices. Has anyone made any progress on the RV-C connections lately?

0 Likes 0 ·
Kevin Windrem avatar image Kevin Windrem turn10-garage commented ·

No progress on RV-C implementation and that probably won't happen unless someone takes it on themselves. However, as mentioned earlier, Garnett makes an N2K version of SeeLevel. It's not in their catalog and you'll need to contact them to get one.

There are issues with SeeLevel and Venus as discussed earlier and here:

https://community.victronenergy.com/questions/6170/rv-c-can-bus-tank-monitors.html?childToView=35180#comment-35180

And I have code and GUI modifications to overcome the limitations. Code is here:

https://github.com/kwindrem/TankRepeater


1 Like 1 ·
Jonathan avatar image Jonathan commented ·

I am in the process of upgrading/standardizing electrical and monitoring design on my sprinter van builds to Victron/Blue Sea including Cerbo GX. The only RV component that I am trying to maintain is use of Garnet SeeLevel II sensors/system. I have read through all related Blogs on this site and have been in contact with Garnet Canada to obtain a N2K version of SeeLevel monitor (p/n 709-N2K_NLP). A few questions before I pull the trigger....

Do I assume correctly that no additional progress or resolution has been completed by Victron to update Venus OS to allow for easier integration of Garnet SeeLevel II sensors/system to Cerbo GX?

Is all code and GUI modification documented here (https://github.com/kwindrem/SeeLevel-N2K-Victron-VenusOS) valid for use on Cerbo GX and has anyone proven it works on Cerbo GX?

I understand one end of cable requires proprietary 3M connector (purchase via Digikey) to make connection to Garnet 709-N2K_NLP display/controller but pinout of this connector and appropriate connector, pinout and connection point to Cerbo GX remains unclear and was hoping someone could clarify what they all are and/or provide a source to purchase completed cable with connectors.

Cheers & Thanks, Jonathan

0 Likes 0 ·
neoneddy avatar image neoneddy commented ·

I saw recently the Furrion MPPT Solar Controller has RV C-Bus , Any idea of this can work, or if any work is done to make that work so Venus OS and Read the Solar Data?

0 Likes 0 ·

Article

Contributors

mvader contributed to this article