keshavdv / victron-ble

A Python API to parse Victron Instant Readout BLE advertisements
The Unlicense
88 stars 30 forks source link

Official details from Victron are now available #17

Open ctschach opened 1 year ago

ctschach commented 1 year ago

Finally Victron released the documentation of all the data:

https://community.victronenergy.com/storage/attachments/48745-extra-manufacturer-data-2022-12-14.pdf

who wants to work on the implementation?

keshavdv commented 1 year ago

I've been working on adding a few of the other device implementations based on the spec, but I've been focusing on the ones I own and can validate with.

keshavdv commented 1 year ago

I've asked for some clarification on byte ordering from Victron since it isn't immediately apparent when consuming the data in Python

mpvader commented 1 year ago

Hey @keshavdv was that answered?

keshavdv commented 1 year ago

Unfortunately, I haven't heard back yet.

ThiemoVanEngelen commented 1 year ago

Hi @keshavdv ,

The specification follows the following convention:

So when a field starts at bit 0 and is 16 bits long, bit 0 of byte 0 of the instant readout data is the least significant bit of the value and bit 7 of byte 1 is the most significant bit of the value. Or when a field starts at bit 140 and is 10 bits long, its value it is built up in the following way: bit 4 of byte 17 => bit 0 ... bit 7 of byte 17 => bit 3 bit 0 of byte 18 => bit 4 ... bit 5 of byte 18 => bit 9

Perhaps this answers your question? Otherwise, where did you ask the question or how did you try to reach us?

Kind regards, Thiemo