Skip to content

Latest commit

 

History

History
469 lines (392 loc) · 37.5 KB

CHANGELOG.md

File metadata and controls

469 lines (392 loc) · 37.5 KB

Changelog

Notes

v2.0.x

Breaking Changes

  • Driver version greater or equal to v2.0.20250107dev

    • Changes to config.default.ini: CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART was superseeded by SWITCH_TO_FLOAT_CELL_VOLTAGE_DEVIATION, which has a different behavior
    • Changes to config.default.ini: CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL was replaced by SWITCH_TO_FLOAT_CELL_VOLTAGE_DIFF
    • Changes to config.default.ini: CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT was replaced by SWITCH_TO_BULK_CELL_VOLTAGE_DIFF
    • Changes to config.default.ini: CVL_ICONTROLLER_FACTOR was replaced by CVL_CONTROLLER_KI
    • Changes to config.default.ini: CVL_ICONTROLLER_MODE was superseeded by CVL_CONTROLLER_MODE, which has a different behavior
    • Changes to config.default.ini: LINEAR_LIMITATION_ENABLE was superseeded by CHARGE_MODE, which has a different behavior
    • Changes to config.default.ini: LINEAR_RECALCULATION_EVERY was replaced by CVL_RECALCULATION_EVERY
    • Changes to config.default.ini: LINEAR_RECALCULATION_ON_PERC_CHANGE was replaced by CVL_RECALCULATION_ON_MAX_PERCENTAGE_CHANGE
    • Changes to config.default.ini: MAX_VOLTAGE_TIME_SEC was replaced by SWITCH_TO_FLOAT_WAIT_FOR_SEC
  • Driver version greater or equal to v2.0.20250103dev

    • Changes to config.default.ini: SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT was replaced by SWITCH_TO_BULK_SOC_THRESHOLD
  • Driver version greater or equal to v2.0.20241202dev

    • The driver path changed from /data/etc/dbus-serialbattery to /data/apps/dbus-serialbattery
    • Changes to config.default.ini: MODBUS_ADDRESSES was replaced by BATTERY_ADDRESSES
    • Changes to config.default.ini: SEPLOS_USE_BMS_VALUES was replaced by USE_BMS_DVCC_VALUES
    • Changes to config.default.ini: Changed default values for Cell Voltage Current Limitation and Temperature Current Limitation
  • Driver version greater or equal to v2.0.20241211dev

    • Changes to config.default.ini: SOC_CALC_CURRENT_REPORTED_BY_BMS was replaced by CURRENT_REPORTED_BY_BMS
    • Changes to config.default.ini: SOC_CALC_CURRENT_MEASURED_BY_USER was replaced by CURRENT_MEASURED_BY_USER
  • Driver version greater or equal to v2.0.20241217dev

    • Changes to config.default.ini: EXTERNAL_CURRENT_SENSOR_DBUS_DEVICE was replaced by EXTERNAL_SENSOR_DBUS_DEVICE
    • Changes to config.default.ini: EXTERNAL_CURRENT_SENSOR_DBUS_PATH was replaced by EXTERNAL_SENSOR_DBUS_PATH_CURRENT
  • Driver version greater or equal to v2.0.20241218dev

    • Changes to config.default.ini: TEMP_BATTERY was replaced by TEMPERATURE_SOURCE_BATTERY
    • Changes to config.default.ini: TEMP_1_NAME was replaced by TEMPERATURE_1_NAME
    • Changes to config.default.ini: TEMP_2_NAME was replaced by TEMPERATURE_2_NAME
    • Changes to config.default.ini: TEMP_3_NAME was replaced by TEMPERATURE_3_NAME
    • Changes to config.default.ini: TEMP_4_NAME was replaced by TEMPERATURE_4_NAME

What's Changed

  • Added: Calculation of history values not provided by the battery by @mr-manuel
  • Added: Felicity BMS by @versager
  • Added: JKBMS CAN - Extended protocol with version V2 by @Hooorny and @mr-manuel
  • Added: LiTime BMS by @calledit
  • Added: D-Controller for managing CVL on high cell voltage by @mr-manuel
  • Added: Make battery data available on MQTT under a single topic by enabling PUBLISH_BATTERY_DATA_AS_JSON by @mr-manuel
  • Added: Min/Max lifetime temperature to history class and battery template by @mr-manuel
  • Added: Pace BMS by @KoljaWindeler
  • Added: PID-Controller for managing CVL on high cell voltage by @mr-manuel
  • Added: Possibility to add external sensor for SoC by @mr-manuel
  • Added: Signal handler for clean service restart/shutdown by @mr-manuel
  • Changed: A lot of under the hood optimizations by @mr-manuel
  • Changed: Apply SOC_RESET_VOLTAGE after SOC_RESET_AFTER_DAYS regardless of whether the battery is in absorption, bulk, or float mode #123 by @mr-manuel
  • Changed: Consumed capacity must be negative values by @mr-manuel
  • Changed: Daly CAN - Driver improvements by @transistorgit
  • Changed: Daly CAN - Refactored driver to match new CAN standard by @mr-manuel and @transistorgit
  • Changed: Dependencies are now shipped with the driver and not downloaded anymore which allows a complete offline installation by @mr-manuel
  • Changed: Driver was moved from /data/etc/dbus-serialbattery to /data/apps/dbus-serialbattery by @mr-manuel
  • Changed: EG4 LifePower - Fixed wrong cell voltage decoding. Fixes #155 by @dchiquito
  • Changed: Fix /Info/BatteryLowVoltage remaining None #145 by @mr-manuel
  • Changed: Fix missing charge/discharge fet status for EG4 LifePower, EG4 LL and Renogy. Fixes #129 by @mr-manuel
  • Changed: Fixed issue, when calculated SOC is restored from dbus and BMS SOC is 0 by @mr-manuel
  • Changed: Improved driver and config.default.ini descriptions by @mr-manuel
  • Changed: JKBMS CAN - Per default only address 0 is recognized. Change BATTERY_ADDRESS to match your device address by @Hooorny and @mr-manuel
  • Changed: Licensing from MIT license to GNU AGPLv3 license by @mr-manuel
  • Changed: Refactored driver installation via USB/SD card by @mr-manuel
  • Changed: The driver is now running directly from it's app folder. No need to copy the config.ini file anywhere, which means changes are applied by simply restarting the service by @mr-manuel
  • Changed: The root filesystem is not mounted as read-write anymore, since overlay filesystems are used now. This allows to let the core system files untouched and to revert all changes with one command. The changes are now also persistant and do not have to be installed on every Venus OS update again by @mr-manuel
  • Changed: The setting CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART was superseeded by SWITCH_TO_FLOAT_CELL_VOLTAGE_DEVIATION, which has a different behavior by @mr-manuel
  • Changed: The setting CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL was replaced by SWITCH_TO_FLOAT_CELL_VOLTAGE_DIFF by @mr-manuel
  • Changed: The setting CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT was replaced by SWITCH_TO_BULK_CELL_VOLTAGE_DIFF by @mr-manuel
  • Changed: The setting CVL_ICONTROLLER_FACTOR was replaced by CVL_CONTROLLER_KI in the config.default.ini by @mr-manuel
  • Changed: The setting CVL_ICONTROLLER_MODE was superseeded by CVL_CONTROLLER_MODE, which has a different behavior by @mr-manuel
  • Changed: The setting EXTERNAL_CURRENT_SENSOR_DBUS_DEVICE was replaced by EXTERNAL_SENSOR_DBUS_DEVICE in the config.default.ini by @mr-manuel
  • Changed: The setting EXTERNAL_CURRENT_SENSOR_DBUS_PATH was replaced by EXTERNAL_SENSOR_DBUS_PATH_CURRENT in the config.default.ini by @mr-manuel
  • Changed: The setting LINEAR_LIMITATION_ENABLE was superseeded by CHARGE_MODE, which has a different behavior by @mr-manuel
  • Changed: The setting LINEAR_RECALCULATION_EVERY was replaced by CVL_RECALCULATION_EVERY by @mr-manuel
  • Changed: The setting LINEAR_RECALCULATION_ON_PERC_CHANGE was replaced by CVL_RECALCULATION_ON_MAX_PERCENTAGE_CHANGE by @mr-manuel
  • Changed: The setting MAX_VOLTAGE_TIME_SEC was replaced by SWITCH_TO_FLOAT_WAIT_FOR_SEC by @mr-manuel
  • Changed: The setting MODBUS_ADDRESSES was replaced by BATTERY_ADDRESSES in the config.default.ini by @mr-manuel
  • Changed: The setting SEPLOS_USE_BMS_VALUES was replaced by USE_BMS_DVCC_VALUES in the config.default.ini by @mr-manuel
  • Changed: The setting SOC_CALC_CURRENT_MEASURED_BY_USER was replaced by CURRENT_MEASURED_BY_USER in the config.default.ini by @mr-manuel
  • Changed: The setting SOC_CALC_CURRENT_REPORTED_BY_BMS was replaced by CURRENT_REPORTED_BY_BMS in the config.default.ini by @mr-manuel
  • Changed: The setting SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT was replaced by SWITCH_TO_BULK_SOC_THRESHOLD in the config.default.ini by @mr-manuel
  • Changed: The setting TEMP_1_NAME was replaced by TEMPERATURE_1_NAME in the config.default.ini by @mr-manuel
  • Changed: The setting TEMP_2_NAME was replaced by TEMPERATURE_2_NAME in the config.default.ini by @mr-manuel
  • Changed: The setting TEMP_3_NAME was replaced by TEMPERATURE_3_NAME in the config.default.ini by @mr-manuel
  • Changed: The setting TEMP_4_NAME was replaced by TEMPERATURE_4_NAME in the config.default.ini by @mr-manuel
  • Changed: The setting TEMP_BATTERY was replaced by TEMPERATURE_SOURCE_BATTERY in the config.default.ini by @mr-manuel
  • Changed: Use corrected current for both normal current and SOC calculation if SOC_CALCULATION is enabled by @mr-manuel
  • Changed: When SOC_CALCULATION is enabled, the SoC is reset to 100%, if the battery switches to float. Old options were removed by @mr-manuel
  • Removed: The setting SOC_RESET_CURRENT was removed in the config.default.ini by @mr-manuel
  • Removed: The setting SOC_RESET_TIME was removed in the config.default.ini by @mr-manuel

v1.5.20241215

What's Changed

  • Changed: Fixed typo in code that prevent driver from starting, if old battery instances are present by @mr-manuel

v1.5.20241202

Known issues

  • If you have old battery instances that should be deleted, you see the error dbus.exceptions.UnknownMethodException: org.freedesktop.DBus.Error.UnknownMethod: Unknown method: remove_settingss is not a valid method of interface com.victronenergy.Settings in the logs and the driver does not start anymore. Upgrade to v1.5.20241215 to solve the problem.

What's Changed

  • Added: Configurable threshold to prevent rapid switching (flapping) of CCL or DCL when 0 by @mr-manuel
  • Added: Daly BMS - Connect multiple BMS to the same RS485 port by @CaptKrisp
  • Added: EG LifePower - Connect multiple BMS to the same RS485 port by @mr-manuel
  • Added: GUIv2 by @mr-manuel
  • Added: High cell voltage alarm was added to venus-platform with https://github.com/victronenergy/venus-platform/commit/d686955aa15b7e246a92ee1f4c3eef3b62b153b7 and now also to this driver by @mr-manuel
  • Changed: Calculate current average not only when Time-To-Go is enabled by @mr-manuel
  • Changed: Calculate Time-to-Go until ESS -> Minimum SOC (unless grid fails), Active SOC limit or SOC_LOW_WARNING from config.ini by @mr-manuel
  • Changed: Enhance BMS type validation by @mr-manuel
  • Changed: HLPDATA BMS - BMS control of max charge and discharge is removed by @peterohman
  • Changed: HLPDATA BMS - improved driver with #96 by @peterohman
  • Changed: JKBMS PB Model fixed firmware version and temperature sensors by @KoljaWindeler
  • Changed: Optimized auto increase of the polling time by @mr-manuel
  • Changed: Rewritten code for external current sensor and fixed #60 by @mr-manuel

v1.4.20240928

Breaking Changes

  • Driver version greater or equal to v1.4.20240714dev

    • Changes to config.default.ini: HELTEC_MODBUS_ADDR was replaced by MODBUS_ADDRESSES.

What's Changed

  • Added: History() class that holds all BMS history values by @mr-manuel
  • Added: Automatically increase polling time, if polling take too long by @mr-manuel
  • Added: Connection Information field which was recently added by Victron on the details page by @mr-manuel
  • Added: Daren BMS with #65 by @cpttinkering
  • Added: Multiple BMS on one USB to RS485/Modbus adapter now possible. The BMS needs to be able to set different addresses to each battery by @mr-manuel
  • Added: Send telemetry data to see which driver versions and BMS are used the most. Can be disabled in the config.ini by @mr-manuel
  • Added: Show error in log, if an unknown BMS type was added in the config.ini by @mr-manuel
  • Changed: Battery connection loss: Big improvements on handling the situation, fixed battery connection restore without driver restart, improved behaviour when connection is lost, added config options by @mr-manuel
  • Changed: Call get_settings() in test_connection() for all battery classes, removed get_settings() call from setup_vedbus() by @mr-manuel
  • Changed: Daly BMS - Fixed issues where faulty readings set values to None by @mr-manuel
  • Changed: Fixed alarms for some BMS and cleaned up Protection() class
  • Changed: Fixed how velib_python was integrated in this driver by @mr-manuel
  • Changed: Fixed problem with battery status and error code by @mr-manuel
  • Changed: GUIv1 cell voltage page design by @mr-manuel
  • Changed: JKBMS - Fixed issues where faulty readings set values to None by @mr-manuel
  • Changed: JKBMS BLE - Fixes wrong max battery voltage Louisvdw/dbus-serialbattery#1094 by @mr-manuel
  • Changed: JKBMS PB Model fixes by @KoljaWindeler
  • Changed: LLT/JBS BMS - Fix bug in SOC calculation and use SOC comming from BMS. Fixes #47 by @mr-manuel
  • Changed: Renogy BMS - Use port as unique identifier, since it's not possible to change any values on this BMS by @mr-manuel
  • Changed: Reworked, documented and cleaned up a lot of code by @mr-manuel
  • Changed: Set default charge/discharge current from utils in main battery class by @mr-manuel
  • Changed: Show non blocking errors only, if more than 180 occured in the last 3 hours (1 per minute) and do not block inverting/charging by @mr-manuel
  • Changed: The setting HELTEC_MODBUS_ADDR was replaced by MODBUS_ADDRESSES in the config.default.ini by @mr-manuel
  • Changed: Updated battery_template.py and added tons of descriptions by @mr-manuel

v1.3.20240705

Breaking Changes

  • Driver version greater or equal to v1.3.20240625dev

    • Lifepower was renamed to EG4_Lifepower. You need to change it, if you have specified it in the config.ini.

What's Changed

  • Added: EG4 LL BMS by @tuxntoast
  • Added: Fields for debugging switch to float/bulk by @mr-manuel
  • Added: JKBMS PB Model with #39 by @KoljaWindeler
  • Added: Possibility to add custom polling interval to reduce the CPU load. Fixes Louisvdw/dbus-serialbattery#1022 by @mr-manuel
  • Added: Possibility to select if min/max battery voltage, CVL, CCL and DCL are used from driver or BMS. Fixes Louisvdw/dbus-serialbattery#1056 by @mr-manuel
  • Added: Possibility to use port name as unique identifier Louisvdw/dbus-serialbattery#1035 by @mr-manuel
  • Added: Show details about driver internals in GUI -> Serialbattery -> Parameters by setting GUI_PARAMETERS_SHOW_ADDITIONAL_INFO to True by @mr-manuel
  • Added: Show in the remote console/GUI if a non blocking error was triggered by @mr-manuel
  • Added: Use current measurement from other dbus path by @mr-manuel
  • Changed: Daly BMS CAN - Prevent recognition of this BMS, if it's not connected by @mr-manuel
  • Changed: Fixed failed GUI restart on some GX devices by @SenH
  • Changed: Fixed problem with I-Controller Louisvdw/dbus-serialbattery#1041 by @mr-manuel
  • Changed: Fixed problem with linear limitation disabled Louisvdw/dbus-serialbattery#1037 by @mr-manuel
  • Changed: Fixed SoC is None on driver startup #32 by @mr-manuel
  • Changed: Fixed some wrong paths in the post-hook commands by @juswes
  • Changed: JKBMS BLE - Fixed problem with second temperature sensor, which was introduced with v1.1.20240128dev #26 by @mr-manuel
  • Changed: Optimized code and error handling by @mr-manuel
  • Changed: Optimized SOC reset to 100% and 0% when SOC_CALCULATION is enabled by @mr-manuel
  • Changed: Renamed Lifepower to EG4_Lifepower by @mr-manuel
  • Changed: Renogy BMS - Fixes for unknown serial number by @mr-manuel
  • Changed: Seplos BMS - Fixed temperature display Louisvdw/dbus-serialbattery#1072 by @wollew

v1.2.20240408

Breaking Changes

  • Driver version greater or equal to v1.2.20240219dev

    • The temperature limitation variables where changed to match the other variable names.

      OLD

      TEMPERATURE_LIMITS_WHILE_CHARGING, TEMPERATURE_LIMITS_WHILE_DISCHARGING

      NEW

      TEMPERATURES_WHILE_CHARGING, TEMPERATURES_WHILE_DISCHARGING

    • The SoC limitation variables where changed to match the cell voltage and temperature config.

      OLD

      CC_SOC_LIMIT1, CC_SOC_LIMIT2, CC_SOC_LIMIT3

      CC_CURRENT_LIMIT1_FRACTION, CC_CURRENT_LIMIT2_FRACTION, CC_CURRENT_LIMIT3_FRACTION

      DC_SOC_LIMIT1, DC_SOC_LIMIT2, DC_SOC_LIMIT3

      DC_CURRENT_LIMIT1_FRACTION, DC_CURRENT_LIMIT2_FRACTION, DC_CURRENT_LIMIT3_FRACTION

      NEW

      SOC_WHILE_CHARGING, MAX_CHARGE_CURRENT_SOC_FRACTION, SOC_WHILE_DISCHARGING, MAX_DISCHARGE_CURRENT_SOC_FRACTION

What's Changed

  • Added: Check if the device instance is already used by @mr-manuel
  • Added: Check if there is enough space on system and data partitions before installation by @mr-manuel
  • Added: LLT/JBD BLE BMS - Added MAC address as unique identifier. Fixed Louisvdw/dbus-serialbattery#970 by @mr-manuel
  • Added: Reset calculated SoC to 0%, if battery is empty by @mr-manuel
  • Added: Venus OS version to logfile by @mr-manuel
  • Changed: Config: SoC limitation is now disabled by default, since in most use cases it's very inaccurate by @mr-manuel
  • Changed: Config: SoC limitation variables where changed to match other setting variables by @mr-manuel
  • Changed: Config: Temperature limitation variables where changed to match other setting variables by @mr-manuel
  • Changed: Daly BMS - Fixed some smaller errory with #22 and #23 by @transistorgit
  • Changed: Fixed CAN installation with Louisvdw/dbus-serialbattery#1007 by @p0l0us
  • Changed: Fixed non-working can-bus dependency with Louisvdw/dbus-serialbattery#1007 by @p0l0us
  • Changed: Fixed showing None SoC in log in driver start by @mr-manuel
  • Changed: Fixed some other errors when restoring values from dbus settings by @mr-manuel
  • Changed: Fixed some SOC calculation issues by @mr-manuel
  • Changed: Fixed Time-to-SoC and Time-to-Go calculation by @mr-manuel
  • Changed: Set CCL/DCL to 0, if allow to charge/discharge is no, fixes Louisvdw/dbus-serialbattery#1024 by @mr-manuel
  • Changed: Install script now shows repositories and version numbers by @mr-manuel
  • Changed: JKBMS BLE - Fixed driver gets unresponsive, if connection is lost Louisvdw/dbus-serialbattery#720 with Louisvdw/dbus-serialbattery#941 by @cupertinomiranda
  • Changed: JKBMS BLE - Fixed driver not starting for some BMS models that are not sending BLE data correctly Louisvdw/dbus-serialbattery#819 by @mr-manuel
  • Changed: JKBMS BLE - Fixed temperature issue Louisvdw/dbus-serialbattery#916 by @mr-manuel
  • Changed: JKBMS CAN - Fixed different BMS versions with #24 by @p0l0us
  • Changed: LLT/JBD BMS & BLE - If only one temperature is available use it as battery temp. Fixed Louisvdw/dbus-serialbattery#971 by @mr-manuel
  • Changed: Optimized reinstall-local.sh. Show installed version and restart GUI only on changes by @mr-manuel
  • Changed: Reinstallation of the driver now checks, if packages are already installed for Bluetooth and CAN by @mr-manuel
  • Changed: Show ForceChargingOff, ForceDischargingOff and TurnBalancingOff only for BMS that support it by @mr-manuel
  • Changed: SocResetLastReached not read from dbus settings. Fixed Louisvdw/dbus-serialbattery#840 by @mr-manuel
  • Removed: Python 2 compatibility by @mr-manuel

v1.1.20240121

Known issues

  • If multiple batteries have the same unique_identifier, then they are displayed as one battery in the VRM portal and if you change the name, it get changed for all dbus-serialbattries. Please change the capacity of the batteries to be unique (if the unique identifier ends with Ah) or change the custom field on supported BMS. E.g.: 278 Ah, 279 Ah,280 Ah,281 Ah and 282 Ah, if you have 5 batteries with 280 Ah.

Breaking Changes

  • Driver version greater or equal to v1.1.20231223dev

    • PUBLISH_CONFIG_VALUES now has to be True or False
  • Driver version greater or equal to v1.0.20231128dev

    • The custom name is not saved to the config file anymore, but to the dbus service com.victronenergy.settings. You have to re-enter it once.

    • If you selected a specific device in Settings -> System setup -> Battery monitor and/or Settings -> DVCC -> Controlling BMS you have to reselect it.

  • Driver version greater or equal to v1.0.20230629dev and smaller or equal to v1.0.20230926dev:

    With v1.0.20230927beta the following values changed names:

    • BULK_CELL_VOLTAGE -> SOC_RESET_VOLTAGE
    • BULK_AFTER_DAYS -> SOC_RESET_AFTER_DAYS

What's Changed

  • Added: Bluetooth: Show signal strength of BMS in log by @mr-manuel
  • Added: Configure logging level in config.ini by @mr-manuel
  • Added: Create unique identifier, if not provided from BMS by @mr-manuel
  • Added: Current average of the last 5 minutes by @mr-manuel
  • Added: Daly BMS - Auto reset SoC when changing to float (can be turned off in the config file) by @transistorgit
  • Added: Daly BMS connect via CAN (experimental, some limits apply) with Louisvdw/dbus-serialbattery#169 by @SamuelBrucksch and @mr-manuel
  • Added: Exclude a device from beeing used by the dbus-serialbattery driver by @mr-manuel
  • Added: Implement callback function for update by @seidler2547
  • Added: JKBMS BLE - Automatic SOC reset with Louisvdw/dbus-serialbattery#736 by @ArendsM
  • Added: JKBMS BLE - Show last five characters from the MAC address in the custom name (which is displayed in the device list) by @mr-manuel
  • Added: JKBMS BMS connect via CAN (experimental, some limits apply) by @IrisCrimson and @mr-manuel
  • Added: LLT/JBD BMS - Discharge / Charge Mosfet and disable / enable balancer switching over remote console/GUI with Louisvdw/dbus-serialbattery#761 by @idstein
  • Added: LLT/JBD BMS - Show balancer state in GUI under the IO page with Louisvdw/dbus-serialbattery#763 by @idstein
  • Added: Load to SOC reset voltage every x days to reset the SoC to 100% for some BMS by @mr-manuel
  • Added: Possibility to count and calculate the SOC based on reference values with Louisvdw/dbus-serialbattery#868 by @cflenker
  • Added: Save current charge state for driver restart or device reboot. Fixes Louisvdw/dbus-serialbattery#840 by @mr-manuel
  • Added: Save custom name and make it restart persistant by @mr-manuel
  • Added: Setting and install logic for usb bluetooth module by @Marvo2011
  • Added: Temperature names to dbus and mqtt by @mr-manuel
  • Added: The device instance does not change anymore when you plug the BMS into another USB port. Fixed Louisvdw/dbus-serialbattery#718 by @mr-manuel
  • Added: Use current average of the last 300 cycles for time to go and time to SoC calculation by @mr-manuel
  • Added: Validate current, voltage, capacity and SoC for all BMS. This prevents that a device, which is no BMS, is detected as BMS. Fixes also Louisvdw/dbus-serialbattery#479 by @mr-manuel
  • Changed: PUBLISH_CONFIG_VALUES now has to be True or False by @mr-manuel
  • Changed: VOLTAGE_DROP now behaves differently. Before it reduced the voltage for the check, now the voltage for the charger is increased in order to get the target voltage on the BMS by @mr-manuel
  • Changed: Battery disconnect behaviour. See BLOCK_ON_DISCONNECT option in the config.default.ini file by @mr-manuel
  • Changed: Condition for the CVL transition to float with Louisvdw/dbus-serialbattery#895 by @cflenker
  • Changed: Daly BMS - Fixed Louisvdw/dbus-serialbattery#837 by @mr-manuel
  • Changed: Daly BMS - Fixed readsentence by @transistorgit
  • 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: Exit the driver with error, when port is excluded in config, else the serialstarter does not continue by @mr-manuel
  • Changed: Fixed Building wheel for dbus-fast won't finish on weak systems Louisvdw/dbus-serialbattery#785 by @mr-manuel
  • Changed: Fixed error in reinstall-local.sh script for Bluetooth installation by @mr-manuel
  • Changed: Fixed issue on first driver startup, when no device setting in dbus exists by @mr-manuel
  • Changed: Fixed meaningless Time to Go values by @transistorgit
  • Changed: Fixed some smaller errors 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 battery error handling on connection loss by @mr-manuel
  • Changed: Improved battery voltage handling in linear absorption mode by @ogurevich
  • Changed: Improved driver disable script by @md-manuel
  • Changed: Improved driver reinstall when multiple Bluetooth BMS are enabled by @mr-manuel
  • Changed: JKBMS - Driver do not start if manufacturer date in BMS is empty Louisvdw/dbus-serialbattery#823 by @mr-manuel
  • Changed: JKBMS BLE - Fixed MOSFET Temperature for HW 11 by @jensbehrens & @mr-manuel
  • Changed: JKBMS BLE - Fixed recognition of newer models where no data is shown by @mr-manuel
  • Changed: JKBMS BLE - Improved driver by @seidler2547 & @mr-manuel
  • Changed: LLT/JBD BLE BMS recover from lost BLE connection with Louisvdw/dbus-serialbattery#830 by @Marvo2011
  • Changed: LLT/JBD BMS - Fixed cycle capacity with Louisvdw/dbus-serialbattery#762 by @idstein
  • Changed: LLT/JBD BMS - Fixed Louisvdw/dbus-serialbattery#730 by @mr-manuel
  • Changed: LLT/JBD BMS - Fixed Louisvdw/dbus-serialbattery#769 by @mr-manuel
  • Changed: LLT/JBD BMS - Fixed Louisvdw/dbus-serialbattery#778 with Louisvdw/dbus-serialbattery#798 by @idstein
  • Changed: LLT/JBD BMS - Improved error handling and automatical driver restart in case of error. Fixed Louisvdw/dbus-serialbattery#777 by @mr-manuel
  • Changed: LLT/JBD BMS - SOC different in Xiaoxiang app and dbus-serialbattery with Louisvdw/dbus-serialbattery#760 by @idstein
  • Changed: Make CCL and DCL limiting messages more clear by @mr-manuel
  • Changed: More detailed error output when an exception happens by @mr-manuel
  • Changed: Optimized CVL calculation on high cell voltage for smoother charging with Louisvdw/dbus-serialbattery#882 by @cflenker
  • Changed: Reduce the big inrush current if the CVL jumps from bulk/absorption to float Louisvdw/dbus-serialbattery#659 by @Rikkert-RS & @ogurevich
  • Changed: Sinowealth BMS - Fixed not loading Louisvdw/dbus-serialbattery#702 by @mr-manuel
  • Changed: Time-to-Go and Time-to-SoC use the current average of the last 5 minutes for calculation by @mr-manuel
  • Changed: Time-to-SoC calculate only positive points by @mr-manuel
  • Removed: Cronjob to restart Bluetooth service every 12 hours by @mr-manuel

v1.0.20230531

Breaking Changes

  • The config is now done in the config.ini. All values from the utils.py get lost. The changes in the config.ini will persists future updates.

What's Changed

  • Added: self.unique_identifier to the battery class. Used to identify a BMS when multiple BMS are connected - planned for future use by @mr-manuel
  • Added: Alert is triggered, when BMS communication is lost by @mr-manuel
  • Added: Apply max voltage, if CVCM_ENABLE is False. Before float voltage was applied by @mr-manuel
  • Added: Balancing status for JKBMS by @mr-manuel
  • Added: Balancing switch status for JKBMS by @mr-manuel
  • Added: Balancing switch status to the GUI -> SerialBattery -> IO by @mr-manuel
  • Added: Block charge/discharge when BMS communication is lost. Can be enabled trough the config file by @mr-manuel
  • Added: Charge Mode display by @mr-manuel
  • Added: Check minimum required Venus OS version before installing by @mr-manuel
  • Added: Choose how battery temperature is assembled (mean temp 1 & 2, only temp 1 or only temp 2) by @mr-manuel
  • Added: Config file by @ppuetsch
  • Added: Create empty config.ini for easier user usage by @mr-manuel
  • Added: Cronjob to restart Bluetooth service every 12 hours by @mr-manuel
  • Added: Daly BMS - Discharge / Charge Mosfet switching over remote console/GUI Louisvdw/dbus-serialbattery#26 by @transistorgit
  • Added: Daly BMS - Read capacity Louisvdw/dbus-serialbattery#594 by @transistorgit
  • Added: Daly BMS - Read production date and build unique identifier by @transistorgit
  • Added: Daly BMS - Set SoC by @transistorgit
  • Added: Daly BMS - Show "battery code" field that can be set in the Daly app by @transistorgit
  • Added: Device name field (found in the GUI -> SerialBattery -> Device), that show a custom string that can be set in some BMS, if available by @mr-manuel
  • Added: Driver uninstall script by @mr-manuel
  • Added: Fix for Venus OS >= v3.00~14 showing unused items Louisvdw/dbus-serialbattery#469 by @mr-manuel
  • Added: HeltecSmartBMS driver by @ramack
  • Added: HighInternalTemperature alarm (MOSFET) for JKBMS by @mr-manuel
  • Added: HLPdata BMS driver by @ peterohman
  • Added: Improved maintainability (flake8, black lint), introduced code checks and automate release build Louisvdw/dbus-serialbattery#386 by @ppuetsch
  • Added: Install needed Bluetooth components automatically after a Venus OS upgrade by @mr-manuel
  • Added: JKBMS - MOS temperature Louisvdw/dbus-serialbattery#440 by @baphomett
  • Added: JKBMS - Uniqie identifier and show "User Private Data" field that can be set in the JKBMS App to identify the BMS in a multi battery environment by @mr-manuel
  • Added: JKBMS BLE - Balancing switch status by @mr-manuel
  • Added: JKBMS BLE - Capacity by @mr-manuel
  • Added: JKBMS BLE - Cell imbalance alert by @mr-manuel
  • Added: JKBMS BLE - Charging switch status by @mr-manuel
  • Added: JKBMS BLE - Discharging switch status by @mr-manuel
  • Added: JKBMS BLE - MOS temperature by @mr-manuel
  • Added: JKBMS BLE - Show if balancing is active and which cells are balancing by @mr-manuel
  • Added: JKBMS BLE - Show serial number and "User Private Data" field that can be set in the JKBMS App to identify the BMS in a multi battery environment by @mr-manuel
  • Added: JKBMS BLE driver by @baranator
  • Added: LLT/JBD BMS BLE driver by @idstein
  • Added: Possibility to add config.ini to the root of a USB flash drive on install via the USB method by @mr-manuel
  • Added: Possibility to configure a VOLTAGE_DROP voltage, if you are using a SmartShunt as battery monitor as there is a little voltage difference Louisvdw/dbus-serialbattery#632 by @mr-manuel
  • Added: Post install notes by @mr-manuel
  • Added: Read charge/discharge limits from JKBMS by @mr-manuel
  • Added: Recalculation interval in linear mode for CVL, CCL and DCL by @mr-manuel
  • Added: Rename TAR file after USB/SD card install to not overwrite the data on every reboot Louisvdw/dbus-serialbattery#638 by @mr-manuel
  • Added: Reset values to None, if battery goes offline (not reachable for 10s). Fixes Louisvdw/dbus-serialbattery#193 Louisvdw/dbus-serialbattery#64 by @transistorgit
  • Added: Script to install directly from repository by @mr-manuel
  • Added: Seplos BMS driver by @wollew
  • Added: Serial number field (found in the GUI -> SerialBattery -> Device), that show the serial number or a unique identifier for the BMS, if available by @mr-manuel
  • Added: Show charge mode (absorption, bulk, ...) in Parameters page by @mr-manuel
  • Added: Show charge/discharge limitation reason by @mr-manuel
  • Added: Show MOSFET temperature for JKBMS Louisvdw/dbus-serialbattery#440 by @baphomett
  • Added: Show serial number (used for unique identifier) and device name (custom BMS field) in the remote console/GUI to identify a BMS in a multi battery environment by @mr-manuel
  • Added: Show specific TimeToSoC points in GUI, if 0%, 10%, 20%, 80%, 90% and/or 100% are selected by @mr-manuel
  • Added: Show TimeToGo in GUI only, if enabled by @mr-manuel
  • Added: Support for HLPdata BMS4S Louisvdw/dbus-serialbattery#505 by @peterohman
  • Added: Support for Seplos BMS Louisvdw/dbus-serialbattery#530 by @wollew
  • Added: Temperature 1-4 are now also available on the dbus and MQTT by @idstein
  • Added: Temperature name for temperature sensor 1 & 2. This allows to see which sensor is low and high (e.g. battery and cable) by @mr-manuel
  • Changed: reinstall-local.sh to recreate /data/conf/serial-starter.d, if deleted by disable.sh --> to check if the file conf/serial-starter.d could now be removed from the repository by @mr-manuel
  • Changed: Added QML to restore-gui.sh by @mr-manuel
  • Changed: Bash output by @mr-manuel
  • Changed: CVL calculation improvement. Removed cell voltage penalty. Replaced by automatic voltage calculation. Max voltage is kept until cells are balanced and reset when cells are inbalanced or SoC is below threshold by @mr-manuel
  • Changed: Daly BMS - Fixed BMS alerts by @mr-manuel
  • Changed: Daly BMS - Improved driver stability by @transistorgit & @mr-manuel
  • Changed: Daly BMS - Reworked serial parser by @transistorgit
  • Changed: Default config file by @ppuetsch
    • Added missing descriptions to make it much clearer to understand by @mr-manuel
    • Changed name from default_config.ini to config.default.ini Louisvdw/dbus-serialbattery#412 (comment) by @mr-manuel
    • Changed TimeToSoc default value TIME_TO_SOC_VALUE_TYPE from Both seconds and time string "<seconds> [<days>d <hours>h <minutes>m <seconds>s]" to 1 Seconds by @mr-manuel
    • Changed TimeToSoc description by @mr-manuel
    • Changed value positions, added groups and much clearer descriptions by @mr-manuel
  • Changed: Default FLOAT_CELL_VOLTAGE from 3.350 V to 3.375 V by @mr-manuel
  • Changed: Default LINEAR_LIMITATION_ENABLE from False to True by @mr-manuel
  • Changed: Disabled ANT BMS by default Louisvdw/dbus-serialbattery#479 by @mr-manuel
  • Changed: Driver can now also start without serial adapter attached for Bluetooth BMS by @seidler2547
  • Changed: Feedback from BMS driver to know, if BMS is found or not by @mr-manuel
  • Changed: Fixed black lint errors by @mr-manuel
  • Changed: Fixed cell balancing background for cells 17-24 by @mr-manuel
  • Changed: Fixed cell balancing display for JBD/LLT BMS Louisvdw/dbus-serialbattery#359 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#239 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#311 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#351 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#397 by @transistorgit
  • Changed: Fixed Louisvdw/dbus-serialbattery#421 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#450 by @mr-manuel
  • Changed: Fixed Louisvdw/dbus-serialbattery#648 by @mr-manuel
  • Changed: Fixed Time-To-Go is not working, if TIME_TO_SOC_VALUE_TYPE is set to other than 1 Louisvdw/dbus-serialbattery#424 (comment) by @mr-manuel
  • Changed: Improved install workflow via USB flash drive by @mr-manuel
  • Changed: Improved JBD BMS soc calculation Louisvdw/dbus-serialbattery#439 by @aaronreek
  • Changed: Logging to get relevant data by @mr-manuel
  • Changed: Many code improvements Louisvdw/dbus-serialbattery#393 by @ppuetsch
  • Changed: Moved Bluetooth part to reinstall-local.sh by @mr-manuel
  • Changed: Moved BMS scripts to subfolder by @mr-manuel
  • Changed: Removed all wildcard imports and fixed black lint errors by @mr-manuel
  • Changed: Renamed scripts for better reading #532 by @mr-manuel
  • Changed: Reworked and optimized installation scripts by @mr-manuel
  • Changed: Separate Time-To-Go and Time-To-SoC activation by @mr-manuel
  • Changed: Serial-Starter file is now created from reinstall-local.sh. Fixes also Louisvdw/dbus-serialbattery#520 by @mr-manuel
  • Changed: Temperature alarm changed in order to not trigger all in the same condition for JKBMS by @mr-manuel
  • Changed: Time-To-Soc repetition from cycles to seconds. Minimum value is every 5 seconds. This prevents CPU overload and ensures system stability. Renamed TIME_TO_SOC_LOOP_CYCLES to TIME_TO_SOC_RECALCULATE_EVERY by @mr-manuel
  • Changed: Time-To-Soc string from days, HR:MN:SC to <days>d <hours>h <minutes>m <seconds>s (same as Time-To-Go) by @mr-manuel
  • Changed: Uninstall also installed Bluetooth modules on uninstall by @mr-manuel