-
-
Notifications
You must be signed in to change notification settings - Fork 11
PACE BMS protocol emulation #42
-
Greetings! I am waiting for the PowMr inverter to arrive. Is it possible and can you provide me the starting point to do this? |
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 4 comments · 53 replies
-
I guess the PowMr inverter will act as Modbus master and polls the BMS to retrieve some measurements. You can use the server role of the At the |
Beta Was this translation helpful? Give feedback.
All reactions
-
Good catch! Do you need something else to move on? :-) |
Beta Was this translation helpful? Give feedback.
All reactions
-
It would be helpful if you could advise some official PC software that can read data from pace bms via rs485. |
Beta Was this translation helpful? Give feedback.
All reactions
-
I recommend to wait for your inverter to not invest to much time here. ;-) The inverter will ask just a few questions / request just a few registers from your emulated BMS. There is not need to support all registers. |
Beta Was this translation helpful? Give feedback.
All reactions
-
I hope that it will not request 60-115, because these are the only I haven't done yet :-) |
Beta Was this translation helpful? Give feedback.
All reactions
-
I'm not awaere of any official PC software talking Modbus. AFAIK |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Hello @syssi! But, I don't know why, it (inverter) shows all zeros: voltage, current, soc, etc. Maybe, the PACE BMS has another modbus protocol variant?
|
Beta Was this translation helpful? Give feedback.
All reactions
-
I don't see outgoing traffic. It looks like my YAML doesn't work. After each |
Beta Was this translation helpful? Give feedback.
All reactions
-
Yes, there is no outgoing traffic |
Beta Was this translation helpful? Give feedback.
All reactions
-
The YAML doesn't work as intended. I will think about an alternative. |
Beta Was this translation helpful? Give feedback.
All reactions
-
This YAML will do the job (just the outgoing traffic doesn't get printed to the log):
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Unfortunately, no reaction. I will try to send the same bytes from pc and check whether it will react. |
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello @syssi!
UPD: I found the error, now inverter receives all the data correctly! Here is the communication example:
Here is the config of my pace bms emulator device. Here is also more generic variant of pace bms emulator (that uses a bunch of template sensors) which can be used by someone. Only the settings registers (60-114) isn't done. Thank you for this project and for your support and help! |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2
-
Do you like to contribute your YAML configurations? |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
The links are already in my previous message, that is marked as answer:) |
Beta Was this translation helpful? Give feedback.
All reactions
-
If you don't want to merge your YAML configurations into this project I would be happy about a new section at the documentation pointing to your emulator. |
Beta Was this translation helpful? Give feedback.
All reactions
-
Ah, you about this... I will do, wait for a pull request) |
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello @syssi! |
Beta Was this translation helpful? Give feedback.
All reactions
-
Okay, it will be fine if you will do just 1 and 2) |
Beta Was this translation helpful? Give feedback.
All reactions
-
I hope this contains what you need... Charge starts about 12:15, discharge about 12:17... Otherwise, it's all gibberish to me! I can try again if necessary!
|
Beta Was this translation helpful? Give feedback.
All reactions
-
It gives some understanding! Thank you! |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
@bearpawmaxim Could you provide the results of your analysis here? |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
@syssi when the current has positive value, the "state of charge" flag is set. When the current has negative value, the "state of discharge" is set. When current value is 0, both flags aren't set. Will ask one person with the jk inverter bms to enable the PACE protocol and try turning on/of charging mosfets within a few days. Will update. |
Beta Was this translation helpful? Give feedback.
All reactions
-
🚀 2
Hello @syssi!
So I found out what was the problem: I forgot to uncomment the flow controll pin)
Now my inverter shows the error(while jkbms has no errors) about cell overcharge and stops charging, and I need the help to find out the reason for this. While showing the error, it also shows the capacities, total and cell voltages and temperatures.UPD: I found the error, now inverter receives all the data correctly!
Here is the communication example: