Files
shaggy-solar/LVX6048/lvx-flash/profiles/eg4-lp4-v2.yaml
noise 4d6c6c109b Correct PV analysis: no down string; peak is charge-cap-limited
Clear-noon peak (2026-06-24 13:44, HA recorder): each inverter ~4.7kW @ ~300V
@ ~16A. A down string reads ~10A; ~16A = both parallel strings live. The
"one string down per inverter" belief was from confounded afternoon/rainy
samples + transient pv_loss_warning (now off) and is refuted.

~66% of nameplate at peak is explained by 45-deg tilt (wrong for high June sun),
heat derate, and tree shading. AND the peak was demand-limited: battery charge
pinned at the 120A cap (121A) at 65% SoC with only 3.3kW load -- reversing the
earlier off-peak "not clipping" note. Documented the throttle test to resolve
true array ceiling before raising max_charging_current.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:41:32 -04:00

73 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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