Skip to content

fix: align QCells Mode 1 battery control with openWB semantics and timing - #3318

Merged
LKuemmel merged 3 commits into
openWB:feature_bat_controlfrom
Xoffroad:qcells-active-battery-control
Apr 23, 2026
Merged

LKuemmel merged 3 commits into
openWB:feature_bat_controlfrom
Xoffroad:qcells-active-battery-control

Conversation

@Xoffroad

Copy link
Copy Markdown
Contributor

No description provided.

@LKuemmel
LKuemmel merged commit 0115fd7 into openWB:feature_bat_control Apr 23, 2026
1 check passed
LKuemmel pushed a commit that referenced this pull request May 19, 2026
…ming (#3318)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: align QCells Mode 1 battery control with openWB semantics and timing
LKuemmel pushed a commit that referenced this pull request May 19, 2026
…ming (#3318)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: align QCells Mode 1 battery control with openWB semantics and timing
LKuemmel added a commit that referenced this pull request May 20, 2026
* Qcells active battery control (#3244)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* Apply suggestion from @seaspotter

Co-authored-by: SeaSpotter <[email protected]>

* Apply suggestions from code review

Co-authored-by: SeaSpotter <[email protected]>

* Update packages/modules/devices/qcells/qcells/bat.py

Co-authored-by: SeaSpotter <[email protected]>

* Indentation corrected

* remove whitespaces

---------

Co-authored-by: SeaSpotter <[email protected]>

* Qcells active battery control (#3306)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: switch qcells battery control to mode 1 with dynamic timing; mode 8 was not stable

* Qcells active battery control - some fixes (#3314)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: stabilize QCells active battery control in mode 1
Reworked QCells battery control to a stable Mode 1 workflow aligned with the validated HA behavior. The target calculation was corrected to avoid unintended forced charging, import limiting was applied consistently for net import control, and the full Mode 1 control payload is now written each cycle with dynamic timing based on the configured openWB control interval.

* fix: align QCells Mode 1 battery control with openWB semantics and timing (#3318)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: align QCells Mode 1 battery control with openWB semantics and timing

* fix: switch QCells remote control to Enabled Battery Control (mode 12) (#3320)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: switch QCells remote control to Enabled Battery Control (mode 12)

* fix: switch QCells battery control to SolaX mode 4 push-power with atomic Modbus block writes

* Implement active battery control via SolaX Remote Control Mode 4 in the SolaX battery module. (#3351)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix(solax): enable mode4 battery control for g3 hybrids only

Implement active battery control via SolaX Remote Control Mode 4 in the SolaX battery module. Gate controllability to version g3 (Gen3/Gen4 Hybrid) and keep g2/g4 non-controllable; add unit tests for sign mapping and version gating.

---------

Co-authored-by: Xoffroad <[email protected]>
Co-authored-by: SeaSpotter <[email protected]>
ndrsnhs pushed a commit to ndrsnhs/core that referenced this pull request Aug 24, 2026
* Qcells active battery control (openWB#3244)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* Apply suggestion from @seaspotter

Co-authored-by: SeaSpotter <[email protected]>

* Apply suggestions from code review

Co-authored-by: SeaSpotter <[email protected]>

* Update packages/modules/devices/qcells/qcells/bat.py

Co-authored-by: SeaSpotter <[email protected]>

* Indentation corrected

* remove whitespaces

---------

Co-authored-by: SeaSpotter <[email protected]>

* Qcells active battery control (openWB#3306)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: switch qcells battery control to mode 1 with dynamic timing; mode 8 was not stable

* Qcells active battery control - some fixes (openWB#3314)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: stabilize QCells active battery control in mode 1
Reworked QCells battery control to a stable Mode 1 workflow aligned with the validated HA behavior. The target calculation was corrected to avoid unintended forced charging, import limiting was applied consistently for net import control, and the full Mode 1 control payload is now written each cycle with dynamic timing based on the configured openWB control interval.

* fix: align QCells Mode 1 battery control with openWB semantics and timing (openWB#3318)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: align QCells Mode 1 battery control with openWB semantics and timing

* fix: switch QCells remote control to Enabled Battery Control (mode 12) (openWB#3320)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix: switch QCells remote control to Enabled Battery Control (mode 12)

* fix: switch QCells battery control to SolaX mode 4 push-power with atomic Modbus block writes

* Implement active battery control via SolaX Remote Control Mode 4 in the SolaX battery module. (openWB#3351)

* adding active battery control for qcells and new field for overload security

* remove field for max_power and use max_charge_power and max_discharge_power instead

* fix(solax): enable mode4 battery control for g3 hybrids only

Implement active battery control via SolaX Remote Control Mode 4 in the SolaX battery module. Gate controllability to version g3 (Gen3/Gen4 Hybrid) and keep g2/g4 non-controllable; add unit tests for sign mapping and version gating.

---------

Co-authored-by: Xoffroad <[email protected]>
Co-authored-by: SeaSpotter <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants