diy solar

diy solar

YamBMS JK-BMS-CAN with new Cut-Off Charging Logic (open-source)

I really think its the inverter settings
self-used refused to disable - wonder who is the bose..you give command , system is supposed to obey
View attachment 201122
Isn't "Reserved SOC" the reason why you cannot discharge actually ? Shouldn't that rather be 20% or so ?

EDIT: But I see your "Battery Reserve Switch" is set to "Off" so it should not matter I guess
 
FYI there are serial numbers and email address of installer (assuming it's not yours) in some of the previous pictures you posted. Consider updating/obfuscating for privacy/liability reasons etc. I'm just pointing out, you do as you like of course.
thanks i have removed the onces i can see - did it out of frrustration
 
The BLE on the JK BMS HW v10 isn't that powerful. I could connect through my bedroom ~4m away through the window (and gips panels in the garage) using my smartphone and the JK BMS app to HW v11, but HW v10 has a lower range.

That being said, both devices had issues using syssi esphome-jk-bms software (which is much nicer than sticking your smartphone glued to the window at exactly the right angle 🤣 ).I liked his software very much. And, funnily enough, I didn't know at the start that I could simply do home assistant "basic setup" and it would have worked out of the box. Instead I was periodically manually checking using some python script that fetched the mqtt data 🤣.

I reduced the wifi output_power as said. It could also be that setting logger to DEBUG in the past caused some issues (I recall some posts on the home assistant forum). Now it's set to INFO. Let's see how it goes ... Maybe it will still have problem in a few weeks.
hahaha ,thats really funny :p

my bms in wooden cabinet is HW 8X - in the basement are HW: 10.XW and HW: 11.XW. could not mention any difference between 10 and 11 - but HW 8 is really worse in range

decreasing loglevel could also help maybe...i´m n WARN - fingers crossed :cool: 🤞
 
I think i solved it by reducing the 100% SOC from 4.12 to 4.00 which in turn adjusted both BMS to 100%

so I was correct in my previous assumption that the SOC also adjusts the percentage

1710026506549.png

It looks like it's a protection setting of the inverters...it will trickle away until its in a safe zone i bliv
 
I think i solved it by reducing the 100% SOC from 4.12 to 4.00 which in turn adjusted both BMS to 100%

so I was correct in my previous assumption that the SOC also adjusts the percentage

View attachment 201150

It looks like it's a protection setting of the inverters...it will trickle away until its in a safe zone i bliv
I know you guys don't wanna hear this - but its the fact. i thought i fixed it but i was wrong it was just stuck on the above screenshot

the only thing that has fixed it for me it going back to the old code - as soon as i did, boom its discharged as you can see below

1710040394243.png
 
You Definitely the code - Flashed back the New and it stopped immediatly - Not sure if its something i changed or the code just does not work with Solis when batt if full
1710041948791.png
 
Here is the code in case anyone wants to debug it...
 

Attachments

  • New-x.17-Note-Discharging.zip
    12.8 KB · Views: 6
There are those days ...

I wanted to calibrate my JK BMS Voltage Offset today. Toggled the circuit breaker but forgot that then the BMS also loses its voltage supply (battery voltage). OK ... I had a recovery method using some banana plugs interface. That didn't work. Charge the battery with charger. Nope. Disconnect everything then using the precharge resistors I had in the system I could apply extra voltage across the BMS and it finally woke up.

Then my Rock 5B stopped working. No ethernet. No MQTT. No Home Assistant. Troubleshoot that. Wire up some Serial Interface Debugger. Change some settings. Then dnsmasq wouldn't work. Ah ... that was systemd-resolved conflicting with DNSmasq using port 53. Alright.

I tried reflashing syssi esphome-jk-bms like 50 times because MQTT didn't update at all. And it was all due to the DNSmasq dhcp server not working because of a setting I didn't do a few weeks ago.

Basically lost like 5h troubleshooting all of this in the morning.

So yeah, you are not alone there. I also have those days :rolleyes:
DNSmasq - is it true that one can use DNSmasq to marry 2 different networks so that devices on one network can talk to devices on the other network?#

if so please tell me how....
 
DNSmasq - is it true that one can use DNSmasq to marry 2 different networks so that devices on one network can talk to devices on the other network?#

if so please tell me how....
Off topic but DNSmasq is DNS Server (useless for Esp32 - not working very well) and DHCP server (to assign dynamic up addresses).

To "talk" between two different networks involves routing, enabling ip forwarding in /etc/sysctl.conf and configuring netfilter/iptables/nftables/firewall appropriately.

Not needed in my case since Mqtt server is running on the same device that is running dnsmasq 😉.

Let's get back to topic as @Der_Hannes asked!
 
Last edited:
@Der_Hannes: I really think I must bite the bullet and order the CAN adapter from Amazon or something. I hit OVP 5 times this night at barely 54.7V. I had the pack TOP BALANCED 1 week ago that took 24-36h at 56.2V for this exact purpose. This is so frustrating :confused: .

But does your code or @Sleeper85 code actually lower the voltage and/or reduce charging current if a cell is coming dangerously close to overvoltage ?

From @Sleeper85 Diagram it seems that the JK BMS needs to trigger an alarm first. But if the JK BMS triggers the alarm already, isn't it also turning off the Charging Mosfet IMMEDIATELY ? Or there is a delay for that ? And, is MQTT refreshing fast enough to keep up with that ? Or we need to lower the OVP threshold to build in some margin ?

1710053154389.png


EDIT: Ordered the SN65HVD230 from Amazon. I'll get it on Wednesday hopefully. Then I have to solder everything on a veroboard or something and also a RJ45 connector.

EDIT 2: maybe we can set update_interval: 1s instead of the default 5s as in https://github.com/syssi/esphome-jk-bms/blob/main/esp32-example.yaml ?
 
Last edited:
@Der_Hannes: I really think I must bite the bullet and order the CAN adapter from Amazon or something. I hit OVP 5 times this night at barely 54.7V. I had the pack TOP BALANCED 1 week ago that took 24-36h at 56.2V for this exact purpose. This is so frustrating :confused: .

But does your code or @Sleeper85 code actually lower the voltage and/or reduce charging current if a cell is coming dangerously close to overvoltage ?

From @Sleeper85 Diagram it seems that the JK BMS needs to trigger an alarm first. But if the JK BMS triggers the alarm already, isn't it also turning off the Charging Mosfet IMMEDIATELY ? Or there is a delay for that ? And, is MQTT refreshing fast enough to keep up with that ? Or we need to lower the OVP threshold to build in some margin ?

View attachment 201215


EDIT: Ordered the SN65HVD230 from Amazon. I'll get it on Wednesday hopefully. Then I have to solder everything on a veroboard or something and also a RJ45 connector.

EDIT 2: maybe we can set update_interval: 1s instead of the default 5s as in https://github.com/syssi/esphome-jk-bms/blob/main/esp32-example.yaml ?
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) that will automatically adjust charging voltage if the pack is unbalanced.

I would definitely recommend trying out v1.17.3 at the very least, it should solve a lot of your problems.

As for the update interval, v1.17.3 is set to 3s by default, but I personally run at 1s with no issues.
 
Last edited:
Is there a possibility of temperature compensated charge profiles? I e. Maybe batteries in a shed where temps are above freezing but perhaps 50f in the morning and warming to 90F in the afternoon? At 50f the bank prob can't handle a full charge rate whereas at 90F it could for example.
 
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.

In addition to that, we're testing an updated version (v1.17.4) that will automatically adjust charging voltage if the pack is unbalanced.

I would definitely recommend trying out v1.17.3 at the very least, it should solve a lot of your problems.
Well remember I have MULTIPLE BMSs and MULTIPLE INVERTERS (Master-Slave configuration, so only one Inverter will talk to the CANbus anyway).

So only @Der_Hannes solution can work for me. And from what I understood he uses syssi esphome-jk-bms code to communicate with each jk-bms, not @Sleeper85. But then he implements @Sleeper85 Algorithm in his own code of course to communicate with the Inverter via CANbus .... But of course using @Sleeper85 on each JK BMS is also an option, but then I'm still needing to implement max/min/avg using @Der_Hannes code.

Unless the hack is to wire up only the weakest and most problematic BMS to the Inverter CANbus.

For now i reduced float voltage to 54.6VDC and absorbtion/equalization to 54.7VDC ... Let's see if it holds.
 
@

MrPablo


are you able to look into what's wrong with the new code for Solis setup
do we have anyone who has reported this working for them on Solis?
 
You Definitely the code - Flashed back the New and it stopped immediatly - Not sure if its something i changed or the code just does not work with Solis when batt if full
View attachment 201195
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 firmware you are having trouble with (v1.17.3).
- Wait until you have the same lack of discharge power.
- Provide a screenshot of every single field from the ESP32 as shown in home assistant.
- Provide a picture of the inverter screen (the actual screen, not the app), including the 3 LEDs above it (power, alarm and operation).
- If the alarm led is on, provide a picture of the alarm screen, found in the advanced information. Again, not from the app, but from the inverter.

Put all of this information in one post so it's not scattered around and - potentially - we can work out what is going on.

I'm not sure why you're posting about the other JK BMS on this thread, there's a dedicated one on this forum sub-section. It's making it very difficult to follow exactly what you're doing.
 
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 firmware you are having trouble with (v1.17.3).
- Wait until you have the same lack of discharge power.
- Provide a screenshot of every single field from the ESP32 as shown in home assistant.
- Provide a picture of the inverter screen (the actual screen, not the app), including the 3 LEDs above it (power, alarm and operation).
- If the alarm led is on, provide a picture of the alarm screen, found in the advanced information. Again, not from the app, but from the inverter.

Put all of this information in one post so it's not scattered around and - potentially - we can work out what is going on.

I'm not sure why you're posting about the other JK BMS on this thread, there's a dedicated one on this forum sub-section. It's making it very difficult to follow exactly what you're doing.
Can you check my last nite post ...bcos all of this was done....
 

diy solar

diy solar
Back
Top