Files
shaggy-solar/LVX6048/lvx-flash/profiles/eg4-lp4-v2.yaml

73 lines
3.6 KiB
YAML
Raw Normal View History

# LVX6048 settings profile — EG4 LifePower4 v2 LiFePO4 bank, open-loop.
#
# Designed for: 6× EG4 LP4 v2 100 Ah in parallel (600 Ah, ~30.7 kWh).
# (Was 3 packs originally; 3 more added — commit 38ac9ca. Values below are
# unchanged and remain correct for 6 packs — they're only MORE conservative now.)
# Apply identically to both inverters in a parallel pair:
# sudo systemctl stop powermon.service powermon2.service
# ./flash.py apply --device /dev/lvx6048-1 --profile profiles/eg4-lp4-v2.yaml --confirm
# ./flash.py apply --device /dev/lvx6048-2 --profile profiles/eg4-lp4-v2.yaml --confirm
# sudo systemctl start powermon.service powermon2.service
# ./flash.py compare --device-a /dev/lvx6048-1 --device-b /dev/lvx6048-2
# ./flash.py sync-check --device-a /dev/lvx6048-1 --device-b /dev/lvx6048-2
#
# Voltage rationale (16S LFP, 3.2 V/cell nominal = 51.2 V pack):
# bulk 56.4 V = 3.525 V/cell — long-life sweet spot for LFP
# float 54.0 V = 3.375 V/cell — rest near mid-knee, avoid sitting on the top
# stop_charge 54.0 V — grid charges only to ~mid-knee; solar handles the bulk top-off
# stop_dis 48.0 V = 3.000 V/cell — soft "switch to grid" point
# cutoff 48.0 V = 3.000 V/cell — inverter hard shutdown floor (BMS still protects below)
# (Floor reviewed 2026-06-24: deliberately kept at 48.0/3.00 V for cycle-life margin.
# Lowering to 46-47 V would unlock only a few % of usable LFP capacity and isn't
# worth the deeper cycling on this large, non-capacity-constrained bank.)
# Conservative off-grid policy: keep grid as a soft top-up, let solar do the bulk work.
#
# Current rationale (600 Ah bank):
# 60 A/unit × 2 units = 120 A combined ≈ 0.2 C — very gentle on a 600 Ah bank.
# 30 A/unit MUCHGC keeps grid-charging conservative (60 A combined).
# Charge-current headroom — REVISIT (corrected 2026-06-24): an off-peak sample
# (71 A of 120 A) first suggested no clipping, but at the actual solar PEAK (13:44,
# ~9.5 kW PV) the bank was pinned AT the 120 A cap (121 A) with SoC only 65% and
# load just 3.3 kW. So at noon the charge cap likely IS throttling harvest. Before
# raising to 80 A/unit, run the throttle test: on a clear noon, lift the cap (or add
# load) and see if combined PV climbs above ~9.5 kW (MPPT voltage staying at Vmp). If
# it does, raise max_charging_current; if PV stays flat, the array is tilt/heat/shade
# limited (45 deg tilt + trees), not cap limited. See memory project_solar_array_config.
# enum: AGM | FLOODED | USER
# USER required to enable the per-cell custom voltages below.
battery_type: USER
# V 40.0..48.0 — hard shutdown; must be < stop_discharge_voltage.
cutoff_voltage: 48.0
# V 44.0..51.0 — switch battery→grid below this (pair: stop_charge_voltage).
stop_discharge_voltage: 48.0
# V 0 (=Full) or 48.0..58.0 — switch grid→battery above this. 0 = let bulk define.
stop_charge_voltage: 54.0
# V 48.0..58.4 — CC→CV transition (pair: float_voltage; must be >= float_voltage).
bulk_voltage: 56.4
# V 48.0..58.4 — held while on grid (pair: bulk_voltage; must be <= bulk_voltage).
float_voltage: 54.0
# A 10,20,30,40,50,60,70,80 — combined solar+AC cap, per unit.
max_charging_current: 60
# A 2,10,20,30,40,50,60,70,80 — grid-side cap, per unit.
max_utility_charging_current: 30
# enum: solar_utility_battery | solar_battery_utility
output_source_priority: solar_battery_utility
# enum: solar_first | solar_and_utility | solar_only
charger_priority: solar_first
# enum: battery_load_utility_ac | load_battery_utility
solar_power_priority: battery_load_utility_ac
# enum: enabled | disabled (PEI/PDI)
grid_tie: disabled