mk2vsc

Victron VEConfigure .rvms and .rvsc configuration files without VEConfigure: format, checksum, settings table, editor.

View the Project on GitHub kylehart/mk2vsc

The settings table

Each BareSettingData block carries a flat array of 192 little-endian u16 values starting at block offset +0x59 (device form; +0x63 in the GUI’s upload form, see docs/FORMAT.md §4). Entry n of that array is VE.Bus setting ID n as documented by the community MK2/MK3 protocol reference, xcellsior/ve-bus-programming (FINDINGS.md, “Persistent Settings IDs 0-255”). The IDs, scales and flag bits below marked xcellsior come from that reference; the evidence that the file’s array is that table is ours.

Names for settings 0 to 65 and the flag bits are Victron’s own, from the public document “Interfacing with VE.Bus products, MK2 Protocol 3.14” (section 7.3.13, Setting and Variable IDs; Victron Energy, victronenergy.com/upload/documents). That document also defines CommandGetSettingInfo, whose scale/offset/default/min/max reply is exactly the per-setting record stored in BareSettingInfo (display value = scale x (raw + offset), scale = Sc if Sc > 0 else 1/(-Sc)). Settings above 65 are not in that document. For every setting index, the table also shows VEConfigure’s own internal identifier (EPROM_*), taken from the Delphi symbol table of the VEConfig.exe binary as extracted and published by talas9/rvsc-tools (MIT), whose .rvsc viewer decoded the same settings schema independently in July 2026. An identifier is an identity, not a meaning: it settles which setting a slot is (vs2StartOnSOC, IInvLimitDuringAssist, GridSettingsValidCheckerA) and what the vendor calls the reserved ones (NotDefinedYet, GridSettingsInt), while the units and ranges come from the device schema.

The column “In VEConfigure” says where the setting appears in the vendor GUI as tab › group › field label, so a change can be typed into VEConfigure by hand or read off a screenshot. The placement was observed on VEConfigure 1.33 and published by talas9/rvsc-tools (MIT); it is keyed by identifier, not by index (that project numbers settings from 1, so its “idx 7” is setting ID 6 here). “probable” marks a placement tied by name only. Two boxes that table left unplaced, UPS function and Dynamic current limiter, are placed here from Victron’s MK2 document and xcellsior’s toggle-and-diff (setting 0 bit 3, inverted, and setting 1 bit 12). The nine settings of the Ignore AC input tab (52 to 59 and 70) are placed from our own screenshot of that tab (see the vs2 section below); talas9’s unit was not in that mode. Seven GUI fields are computed by the GUI from other settings and six have no known setting; mk2vsc fields --by-tab lists all of them in VEConfigure’s own layout. The unit in that column is what the GUI displays; the stored quantity is in the Type and Unit columns. The placement data lives in mk2vsc/ui.py.

The table is generated from mk2vsc/fields.py by tools/gen_fields_table.py. Regenerate it after any change to the code; the code is the source of truth.

How the mapping was found

Two values were pinned early, independently of any reference: absorption voltage at +0x5d and float voltage at +0x5f, confirmed by editing them, uploading through VRM, and reading them back on live systems. When we later compared the array against the reference’s setting IDs, those two sit exactly where IDs 2 and 3 would if ID 0 started at +0x59. Reading the rest of the array under that assumption across all 178 blocks of the well-formed corpus gave values that only make sense if the mapping is right:

ID reads meaning under the reference why that is convincing
5 120 on every device-form block inverter output voltage, volts these are 120 V units; upload-form blocks read 120 at +10
6 500 AC input 1 current limit, /10 A 50.0 A matches the installation
4 35 charge current, A one deliberate installer limit on all eight inverters
11, 12 4850, 200 DC low shutdown 48.50 V, restart offset 2.00 V a sane LFP floor and a 2 V restart band, fleet-wide
64, 65 200/300, 190/196 battery capacity Ah; SoC at bulk end × 0.5 % 2 and 3 battery modules of 100 Ah; the reference says “190 = 95 % for LiFePO4”
73 6300 a voltage threshold 63.00 V is the DC over-voltage protection level in our alarm history
81 0 or 1 grid code active 0 on every bare download, 1 on every GUI-authored ESS block
88 5200 solar & wind priority voltage its high byte, 0x14 = 20, sits at +0x10a; see the Virtual Switch section

No single line is proof; the pattern is. tests/test_claims.py re-checks each row on every fixture.

Confidence vocabulary

Level Meaning What it permits
CONFIRMED we wrote it, uploaded it, read it back on hardware, or matched it to a VEConfigure screen edit with mk2vsc edit
HIGH reference ID and scale give a physically sensible value on every corpus block, tied to a known property of the installation edit with mk2vsc edit (you are still the first to write it)
MEDIUM reference ID exists; scale or meaning not checked against our systems read; edit only with --allow-unverified
LOW plausible meaning from context only read
UNKNOWN observed values recorded, meaning unknown read

Flag registers (IDs 0 and 1) are never edited by the writer regardless of level; we have not toggled a bit on hardware.

The device’s own schema

The BareSettingInfo section is a table of one 10-byte record per setting: i16 scale | i16 offset | u16 default | u16 min | u16 max. The engineering value of a raw u16 is (raw + offset) / |scale| for a negative scale (a divisor) and (raw + offset) * scale for a positive one (a unit such as 15 minutes). mk2vsc.schema reads it, the last column of the table below shows it, and the writer refuses any raw value outside the device’s own min/max. 189 of the 190 bounded settings (0 to 189) in the corpus lie inside their range; the exception is the flags register, whose “max” (0x6ffc) is the mask of settable bits.

What the schema settles on its own: the durations in the Virtual Switch block are raw - 1 (in seconds or minutes), charge efficiency is (raw + 1) / 256, setting 62 is the output frequency stored as a period (41667 / 2500 = 16.667 ms = 60 Hz, range 45 to 65 Hz), settings 63 and 71 are signed values centred on 32768, settings 70 and 74 are percentages at the half-percent scale, and setting 81 is a 0 to 32 index rather than a flag. What it does not give is names: scale and range narrow a setting’s identity, they do not name it.

The Virtual Switch relay mode (IDs 15 to 43)

Setting 15 (vsUsage) selects what the Virtual Switch does: 0 not used, 1 controls the relay, 2 ignores the AC input. Settings 16 to 43 are the relay-mode conditions: on-levels (16 to 18), on-times (19 to 27), off-levels (28 to 30), off-times (31 to 42) and a minimum on time (43), all named by Victron. Our systems use the ignore-AC mode, so these hold defaults.

The Virtual Switch ignore-AC mode (IDs 52 to 59, 70)

Victron calls these the vs2 settings. The “Virtual switch > Ignore AC input” tab holds eight values, a SoC threshold and a drop-down:

IDs Tab field Storage
70 do not ignore AC when SoC lower than x0.5 %, MEDIUM: not in Victron’s document; 25 % on every configured block, the value the installer set fleet-wide
52, 53 do not ignore AC when load higher than … W for … s current in 0.01 A (HIGH); seconds = raw - 1 (MEDIUM)
54, 55 do not ignore AC when Udc lower than … V for … s volts x100 (CONFIRMED); seconds = raw - 1 (MEDIUM)
56, 57 ignore AC when load lower than … W for … min current in 0.01 A (HIGH); minutes = raw - 1 (MEDIUM)
58, 59 ignore AC when Udc higher than … V for … min volts x100 (CONFIRMED); minutes = raw - 1 (MEDIUM)

The load thresholds are stored as current, not watts: the tab showed 1000 W and 750 W on a 120 V inverter, and the download from the same period holds 833 and 625, which are 8.33 A and 6.25 A. Every load value in the corpus is a round number of watts at 120 V (1750 = 2100 W, 1250 = 1500 W, 1208 = 1450 W). To set a threshold in watts, divide by the inverter output voltage: mk2vsc edit f.rvms vs_load_high=17.5 is 2100 W on a 120 V system.

The four durations (53, 55, 57, 59) sit next to their thresholds. The device schema gives them offset -1: the value is raw - 1, in seconds for 53 and 55 (unit 1/60 minute) and minutes for 57 and 59. Current blocks read 3 s / 20 s / 1 min / 1 min, and 20 s and 1 min are the values on the tab. Settings 16 to 18 and 28 to 30 hold a second copy of load-high / Udc-high / Udc-low values with the same scales; probably the same conditions for another context.

The flag registers (IDs 0, 1, 60, 61)

Victron numbers the flags 0 to 63 across four registers: Flags[0..15] are the bits of setting 0, [16..31] of setting 1, [32..47] of setting 60, [48..63] of setting 61. From the MK2 document:

Flag Bit of Meaning when set
0, 1 setting 0 MultiPhaseSystem, MultiPhaseLeader
2 setting 0 60 Hz
3 / 7 setting 0 Disable wave check (the “UPS function” option), bit 7 must be its inverse
4 setting 0 DoNotStopAfter10HrBulk
5 setting 0 AssistEnabled (PowerAssist)
6, 8 setting 0 DisableCharge, DisableAES
11 setting 0 EnableReducedFloat
13, 14, 15 setting 0 Disable ground relay, Weak AC input, Remote overrules AC2
16 to 26 setting 1 bits 0 to 10 Virtual Switch relay-mode alarm conditions (vsonBulkProtection … vsInvert)
27, 28 setting 1 bits 11, 12 Accept wide input frequency, Dynamic current limiter
29, 30, 31 setting 1 bits 13 to 15 Tubular plate traction curve, Remote overrules AC1, Low power shutdown in AES
32, 33, 34 setting 60 bits 0 to 2 vs2offWhenAC1Available, vs2Invert, vsSetInverterPeriodTime

Bits 9, 10 and 12 of setting 0 are “not promoted options”; Victron warns that changing them can damage the device. The schema’s max for each flag register is the mask of bits the firmware supports. The writer does not edit flag registers.

IDs 128–191

IDs 129 to 189 read 0xffff on every block. IDs 128, 190 and 191 are the grid-code words: 0xffff on blocks that never had a grid code; populated once a grid code is set (128 and 191 follow the inverter’s role in the pair, 190 reads 0xfff5); partly retained after a grid code is removed. The array ends after ID 191; the assistant area follows (docs/FORMAT.md §5).

The table

| ID | Offset | Name | VEConfigure identifier | VEConfigure label | In VEConfigure (tab › group › field) | Type / scale | Unit | Confidence | Presumed usage | Evidence | Observed values | Device schema (default; min to max) | |—:|:——:|——|————————|——————-|————————————–|————–|——|:———-:|—————-|———-|—————–|————————————-| | 0 | +0x059 | flags0 | EPROM_FlagsWord0 | Flags0 | bit 2: General › System frequency › System frequency; bit 3: Grid › Transfer switch › UPS function (inverted); bit 4: Charger › Charger enable › Stop after excessive bulk (inverted) (probable); bit 5: Inverter › PowerAssist › PowerAssist; bit 6: Charger › Charger enable › Enable charger (inverted); bit 8: Inverter › enable AES › enable AES (inverted) (probable); bit 11: Charger › Storage / Equalization › Storage mode; bit 13: Inverter › General › Ground relay (inverted) (probable); bit 14: Charger › Charger enable › Weak AC input; bit 15: General › Shore limit › Overruled by remote (probable) | u16 bitmask | bitmask | HIGH | Bit register of on/off options; see the bit table. The schema’s max (0x6ffc) is the mask of settable bits. Bits: bit 0 = MultiPhaseSystem; bit 1 = MultiPhaseLeader; bit 2 = 60 Hz; bit 3 = Disable wave check (UPS function off); bit 4 = DoNotStopAfter10HrBulk; bit 5 = AssistEnabled (PowerAssist); bit 6 = DisableCharge; bit 7 = inverse of bit 3; bit 8 = DisableAES; bit 9 = not promoted; bit 10 = not promoted; bit 11 = EnableReducedFloat (storage mode, per the Victron doc; xcellsior reads the bit as adaptive charge. On every GUI- or device-authored block here bit 11 is set exactly when charge_characteristic = 3, so the corpus cannot separate the two readings); bit 12 = not promoted; bit 13 = Disable ground relay; bit 14 = Weak AC input; bit 15 = Remote overrules AC2. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 7.3.13.3 flag table (bits 0-15). | 0x81f4 (most), 0x89f4, 0x89b4, 0x817c, 0x81b4 | default 35252; 0 to 28668 | | 1 | +0x05b | flags1 | EPROM_FlagsWord1 | Flags1 | bit 0: Virtual switch › A: Set VS ON › set VS on when bulk protection is activated (charger stopped after 10Hr bulk); bit 1: Virtual switch › A: Set VS ON › Temperature pre-alarm (VS ON condition); bit 2: Virtual switch › A: Set VS ON › Low-battery pre-alarm (VS ON condition); bit 3: Virtual switch › A: Set VS ON › Overload pre-alarm (VS ON condition); bit 4: Virtual switch › A: Set VS ON › Udc ripple pre-alarm (VS ON condition); bit 5: Virtual switch › B: Set VS OFF › Temperature pre-alarm (VS OFF condition); bit 6: Virtual switch › B: Set VS OFF › Low-battery pre-alarm (VS OFF condition); bit 7: Virtual switch › B: Set VS OFF › Overload pre-alarm (VS OFF condition); bit 8: Virtual switch › B: Set VS OFF › Udc ripple pre-alarm (VS OFF condition); bit 9: Virtual switch › A: Set VS ON › set VS on when general system failure occurs; bit 10: Virtual switch › Usage › Invert virtual switch usage; bit 11: Grid › Transfer switch › Accept wide input frequency range (45-65 Hz); bit 12: General › Other › Dynamic current limiter; bit 13: Charger › Storage / Equalization › Use equalization (tubular plate traction battery curve); bit 14: General › Shore limit › Overruled by remote (probable) | u16 bitmask | bitmask | HIGH | Bit register: Virtual Switch relay-mode alarm conditions (bits 0-10) and general options (bits 11-15). Bits: bit 0 = vsonBulkProtection; bit 1 = vsonTemperaturePreAlarm; bit 2 = vsonLowBatteryPreAlarm; bit 3 = vsonOverloadPreAlarm; bit 4 = vsonUBatRipplePreAlarm; bit 5 = vsoffTemperaturePreAlarm; bit 6 = vsoffLowBatteryPreAlarm; bit 7 = vsoffOverloadPreAlarm; bit 8 = vsoffUBatRipplePreAlarm; bit 9 = vsonWhenGeneralFailure; bit 10 = vsInvert; bit 11 = Accept wide input frequency; bit 12 = Dynamic current limiter; bit 13 = Tubular plate traction battery curve; bit 14 = Remote overrules AC1; bit 15 = Low power shutdown in AES. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 flag table (bits 16-31). | 0x4dfe on every device-form block | default 19966; 0 to 65535 | | 2 | +0x05d | absorption_V | EPROM_UBatAbs | UBatAbsorption | Charger › Charge curve › Absorption voltage | u16 / 100 | V | CONFIRMED | Charger absorption voltage. With a CAN-bus BMS and DVCC active the BMS charge-voltage limit overrides it. | Written by us on four systems via Remote VEConfigure and read back; Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: UBatAbsorption; schema 48.00 to 64.00 V. | 5600, 5650, 5680, 5760 (also 4800 on a mis-commissioned unit) | default 57.6; 48 to 64 | | 3 | +0x05f | float_V | EPROM_UBatFloat | UBatFloat | Charger › Charge curve › Float voltage | u16 / 100 | V | CONFIRMED | Charger float voltage. | Written by us (54.0 -> 54.1 V on two inverters, uploaded, read back); Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: UBatFloat. | 5400, 5410, 5420, 5520 | default 55.2; 48 to 64 | | 4 | +0x061 | charge_current_A | EPROM_IBatBulk | IBatBulk | Charger › Charge curve › Charge current | u16 | A | HIGH | Maximum battery charge current. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: IBatBulk; schema 0 to 35 A on this model. | 35 | default 35; 0 to 35 | | 5 | +0x063 | inverter_output_V | EPROM_UInvSetpoint | UInvSetpoint | Inverter › General › Inverter output voltage | u16 | V | HIGH | Nominal AC output voltage. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: UInvSetpoint; schema 95 to 128 V; 120 on every block. | 120 | default 120; 95 to 128 | | 6 | +0x065 | ac1_input_limit_A | EPROM_IMainsLimit | IMainsLimit (AC1) | General › Shore limit › AC input current limit | u16 / 10 | A | HIGH | AC input 1 current limit (the persistent value; the GX can override at runtime). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: IMainsLimit (AC1), 0.1 A units; schema 1.0 to 100.0 A. | 500 | default 50; 1 to 100 | | 7 | +0x067 | repeated_absorption_time_min | EPROM_EqualiseQuarters | Repeated Absorption Time | Charger › Absorption timing › Repeated absorption time (probable) | u16 | min | HIGH | Duration of the periodic re-absorption, in minutes (raw x 15). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema scale 15, 1 to 96 (15 min to 24 h). | 2, 4 | default 4; 1 to 96 | | 8 | +0x069 | repeated_absorption_interval_min | EPROM_FloatDays | Repeated Absorption Interval | Charger › Absorption timing › Repeated absorption interval (probable) | u16 | min | HIGH | Interval between re-absorptions, in minutes (raw x 360, i.e. 6-hour steps; VEConfigure shows days = minutes / 1440). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema scale 360, 1 to 180. | 4, 28 | default 28; 1 to 180 | | 9 | +0x06b | max_absorption_time_min | EPROM_AbsorptionHours | (Maximum) Absorption duration | Charger › Absorption timing › Maximum absorption time | u16 | min | HIGH | Maximum absorption time, in minutes (raw x 60). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema scale 60, 1 to 24 h. | 1, 8 | default 8; 1 to 24 | | 10 | +0x06d | charge_characteristic | EPROM_ChargeCharacteristic | Charge characteristic | Charger › Charge curve › Charge curve | u16 | enum | HIGH | Charge curve: 1 = Fixed, 2 = Adaptive, 3 = Adaptive + BatterySafe (VEConfigure’s option text). Our lithium systems read 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; option text from VEConfigure via VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 1, 3 | default 3; 1 to 3 | | 11 | +0x06f | dc_low_shutdown_V | EPROM_UBat2Low | UBatLowLimit for Inverter | Inverter › General › DC input low shut-down | u16 / 100 | V | HIGH | Battery voltage at which the inverter shuts down. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema 37.20 to 52.00 V. | 4850, 3720, 4800 | default 37.2; 37.2 to 52 | | 12 | +0x071 | dc_low_restart_offset_V | EPROM_UBat2LowMargin | UBatLow hysteresis for Inverter | | u16 / 100 | V | HIGH | Hysteresis above the low limit before the inverter restarts. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema 1.00 to 24.00 V. | 200, 640 | default 6.4; 1 to 24 | | 13 | +0x073 | number_of_slaves | EPROM_NrOfSlaves | Number of slaves connected | | u16 | | HIGH | Number of slave units in a parallel set. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema unused on this model; 0. | 0 | unused | | 14 | +0x075 | three_phase_setting | EPROM_SpecialThreePhase | Special three phase setting | | u16 | enum | HIGH | 0 = 3 phase, 1 = split phase 180, 2 = 2-leg 3-phase 120. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema unused on this model; 0. | 0 | unused | | 15 | +0x077 | vs_usage | EPROM_vsUsage | vsUsage | Virtual switch › Usage › Specify virtual switch usage | u16 | enum | HIGH | Virtual Switch usage: 0 do not use, 1 drive the aux relay, 2 ignore AC input, 3 dedicated ignore AC input, 4 dedicated generator control, 5 relay + dedicated ignore AC, 6 ignore AC input (VS off = ignore). Our systems read 3. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 (0 to 2); options 3 to 6 from VEConfigure’s UI via VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 0, 1, 3 | default 1; 0 to 6 | | 16 | +0x079 | vs_on_inverter_current_high_A | EPROM_vsonIInvHigh | vsonIInvHigh | Virtual switch › A: Set VS ON › when load higher than (probable) | u16 / 100 | A | HIGH | Virtual Switch (relay mode, settings 15 to 43): on when inverter current higher than (0.01 A; VEConfigure shows watts = A x output voltage). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsonIInvHigh; device schema (BareSettingInfo = CommandGetSettingInfo records). | 2125 | default 21.25; 0 to 91.66 | | 17 | +0x07b | vs_on_ubat_high_V | EPROM_vsonUBatHigh | vsonUBatHigh | Virtual switch › A: Set VS ON › when Udc higher than (probable) | u16 / 100 | V | HIGH | Virtual Switch (relay mode, settings 15 to 43): on when battery voltage higher than (relay mode; 6400 is the schema default and is unchanged on every block, as is 4700 for 18; xcellsior reads 17 as a 64 V over-voltage threshold). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsonUBatHigh; device schema (BareSettingInfo = CommandGetSettingInfo records). | 6400 | default 64; 0 to 70 | | 18 | +0x07d | vs_on_ubat_low_V | EPROM_vsonUBatLow | vsonUBatLow | Virtual switch › A: Set VS ON › when Udc lower than (probable) | u16 / 100 | V | HIGH | Virtual Switch (relay mode, settings 15 to 43): on when battery voltage lower than. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsonUBatLow; device schema (BareSettingInfo = CommandGetSettingInfo records). | 4700 | default 47; 0 to 70 | | 19 | +0x07f | vs_ton_inverter_current_high | EPROM_vstonIInvHigh | vstonIInvHigh | Virtual switch › A: Set VS ON › when load higher than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsonIInvHigh, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonIInvHigh (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 20 | +0x081 | vs_ton_ubat_high | EPROM_vstonUBatHigh | vstonUBatHigh | Virtual switch › A: Set VS ON › when Udc higher than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsonUBatHigh, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonUBatHigh (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 21 | +0x083 | vs_ton_ubat_low | EPROM_vstonUBatLow | vstonUBatLow | Virtual switch › A: Set VS ON › when Udc lower than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsonUBatLow, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonUBatLow (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 22 | +0x085 | vs_ton_not_charging | EPROM_vstonNotCharging | vstonNotCharging | Virtual switch › A: Set VS ON › when not charging for (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after not charging for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonNotCharging (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 23 | +0x087 | vs_ton_fan_on | EPROM_vstonFanOn | vstonFanOn | Virtual switch › A: Set VS ON › when fan on for (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after fan on for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonFanOn (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 24 | +0x089 | vs_ton_temperature_alarm | EPROM_vstonTemperatureAlarm | vstonTemperatureAlarm | Virtual switch › A: Set VS ON › Temperature pre-alarm (VS ON delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after temperature alarm for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonTemperatureAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 2 | default 1; -1 to 254 | | 25 | +0x08b | vs_ton_low_battery_alarm | EPROM_vstonLowBatteryAlarm | vstonLowBatteryAlarm | Virtual switch › A: Set VS ON › Low-battery pre-alarm (VS ON delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after low battery alarm for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonLowBatteryAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 2 | default 1; -1 to 254 | | 26 | +0x08d | vs_ton_overload_alarm | EPROM_vstonOverloadAlarm | vstonOverloadAlarm | Virtual switch › A: Set VS ON › Overload pre-alarm (VS ON delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after overload alarm for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonOverloadAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 2 | default 1; -1 to 254 | | 27 | +0x08f | vs_ton_ubat_ripple_alarm | EPROM_vstonUBatRippleAlarm | vstonUBatRippleAlarm | Virtual switch › A: Set VS ON › Udc ripple pre-alarm (VS ON delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): on after ripple alarm for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstonUBatRippleAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 2 | default 1; -1 to 254 | | 28 | +0x091 | vs_off_inverter_current_low_A | EPROM_vsoffIInvLow | vsoffIInvLow | Virtual switch › B: Set VS OFF › when load lower than (probable) | u16 / 100 | A | HIGH | Virtual Switch (relay mode, settings 15 to 43): off when inverter current lower than (0.01 A; VEConfigure shows watts = A x output voltage). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsoffIInvLow; device schema (BareSettingInfo = CommandGetSettingInfo records). | 531 | default 5.31; 0 to 91.66 | | 29 | +0x093 | vs_off_ubat_high_V | EPROM_vsoffUBatHigh | vsoffUBatHigh | Virtual switch › B: Set VS OFF › when Udc higher than (probable) | u16 / 100 | V | HIGH | Virtual Switch (relay mode, settings 15 to 43): off when battery voltage higher than. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsoffUBatHigh; device schema (BareSettingInfo = CommandGetSettingInfo records). | 6400 | default 64; 0 to 70 | | 30 | +0x095 | vs_off_ubat_low_V | EPROM_vsoffUBatLow | vsoffUBatLow | Virtual switch › B: Set VS OFF › when Udc lower than (probable) | u16 / 100 | V | HIGH | Virtual Switch (relay mode, settings 15 to 43): off when battery voltage lower than. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsoffUBatLow; device schema (BareSettingInfo = CommandGetSettingInfo records). | 4700 | default 47; 0 to 70 | | 31 | +0x097 | vs_toff_inverter_current_low | EPROM_vstoffIInvLow | vstoffIInvLow | Virtual switch › B: Set VS OFF › when load lower than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsoffIInvLow, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffIInvLow (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 32 | +0x099 | vs_toff_ubat_high | EPROM_vstoffUBatHigh | vstoffUBatHigh | Virtual switch › B: Set VS OFF › when Udc higher than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsoffUBatHigh, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffUBatHigh (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 33 | +0x09b | vs_toff_ubat_low | EPROM_vstoffUBatLow | vstoffUBatLow | Virtual switch › B: Set VS OFF › when Udc lower than - duration (probable) | u16 | s | HIGH | Virtual Switch (relay mode): time for vsoffUBatLow, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffUBatLow (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 34 | +0x09d | vs_toff_charging | EPROM_vstoffCharging | vstoffCharging | Virtual switch › B: Set VS OFF › when charging for (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after charging for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffCharging (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 35 | +0x09f | vs_toff_fan_off | EPROM_vstoffFanOff | vstoffFanOff | Virtual switch › B: Set VS OFF › when fan off for (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after fan off for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffFanOff (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 36 | +0x0a1 | vs_toff_bulk_finished | EPROM_vstoffChargeBulkFinished | vstoffChargeBulkFinished | Virtual switch › B: Set VS OFF › when bulk charge finished for | u16 | min | HIGH | Virtual Switch (relay mode): off after bulk finished for, minutes, raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffChargeBulkFinished (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 1200 | | 37 | +0x0a3 | vs_toff_no_on_condition | EPROM_vstoffNoVSOnCondition | vstoffNoVSOnCondition | Virtual switch › B: Set VS OFF › when no VS ON condition for | u16 | min | HIGH | Virtual Switch (relay mode): off after no on-condition for, minutes, raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffNoVSOnCondition (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 1 | default 0; -1 to 1200 | | 38 | +0x0a5 | vs_toff_no_ac_input | EPROM_vstoffNoACInput | vstoffNoACInput | Virtual switch › B: Set VS OFF › when no AC input for (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after no AC input for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffNoACInput (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 39 | +0x0a7 | vs_toff_temperature_alarm | EPROM_vstoffTemperatureAlarm | vstoffTemperatureAlarm | Virtual switch › B: Set VS OFF › Temperature pre-alarm (VS OFF delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after temperature alarm cleared for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffTemperatureAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 40 | +0x0a9 | vs_toff_low_battery_alarm | EPROM_vstoffLowBatteryAlarm | vstoffLowBatteryAlarm | Virtual switch › B: Set VS OFF › Low-battery pre-alarm (VS OFF delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after low battery alarm cleared for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffLowBatteryAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 41 | +0x0ab | vs_toff_overload_alarm | EPROM_vstoffOverloadAlarm | vstoffOverloadAlarm | Virtual switch › B: Set VS OFF › Overload pre-alarm (VS OFF delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after overload alarm cleared for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffOverloadAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 42 | +0x0ad | vs_toff_ubat_ripple_alarm | EPROM_vstoffUBatRippleAlarm | vstoffUBatRippleAlarm | Virtual switch › B: Set VS OFF › Udc ripple pre-alarm (VS OFF delay) (probable) | u16 | s | HIGH | Virtual Switch (relay mode): off after ripple alarm cleared for, seconds (1/60 minute units), raw - 1. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vstoffUBatRippleAlarm (Time); device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1. | 0 | default -1; -1 to 254 | | 43 | +0x0af | vs_minimum_on_time | EPROM_vsMinimumOnTime | vsMinimumOnTime | Virtual switch › VS options › Do not switch off within N minutes from switch on | u16 | min | HIGH | Virtual Switch (relay mode): minimum on time, minutes; 0 = no minimum. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema 0 to 1200, offset 0. | 0 | default 0; 0 to 1200 | | 44 | +0x0b1 | mains_lowest_acceptable_V | EPROM_UMains2LowForFine | Lowest acceptable UMains | Grid › Transfer switch › AC low disconnect (probable) | u16 | V | HIGH | Lowest AC input voltage accepted. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; 90 V here. | 90 | default 90; 90 to 120 | | 45 | +0x0b3 | mains_low_hysteresis_V | EPROM_UMains2LowForFineHysterese | Hysteresis for parameter 44 | | u16 | V | HIGH | Hysteresis on the low mains limit. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 | 7 | default 7; 1 to 15 | | 46 | +0x0b5 | mains_highest_acceptable_V | EPROM_UMains2High | Highest acceptable UMains | Grid › Transfer switch › AC high disconnect (probable) | u16 | V | HIGH | Highest AC input voltage accepted; stored minus 100 (raw 40 = 140 V, schema 120 to 140 V). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; device schema (BareSettingInfo = CommandGetSettingInfo records): offset +100. | 40 | default 140; 120 to 140 | | 47 | +0x0b7 | mains_high_hysteresis_V | EPROM_UMains2HighHysterese | Hysteresis for parameter 46 | | u16 | V | HIGH | Hysteresis on the high mains limit. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 | 5 | default 5; 1 to 15 | | 48 | +0x0b9 | assist_current_boost_factor | EPROM_AssistBoostFactor | Assist current boost factor | Inverter › PowerAssist › Assist current boost factor | u16 / 16 | | HIGH | PowerAssist boost factor: raw / 16 (32 = 2.0; schema 0.25 to 3.5). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; device schema (BareSettingInfo = CommandGetSettingInfo records): scale -16. | 32 | default 2; 0.25 to 3.5 | | 49 | +0x0bb | ac2_input_limit_A | EPROM_IMainsLimitAC1 | IMainsLimit (AC2) | | u16 / 10 | A | HIGH | AC input 2 current limit (Quattro). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema unused on this MultiPlus. | 0 | unused | | 50 | +0x0bd | aes_low_current_limit_A | EPROM_IInv2AES | Low current limit for switching to AES | Inverter › enable AES › Start AES when load lower than (probable) | u16 / 100 | A | HIGH | AC load current below which the inverter enters AES (search/low-power mode). VEConfigure shows watts; the conversion from the stored amps is not established here. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema /100, 0.21 to 2.55 A, default 0.60. | 60 | default 0.6; 0.21 to 2.55 | | 51 | +0x0bf | aes_current_hysteresis_A | EPROM_IInvAESHysterese | Hysteresis on AES current limit | | u16 / 100 | A | HIGH | AES leaves when current exceeds settings 50 + 51. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema /100, default 0.40. | 40 | default 0.4; 0.4 to 2.55 | | 52 | +0x0c1 | vs_dont_ignore_load_above_A | EPROM_vs2onILoadHigh | vs2onILoadHigh | Virtual switch › Ignore AC input › Do not ignore AC input when load higher than | u16 / 100 | A | HIGH | Ignore-AC mode: do not ignore the AC input when the AC load current is higher than this (VEConfigure shows watts: W = A x output voltage). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2onILoadHigh (Level); the tab’s 1000 W on a 120 V inverter = 8.33 A = raw 833 in the same-period download. | 833, 1250, 1750, 2125 | default 21.25; 0 to 91.66 | | 53 | +0x0c3 | vs_load_above_for_s | EPROM_vs2tonILoadHigh | vs2onILoadHigh (time) | Virtual switch › Ignore AC input › Do not ignore AC input when load higher than - for (probable) | u16 | s | HIGH | Duration for the load-high condition, seconds (raw - 1). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2onILoadHigh Time; device schema (BareSettingInfo = CommandGetSettingInfo records): offset -1, 1/60 min units. | 0, 4, 6 | default -1; -1 to 254 | | 54 | +0x0c5 | vs_ignore_ac_below_V | EPROM_vs2onUBatLow | vs2onUBatLow | Virtual switch › Ignore AC input › Do not ignore AC input when Udc lower than | u16 / 100 | V | CONFIRMED | Ignore-AC mode: do not ignore the AC input when the battery voltage is lower than this. | Matched to the VEConfigure tab (51.40 V), written by us; Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2onUBatLow. | 5100, 4700 | default 47; 0 to 70 | | 55 | +0x0c7 | vs_udc_below_for_s | EPROM_vs2tonUBatLow | vs2onUBatLow (time) | Virtual switch › Ignore AC input › Do not ignore AC input when Udc lower than - for | u16 | s | HIGH | Duration for the Udc-low condition, seconds (raw - 1). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2onUBatLow Time; schema offset -1; raw 21 = 20 s, the value on the tab. | 0, 6, 21 | default -1; -1 to 254 | | 56 | +0x0c9 | vs_ignore_load_below_A | EPROM_vs2offILoadLow | vs2offILoadLow | Virtual switch › Ignore AC input › When accepting AC due to load, ignore AC when load lower than | u16 / 100 | A | HIGH | Ignore-AC mode: ignore the AC input again when the AC load current is lower than this. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2offILoadLow; 750 W on the tab = 6.25 A = raw 625. | 531, 625, 833, 1500 | default 5.31; 0 to 91.66 | | 57 | +0x0cb | vs_load_below_for_min | EPROM_vs2toffILoadLow | vs2offILoadLow (time) | Virtual switch › Ignore AC input › When accepting AC due to load, ignore AC when load lower than - for | u16 | min | HIGH | Duration for the load-low condition, minutes (raw - 1). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema offset -1; raw 2 = 1 min. | 0, 2 | default -1; -1 to 254 | | 58 | +0x0cd | vs_accept_battery_above_V | EPROM_vs2offUBat | vs2offUBatHigh | Virtual switch › Ignore AC input › When accepting AC due to a battery condition, ignore AC when Udc higher than | u16 / 100 | V | CONFIRMED | Ignore-AC mode: ignore the AC input again when the battery voltage is higher than this. Victron: if the high byte is 0, low byte 0 means ‘when bulk finished’ and 1 ‘when absorption finished’ instead of a voltage. A value the battery cannot reach (64.00 V on a 48 V LFP) makes grid pass-through permanent. | Tab match (53.00 V), written by us; Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vs2offUBatHigh. | 5250, 5300, 5450, 6400 | default 64; 0 to 70 | | 59 | +0x0cf | vs_udc_above_for_min | EPROM_vs2toffUBat | vs2offUBatHigh (time) | Virtual switch › Ignore AC input › When accepting AC due to a battery condition, ignore AC when Udc higher than - for | u16 | min | HIGH | Duration for the Udc-high condition, minutes (raw - 1). | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema offset -1; raw 2 = 1 min. | 0, 2 | default -1; -1 to 254 | | 60 | +0x0d1 | flags2 | EPROM_FlagsWord2 | Flags2 | bit 2: Virtual switch › VS options › Change inverter period time when virtual switch is on; bit 3: Virtual switch › VS options › Change inverter period time on Udc; bit 4: Charger › Charger enable › Lithium batteries; bit 7: Charger › Charger enable › Configured for VE.Bus BMS; bit 8: Charger › Charger enable › Disable VSense (for diagnostic purposes); bit 9: Advanced › limit internal charger to prioritize other energy sources › limit internal charger to prioritize other energy sources (probable) | u16 bitmask | bitmask | HIGH | Bit register; bits 0 to 2 named by Victron (MK2 flags 32 to 34), bits 3 to 9 by VEConfigure identifiers (talas9/rvsc-tools); see the bit table. Schema max 1022. Bits: bit 0 = vs2offWhenAC1Available; bit 1 = vs2Invert; bit 2 = vsSetInverterPeriodTime; bit 3 = vsInverterPeriodTimeOnUBat; bit 4 = LithiumBattery; bit 5 = AllowEnableFeedIn; bit 6 = AllowIMainsHigherThanMaxRelayCurrent; bit 7 = ConfiguredForVEBusBMS; bit 8 = DisableVSense; bit 9 = PreferRenewableEnergy. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13 flags 32-34 (bits 0 to 2); VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) (bits 3 to 9). | 0, 16, 48 | default 0; 0 to 1022 | | 61 | +0x0d3 | flags3 | EPROM_FlagsWord3 | Flags3 | | u16 | bitmask | HIGH | Bit register; no documented bits. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: Flags3. | 0 | default 0; 0 to 0 | | 62 | +0x0d5 | output_frequency_Hz | EPROM_vsInverterPeriodTime | vsInverterPeriodTime | Virtual switch › VS options › Make period time | u16 / 2.5e+06 | Hz | HIGH | Inverter output frequency, stored as the period in 1/2500 ms: 41667 = 16.667 ms = 60 Hz (Hz = 2500000 / raw). Applied when Flags2 bit 2 (vsSetInverterPeriodTime) is set. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: vsInverterPeriodTime; schema range 45 to 65 Hz. | 41667, 41666 | default 60.001; 65.0009 to 45.0005 | | 63 | +0x0d7 | ubat_low_prealarm_offset_V | EPROM_UBatLowPreAlarmOffset | UBat low pre-alarm offset | | u16 / 100 | V | HIGH | Signed offset added to (UBatLowLimit + hysteresis) to set the low-battery pre-alarm level; stored with 0x8000 added. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13: ‘this offset can be positive or negative; 0x8000 is added’. | 32668 (-1.00 V), 32768 (0) | default 0; -37.2 to 48 | | 64 | +0x0d9 | battery_capacity_Ah | EPROM_BatteryCapacity | Battery capacity | General › Enable battery monitor › Battery capacity | u16 | Ah | HIGH | Capacity for the built-in battery monitor; 0 disables it. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; 200 / 300 Ah match the installed modules. | 200, 300, 0 | default 0; 0 to 65330 | | 65 | +0x0db | soc_at_bulk_end_pct | EPROM_ChargePercentageResetValueForBatteryMonitor | SoC when bulk finished | General › Enable battery monitor › State of charge when Bulk finished | u16 / 2 | % | HIGH | State of charge the built-in monitor assumes when the charge state changes from bulk to absorption. | Victron ‘Interfacing with VE.Bus products - MK2 Protocol 3.14’ section 7.3.13; schema /2, 30 to 100 %. | 170, 190, 196 | default 85; 30 to 100 | | 66 | +0x0dd | fs_ubat_start_V | EPROM_fsUBatStart | fsUBatStart | | u16 / 100 | V | MEDIUM | Battery voltage at which the ‘fs’ function starts (57.72 V here; the prefix is not expanded in any public source). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records): 0 to 70.00 V. | 5772 | default 57.72; 0 to 70 | | 67 | +0x0df | fs_ubat_start_delay_s | EPROM_fsUBatStartDelay | fsUBatStartDelay | | u16 | s | MEDIUM | Delay for fsUBatStart, seconds (raw - 1). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records): 1/60 min, offset -1. | 3 | default 2; 0 to 254 | | 68 | +0x0e1 | fs_ubat_stop_V | EPROM_fsUBatStop | fsUBatStop | | u16 / 100 | V | MEDIUM | Battery voltage at which the ‘fs’ function stops (54.00 V here). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 5400 | default 54; 0 to 70 | | 69 | +0x0e3 | fs_ubat_stop_delay_s | EPROM_fsUBatStopDelay | fsUBatStopDelay | | u16 | s | MEDIUM | Delay for fsUBatStop, seconds (raw - 1). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 3 | default 2; 0 to 254 | | 70 | +0x0e5 | vs_dont_ignore_soc_below_pct | EPROM_vs2StartOnSOC | vs2StartOnSOC | Virtual switch › Ignore AC input › Do not ignore AC input when state of charge lower than (probable) | u16 / 2 | % | HIGH | Ignore-AC mode battery condition on state of charge: do not ignore the AC input when SoC is below this. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI): vs2StartOnSOC; device schema (BareSettingInfo = CommandGetSettingInfo records): /2, 0 to 100 %. 25 % on every configured block, the fleet-wide setpoint the installer’s note describes. | 50, 0 | default 0; 0 to 100 | | 71 | +0x0e7 | vll_temp_compensation | EPROM_vllTempCompensation | vllTempCompensation | | u16 | | LOW | Signed value centred on 32768 (schema +/-800); 0 here. Meaning of ‘vll’ unknown. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 32768 | default 0; -800 to 800 | | 72 | +0x0e9 | charge_efficiency | EPROM_ChargeEfficiency | ChargeEfficiency | General › Enable battery monitor › Charge efficiency | u16 / 256 | | HIGH | Battery charge efficiency as a fraction (raw + 1)/256: 255 = 1.000, 242 = 0.949. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records): scale -256, offset +1. | 250, 242, 255 | default 1; 0.00390625 to 1 | | 73 | +0x0eb | inverter_current_limit_during_assist_A | EPROM_IInvLimitDuringAssist | IInvLimitDuringAssist | | u16 / 100 | A | HIGH | Inverter current limit while PowerAssist is active: 63.00 A on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records): /100, 8.03 to 106.00. | 6300 | default 63; 8.03 to 106 | | 74 | +0x0ed | abs_to_float_soc_reset_pct | EPROM_AbsToFloatSOCReset | AbsToFloatSOCReset | | u16 / 2 | % | HIGH | SoC the battery monitor is set to when the charger goes from absorption to float (100 % here; schema 30 to 100 %, default 85 %). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 200 | default 85; 30 to 100 | | 75 | +0x0ef | ibat_for_stop_absorption | EPROM_IBatForStopAbsorption | IBatForStopAbsorption | | u16 | | LOW | Battery current at which absorption stops (schema unused on this model). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 0 | default 0; 0 to 65279 | | 76 | +0x0f1 | invert_redundancy | EPROM_InvertRedundancy | InvertRedundancy | | u16 | | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 77 | +0x0f3 | expected_presence_flags0 | EPROM_ExpectedPresenceFlags0 | ExpectedPresenceFlags0 | | u16 | bitmask | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 78 | +0x0f5 | expected_presence_flags2 | EPROM_ExpectedPresenceFlags2 | ExpectedPresenceFlags2 | | u16 | bitmask | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 79 | +0x0f7 | relative_phase_info | EPROM_RelativePhaseInfo | RelativePhaseInfo | | u16 | | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 80 | +0x0f9 | my_short_id | EPROM_MyShortID | MyShortID | | u16 | | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 81 | +0x0fb | grid_code | EPROM_GridCode | GridCode | Grid › Grid code selection › Country / grid code standard (probable) | u16 | enum | HIGH | Country / grid code standard: 0 = none; a non-zero index selects a grid code, set with the dealer password in VEConfigure. Schema 0 to 32. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI): GridCode; 0 on every bare block, 1 on every GUI-authored ESS block. | 0, 1 | default 0; 0 to 32 | | 82 | +0x0fd | permanent_flags0 | EPROM_PermanentFlags0 | PermanentFlags0 | bit 0: Inverter › General › Do not restart after short-circuit (VDE 2510-2 safety) (probable) | u16 bitmask | bitmask | LOW | Permanent flags; bit 0 = ShortCircuitIsFatal (VEConfigure identifier). 0 here. Bits: bit 0 = ShortCircuitIsFatal. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | default 0; 0 to 1 | | 83 | +0x0ff | soc_stop_invert_pct | EPROM_SOCStopInvert | SOCStopInvert | Inverter › shut-down on SOC › SOC low shut-down (probable) | u16 / 2 | % | MEDIUM | SoC at which inverting stops (‘shut-down on SOC’); schema unused on this model. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 0 | default 0; 0 to 100 | | 84 | +0x101 | soc_start_invert_pct | EPROM_SOCStartInvert | SOCStartInvert | Inverter › shut-down on SOC › SOC low restart (probable) | u16 / 2 | % | MEDIUM | SoC at which inverting restarts; schema unused on this model. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 0 | default 0; 0 to 100 | | 85 | +0x103 | info_id0 | EPROM_InfoID0 | InfoID0 | | u16 | | LOW | Schema: scale 50, offset 1069, default 3000, min 2400; 65535 here. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 65535 | default 3000; 2400 to 65535 | | 86 | +0x105 | tbat_stop_charge | EPROM_TBatStopCharge | TBatStopCharge | Charger › Temperature / Lithium › Stop charger below | u16 | | LOW | Battery temperature at which charging stops; schema unused here. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI). | 0 | default 0; 0 to 137 | | 87 | +0x107 | temp_compensation_slope | EPROM_TempCompensationSlope | TempCompensationSlope | Charger › Temperature / Lithium › Temperature compensation | u16 / 12800 | | LOW | Charge-voltage temperature compensation slope (schema /12800, 0 to 1536, default 829 = 0.0648). VEConfigure shows mV/degC; the relation between the stored fraction and that display is not established. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records). | 829 | default 0.0647656; 0 to 0.12 | | 88 | +0x109 | ubat_dont_charge_V | EPROM_UBatDontCharge | UBatDontCharge | Advanced › limit internal charger to prioritize other energy sources › Sustain voltage | u16 / 100 | V | HIGH | Battery voltage below which the charger does not charge (52.00 V here; VEConfigure shows it as the sustain voltage). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); device schema (BareSettingInfo = CommandGetSettingInfo records): 48.00 to 64.00 V; xcellsior/ve-bus-programming FINDINGS.md calls it the solar & wind priority voltage. | 5200 | default 52; 48 to 64 | | 89 | +0x10b | current_sensor_factor | EPROM_CurrentSensorFactor | CurrentSensorFactor | | u16 | | LOW | | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); schema unused here. | 0 | unused | | 90 | +0x10d | not_defined_yet_37 | EPROM_NotDefinedYet37 | EPROM_NotDefinedYet37 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 91 | +0x10f | not_defined_yet_36 | EPROM_NotDefinedYet36 | EPROM_NotDefinedYet36 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 92 | +0x111 | not_defined_yet_35 | EPROM_NotDefinedYet35 | EPROM_NotDefinedYet35 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 93 | +0x113 | not_defined_yet_34 | EPROM_NotDefinedYet34 | EPROM_NotDefinedYet34 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 94 | +0x115 | not_defined_yet_33 | EPROM_NotDefinedYet33 | EPROM_NotDefinedYet33 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 95 | +0x117 | not_defined_yet_32 | EPROM_NotDefinedYet32 | EPROM_NotDefinedYet32 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 96 | +0x119 | not_defined_yet_31 | EPROM_NotDefinedYet31 | EPROM_NotDefinedYet31 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 97 | +0x11b | not_defined_yet_30 | EPROM_NotDefinedYet30 | EPROM_NotDefinedYet30 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 98 | +0x11d | not_defined_yet_29 | EPROM_NotDefinedYet29 | EPROM_NotDefinedYet29 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 99 | +0x11f | not_defined_yet_28 | EPROM_NotDefinedYet28 | EPROM_NotDefinedYet28 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 100 | +0x121 | not_defined_yet_27 | EPROM_NotDefinedYet27 | EPROM_NotDefinedYet27 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 101 | +0x123 | not_defined_yet_26 | EPROM_NotDefinedYet26 | EPROM_NotDefinedYet26 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 102 | +0x125 | not_defined_yet_25 | EPROM_NotDefinedYet25 | EPROM_NotDefinedYet25 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 103 | +0x127 | not_defined_yet_24 | EPROM_NotDefinedYet24 | EPROM_NotDefinedYet24 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 104 | +0x129 | not_defined_yet_23 | EPROM_NotDefinedYet23 | EPROM_NotDefinedYet23 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 105 | +0x12b | not_defined_yet_22 | EPROM_NotDefinedYet22 | EPROM_NotDefinedYet22 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 106 | +0x12d | not_defined_yet_21 | EPROM_NotDefinedYet21 | EPROM_NotDefinedYet21 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 107 | +0x12f | not_defined_yet_20 | EPROM_NotDefinedYet20 | EPROM_NotDefinedYet20 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 108 | +0x131 | not_defined_yet_19 | EPROM_NotDefinedYet19 | EPROM_NotDefinedYet19 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 109 | +0x133 | not_defined_yet_18 | EPROM_NotDefinedYet18 | EPROM_NotDefinedYet18 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 110 | +0x135 | not_defined_yet_17 | EPROM_NotDefinedYet17 | EPROM_NotDefinedYet17 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 111 | +0x137 | not_defined_yet_16 | EPROM_NotDefinedYet16 | EPROM_NotDefinedYet16 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 112 | +0x139 | not_defined_yet_15 | EPROM_NotDefinedYet15 | EPROM_NotDefinedYet15 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 113 | +0x13b | not_defined_yet_14 | EPROM_NotDefinedYet14 | EPROM_NotDefinedYet14 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 114 | +0x13d | not_defined_yet_13 | EPROM_NotDefinedYet13 | EPROM_NotDefinedYet13 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 115 | +0x13f | not_defined_yet_12 | EPROM_NotDefinedYet12 | EPROM_NotDefinedYet12 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 116 | +0x141 | not_defined_yet_11 | EPROM_NotDefinedYet11 | EPROM_NotDefinedYet11 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 117 | +0x143 | not_defined_yet_10 | EPROM_NotDefinedYet10 | EPROM_NotDefinedYet10 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 118 | +0x145 | not_defined_yet_9 | EPROM_NotDefinedYet9 | EPROM_NotDefinedYet9 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 119 | +0x147 | not_defined_yet_8 | EPROM_NotDefinedYet8 | EPROM_NotDefinedYet8 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 120 | +0x149 | not_defined_yet_7 | EPROM_NotDefinedYet7 | EPROM_NotDefinedYet7 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 121 | +0x14b | not_defined_yet_6 | EPROM_NotDefinedYet6 | EPROM_NotDefinedYet6 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 122 | +0x14d | not_defined_yet_5 | EPROM_NotDefinedYet5 | EPROM_NotDefinedYet5 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 123 | +0x14f | not_defined_yet_4 | EPROM_NotDefinedYet4 | EPROM_NotDefinedYet4 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 124 | +0x151 | not_defined_yet_3 | EPROM_NotDefinedYet3 | EPROM_NotDefinedYet3 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 125 | +0x153 | not_defined_yet_2 | EPROM_NotDefinedYet2 | EPROM_NotDefinedYet2 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 126 | +0x155 | not_defined_yet_1 | EPROM_NotDefinedYet1 | EPROM_NotDefinedYet1 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 127 | +0x157 | not_defined_yet_0 | EPROM_NotDefinedYet0 | EPROM_NotDefinedYet0 | | u16 | | UNKNOWN | Reserved slot; 0 on every block. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 0 | unused | | 128 | +0x159 | grid_settings_valid_checker_a | EPROM_GridSettingsValidCheckerA | GridSettingsValidCheckerA | | u16 | | MEDIUM | Grid-code word A. 0xffff on blocks that never had a grid code. On every GUI-authored ESS download it equals setting 191 on the same inverter: low byte 1, high byte 0 to 3 (0x0001, 0x0101, 0x0201, 0x0301); the two inverters of a pair may differ (System C: 1 and 0x0101; System D: 0x0201 and 0x0301) or match (System B: 1 and 1; System A: 0x0101 and 0x0101). On a single bench unit xcellsior reads 1 with LOM type B and 257 with no LOM detection. 0 or 0xffff on bare blocks after a grid code was removed. Byte-grafted files (never started) show 128 != 191. Named GridSettingsValidCheckerA by VEConfigure (Inferred: the firmware’s validity check on the grid-code block, with 191). Refused by set_settings with no override (GRID_CODE_LOCKED). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); xcellsior FINDINGS 7.4; corpus. | 65535, 1, 257, 65281, 0 | default 48906; 0 to 65535 | | 129 | +0x15b | grid_settings_int0 | EPROM_GridSettingsInt0 | EPROM_GridSettingsInt0 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 130 | +0x15d | grid_settings_int1 | EPROM_GridSettingsInt1 | EPROM_GridSettingsInt1 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 131 | +0x15f | grid_settings_int2 | EPROM_GridSettingsInt2 | EPROM_GridSettingsInt2 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 132 | +0x161 | grid_settings_int3 | EPROM_GridSettingsInt3 | EPROM_GridSettingsInt3 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 133 | +0x163 | grid_settings_int4 | EPROM_GridSettingsInt4 | EPROM_GridSettingsInt4 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 134 | +0x165 | grid_settings_int5 | EPROM_GridSettingsInt5 | EPROM_GridSettingsInt5 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 135 | +0x167 | grid_settings_int6 | EPROM_GridSettingsInt6 | EPROM_GridSettingsInt6 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 136 | +0x169 | grid_settings_int7 | EPROM_GridSettingsInt7 | EPROM_GridSettingsInt7 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 137 | +0x16b | grid_settings_int8 | EPROM_GridSettingsInt8 | EPROM_GridSettingsInt8 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 138 | +0x16d | grid_settings_int9 | EPROM_GridSettingsInt9 | EPROM_GridSettingsInt9 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 139 | +0x16f | grid_settings_int10 | EPROM_GridSettingsInt10 | EPROM_GridSettingsInt10 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 140 | +0x171 | grid_settings_int11 | EPROM_GridSettingsInt11 | EPROM_GridSettingsInt11 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 141 | +0x173 | grid_settings_int12 | EPROM_GridSettingsInt12 | EPROM_GridSettingsInt12 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 142 | +0x175 | grid_settings_int13 | EPROM_GridSettingsInt13 | EPROM_GridSettingsInt13 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 143 | +0x177 | grid_settings_int14 | EPROM_GridSettingsInt14 | EPROM_GridSettingsInt14 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 144 | +0x179 | grid_settings_int15 | EPROM_GridSettingsInt15 | EPROM_GridSettingsInt15 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 145 | +0x17b | grid_settings_int16 | EPROM_GridSettingsInt16 | EPROM_GridSettingsInt16 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 146 | +0x17d | grid_settings_int17 | EPROM_GridSettingsInt17 | EPROM_GridSettingsInt17 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 147 | +0x17f | grid_settings_int18 | EPROM_GridSettingsInt18 | EPROM_GridSettingsInt18 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 148 | +0x181 | grid_settings_int19 | EPROM_GridSettingsInt19 | EPROM_GridSettingsInt19 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 149 | +0x183 | grid_settings_int20 | EPROM_GridSettingsInt20 | EPROM_GridSettingsInt20 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 150 | +0x185 | grid_settings_int21 | EPROM_GridSettingsInt21 | EPROM_GridSettingsInt21 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 151 | +0x187 | grid_settings_int22 | EPROM_GridSettingsInt22 | EPROM_GridSettingsInt22 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 152 | +0x189 | grid_settings_int23 | EPROM_GridSettingsInt23 | EPROM_GridSettingsInt23 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 153 | +0x18b | grid_settings_int24 | EPROM_GridSettingsInt24 | EPROM_GridSettingsInt24 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 154 | +0x18d | grid_settings_int25 | EPROM_GridSettingsInt25 | EPROM_GridSettingsInt25 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 155 | +0x18f | grid_settings_int26 | EPROM_GridSettingsInt26 | EPROM_GridSettingsInt26 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 156 | +0x191 | grid_settings_int27 | EPROM_GridSettingsInt27 | EPROM_GridSettingsInt27 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 157 | +0x193 | grid_settings_int28 | EPROM_GridSettingsInt28 | EPROM_GridSettingsInt28 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 158 | +0x195 | grid_settings_int29 | EPROM_GridSettingsInt29 | EPROM_GridSettingsInt29 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 159 | +0x197 | grid_settings_int30 | EPROM_GridSettingsInt30 | EPROM_GridSettingsInt30 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 160 | +0x199 | grid_settings_int31 | EPROM_GridSettingsInt31 | EPROM_GridSettingsInt31 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 161 | +0x19b | grid_settings_int32 | EPROM_GridSettingsInt32 | EPROM_GridSettingsInt32 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 162 | +0x19d | grid_settings_int33 | EPROM_GridSettingsInt33 | EPROM_GridSettingsInt33 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 163 | +0x19f | grid_settings_int34 | EPROM_GridSettingsInt34 | EPROM_GridSettingsInt34 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 164 | +0x1a1 | grid_settings_int35 | EPROM_GridSettingsInt35 | EPROM_GridSettingsInt35 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 165 | +0x1a3 | grid_settings_int36 | EPROM_GridSettingsInt36 | EPROM_GridSettingsInt36 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 166 | +0x1a5 | grid_settings_int37 | EPROM_GridSettingsInt37 | EPROM_GridSettingsInt37 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 167 | +0x1a7 | grid_settings_int38 | EPROM_GridSettingsInt38 | EPROM_GridSettingsInt38 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 168 | +0x1a9 | grid_settings_int39 | EPROM_GridSettingsInt39 | EPROM_GridSettingsInt39 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 169 | +0x1ab | grid_settings_int40 | EPROM_GridSettingsInt40 | EPROM_GridSettingsInt40 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 170 | +0x1ad | grid_settings_int41 | EPROM_GridSettingsInt41 | EPROM_GridSettingsInt41 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 171 | +0x1af | grid_settings_int42 | EPROM_GridSettingsInt42 | EPROM_GridSettingsInt42 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 172 | +0x1b1 | grid_settings_int43 | EPROM_GridSettingsInt43 | EPROM_GridSettingsInt43 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 173 | +0x1b3 | grid_settings_int44 | EPROM_GridSettingsInt44 | EPROM_GridSettingsInt44 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 174 | +0x1b5 | grid_settings_int45 | EPROM_GridSettingsInt45 | EPROM_GridSettingsInt45 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 175 | +0x1b7 | grid_settings_int46 | EPROM_GridSettingsInt46 | EPROM_GridSettingsInt46 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 176 | +0x1b9 | grid_settings_int47 | EPROM_GridSettingsInt47 | EPROM_GridSettingsInt47 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 177 | +0x1bb | grid_settings_int48 | EPROM_GridSettingsInt48 | EPROM_GridSettingsInt48 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 178 | +0x1bd | grid_settings_int49 | EPROM_GridSettingsInt49 | EPROM_GridSettingsInt49 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 179 | +0x1bf | grid_settings_int50 | EPROM_GridSettingsInt50 | EPROM_GridSettingsInt50 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 180 | +0x1c1 | grid_settings_int51 | EPROM_GridSettingsInt51 | EPROM_GridSettingsInt51 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 181 | +0x1c3 | grid_settings_int52 | EPROM_GridSettingsInt52 | EPROM_GridSettingsInt52 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 182 | +0x1c5 | grid_settings_int53 | EPROM_GridSettingsInt53 | EPROM_GridSettingsInt53 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 183 | +0x1c7 | grid_settings_int54 | EPROM_GridSettingsInt54 | EPROM_GridSettingsInt54 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 184 | +0x1c9 | grid_settings_int55 | EPROM_GridSettingsInt55 | EPROM_GridSettingsInt55 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 185 | +0x1cb | grid_settings_int56 | EPROM_GridSettingsInt56 | EPROM_GridSettingsInt56 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 186 | +0x1cd | grid_settings_int57 | EPROM_GridSettingsInt57 | EPROM_GridSettingsInt57 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 187 | +0x1cf | grid_settings_int58 | EPROM_GridSettingsInt58 | EPROM_GridSettingsInt58 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 188 | +0x1d1 | grid_settings_int59 | EPROM_GridSettingsInt59 | EPROM_GridSettingsInt59 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 189 | +0x1d3 | grid_settings_int60 | EPROM_GridSettingsInt60 | EPROM_GridSettingsInt60 | | u16 | | UNKNOWN | Grid-code settings block, written by the grid-code step in VEConfigure; 0xffff on bare blocks. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI) | 65535 | default 48906; 0 to 65535 | | 190 | +0x1d5 | general_grid_settings_int | EPROM_GeneralGridSettingsInt | GeneralGridSettingsInt | | u16 | | MEDIUM | Grid-code word B, firmware-managed (wire writes are silently dropped per xcellsior). 0xffff on blocks that never had a grid code; 0xfff5 on every grid-coded block here, including the 0x0101 ones (the bench reads 0xfff6 for those); 0xfff5 or 0xffff on bare blocks after a grid code was removed. | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); xcellsior FINDINGS 7.4/9 (0xfff5 / 0xfff6); corpus. | 65535, 65525 | default 48906; 0 to 65535 | | 191 | +0x1d7 | grid_settings_valid_checker_b | EPROM_GridSettingsValidCheckerB | GridSettingsValidCheckerB | | u16 | | MEDIUM | Grid-code word C. 0xffff on blocks that never had a grid code; equals setting 128 on every GUI-authored ESS download (low byte 1, high byte 0 to 3, per inverter; see 128); 0 or 0xff00 on bare blocks after a grid code was removed. Refused by set_settings with no override (GRID_CODE_LOCKED; docs/SAFETY.md, docs/HISTORY.md 2026-09-04). | VEConfigure identifier table (talas9/rvsc-tools, from VEConfig.exe RTTI); xcellsior FINDINGS 7.4 (1 / 257 / residual 512); corpus. | 65535, 1, 257, 0, 65280 | default 48906; 0 to 65535 |

IDs not listed read zero on every block (19–23, 31–36, 38–43, 61, 75–80, 82–84, 86, 89–127) or 0xffff (129–189 on bare blocks); they are omitted from the table but visible with mk2vsc show --all.

How to add or promote a field

The differential method is what produced everything above; it needs no Windows and no source.

  1. Bracket one change. Download the file, make exactly one change in VEConfigure (or have your installer make it), download again. mk2vsc diff before.rvms after.rvms names the setting IDs that moved. One change at a time, or you cannot tell which is which.
  2. Look for lockstep. A real setting changed by an installer’s “configure properly” pass moves on both inverters of a pair at once and converges to the same standard value across systems. Timestamps, pointers and checksums move on every save and are never settings (mk2vsc.units.VOLATILE_DEVICE).
  3. Anchor to a screen. One screenshot of the VEConfigure tab showing the value turns a candidate into a CONFIRMED entry in seconds; it is how the Virtual Switch thresholds were pinned.
  4. Check the scale on the corpus. A voltage should decode to a voltage on every block, not just yours. tests/test_claims.py::test_confirmed_and_high_fields_decode_to_sensible_values is where such a check belongs.
  5. Write it down with its evidence. Add a Field to mk2vsc/fields.py with evidence and observed filled in, regenerate this table, and say what you did not verify. A field promoted without evidence will be demoted in review.

Things that cannot be found this way: fields that never vary across the files you hold (grid code, phase count, AC input current limit on a fleet where they are all the same). Those need either a screenshot or a deliberate change.