diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dd60e19..bf60d635 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,14 +10,15 @@ * Changed: Enable BMS that are disabled by default by specifying it in the config file. No more need to edit scripts by @mr-manuel * Changed: Fix Sinowealth not loading https://github.com/Louisvdw/dbus-serialbattery/issues/702 by @mr-manuel * Changed: Fixed error in `reinstall-local.sh` script for Bluetooth installation by @mr-manuel -* Changed: Fixed that other devices are recognized as ANT BMS by @mr-manuel +* Changed: Fixed that other devices are recognized as ANT BMS https://github.com/Louisvdw/dbus-serialbattery/issues/479 by @mr-manuel * Changed: Fixed that other devices are recognized as Sinowealth BMS by @mr-manuel * Changed: Fixed typo in `config.ini` sample by @hoschult * Changed: For BMS_TYPE now multiple BMS can be specified by @mr-manuel -* Changed: Improved driver reinstall when multiple Bluetooth BMS are enabled by @mr-manuel -* Changed: Improved Jkbms_Ble driver by @seidler2547 & @mr-manuel * Changed: Improved battery error handling on connection loss by @mr-manuel * Changed: Improved battery voltage handling in linear absorption mode by @ogurevich +* Changed: Improved driver reinstall when multiple Bluetooth BMS are enabled by @mr-manuel +* Changed: Improved Jkbms_Ble driver by @seidler2547 & @mr-manuel +* Changed: Reduce the big inrush current if the CVL jumps from Bulk/Absorbtion to Float https://github.com/Louisvdw/dbus-serialbattery/issues/659 by @Rikkert-RS ## v1.0.20230531 diff --git a/etc/dbus-serialbattery/battery.py b/etc/dbus-serialbattery/battery.py index 0c7bef68..ed17ac00 100644 --- a/etc/dbus-serialbattery/battery.py +++ b/etc/dbus-serialbattery/battery.py @@ -343,9 +343,14 @@ def manage_charge_voltage_linear(self) -> None: ) else: - self.control_voltage = round( - (utils.FLOAT_CELL_VOLTAGE * self.cell_count), 3 - ) + floatVoltage = round((utils.FLOAT_CELL_VOLTAGE * self.cell_count), 3) + if self.control_voltage: + if self.control_voltage >= (floatVoltage + 0.005): + self.control_voltage -= 0.005 + else: + self.control_voltage = floatVoltage + else: + self.control_voltage = floatVoltage self.charge_mode = "Float" if (