UX-08 2c review: unit settings anchor to inverters, plainer texts
- messages.setting() for one inverter in the list reads “Inverter rating” for inverter-b (inverters.max_w), so the config panel files per-unit reasons under `inverters`, where the value is changed. - The tariff card and plausibility reasons name “Distribution, levies and VAT” (price_taxes_eur_kwh) again. - The wrong-direction reasons say "safety stop", the sign_disagree_w option says what it protects, and the roster, price-entity, integrator_max_w and capacity_kwh texts read more plainly. - NL: stuurprint -> stuurmodule, "De piekbeperking". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -703,8 +703,8 @@ def _roster_problems(opts: dict) -> list[str]:
|
||||
if entries and flat_sp:
|
||||
problems.append(
|
||||
f"{S('setpoint_entity')} is set to {flat_sp}, but the "
|
||||
f"{S('inverters')} has {len(entries)} entries. Move that inverter "
|
||||
"into the list and clear this setting.")
|
||||
f"{S('inverters')} is also filled in. Move that inverter into the "
|
||||
"list and clear this setting.")
|
||||
return problems
|
||||
|
||||
|
||||
@@ -924,8 +924,8 @@ def validate_startup_config(opts: dict, dev_min=None, dev_max=None) -> list[str]
|
||||
where = _unit_label(opts, min(caps_ix, key=lambda p: p[1])[0])
|
||||
problems.append(
|
||||
f"{S('sign_disagree_w')} is {sign_w:.0f} W, but the "
|
||||
f"{S('max_w', where)} is {weakest:.0f} W, so this check can never "
|
||||
f"trip. Lower it below {weakest:.0f} W, or raise the rating.")
|
||||
f"{S('max_w', where)} is {weakest:.0f} W, so this safety stop can "
|
||||
f"never trip. Lower it below {weakest:.0f} W, or raise the rating.")
|
||||
|
||||
# ⚠️ AND THE SAME RULE FOR SAFETY-30's PER-UNIT THRESHOLD, WHICH IS A
|
||||
# SEPARATE COMPARISON AND THEREFORE A SEPARATE WAY TO DISARM. It grades a
|
||||
@@ -978,8 +978,8 @@ def validate_startup_config(opts: dict, dev_min=None, dev_max=None) -> list[str]
|
||||
elif weakest is not None and weakest > 0 and unit_sign_w >= weakest:
|
||||
problems.append(
|
||||
f"{S('unit_sign_disagree_w')} is {unit_sign_w:.0f} W, but the "
|
||||
f"{S('max_w', unit_where)} is {weakest:.0f} W, so this check can "
|
||||
f"never trip. Lower it below {weakest:.0f} W, or raise the "
|
||||
f"{S('max_w', unit_where)} is {weakest:.0f} W, so this safety stop "
|
||||
f"can never trip. Lower it below {weakest:.0f} W, or raise the "
|
||||
"rating.")
|
||||
|
||||
# --- 6. a maintenance charge the ceiling can actually accommodate --------
|
||||
@@ -1301,9 +1301,8 @@ def _price_problems(opts: dict) -> list[str]:
|
||||
# day/night tariff has no way to see that it lost.
|
||||
if ha_price and str(opts.get("static_profile", "") or "").strip():
|
||||
problems.append(
|
||||
f"{S('static_profile')} and {_labels(ha_price)} are both set, and "
|
||||
"only the Home Assistant price entities would count. Clear one of "
|
||||
"the two.")
|
||||
f"{S('static_profile')} is set, but {_labels(ha_price)} would win "
|
||||
"over it. Clear the one you do not use.")
|
||||
|
||||
# ⚠️ THE PROFILE ITSELF, PARSED AT STARTUP RATHER THAN AT 02:00. A profile
|
||||
# that does not tile the day has hours with no price, and the only ways to
|
||||
|
||||
Reference in New Issue
Block a user