V1.17.4 has been released on GitHub:
https://github.com/Sleeper85/esphome-jk-bms-can
Changelog:
- Added "SMA" to CAN BMS names
- Added function "Auto Charge Voltage Control" to avoid OVP alarms and improve balancing
- Categorised sensors
- Set time source to SNTP
- Min battery voltage based on...
@chaosnature, I feel like a broken record here, but if you want real, targeted and effective help, you need to share useful details.
Trend views of SOC, total voltage, charging status, etc - these are some of the things needed.
A snapshot view or anecdotal recall really doesn't help much. You...
Same, I bought a Victron smartshunt late last week for this exact reason.
I intend to design a PCB with:
- ESP32 module
- RJ45 connector
- JK BMS connector
- Smartshunt connector
- Relay (for heater, etc)
- Spare GPIO breakout
- Isolated power from JK BMS
All in a 3d printed housing.
If / when...
MultiBMS support is on the list for development in the next version, which @Der_Hannes has been involved with.
@Sleeper85 has been working on reconfiguring the code so it's more modular, making it possible to 'plug in' different functions like displays, multiBMS, etc.
I'm inclined to agree with @Der_Hannes, it's proving rather intense troubleshooting your system, @chaosnature.
The reality is that it's not just the open source software running on the ESP32 units that's being covered.
We're spending a lot of time troubleshooting an entire setup, from...
V1.17.5 has been released on GitHub:
https://github.com/Sleeper85/esphome-jk-bms-can
Changelog:
- Auto Charge Voltage Control function rewritten
- EOC cycle threshold added to reduce premature triggering of float phase
This is a small release whilst we continue to work towards a modular and...
Set the 'discharge_knee_v' to 3.5 in your YAML, and it will work as expected now that you have set UVPR to 3.1v.
I'm glad we're understanding what went wrong, but I'm frustrated that you were quick to blame the code - these batteries are not toys (especially the li-ion cells you have) and...
There's no timeline for release at this point, it's still very, very early days and multiBMS support is still in planning stages.
For me personally, multi BMS support will need to be reliable and capable of running without WiFi, etc, so that might make a MQTT method unfeasible.
Once we get to...
Thanks @Sleeper85! Enjoy your trip!
Regarding the new Auto Charge/Discharge Current Control, this feature has been introduced to hopefully prevent OVP and UVP alarms.
At a high level, the ESP will check the maximum and minimum cell voltage every refresh cycle, compare it to a BMS threshold and...
The latest code on @Sleeper85's GitHub will automatically reduce current as a cell approaches UVPR or OVPR, so you should no longer have that issue. This feature is called Auto (Dis)Charge Current Control and is enabled by default.
In addition to that, we're testing an updated version (v1.17.4)...
I personally have a Solis EH1P and a friend has a Solis RHI inverter, both work as expected with v1.17.3.
It is extremely difficult to debug your system because you are making system and configuration changes in every post you make.
To debug this properly, you'll need to:
- Reflash the...
Ok, look at it from my point of view. That screenshot appears to show a subset of information from two JK-BMS ESP32s.
I don't know which one is connected to the inverter via CANbus.
I don't know what the maximum cell voltage is.
I don't know what the CAN status is.
I can't see the all of the...
I don't think it's best to leave the old logic in, no.
Supporting two sets of logic is more work, plus testing indicates this solution should work effectively when used in conjunction with Auto Charge Current control.
I would like to redesign the algorithm to smoothly decrease CVL as a cell exceeds target. Going straight to a full offset could lead to some CVL oscillation.
This algorithm is based heavily on that used in the diyBMS, as it was a quick win to gain some additional control. If we improve it then...
@silverstone, let's move this conversation to GitHub issues. It's making this thread super long for anyone new wanting to come in.
Can you create two issues?
- Current control oscillation
- Premature triggering of EOC
I use an earlier forked version of the uksa007 code with different logic that acts similar to the smart shunt (terminate charging based on tail current, time, etc).
My Solis inverter stops charging when the BMS reads 100%, regardless of the battery voltage.
In my case, I set the max SOC sent...
@silverstone, I'll be enhancing documentation this week and will have much more detail & examples.
As for your final point, requested voltage will go back up as cell imbalance reduces. This auto voltage is only active during bulk and balancing stages.
One last point @chaosnature, I think I have mentioned this before to you. You are starting balancing at 3.0v, this means you are essentially middle-balancing your cells.
I would recommend setting the balance start voltage to 3.9v, perhaps 3.8v if you prefer. That way you will be top balancing...
As it's a bus with the inverter at one end, ESP32 at the other (for now at least), put the 120ohm resistor across the high and low on the ESP32.
That will properly terminate the bus, reducing errors.
You can use either Pylon or SMA.
I recommend SMA for the Solis inverter, mainly because Solis apply some Pylontech specific logic for the pylon protocol.
That logic tends to affect how BMS voltage is used, plus prevents (from what I've seen) recharging until the SOC drops to 97%.
Of course...
This is on the list to do, but as you can probably appreciate, life gets in the way.
If you want, please feel free to submit a pull request with the requested changes to the readme. We can then review and merge if appropriate.
There's an enhancement issue on the GitHub repository, you're welcome to follow and comment as required.
As for every parameter being exposed, I guess that's personal preference.
For me, the more that is exposed, the more opportunity there is to make mistakes when tweaking things. Many of the...
Looking at your screenshot as below:
As you can see, the requested charge voltage is essentially the same as current battery voltage. If your inverter respects CVL correctly, the current going into the battery should approach zero, allowing time for the balancer to pull the max cell back.
This...