-
-
Notifications
You must be signed in to change notification settings - Fork 24
Add the ability to read/get information about a stacked Seplos v2 battery system #171
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
Comments
Hi! Thanks for raising the issue. There was a long discussion in #101 about the sub-packs and how to query them. Seems that multiple possible setups are possible. |
Hello Patrick,
I had already written my assumption in the Home Assistant Community.
Here it is again. I already wrote that the data is disappearing. The connection quality and signal strength should be fine.
The problem with the disappearance of the data seems to be the retrieval function of the additional batteries.
There is probably a round trip in BP01, then BP02, then BP03 etc.
When I use the RS485 interface and the Seplos Battery Monitor to poll the packs via a multiple poll, this is exactly how it is handled.
This is probably how the query of the other packs is handled.
Is the debug log enough, I’ve attached to this mail?
Bye, Leigh
|
@bogi9999 the attachment did not go through via e-mail, can you please attach it directly to this issue? |
Sorry, my fault. |
I'm not sure what you mean. I can see from the log that you only added BP00, no other device is there. So why do you say the data disappears? When was it available? |
The data disappear in the log at 11:51:05 --> 2025-02-13 11:52:05.323 DEBUG (MainThread) [custom_components.bms_ble] Finished fetching BP00 data in 13.126 seconds (success: False) After a couple minutes it will came back. |
Ok, got it, I can have a look at it, but this is a different issue than mentioned in the title, so let's open a new one -> #189 |
I will help testing whenever needed. Thanks for your great work!! |
as I know seplos v2, when in packed, bp00 it is master, and from there you access slaves units. When i connect with phone I only see bp00 pack, I connect to it and then I can change to slave packs and read info about them. |
@bogi9999, @his1220, and anyone who has a Seplos v2 and is willing to help. I have redone and smoke-tested the new code.
As per the definition in the README you should the sensors should provide the overall system information and each sensor (as listed) should have an attribute, providing the individual pack information. Thanks a lot for helping! Important This release requires HA version 2025.2.2 or later! |
Okay, the result is different than expected. :edit If debugging is active, the system remains available. If debugging is off, it disappears for about 5 minutes. |
Have you checked the attributes, as mentioned ... and each sensor (as listed) should have an attribute ...? Could you please capture the Bluetooth traffic on Android or iOS while using the app and switch through the pack tabs? |
@bogi9999 any follow up action you want me to take? |
@patman15 Sorry, I was away for a few days. |
According to this repository/tool, access to multiple batteries should be possible through rs485 |
Of course this is an option, but unfortunately it does not work for the master if it is connected to the PV system via CAN. Then only the BP01-BPxx packs are available. |
As far as I understand, reading out both batteries via RS485 should work?! |
I use more than two of these packs. And as soon as the master is connected to CAN, it can no longer be read out via RS485, but via Bluetooth. Only the slaves can still be accessed via RS485. :edit |
Hi @bogi9999, @andreas-bulling! My main question is: is it possible to query the cell states of packs other than the main (BP00) through the BP00? There are commands to query the packs (you can give the number in the query). This would mean that there is some sort of connection between the packs and the master. So far all packs were queried individually using BP00, BP01, ... but there are users who have only one Bluetooth module. |
Hi @patman15 |
Hi @bogi9999 , Now I'm confused, in the formulation of this request you wrote:
but now you say:
In the logs of the modified version I can clearly see that asking the master for data from the other packs just returns the information of the first (master) pack. Numbers are just identical, as I think I saw also when doing the original implementation. So can you please summarize your view, because mine is, the app does not show other data, the commands just deliver x-times the same, so in my opinion, you cannot ask the master for the other packs in Seplos v2 (v3 works). Please let me know how you think this can work. Unfortunately, I do not see much input from other Seplos v2 users that could clarify this issue. |
Hi @patman15 |
Via CAN or RS485 you mean? Can be, but maybe the information is internally not provided to the BT module that is what needs to be clarified.
I know there is some information. But, emphasizing my previous message, did you notice that the voltage level of cell 0 is equal to 16 to 32 and 48? Same for cell 1, 17, 33, 49. Also SoC and current are equal among all packs. So I highly doubt this is correct information. |
Just wanted to verify something. As noted earlier, because HA doesn't play well with some Realtek bluetooth adapters, I can only have one devise on that adapter, and it HAS to be the master battery. Any other combination breaks it. Knowing that, I realized having the Realtek adapter still in play could be causing issues, even though it's not breaking the readings. So, I removed one battery from the approved bluetooth adapter and moved the master to that adapter, allowing me to disable the Realtek adapter. Rebooted the system. Of the 4 slaves that I can now see, the results are still the same. Eight of the entities still show no values for the slaves. |
Hey @Tulexcorp, your data is incredibly helpful! Thanks a lot! I had one parsing error, mostly due to incorrect test data. No idea, where I had that from, but I could now fix it hopefully. Can you check again with the updated branch? Basically, you should find all data in the attributes of the BP00 device. I just kept the other device to verify how they behave, so in theory you should be able to ignore them. |
Log below for just the master battery installed. One device, 13 entities. I can see 96 values under attributes for cell delta. Because it only reports 2 places in attribues, I can't tell if what the entity is reporting is the master battery or some kind of average. Other entities also list multiple attributes, but don't think they are correct. For example, current might show as 2 amps for current entity, but attributes all show 0. home-assistant_bms_ble_2025-04-16T17-08-34.291Z.log Will install the others and send a log. |
home-assistant_bms_ble_2025-04-16T17-22-16.492Z.log Log with master and 4 slaves. Attributes stayed the same for master battery, but no attributes available for slaves. Same results, no values for slave batteries for most entities. |
@Tulexcorp thanks, for the info, it now worked correctly, but the BMS just returned one pack of data but that multiple times. I did a further update to not use the battery address but the group, can you try again? |
Don't think there is any difference. Both master only and with slaves logs. home-assistant_bms_ble_2025-04-16T19-16-18.095Z.log Not sure what you are asking for with capturing the bluetooth traffic on the android app. |
I went into the bluetooth app. Won't connect if HA is connected to it, which makes sense. There is no logging ability. There is the ability to view it as multi which sees it as one big battery, or each individual battery. Everything looked normal. I'm good with using the regular version. The only real benefit to what I believe you are trying to do here is to eliminate using multiple slots. Only really an issue if you are running other bluetooth items or have a lot of batteries. |
Thanks for the logs, the master still does not report the other packages, just clones of it's own battery values. 😞
I had it in my previous comment, here are two links on how to capture the Bluetooth traffic on Android or iOS.
I'd need a recording of the BT traffic when using this view, this is the last chance to figure out whether also the app uses multiple BT connection at the same time.
That and the fact that you get e.g. the current automatically summed up. All other BMSs do it like this, even Seplos v3. |
Sorry, didn't catch that those were links. I installed wireshark and followed the directions. I thought I captured the bluetooth, but it doesn't create a log I can read or at least understand. Or, it's above my head and I'm doing it wrong. Is a .pcapng file what you would be looking for? |
Yes. that sounds good to me! |
You will have to rename it as a .pcapng file as it wouldn't let me attach it as was. |
@Tulexcorp file is readable, but USB communication, not the BT traffic. Are you sure you selected the right interface when recording? |
I will try again. As I can't tell what it is, I have no idea what I'm sending. The directions make it sound simple, but in reality, setting up Wireshark and using it is not intuitive. |
Sorry, for that. As I'm no iOS user, I cannot help more here. |
Unless someone can walk me through the setup, I don't believe I can help with this. The directions say: "Helpfully, newer versions of Wireshark include an androiddump utility to capture Bluetooth traffic directly from Android phones. The setup couldn't be simpler: connect the phone to the computer via USB, enable USB debugging, select the "Android Bluetooth" capture source in Wireshark, and start recording!" If you click on the androiddump link, it says: androiddump(1) Manual Page SYNOPSIS androiddump --extcap-interfaces [ --adb-server-ip= ] [ --adb-server-tcp-port= ] androiddump --extcap-interface= [ --extcap-dlts ] androiddump --extcap-interface= [ --extcap-config ] androiddump --extcap-interface= --fifo= --capture DESCRIPTION
Don't know if all the synopsis doesn't apply as it's part of Wireshark Simply, I don't see an actual setting in wireshark to enable USB debugging, and I don't see Android bluetooth as an option. |
And why don't you use my suggestion to capture the Bluetooth traffic on Android? It's much simpler, do the second part with the bullet points ... |
Your link takes me to a page about using wireshark. Only further down does it reference using the android to capture. I tried to capture with the phone. I can't find the file. Reading further, it talks about using the SDK and rooting the phone. Not rooting my phone, so don't appear to have access to the log file. |
Pat, I've gone down the worm hole about as far as I can. I installed Android studio to get to the phone, I simply am not tech savvy enough to follow all of this. Every step introduces more steps that become more technical. Hopefully someone will come along that understands what to do and will be able to help you out. |
Ok, because it irritates me when I can't figure things out, I dove deeper. Maybe one of these are what you are looking for. |
💯 pefect! I can see the right data, will investigate tomorrow. Thanks! |
@Tulexcorp thanks a lot for your help! Unfortunately it proofed to be true that there is no way to receive all data from the masters BT module. Thus, I will keep the solution with separate devices and just merge a few fixes that I could gather from all your data. Thanks a lot again, your data was very valuable! |
Well, that's a bummer. I can see the benefit of only taking up one slot, as I've noticed the bluetooth keeps randomly dropping and picking up various BMSs. Will have to play with that. Will take a look at the latest version. Thanks again for trying. |
It is. |
Where are more information regarding this approach? |
You know what, I will try this next month. I have no clue on how the BT module works, but if it fetches the data from the second RS485-bus and we combine all packs through this second bus, there is a chance this could work. |
Also there is always the intra-pack communication (cid2=0x5A) available which is not as detailed as the cid2=0x42 responses (no per-cell voltages and other missing things) – see here. |
Ok, just ping me if you want to try something, for the moment I will stop the efforts, as even the app does not go via the master. |
Checklist
Please describe the enhancement you would like to have.
This is a request to read several Seplos Mason 280 battery packs via Bluetooth.
The first pack (master) has Bluetooth, the others are connected to the master via RS485.
In a Setup like that, the master combines the Value SOC of each Pack to a sum of all and send this information to an Energy Storage System Controler (eg. Victron Cerbo) via CAN Bus. The Master knows all values of each Pack and each Cell. You cann access thes information through an bluetooth connection to the master (BP00), and switch then to the next Pack in the Bluetooth App (BP01/02/03.....)
The benefit of this reuquest whould be, to have information of the whole setup for health monitoring of that system.
In my case, i have a setup of five battery-packs available for testing. I am not a developer, but I will contribute to the implementation with a few helpful hints.
Additional context
No response
The text was updated successfully, but these errors were encountered: