Skip to content
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

Add Modbus support of the new range of JK BMS called JK-PB #409

Merged
merged 3 commits into from
May 9, 2024

Conversation

syssi
Copy link
Owner

@syssi syssi commented Jan 11, 2024

See #390

@txubelaxu
Copy link

See #464

@brycelarge
Copy link

Is there a wiring diagram I could use to test with?

@txubelaxu
Copy link

Is there a wiring diagram I could use to test with?

#463 (comment)

@andersonray
Copy link

Thanks for the hard work adding this support! :) I have the JK-PB2A16S20P

Is this the config I should use if I only have one JK-PB BMS? I see #464 for multiple

I don't see a talk pin defined in this config. This is still meant to use RS485 and connect to one of the battery comm ports? Can I use this style of RS485 to UART converter that doesn't need direction control?
image

@txubelaxu
Copy link

Well, I have not tested that kind of UART to RS485 converters. Anyway,

  • it should work with no talk_pin connected, as well as, no tx pin connected. Only RX pin for "listening mode"
  • If you have only one bms it should be "master" (0x00 addresss), because it is the only way to "speak" into the RS485 internal network.

The "talk_pin" is used to ask for "board info" (frame type 3rd) to slaves acting as pseudo master. It has been impossible for me get that information from master (because it has 0x00 address and you cannot ask to that address in RS485 network from "another" master)

If you set the BMS with another address and you connect TX pin as well, in theory, the ESP should act as MASTER because in listening mode (the first mode that uses) it does not detect any master in the network. This way, ESP gets all the info (frame types: 1, 2 and 3) from that slave. Of course, I do not know what happens in the communication upstream (using CAN bus towards inverter...) You can test it

Good Luck!!!

@meccip
Copy link

meccip commented May 5, 2024

I just test it esp-jk-bms.yaml (for BxAXXSXXP bms) and is working on JKPB serries, connected on RS485port for inverter and select UART1 for 4G-GPS protocol (000)

@andersonray i use that board.

@andersonray
Copy link

I just test it esp-jk-bms.yaml (for BxAXXSXXP bms) and is working on JKPB serries, connected on RS485port for inverter and select UART1 for 4G-GPS protocol (000)

@andersonray i use that board.

@meccip Thanks for that info! I will definitely try that out. I did get the new battery bus listener config to work, but it does miss a few minor values. My inverter uses CAN, so the 485 inverter port is a good option.

@meccip
Copy link

meccip commented May 5, 2024

i have 2 JKPB, master and slave. On master(all dipswitch to 0) is working jk-bms.yaml (UART1protocol GPS 000) and jk-modbus (UART1protocol jkmodbus 001), but on slave is working only jk-bms.yaml (UART1protocol GPS 000). If i use jkmodbus protocol is having conflicts with RS485-1 network and bms loose connection as slave. On CAN i use comm with Deye inverter.

@syssi syssi changed the title Add new range of JK BMS (JK-PB) support Add Modbus support of the new range of JK BMS called JK-PB May 9, 2024
@syssi syssi merged commit bd52417 into main May 9, 2024
6 checks passed
@syssi syssi deleted the add-jk-pbx-support branch July 8, 2024 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants