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

[BUG] Double DeviceInstance ID on dbus for CAN BMS #164

Open
LykkeGit opened this issue Feb 25, 2023 · 10 comments
Open

[BUG] Double DeviceInstance ID on dbus for CAN BMS #164

LykkeGit opened this issue Feb 25, 2023 · 10 comments

Comments

@LykkeGit
Copy link

Describe the bug
I'm operating a Cerbo GX with two BMS's (SIMP BMS) plus a smartshunt.

After FW upgrade from 2.XX to 3.18 only one battery BMS is visible in Node Red (..and MQTT it apperas), but both battery BMSs are visible in the local Consol. Both were visible in all former FW version (2 series) since installed two years ago.

When debugging a Node Red BMS voltage node, it outputs voltage from both SIMP BMS installations mixed.

To Reproduce
Steps to reproduce the behavior:

  1. Using node '...'
  2. Click on '....'
  3. See error

Expected behavior
It was expected that both BMSs are visible in Node Red and MQTT. A clear and concise description of what you expected to happen.

Screenshots
image
image

Flow
If applicable, add a flow to help explain your problem.

Hardware (please complete the following information):

  • Hardware: [e.g. Cerbo GX, Ekrano, Raspberry Pi] Cerbo GX and 2x SIMP BMS

Software (please complete the following information):

  • node-red-contrib-victron version: 3.02
  • Venus OS version: 3.18 and 3.20

Additional context
FYI: After update from Venus 2.xx to 3.18, all Victron Node Red nodes had to be reselected. Even so, some nodes seems to not work properly. Will build from scratch again

@dirkjanfaber
Copy link
Collaborator

dirkjanfaber commented Feb 25, 2023

I haven't worked with SIM BMS'es before, so it is slightly harder to reproduce. Am I correct that the BMS'es are CAN connected? If you look at the device details via the Remote Console, do they both have the ID 512? I think that might be the causing only one of them to show up. I would have expected them to each have their own unique ID, but I will have to check with a colleague to be sure.

image

My screenshot is of another CAN based BMS, but you get the idea.

@LykkeGit
Copy link
Author

Yes, both unfortunatly have VRM instance "512"...
image
image

@dirkjanfaber dirkjanfaber changed the title [BUG] [BUG] Double DeviceInstance ID on dbus for CAN BMS Feb 25, 2023
@mpvader
Copy link
Contributor

mpvader commented Feb 27, 2023

Izak will be able to tell you more @dirkjanfaber , but I expect that in many ways - this hardcoded 512 instance being one of them - Venus OS is designed around expecting only one canbus bms to be connected.

Also DVCC works only for one canbus bms.

in case multiple strings of batteries, + BMSes, are used for parallel redundancy of the battery pack, we’ve always told the battery/BMS maker to solve that on their side; and then provide one total set of data to Venus OS.

as opposed to having multiple BMSes, and then requiring Venus OS to combine the data into one set of instructions towards the inverter/chargers and rest of power electronics.

@mpvader
Copy link
Contributor

mpvader commented Feb 27, 2023

Ps. Changing all that won’t be on the roadmap soon

@LykkeGit
Copy link
Author

Ps. Changing all that won’t be on the roadmap soon

Sorry to learn that, I did use the Node Red implementation to add an extra layer of security to the battery not handled by DVCC. I don't think they will update the BMS FW, so I may just have to try and roll back to Venus 2.90 and wait for a suitable Venus update.

@dirkjanfaber
Copy link
Collaborator

dirkjanfaber commented Feb 27, 2023

Well, there might be an alternative for you to consider. You might be able to get the needed info via modbus too by using the node-red-contrib-victron-modbus node.

Btw it could very well be that that solution suffers from the same problem.

@LykkeGit
Copy link
Author

I tried out the modbus node, and while it works very well, it seems only possible to get data from the one battery BMS. I can also see in remote console, that it is no longer possible to selece both SIMP BMS instances for DVCC. I guess I will have to roll back to 2.90 to be able to use data from both BMS's.

@mpvader
Copy link
Contributor

mpvader commented Mar 1, 2023

One warning, since the word safety is used: safety really up to the BMS/Battery. It needs to have a contactor that disconnects the system when necessary.

Venus OS, DVCC, and Node-RED should be no part of that. Some control which improves things is ok; but making the real basic safety features (which for lithium batteries should include a contactor) depend on complex systems like Venus OS is not a good idea.

@p0l0us
Copy link

p0l0us commented Aug 31, 2024

Many people including me are suffering by this issue. Is there any chance to fix this ?
I'm happy contribute if anyone point me to right place.

We see two BMS connected via different CAN busses in the GUI, but there are issues - VRM is confused, system battery & DVCC controller is assigned randomly after CerboGX restart, also in node-red are values alternating within single battery. On other hand SignalK sees batteries separate with same Path (electrical.batteries.512), but different Source.

btw. there is other ticket related to this issue:
victronenergy/venus#1168

@p0l0us
Copy link

p0l0us commented Sep 1, 2024

another related ticket: victronenergy/venus#1059

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

No branches or pull requests

4 participants