Skip to content

Commit cab5ddd

Browse files
committed
release: v1.6.3 - raise max current cap to 63A and fix options slider
- Raise CONF_MAX_CURRENT validation cap from 32A to 63A in config flow and options flow - Fix Charging Current Limit slider reading only entry.data, now respects entry.options - Default max current remains 32A; users can opt in to higher values per hardware capability
1 parent 411236a commit cab5ddd

4 files changed

Lines changed: 20 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.6.3] - 2026-04-26
9+
10+
### Changed
11+
12+
- **Maximum charging current cap raised from 32A to 63A** - The artificial cap of 32A in the config flow validation has been raised to 63A (Type 2 connector practical maximum for single-phase). The default remains 32A, but users with hardware/installations that support higher currents (single-phase up to ~14kW, 3-phase up to ~43kW) can now configure values above 32A via Options. The wallbox will reject via OCPP `SetChargingProfile` if the value exceeds its hardware capability.
13+
14+
### Fixed
15+
16+
- **Charging Current Limit slider not respecting Options changes** - The slider's maximum value and current value were read only from `entry.data`, ignoring `entry.options`. After updating the maximum current in Settings → Configure, the slider now correctly reflects the new ceiling on reload.
17+
818
## [1.6.2] - 2026-03-09
919

1020
### Added

custom_components/bmw_wallbox/config_flow.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
vol.Required(CONF_CHARGE_POINT_ID): str,
3737
vol.Optional(CONF_RFID_TOKEN, default=""): str,
3838
vol.Optional(CONF_MAX_CURRENT, default=DEFAULT_MAX_CURRENT): vol.All(
39-
vol.Coerce(int), vol.Range(min=6, max=32)
39+
vol.Coerce(int), vol.Range(min=6, max=63)
4040
),
4141
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL): vol.All(
4242
vol.Coerce(int), vol.Range(min=5, max=60)
@@ -149,7 +149,7 @@ async def async_step_init(
149149
{
150150
vol.Optional(CONF_RFID_TOKEN, default=current_rfid): str,
151151
vol.Optional(CONF_MAX_CURRENT, default=current_max): vol.All(
152-
vol.Coerce(int), vol.Range(min=6, max=32)
152+
vol.Coerce(int), vol.Range(min=6, max=63)
153153
),
154154
vol.Optional(CONF_SCAN_INTERVAL, default=current_scan): vol.All(
155155
vol.Coerce(int), vol.Range(min=5, max=60)

custom_components/bmw_wallbox/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
"requirements": [
1212
"ocpp>=0.20.0"
1313
],
14-
"version": "1.6.2"
14+
"version": "1.6.3"
1515
}

custom_components/bmw_wallbox/number.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,9 @@ def __init__(
6262
self._entry = entry
6363
self._attr_unique_id = f"{entry.entry_id}_{NUMBER_CURRENT_LIMIT}"
6464
self._attr_name = "Charging Current Limit"
65-
self._attr_native_max_value = entry.data.get(
66-
CONF_MAX_CURRENT, DEFAULT_MAX_CURRENT
65+
self._attr_native_max_value = entry.options.get(
66+
CONF_MAX_CURRENT,
67+
entry.data.get(CONF_MAX_CURRENT, DEFAULT_MAX_CURRENT),
6768
)
6869
# Device info for grouping
6970
self._attr_device_info = {
@@ -80,7 +81,10 @@ def native_value(self) -> float:
8081
"""Return current limit value."""
8182
return self.coordinator.data.get(
8283
"current_limit",
83-
self._entry.data.get(CONF_MAX_CURRENT, DEFAULT_MAX_CURRENT),
84+
self._entry.options.get(
85+
CONF_MAX_CURRENT,
86+
self._entry.data.get(CONF_MAX_CURRENT, DEFAULT_MAX_CURRENT),
87+
),
8488
)
8589

8690
async def async_set_native_value(self, value: float) -> None:

0 commit comments

Comments
 (0)