HarveyDent
New Member
I agree with you !You are awesome Sleeper. Thought I'd just tell you again.

I can confirm that Atom S3 works prerfect with JK BMS PB . Everything compiles and installs directly in Home Assistant.
Last edited:
I agree with you !You are awesome Sleeper. Thought I'd just tell you again.
@Sleeper85 What have to be done with my current board if it canI think the best for your case would be to use the LilyGo T-Connect (ESP32-S3) board with 3x RS485 and 1x CAN like @rasterer did.
You need to specify 3x RS485 modules and 1x CAN module when ordering.
@MrPablo can help you as he has already ordered several boards.
Otherwise you can build your PCB with 2x RS485 + 1x CAN interfaces.
For the configuration it is not very complicated, when you have the material I can prepare the YAML adapted to your case.
View attachment 276340
Thanks for the advice. Maybe it's a bug in the 1p inverter software since it works for you.Hi,
I have Deye SG04LP3 10K (3-phase) and seems in my case it working exactly as you desribed your wish
I just made a test:
- enabled GpS and set it to 5000W
- enabled enforced charging
- current limit is set high enough
then inverter is limiting the total grid power to the set 5000W (yeah, approximately...)
It does not matter if I enable or disable ToU, enforce charging wins, GpS limit is obeyed.
perhaps you need a firmware update?
I’ve settled on setting the inverter to charge always, set the charge voltage in yambms to 54V, then use the rebulk voltage trigger to recharge when it gets low. Hopefully 54V is a good compromise for not leaving the batteries completely full 24/7 (and in a hot garage during the summer). My SOC won't be accurate, though, seems like I need to add a shunt to make it accurate. I think I might try to add the Victron Smartshunt to my setup.
You my have set your BMS parameters wrong. What is your 100% SOC, 0%SOC, RCV and RFV, Start balance voltages values and what firmware you have on your bms?Just noticing - I am on 1.5.4 now, and the SOC behavior feels weird. Today was dark clouds, no PV until 10am, at 10:09 73% SOC, pulling 2.5kw PV, but 1-2kw load, often less than 1kw charge current. At 10:30 it showed 75%, at 10:35 it hit 98%. This is how it is every day, but usually I dont pay much attention because on clear days I produce at 7am, by 9:30am it is pulling 10KW pv and it hits 98% SOC and charge drops to around 2~3kw, then 100% a couple hours of float later. But today, according to that math it topped up 5-6kw in 5 minutes while only taking a ~1kw charge.
My fresh LF280ks probably have less than 40 cycles, I imagine they are still ~300AH.
pb2a16s20p connected via RS485
No shunt since last discussion here how shunt is just so-so accurate as available AH varies based on current/temp/level.
Just noticing - I am on 1.5.4 now, and the SOC behavior feels weird. Today was dark clouds, no PV until 10am, at 10:09 73% SOC, pulling 2.5kw PV, but 1-2kw load, often less than 1kw charge current. At 10:30 it showed 75%, at 10:35 it hit 98%. This is how it is every day, but usually I dont pay much attention because on clear days I produce at 7am, by 9:30am it is pulling 10KW pv and it hits 98% SOC and charge drops to around 2~3kw, then 100% a couple hours of float later. But today, according to that math it topped up 5-6kw in 5 minutes while only taking a ~1kw charge.
My fresh LF280ks probably have less than 40 cycles, I imagine they are still ~300AH.
pb2a16s20p connected via RS485
No shunt since last discussion here how shunt is just so-so accurate as available AH varies based on current/temp/level.
intention is to start from scratch after a RESET event.Is there any way to preserve YamBMS state when your esp32 restarts? Say I complete a charge, YamBMS is in the EOC / charge stop state, then I restart the esp32 and YamBMS returns to the bulk state, despite still being above the rebulk thresholds.
The right way is in fact the only way.Got another question, any suggestions on how to adjust SOC? My inverter self-consumes about 0.6kWh per day from my batteries while idle, but the current draw is below the JBD BMS detection threshold. The result is the battery is constantly but slowly draining while the SOC remains at say 100%. I'm just wondering if there's a simple way I could compensate for this, eg subtract 5% from the SOC each day or like 0.2% each hour. I know the right way is to just add a Victron Smartshunt if I have to.
Got another question, any suggestions on how to adjust SOC? My inverter self-consumes about 0.6kWh per day from my batteries while idle, but the current draw is below the JBD BMS detection threshold. The result is the battery is constantly but slowly draining while the SOC remains at say 100%. I'm just wondering if there's a simple way I could compensate for this, eg subtract 5% from the SOC each day or like 0.2% each hour. I know the right way is to just add a Victron Smartshunt if I have to.
Add the shunt. Easy fix.Got another question, any suggestions on how to adjust SOC? My inverter self-consumes about 0.6kWh per day from my batteries while idle, but the current draw is below the JBD BMS detection threshold. The result is the battery is constantly but slowly draining while the SOC remains at say 100%. I'm just wondering if there's a simple way I could compensate for this, eg subtract 5% from the SOC each day or like 0.2% each hour. I know the right way is to just add a Victron Smartshunt if I have to.
I have the same trouble with my Solis inverters and JK bms - even though it's shut off from discharge because of either Zero SOC, or a cell going below shut off threshold, it continues to draw current and several times one or two cells have gone to a near dangerous over discharged level. It's very frustrating that even though the JK has 'switched off', there continues to be a vampire drain on the battery. The only way I've solved this is by making a HomeAssistant automation that monitors the lowest cell and then switches it to grid charge for 20 mins to prevent it from going under safe voltage. Several times (before I made the automation) the JK would completely shut down the battery and no way of getting it back to life was possible from the inverter. Good job I had a power supply and ended up charging up directly on the battery terminals with that. I'm not sure how a Victron smart shunt would help this situation of vampire currents - the Victron would be able to track the current, but it still wouldn't stop the inverter from continuing to draw below the BMS's 'shut down'.Got another question, any suggestions on how to adjust SOC? My inverter self-consumes about 0.6kWh per day from my batteries while idle, but the current draw is below the JBD BMS detection threshold. The result is the battery is constantly but slowly draining while the SOC remains at say 100%. I'm just wondering if there's a simple way I could compensate for this, eg subtract 5% from the SOC each day or like 0.2% each hour. I know the right way is to just add a Victron Smartshunt if I have to.
I'm not sure how a Victron smart shunt would help this situation of vampire currents - the Victron would be able to track the current, but it still wouldn't stop the inverter from continuing to draw below the BMS's 'shut down'.
Yes, my 6k xp does that too, usually for a solid 5 minutes.Has anyone seen an issue where your inverter reports that charging is forbidden despite YamBMS being in the bulk state? I suspect this could be an issue on the inverter side (mine is an EG4 12000XP). I don't see anything relevant in the YamBMS debug logs and the inverter reports everything is well other than charging being forbidden. I haven't found any consistent way to reset it either.
In case it's relevant, CANBUS Inverter Heartbeat is 1200ms, and I think maybe turning the heartbeat on resets this condition. I'll have to test some more to verify that enabling the heartbeat resets it.
View attachment 278386View attachment 278388View attachment 278389
Are you using the LuxPower protocol as well? I've seen it sit like this for 12 hours, but restarting the esp32 doesn't immediately resolve it. Maybe it takes 5-10 minutes after resetting the esp32 and I'm getting too impatient and starting fiddling with things, eg I thought maybe enabling the heartbeat monitoring resolved it but I had also reset the esp32 10 minutes prior.Yes, my 6k xp does that too, usually for a solid 5 minutes.
Sometimes it is longer and a reset of the esp is the solution to sync everything up.
The heartbeat monitor shouldn't have anything to do with instructions to the inverter. It is simply looking at the acknowledgement packets I believe.Are you using the LuxPower protocol as well? I've seen it sit like this for 12 hours, but restarting the esp32 doesn't immediately resolve it. Maybe it takes 5-10 minutes after resetting the esp32 and I'm getting too impatient and starting fiddling with things, eg I thought maybe enabling the heartbeat monitoring resolved it but I had also reset the esp32 10 minutes prior.
EDIT: Also mentioned above but I looked at my data and I'm positive that toggling the heartbeat monitoring switch cleared it, when I toggled the switch the inverter immediately started charging. If I have to I'll find a way to monitor the inverter charging status in HA and then toggle the heartbeat monitoring on and off if YamBMS is in the bulk state and the inverter shows charging is forbidden.
I agree, but toggling that switch seems to have interrupted whatever is causing the issue. These data points are collected at 20s intervals, so you can see when I flipped the switch it started charging within about 20s, but it could possibly be when I disabled the heartbeat monitoring that it started charging.The heartbeat monitor shouldn't have anything to do with instructions to the inverter. It is simply looking at the acknowledgement packets I believe.
This restriction may be independent of the BMS. It could occur due to inverter settings, for example, if the 'System Charge SOC Limit' is set lower than the current battery SOC, you'll see this 'forbidden' restriction in the web interface. This restriction will also appear if charging is disabled on the BMS. And after enabling it again, it takes about 10-12 minutes before the restriction disappears. This lag really annoys me in Lux.Has anyone seen an issue where your inverter reports that charging is forbidden despite YamBMS being in the bulk state?
Ahh yes, good point, If the bluetooth flakes out and yambms sends SOC of 2% the inverter will probably wait a while.This restriction may be independent of the BMS. It could occur due to inverter settings, for example, if the 'System Charge SOC Limit' is set lower than the current battery SOC, you'll see this 'forbidden' restriction in the web interface. This restriction will also appear if charging is disabled on the BMS. And after enabling it again, it takes about 10-12 minutes before the restriction disappears. This lag really annoys me in Lux.