diy solar

diy solar

JK BMS CAN bus comms now possible for inverters that support Goodwe and Pylontech batteries

Hi @Der_Hannes, great to hear you've added quite a few features!
I'd definitely be interested to see your work, please feel free to post a link to your GitHub. As it relates to the open source project led by @Sleeper85, it probably makes sense to post it on the dedicated thread here if possible.

I only use MQTT for non-critical things, but I'm definitely interested in seeing how you handle overriding BMS values, etc.

I agree about using a single ESP32 to centralize information and communicate with the inverter on the CAN bus but using MQTT via WiFi is not a reliable solution for linking to BMS.

@Der_Hannes if you wish you can work with us to improve this project ;)
 
So .. as it stands the both JK.s discharges almost at the same rate, not really sure if there is much to add to the current code as the CVL DVL CCL DCL and SOC of the Slave setup will be controlled by the JKBMS parameters set on the slave setup

1709320827049.png

All i did was made sure both parameters were set almost equally...

the idea is when Slave gets to 15% SOC set on the JK firmware it should stop discharging
When Master gets to 15 % it should also stop discharging.

I am waiting to see what the battery cells on slave translate to be 15% then i can tweak if necessary.....
 
Here is my fork - i´m new to esphome github and programming in general, so any tips are appreciated

I also agree to that, but could not find any other option to communicate from esp to esp (other than UART or CAN - which are both to heavy for me) so that was my only option.
Maybe the esp32 would be capable of handlich the shunt and one BMS via BLE with reduced sensor data. Any additional would be non-critical addon over mqtt

Happy to collaborate
 
I use a Pi to connect to a SMA Sunny Island and reads SMAnet data via rs485 to an MQTT Server on the same Pi, I then feed the MQTT data to a modbus TCP server on the same Pi. This modbus server is read by a modbus client via cat 5 wired ethernet, the data runs 24 hrs a day and there are 20 sec gaps in data feed 3 or 4 times a day. Have tried WiFi but there were a lot more gaps so ethernet is the way to go.
 
I gat to say this.

This is a Beautiful project...I mean we are taking this to a different level better than out-of-the-box manufactural specifications for the professionally released components :)

The functionality available to us are becoming way more advanced than the original product itself.

You guys are amazing.....
 
I was just thinking about, if its possible to use an ESP for collecting the BMS data and then polling the raw serial data to the master esp over UART - which then processes anything without the BLE-overhead

Maybe it would´t be that hard to program and we stay close to the standard JK-Repo from syssi

what are your thoughts about that? Any other ideas?
 
I was just thinking about, if its possible to use an ESP for collecting the BMS data and then polling the raw serial data to the master esp over UART - which then processes anything without the BLE-overhead

Maybe it would´t be that hard to program and we stay close to the standard JK-Repo from syssi

what are your thoughts about that? Any other ideas?

What I can tell you is that an ESP32 can have max 3 UART connections. So it would be possible to collect information from 2 or 3 BMS via UART and send the necessary information via CAN bus (or other protocol) to a master ESP32 which would be connected to the inverter.

An ESP32 can also monitor several BMS via Bluetooth. But I think it becomes unstable to monitor more than 3 BMS.

Syssi offers examples of multi-device YAML.
 
What I can tell you is that an ESP32 can have max 3 UART connections. So it would be possible to collect information from 2 or 3 BMS via UART and send the necessary information via CAN bus (or other protocol) to a master ESP32 which would be connected to the inverter.

An ESP32 can also monitor several BMS via Bluetooth. But I think it becomes unstable to monitor more than 3 BMS.

Syssi offers examples of multi-device YAML.

thx for your reply,
already played the multi bms BLE configuration from syssi for a couple of days, but i can only get 2 BMSs kinda stable on one esp32 - and only with reduced sensor data.
Maybe it depends on differen hard- and software Versions (and differen BLE Protocols) on my 3 BMSs, but it was not stable...So i gave up on this.

But maybe it would be an option to use one ESP32 per BLE BMS and connect these 3 over UART to the Master (or maybe cascading for more than 3 BMSs).

there must be an reliable way to get this done
 
What I can tell you is that an ESP32 can have max 3 UART connections. So it would be possible to collect information from 2 or 3 BMS via UART and send the necessary information via CAN bus (or other protocol) to a master ESP32 which would be connected to the inverter.

An ESP32 can also monitor several BMS via Bluetooth. But I think it becomes unstable to monitor more than 3 BMS.

Syssi offers examples of multi-device YAML.
Syssi offers examples of multi-device YAML

yes I was just about to ask if this worked .... but Mr. Der answered my question
I didn't think it was sing one esp to do the master-slave thing, interesting to know this is the case.

Yes this is what I have suggested to sleeper85 who had said it's the next project after another project he is working on right now

@Sleeper85
Are you sure you will not end up prioritizing this as demands grow and probably a less piece of work to tackle? :unsure:;)

Regards
 
I'm currently testing dynamic charge voltage control, once that's done then I'll review changes with @Sleeper85 and others ahead of a potential release.
After that, multi BMS support might be looked at. Again, no timelines - I have a 2 month old baby and little free time.
 
I'm currently testing dynamic charge voltage control, once that's done then I'll review changes with @Sleeper85 and others ahead of a potential release.
After that, multi BMS support might be looked at. Again, no timelines - I have a 2 month old baby and little free time.
No pressure - take your time with your kid :)

What is dynamic charge voltage supposed to do?
lower voltage if cell deviation is too high?
 
yes I was just about to ask if this worked .... but Mr. Der answered my question
I didn't think it was sing one esp to do the master-slave thing, interesting to know this is the case.

Yes this is what I have suggested to sleeper85 who had said it's the next project after another project he is working on right now

@Sleeper85
Are you sure you will not end up prioritizing this as demands grow and probably a less piece of work to tackle? :unsure:;)

Regards
Truly hope the Victron or like shunt is priorizted. The JK BMS's SOC accuracy suck. Would much rather have the inverters operate off of shunt than the BMS' themselves.
 
No pressure - take your time with your kid :)

What is dynamic charge voltage supposed to do?
lower voltage if cell deviation is too high?
Exactly that, it will automatically reduce charge voltage as cell(s) become imbalanced, particularly if they become runners that approach OVP.

Combined with the automatic charge current control, we should have a much more intelligent setup which can be left 'hands off', even with a problematic battery.
 
Truly hope the Victron or like shunt is priorizted. The JK BMS's SOC accuracy suck. Would much rather have the inverters operate off of shunt than the BMS' themselves.
This is definitely on my list, I have a Victron smartshunt sitting in a box waiting to be connected, and I know @Sleeper85 has a Junctek shunt waiting too.
 
This is definitely on my list, I have a Victron smartshunt sitting in a box waiting to be connected, and I know @Sleeper85 has a Junctek shunt waiting too.
In a previous post I noted I have a ESP32 reading from the Victron shunt and setup with a SPI MCP2515 CAN adapter sending Pylon protocol. It's another DEVs project I'm tweaking. Will be hooking it up to the Lux inverter next week at my cabin to test it out with JKs and JBD behind a shunt. I love the direction you guy are going on this project though so will gladly rip/replace with yours. Also plan on testing 1.17.3 with my M5Stack next weekend.
 
I would like to tell those who are interested in a multi-bms version not to buy too much ESP32 or other hardware in advance. If we want to get it right, it's more than likely that a dedicated PCB will be required.
 
Truly hope the Victron or like shunt is priorizted. The JK BMS's SOC accuracy suck. Would much rather have the inverters operate off of shunt than the BMS' themselves.
Have anyone had a look at my repo yet?
We could easily implement a wired victron shunt and the override-logic - my setup is working absoutely fine. we only need one available RX Pin on the ESP32. I dont have an Juntek shunt, but i think it would be a smaller step to add that one later on.
 
Last edited:
I would like to tell those who are interested in a multi-bms version not to buy too much ESP32 or other hardware in advance. If we want to get it right, it's more than likely that a dedicated PCB will be required.
@Sleeper85
agree, but also disagree (cause you can never have too much ESP32 in stock ;-)

Are you familiar with the BSC Project and the hardware PCB?
The PCB will be available next time and maybe we can use it?
 
Have anyone had a look at my repo jet?
We could easily implement a wired victron shunt and the override-logic - my setup is working absoutely fine. we only need one available RX Pin on the ESP32. I dont have an Juntek shunt, but i think it would be a smaller step to add that one later on.

Personally I haven't watched it yet. I stopped programming since I left on my trip. I don't have any plans for future projects yet, just ideas and I found a nice open-hardware PCB that maybe could be used. It is necessary to talk about all this with @MrPablo.

If you wish I can add you to our group to discuss it privately.
 
Personally I haven't watched it yet. I stopped programming since I left on my trip. I don't have any plans for future projects yet, just ideas and I found a nice open-hardware PCB that maybe could be used. It is necessary to talk about all this with @MrPablo.

If you wish I can add you to our group to discuss it privately.
Shure, add me to the group, will be happy to participate
 
In a previous post I noted I have a ESP32 reading from the Victron shunt and setup with a SPI MCP2515 CAN adapter sending Pylon protocol. It's another DEVs project I'm tweaking. Will be hooking it up to the Lux inverter next week at my cabin to test it out with JKs and JBD behind a shunt. I love the direction you guy are going on this project though so will gladly rip/replace with yours. Also plan on testing 1.17.3 with my M5Stack next weekend.
i have received my Mstacks - send any useful information you have to configuring it...
 
I would like to tell those who are interested in a multi-bms version not to buy too much ESP32 or other hardware in advance. If we want to get it right, it's more than likely that a dedicated PCB will be required.
When you are sure, just post the list of hardware we need to get...
 
Have anyone had a look at my repo yet?
We could easily implement a wired victron shunt and the override-logic - my setup is working absoutely fine. we only need one available RX Pin on the ESP32. I dont have an Juntek shunt, but i think it would be a smaller step to add that one later on.
@Der_Hannes i will take a look today.
 

diy solar

diy solar
Back
Top