20. Appendix
20.1. RV-C
20.1.1. Supported DGNs
This chapter describes which data of the supported devices are available and the corresponding DGNs (Data Group Numbers).
RV-C defines several messages. A detailed specification of the protocol and message definition is publicly available on RV-C.com.
20.1.2. RV-C out
Generic
All virtual devices support the following generic DGNs:
DGN | DGN# | Decimal | Description |
---|---|---|---|
PRODUCT_ID | 0xFEEB | 65259 | Manufacturer, product name, serial number |
SOFTWARE_ID | 0XFEDA | 65242 | Software version |
DM_RV | 0x1FECA | 130762 | Diagnostics |
VE.Bus Inverter/charger – com.victronenergy.vebus
Only VE.Bus MultiPlus/Quattro. Phoenix Inverter VE.Bus is also exported by this service, but then with number of AC inputs set to 0.
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
INVERTER_AC_STATUS_1 | 0x1FFD7 | 131031 | L1 – instance 65: AC out voltage, current, frequency L2 – instance 81: AC out voltage, current, frequency Note: Single-phase systems are supported. Split-phase systems (typical in US and CA) are supported. Three-phase systems are not supported; mainly because RV-C DGNs don't provide for the necessary fields. |
INVERTER_STATUS | 0x1FFD4 | 131028 | Instance 1: inverter status |
CHARGER_AC_STATUS_1 | 0x1FFCA | 131018 | L1 – instance 1: AC input voltage, current, frequency L2 – instance 17: AC input voltage, current, frequency Note: Single phase systems are supported. Split-phase systems (typical in US and CA) are supported. Three-phase systems are not supported; mainly because RV-C DGNs don't provide for the necessary fields. |
CHARGER_AC_STATUS_2 | 0x1FFC9 | 131017 | Instance 1: input current limit |
CHARGER_STATUS | 0x1FFC7 | 131015 | Instance 1: charger state |
CHARGER_STATUS_2 | 0x1FEA3 | 130723 | Instance 1: DC voltage, current |
CHARGER_CONFIGURATION_STATUS_2 | 0x1FF96 | 130966 | Instance 1: input current limit |
Commands
DGN | DGN# | Decimal | Value |
---|---|---|---|
INVERTER_COMMAND | 0x1FFD3 | 131027 | Inverter enable/disable |
CHARGER_COMMAND | 0x1FFC5 | 131013 | Charger enable/disable |
CHARGER_CONFIGURATION_COMMAND_2 | 0x1FF95 | 130965 | Charger input current limit |
Inverter – com.victronenergy.inverter
Phoenix inverter VE.Direct and Inverter RS.
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
INVERTER_AC_STATUS_1 | 0x1FFD7 | 131031 | L1 – instance 65: AC out voltage, current, frequency L2 – instance 81: AC out voltage, current, frequency Note: Single phase systems are supported. Split-phase systems (typical in US and CA) are supported. Three-phase systems are not supported; mainly because RV-C DGNs don't provide for the necessary fields. |
AC charger – com.victronenergy.charger
Skylla-I, Skylla-IP44/IP65, Phoenix Smart IP43 Charger.
Note: Instance fixed to 2.
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
CHARGER_AC_STATUS_1 | 0x1FFCA | 131018 | AC current |
CHARGER_AC_STATUS_2 | 0x1FFC9 | 131017 | Input current limit |
CHARGER_STATUS | 0x1FFC7 | 131015 | Charger state |
CHARGER_STATUS_2 | 0x1FEA3 | 130723 | DC instance 1: voltage, current output 1 DC instance 2: voltage, current output 2 DC instance 3: voltage, current output 3 Note: DC instance 2, 3 are not sent if not present |
CHARGER_CONFIGURATION_STATUS_2 | 0x1FF96 | 130966 | Input current limit |
Commands
DGN | DGN# | Decimal | Value |
---|---|---|---|
CHARGER_COMMAND | 0x1FFC5 | 131013 | Charger enable/disable |
CHARGER_CONFIGURATION_COMMAND_2 | 0x1FF95 | 130965 | Charger input current limit |
Solar charger – com.victronenergy.solarcharger
BlueSolar, SmartSolar, MPPT RS.
Note: Instance fixed to 1.
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
SOLAR_CONTROLLER_STATUS | 0x1FEB3 | 130739 | Operating state |
SOLAR_CONTROLLER_STATUS_5 | 0x1FE82 | 130690 | Total yield |
SOLAR_CONTROLLER_BATTERY_STATUS | 0x1FE80 | 130688 | Battery voltage, current |
SOLAR_CONTROLLER_ARRAY_STATUS | 0x1FDFF | 130559 | PV voltage, current |
Battery/BMS – com.victronenergy.battery
BMV, SmartShunt, Lynx Shunt, Lynx Ion, Lynx Smart BMS, BMS-Can batteries.
Note: Main (house battery): Instance 1, priority 119
Note: Starter: Instance 2, priority 20
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
DC_SOURCE_STATUS_1 | 0x1FFFD | 131069 | Voltage, current Note: not sent for starter battery if not present |
DC_SOURCE_STATUS_2 | 0x1FFFC | 131068 | Temperature, soc, time remaining |
DC_SOURCE_STATUS_4 | 0x1FEC9 | 130761 | Desired maximum voltage, current |
Tanks – com.victronenergy.tank
Tank level senders connected to the tank level input of a GX device, GX Tank 140, NMEA 2000 or VE.Can.
The tank instance is a combination of fluid type and occurence, where first, second, third, etc. corresponds to 0-15, 16-31, 32-47, respectively. So 3 is the first LPG tank and 16 is the second Fuel tank. We only use the first instance, i.e. tank instances 0-15.
Status
DGN | DGN# | Decimal | Value |
---|---|---|---|
TANK_STATUS | 0x1FFB7 | 130999 | Fluid type, relative level, absolute level, tank size Resolution fixed to 100 |
RV-C supports only 4 tank types (0..3), while Victron supports up to 11 tank types. The table with the additional tank types is Victron specific and is compatible with the tank types we use.
Supported tank types:
Venus / NMEA 2000 | RV-C | |
---|---|---|
Fluid type | Fluid code | Type |
Fuel | 0 | 4 (Vendor defined) |
Fresh water | 1 | 0 |
Waste (Grey) water | 2 | 2 |
Livewell | 3 | 5 (Vendor defined) |
Oil | 4 | 6 (Vendor defined) |
Black water | 5 | 1 |
Gasoline | 6 | 7 (Vendor defined) |
Diesel | 7 | 8 (Vendor defined) |
LPG | 8 | 3 |
LNG | 9 | 9 (Vendor defined) |
Hydraulic oil | 10 | 10 (Vendor defined) |
Raw water | 11 | 11 (Vendor defined) |
Note that Vendor defined means that these types are not defined in RV-C, but only used for Victron RV-C devices.
20.1.3. DGN 60928 Unique Identity Numbers
The GX device will assign an individual Unique Identity Number to each virtual device. Change it only when using multiple GX devices in one RV-C network.
The Unique Identity Number is used for the GX internal CAN-bus device "database" to compare devices during address determination. The Unique Identity Number can be changed in increments of 500, starting at 500. Example: The first GX device is automatically assigned the Unique Identity Number 1. For a second GX device, the unique identity number must be set to 501 (1 + 500).
20.1.4. RV-C in
Tanks
For compatible devices see chapter Supported devices.
Batteries
For compatible devices see chapter Supported devices.
20.1.5. Device Classes
This section provides a basic overview of how each device class will participate in the RV-C specification. In any case, "Level 1" integration is largely supported (basic operation), with case-by-case enhancements.
AC standalone Chargers
The AC-based charger class reports its operational status and configuration status using the CHARGER_xx group of RV-C messages. User control must include basic on/off switching via RV-C as well as adjusting shore (AC) power limits.
AC standalone Inverters
This class of AC inverters reports its operational status using the INVERTER_xx group of RV-C reports. Incoming command is limited to on/off (enable/disable) via RV-C.
AC Charger / Inverter
Combined inverter/charger - reports both CHARGER_xx and INVERTER_xx messages.
Solar Controllers
Solar chargers will report their operational status in real time.
SOC Meters
SOC meters can be used to report current battery health via RV-C: voltage, current, temperature, SOC, etc. RV-C requires that only ONE device speaks for a given battery at a time, so if a proper BMS is installed, that will be the data source.
BMS (Victron, or Victron 3rd party supported)
In many cases, the battery(s) in the system will be directly attached to a Victron Cerbo GX or Cerbo-S GX, either via Victron equipment or via supported 3rd party compatible BMSs. Such batteries should be represented into the RV-C environment via the DC_SOURCE_STATUSxx messages.
Tank Level meters
Tank meters will be translated into RV-C messages, carrying forward the existing tank ID/ VRM Instance numbers.
20.1.6. Instance Translation
RV-C utilises Instances in several ways:
DC Source Instance
AC Line
Device Instance (context dependent)
Each usage of the Instance has a specific meaning, and a given device may at times utilise one or more of these instances.
DC Source Instance
In RV-C, a DC source is something that can generate and (optionally) store energy. Typically a battery but can also be a fuel cell or the output side of a DC contactor/disconnector.
A DC source can be thought of as a battery system and its associated physical bus, for example, the house battery, the DC bus bar and DC wiring. DC Source Instances are used to associate subsequent devices (e.g. a charger or an inverter) to the ‘DC bus’ it is connected to.
In this way it is possible to map out how all devices are connected with regards to their DC bus via their DC Source Instance value (starter battery and its alternator, house battery and its chargers etc.).
Note that in some cases (e. g. a DC-DC Converter or a Contactor), a device may be associated with two different DC Source instances. For example, a DC-DC converter could be associated with the two different batteries to which it is connected, while a contactor could be associated with the battery to which it is connected; the DC bus on the load side of the contactor then has its own DC Source instance
Though Victron is able to support more than one battery (a house and starter battery), the primary focus is on one battery. The dbus-rvc module will present the ‘primary’ battery to RV-C as ‘DC Source Instance = 1’ (house battery) information.
If present, additional Victron sensing devices will be presented using DC Source Instances of 2. An example is the optional starter battery voltage sensing on SmartShunts.
AC Line
AC line is much simpler, in that RV-C assumes a limited AC system, typically defined as Line 1 or Line 2. Victron supports 3-phase systems, which is not included in the RV-C specification. All installations with 3-phase systems are not supported by the dbus-RVC module and AC-related RV-C messages are suppressed.
Device Instance
Device Instance is a way to separate different physical devices of the same type. Example: if an installation contains two AC chargers attached to the same battery, each would be assigned a separate Device Instance while both would share the same DC Source Instance. Each charger would also be associated with an AC line, which may or may not be the same. In this way the AC charger is fully described in how it is wired on the AC and DC side while being able to be uniquely identified through its Device Instance.
Devices Instances are relevant within a given class of devices. An AC charger can define Device Instances 1 and 2, and these are unrelated to Device Instances 1 and 2 of a DC motor controller.
Note
With the exception of tank monitoring, Device Instances are hard coded as 1 for each specific device class unless specified otherwise in the PGN table. Because the AC charger has a hardcoded instance of 2, to allow coexistance with a inverter/charger with charger instance 1.
20.1.7. RV-C Fault and Error Handling
RV-C fault reporting:
Fault conditions are reported using the DM_RV DGN (0x1FECA).
In release 1 the operational status bits, the yellow and the red light field are supported because they are stored in DSA.
SPN is set to 0xFFFFFF during normal conditions, and 0x0 at any time a warning or fault condition exists in supported Victron equipment.
FMI is set of 0x1F (Failure mode not available) at all times.
This simple mapping allows external user displays to indicate an alarm or fault condition in a given Victron device, at which time the user should utilise Victron diagnostic aids for additional insight.
20.1.8. RV-C Device Priority
A critical concept in RV-C is the application of Device Priorities.
When used, a given device's priority will impact if it is allowed to transmit DGNs (e.g. a BMS with a higher priority should transmit details of the battery's status, while a MPPT controller with a lower priority should back down).
Device Priority is also at times used to allow for the favouring of one node vs. another, for example, it may be more desirable to use shore power AC vs. the inverter.
In the implementation of dbus-rvc, the following priorities will be hard coded into transmitted messages:
DC_SOURCE_STATUS_xx messages: Priority = 119 (SOC/BMS) to allow native RV-C batteries have a higher priority.
SOLAR_xx messages: Charger Priority = 110
CHARGER_xx messages (Inverter/Chargers):: Charger Priority = 100
CHARGER_xx messages (AC Chargers):: Charger Priority = 80