Problem
On a fresh setup with the official Nord Pool HA integration and price area NL, the Settings → Electricity Pricing tab shows Currency: SEK and the field is greyed out (readOnly), so the user cannot correct it. The Markup, Additional Costs, and Export Compensation labels then read SEK/kWh even though all underlying prices are in EUR.
Root cause
_AREA_HINTS in core/bess/ha_api_controller.py:2194 only maps the original Nord Pool members:
_AREA_HINTS = {
"SE": ("SEK", 1.25),
"NO": ("NOK", 1.25),
"DK": ("DKK", 1.25),
"FI": ("EUR", 1.24),
"EE": ("EUR", 1.22),
"LT": ("EUR", 1.21),
"LV": ("EUR", 1.21),
"GB": ("GBP", 1.0),
}
Nord Pool's day-ahead market has since expanded to NL, BE, DE-LU, FR, AT, PL (and others). For any of those areas, _hints_from_nordpool_area() returns {}, the discover endpoint skips the currency update, and the bootstrap default SEK from config.yaml stays in place.
The UI side compounds this: PricingFormSection.tsx:58 renders the Currency field with readOnly: true and placeholder "Auto-detected…", so when auto-detect silently fails the user has no manual escape hatch.
This is the same shape as #113 (Swedish-locale bootstrap defaults bleeding into non-SE users), just for the Nord Pool side instead of the Octopus side.
Proposal
Two parts:
- Backend (this PR): extend
_AREA_HINTS with the post-expansion areas — NL/BE/DE/FR/AT (EUR) and PL (PLN). The prefix parser already handles DE-LU correctly because it slices area[:2]. Tests added in test_discovery_hints.py covering each new area.
- Frontend (separate, happy to follow up): when auto-detect resolves to a blank/unknown currency, the field should fall back to editable so the user can set it manually. Out of scope for this PR.
PR with the backend fix incoming.
Problem
On a fresh setup with the official Nord Pool HA integration and price area
NL, the Settings → Electricity Pricing tab shows Currency: SEK and the field is greyed out (readOnly), so the user cannot correct it. The Markup, Additional Costs, and Export Compensation labels then readSEK/kWheven though all underlying prices are in EUR.Root cause
_AREA_HINTSin core/bess/ha_api_controller.py:2194 only maps the original Nord Pool members:Nord Pool's day-ahead market has since expanded to NL, BE, DE-LU, FR, AT, PL (and others). For any of those areas,
_hints_from_nordpool_area()returns{}, the discover endpoint skips the currency update, and the bootstrap defaultSEKfromconfig.yamlstays in place.The UI side compounds this: PricingFormSection.tsx:58 renders the Currency field with
readOnly: trueand placeholder "Auto-detected…", so when auto-detect silently fails the user has no manual escape hatch.This is the same shape as #113 (Swedish-locale bootstrap defaults bleeding into non-SE users), just for the Nord Pool side instead of the Octopus side.
Proposal
Two parts:
_AREA_HINTSwith the post-expansion areas — NL/BE/DE/FR/AT (EUR) and PL (PLN). The prefix parser already handlesDE-LUcorrectly because it slicesarea[:2]. Tests added intest_discovery_hints.pycovering each new area.PR with the backend fix incoming.