[DEFAULT] ; --------- Battery Current limits --------- MAX_BATTERY_CHARGE_CURRENT = 50.0 MAX_BATTERY_DISCHARGE_CURRENT = 60.0 ; --------- Cell Voltages --------- ; Description: Cell min/max voltages which are used to calculate the min/max battery voltage ; Example: 16 cells * 3.45V/cell = 55.2V max charge voltage. 16 cells * 2.90V = 46.4V min discharge voltage MIN_CELL_VOLTAGE = 2.900 ; Max voltage can seen as absorption voltage MAX_CELL_VOLTAGE = 3.450 FLOAT_CELL_VOLTAGE = 3.375 ; --------- Bluetooth BMS --------- ; Description: List the Bluetooth BMS here that you want to install ; -- Available Bluetooth BMS: ; Jkbms_Ble, LltJbd_Ble ; Example: ; 1 BMS: Jkbms_Ble C8:47:8C:00:00:00 ; 3 BMS: Jkbms_Ble C8:47:8C:00:00:00, Jkbms_Ble C8:47:8C:00:00:11, Jkbms_Ble C8:47:8C:00:00:22 BLUETOOTH_BMS = ; --------- BMS disconnect behaviour --------- ; Description: Block charge and discharge when the communication to the BMS is lost. If you are removing the ; BMS on purpose, then you have to restart the driver/system to reset the block. ; False: Charge and discharge is not blocked on BMS communication loss ; True: Charge and discharge is blocked on BMS communication loss, it's unblocked when connection is established ; again or the driver/system is restarted BLOCK_ON_DISCONNECT = False ; --------- Charge mode --------- ; Choose the mode for voltage / current limitations (True / False) ; False is a step mode: This is the default with limitations on hard boundary steps ; True is a linear mode: ; For CCL and DCL the values between the steps are calculated for smoother values (by WaldemarFech) ; For CVL max battery voltage is calculated dynamically in order that the max cell voltage is not exceeded LINEAR_LIMITATION_ENABLE = True ; Specify in seconds how often the linear values should be recalculated LINEAR_RECALCULATION_EVERY = 60 ; Specify in percent when the linear values should be recalculated immediately ; Example: 5 for a immediate change, when the value changes by more than 5% LINEAR_RECALCULATION_ON_PERC_CHANGE = 5 ; --------- Charge Voltage limitation (affecting CVL) --------- ; Description: Limit max charging voltage (MAX_CELL_VOLTAGE * cell count), switch from max voltage to float ; voltage (FLOAT_CELL_VOLTAGE * cell count) and back ; False: Max charging voltage is always kept ; True: Max charging voltage is reduced based on charge mode ; Step mode: After max voltage is reached for MAX_VOLTAGE_TIME_SEC it switches to float voltage. After ; SoC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT it switches back to max voltage. ; Linear mode: After max voltage is reachend and cell voltage difference is smaller or equal to ; CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL it switches to float voltage after 300 (fixed) ; additional seconds. ; After cell voltage difference is greater or equal to CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT ; OR ; SoC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT ; it switches back to max voltage. ; Example: The battery reached max voltage of 55.2V and hold it for 900 seconds, the the CVL is switched to ; float voltage of 53.6V to don't stress the batteries. Allow max voltage of 55.2V again, if SoC is ; once below 90% ; OR ; The battery reached max voltage of 55.2V and the max cell difference is 0.010V, then switch to float ; voltage of 53.6V after 300 additional seconds to don't stress the batteries. Allow max voltage of ; 55.2V again if max cell difference is above 0.080V or SoC below 90%. ; Charge voltage control management enable (True/False). CVCM_ENABLE = True ; -- CVL reset based on cell voltage diff (linear mode) ; Specify cell voltage diff where CVL limit is kept until diff is equal or lower CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL = 0.010 ; Specify cell voltage diff where CVL limit is reset to max voltage, if value get above ; the cells are considered as imbalanced, if the cell diff exceeds 5% of the nominal cell voltage ; e.g. 3.2 V * 5 / 100 = 0.160 V CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT = 0.080 ; -- CVL reset based on SoC option (step mode) ; Specify how long the max voltage should be kept, if reached then switch to float voltage MAX_VOLTAGE_TIME_SEC = 900 ; Specify SoC where CVL limit is reset to max voltage, if value gets below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90 ; --------- Cell Voltage Current limitation (affecting CCL/DCL) --------- ; Description: Maximal charge / discharge current will be in-/decreased depending on min and max cell voltages ; Example: 18 cells * 3.55V/cell = 63.9V max charge voltage ; 18 cells * 2.70V/cell = 48.6V min discharge voltage ; But in reality not all cells reach the same voltage at the same time. The (dis)charge current ; will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits ; Charge current control management referring to cell-voltage enable (True/False). CCCM_CV_ENABLE = True ; Discharge current control management referring to cell-voltage enable (True/False). DCCM_CV_ENABLE = True ; Set steps to reduce battery current ; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True CELL_VOLTAGES_WHILE_CHARGING = 3.55, 3.50, 3.45, 3.30 MAX_CHARGE_CURRENT_CV_FRACTION = 0, 0.05, 0.5, 1 CELL_VOLTAGES_WHILE_DISCHARGING = 2.70, 2.80, 2.90, 3.10 MAX_DISCHARGE_CURRENT_CV_FRACTION = 0, 0.1, 0.5, 1 ; --------- Temperature limitation (affecting CCL/DCL) --------- ; Description: Maximal charge / discharge current will be in-/decreased depending on temperature ; Example: The temperature limit will be monitored to control the currents. If there are two temperature senors, ; then the worst case will be calculated and the more secure lower current will be set. ; Charge current control management referring to temperature enable (True/False). CCCM_T_ENABLE = True ; Charge current control management referring to temperature enable (True/False). DCCM_T_ENABLE = True ; Set steps to reduce battery current ; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True TEMPERATURE_LIMITS_WHILE_CHARGING = 0, 2, 5, 10, 15, 20, 35, 40, 55 MAX_CHARGE_CURRENT_T_FRACTION = 0, 0.1, 0.2, 0.4, 0.8, 1, 1, 0.4, 0 TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20, 0, 5, 10, 15, 45, 55 MAX_DISCHARGE_CURRENT_T_FRACTION = 0, 0.2, 0.3, 0.4, 1, 1, 0 ; --------- SOC limitation (affecting CCL/DCL) --------- ; Description: Maximal charge / discharge current will be increased / decreased depending on State of Charge, ; see CC_SOC_LIMIT1 etc. ; Example: The SoC limit will be monitored to control the currents. ; Charge current control management enable (True/False). CCCM_SOC_ENABLE = True ; Discharge current control management enable (True/False). DCCM_SOC_ENABLE = True ; Charge current soc limits CC_SOC_LIMIT1 = 98 CC_SOC_LIMIT2 = 95 CC_SOC_LIMIT3 = 91 ; Charge current limits CC_CURRENT_LIMIT1_FRACTION = 0.1 CC_CURRENT_LIMIT2_FRACTION = 0.3 CC_CURRENT_LIMIT3_FRACTION = 0.5 ; Discharge current soc limits DC_SOC_LIMIT1 = 10 DC_SOC_LIMIT2 = 20 DC_SOC_LIMIT3 = 30 ; Discharge current limits DC_CURRENT_LIMIT1_FRACTION = 0.1 DC_CURRENT_LIMIT2_FRACTION = 0.3 DC_CURRENT_LIMIT3_FRACTION = 0.5 ; --------- Time-To-Go --------- ; Description: Calculates the time to go shown in the GUI ; Recalculation is done based on TIME_TO_SOC_RECALCULATE_EVERY TIME_TO_GO_ENABLE = True ; --------- Time-To-Soc --------- ; Description: Calculates the time to a specific SoC ; Example: TIME_TO_SOC_POINTS = 50, 25, 15, 0 ; 6h 24m remaining until 50% SoC ; 17h 36m remaining until 25% SoC ; 22h 5m remaining until 15% SoC ; 28h 48m remaining until 0% SoC ; Set of SoC percentages to report on dbus and MQTT. The more you specify the more it will impact system performance. ; [Valid values 0-100, comma separated list. More that 20 intervals are not recommended] ; Example: TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0 ; Leave empty to disable TIME_TO_SOC_POINTS = ; Specify TimeToSoc value type [Valid values 1, 2, 3] ; 1 Seconds ; 2 Time string d h m s ; 3 Both seconds and time string " [d h m s]" TIME_TO_SOC_VALUE_TYPE = 1 ; Specify in seconds how often the TimeToSoc should be recalculated ; Minimum are 5 seconds to prevent CPU overload TIME_TO_SOC_RECALCULATE_EVERY = 60 ; Include TimeToSoC points when moving away from the SoC point [Valid values True, False] ; These will be as negative time. Disabling this improves performance slightly TIME_TO_SOC_INC_FROM = False ; --------- Additional settings --------- ; Specify only one BMS type to load else leave empty to try to load all available ; -- Available BMS: ; Daly, Ecs, HeltecModbus, HLPdataBMS4S, Jkbms, Lifepower, LltJbd, Renogy, Seplos ; -- Available BMS, but disabled by default: ; https://louisvdw.github.io/dbus-serialbattery/general/install#how-to-enable-a-disabled-bms ; Ant, MNB, Sinowealth BMS_TYPE = ; Publish the config settings to the dbus path "/Info/Config/" PUBLISH_CONFIG_VALUES = 1 ; Select the format of cell data presented on dbus [Valid values 0,1,2,3] ; 0 Do not publish all the cells (only the min/max cell data as used by the default GX) ; 1 Format: /Voltages/Cell (also available for display on Remote Console) ; 2 Format: /Cell/#/Volts ; 3 Both formats 1 and 2 BATTERY_CELL_DATA_FORMAT = 1 ; Simulate Midpoint graph (True/False). MIDPOINT_ENABLE = False ; Battery temperature ; Specify how the battery temperature is assembled ; 0 Get mean of temperature sensor 1 to sensor 4 ; 1 Get only temperature from temperature sensor 1 ; 2 Get only temperature from temperature sensor 2 ; 3 Get only temperature from temperature sensor 3 ; 4 Get only temperature from temperature sensor 4 TEMP_BATTERY = 0 ; Temperature sensor 1 name TEMP_1_NAME = Temp 1 ; Temperature sensor 2 name TEMP_2_NAME = Temp 2 ; Temperature sensor 2 name TEMP_3_NAME = Temp 3 ; Temperature sensor 2 name TEMP_4_NAME = Temp 4 ; --------- BMS specific settings --------- ; -- LltJbd settings ; SoC low levels ; NOTE: SOC_LOW_WARNING is also used to calculate the Time-To-Go even if you are not using a LltJbd BMS SOC_LOW_WARNING = 20 SOC_LOW_ALARM = 10 ; -- Daly settings ; Battery capacity (amps), if the BMS does not support reading it BATTERY_CAPACITY = 50 ; Invert Battery Current. Default non-inverted. Set to -1 to invert INVERT_CURRENT_MEASUREMENT = 1 ; -- ESC GreenMeter and Lipro device settings GREENMETER_ADDRESS = 1 LIPRO_START_ADDRESS = 2 LIPRO_END_ADDRESS = 4 LIPRO_CELL_COUNT = 15 ; -- HeltecModbus (Heltec SmartBMS/YYBMS) settings ; Set the Modbus addresses from the adapters ; Separate each address to check by a comma like: 1, 2, 3, ... ; factory default address will be 1 HELTEC_MODBUS_ADDR = 1 ; --------- Battery monitor specific settings --------- ; If you are using a SmartShunt or something else as a battery monitor, the battery voltage reported ; from the BMS and SmartShunt could differ. This causes, that the driver never goapplies the float voltage, ; since max voltage is never reached. ; Example: ; cell count: 16 ; MAX_CELL_VOLTAGE = 3.45 ; max voltage calculated = 16 * 3.45 = 55.20 ; CVL is set to 55.20 and the battery is now charged until the SmartShunt measures 55.20 V. The BMS ; now measures 55.05 V since there is a voltage drop of 0.15 V. Since the dbus-serialbattery measures ; 55.05 V the max voltage is never reached for the driver and max voltage is kept forever. ; Set VOLTAGE_DROP to 0.15 VOLTAGE_DROP = 0.00