-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove round function for soc_calc_capacity_remain #100
Comments
Currents smaller than three decimals are so low that your measurement reading is probably not accurate enough to measure it. Even a SmartShunt has a maximum accuracy of 0.1 A. I don't think that a Daly BMS is that accurate. Probably your correction table should be updated. |
Correct, the Daly BMS current starts at 0.4A I think. |
Which older version? I don‘t think that this is the issue. You should calibrate the current measurement on your Daly BMS, if this is possible with Daly. I tested with a simulated current of 0.01 A and it worked correctly. The current measurement for that current is simply too small. |
Here is the round function not implemented: |
Could you try to change the rounding to 6 decimals? Some values are rounded, to filter out stupid values like |
Sure, I can test 6 decimal places. But as I can see, this value (soc_calc_capacity_remain) is never published to dbus, so it is only a internal value for soc calculaction, and the soc value is rounded to 2 decimal places, which makes sense. |
Now I had more time to check the code. Indeed it does not make any sense. It was rounded since the first PR. Currently I have a bigger change in the pipeline, therefore it will take some time, but the rounding will be removed in the next version. Until then I leave the issue open. |
Hey, thanks for the change. Sorry to bother you again. You also changed the digital places for soc_calc from 2 to 3.
|
Yes I changed that also. This is only relevant for a more pricise saving of the calculated SOC to the dbus. Useful for batteries with >1.000 Ah. |
Describe the bug
In File battery.py Line 470 the calculatated soc_calc_capacity_remain is rounded to 3 decimal places. This should removed because small current values have no affect and so the soc_calc_capacity_remain and Soc value doesn't change.
How to reproduce
SOC_CALCULATION = True
SOC_CALC_CURRENT_REPORTED_BY_BMS = -300, 0, 300
SOC_CALC_CURRENT_MEASURED_BY_USER = -300, -0.1, 300
Low Soc is reached, BMS current is 0A, calculatated Soc stays forever at the low Soc value.
Expected behavior
Soc should slowly reduced.
Driver version of the currently installed driver
1.4.20240902dev
Driver version of the last known working driver
No response
Venus OS device type
Raspberry Pi 4
Venus OS version
3.50
BMS type
Daly BMS
Cell count
16
Battery count
1
Connection type
Serial USB adapter to RS485
Config file
Relevant log output
Any other information that may be helpful
No response
The text was updated successfully, but these errors were encountered: