Skip to content

add support for victron Orion TR and generic battery monitoring devices - #708

Open
benderl wants to merge 1 commit into
theengs:developmentfrom
benderl:victron
Open

add support for victron Orion TR and generic battery monitoring devices#708
benderl wants to merge 1 commit into
theengs:developmentfrom
benderl:victron

Conversation

@benderl

@benderl benderl commented Aug 27, 2026

Copy link
Copy Markdown

Description:

This PR adds support for the following devices from Victron:

  • Orion TR (also called "Orion Smart")
  • generic battery monitoring devices, tested with BMV-712 (also called "SmartBMV")

For the SmartBMV a new method value_from_bit_string was introduced as the manufacturing data is not byte aligned.

As I am not very familiar with C++, I got lots of help from Copilot. Hope this PR meets your requirements. At least I get meaningful values from my devices.

Checklist:

  • The pull request is done against the latest development branch
  • Only one feature/fix was added per PR and the code change compiles without warnings
  • I accept the DCO.

@DigiH

DigiH commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution @benderl

I have the following comments
• The Battery Monitor should really be included in VICTRON_SBS_json.h, with the decoder only missing that particular device model version specific identifier "83a3" and the additional properties to the simpler Smart Battery Sense. Could you just amend the already existing decoder and see if it works correctly for you, even without the new value_from_bit_string method, as I used masking to decode the non-byte aligned.values.

I suppose we could still introduce this method, at least for this combined decoder, and then change all the relevant Victron decoders to use that instead of the masking at some stage - if you feel like doing that the task ;)

Each device class should only require and have one decoder to keep the size requirement overheads down. With the Battery Monitor and Smart Battery Sense also including the Smart Shunt devices.

• I assume the same issue with possible missing device model version specific identifiers will also apply with the Orion TR, with additional device IDs required to be added to the decoder in the future.

Let me know how you get on with the above.

@benderl

benderl commented Aug 28, 2026

Copy link
Copy Markdown
Author

Thanks for your detailed review.

I had the same idea in mind, as Victron uses the same beacon format for each device family. So in theory only one definition per family should be possible.

Lets's see, if this is doable with my limited C++ knowledge and support from Copilot. I think this will take some time.

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.

2 participants