ble_monitor icon indicating copy to clipboard operation
ble_monitor copied to clipboard

[New Sensor]: Victron Bluetooth Solar Charger / LifePO4 Shunt / BMS / Inverter /...

Open bentolor opened this issue 11 months ago • 5 comments

Sensor Description

Victron Energy Bluetooth enabled product line

Additional information

About Victron / sensor family

Victron Energy is a manufacturer of high quality solar charger, solar inverters/converters and battery management products. In my case I have a "SmartSolar MPPT 100/30" solar charge controller. Typically these devices can be controlled/monitored by the Android/iOS app from the vendor and a six-digit PIN.

Vendor opening it's bluetooth protocol

As described in this blog post they recently decided to open their Bluetooth advertisement based protocol. They call this "instant readout". Users need to specifically enable this.

In the case of my SmartSolar charger, the advertisment data renders in the app as follows: grafik

Supported devices

The Victron devices supporting "Instant readout" are listed here.

Bluetooth Advertisment specification

The blog-post provides an 8-page long specification covering the following 14 device classes in total (see below). So I assume really simple. Most tricky part I assume is the AES-based encryption with the PIN and an additional nonce :-(

For my solar charger (besides the encryption) the spec describes: grafik

Other devices covered are:

  • Test record -- not relevant
  • Solar Charger -- my device: solar to battery
  • Battery Monitor -- common device
  • Inverter -- also common for solar to grid
  • DC/DC Converter -- ??
  • SmartLithium -- BMS
  • Inverter RS -- ??
  • GX-Device -- ??
  • AC Charger -- ??
  • Smart Battery Protect -- Shunt
  • (Lynx Smart) BMS -- ???
  • Multi RS -- ???
  • VE.Bus -- their network
  • DC Energy Meter -- ??

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

BLE advertisements

---===### The PIN used for the extract below is 123456 ! ###===---

2023-07-29 16:28:20.370 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.ble_monitor
2023-07-29 16:29:18.160 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01\xe77\xc2.\x97\x9d\xbf\xd2\xd2Q7\xe5*\xa2\x12']local name: UUID16: None,UUID128: None
2023-07-29 16:29:57.784 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01\x0f8\xc2\x11a \x96\x1f\xd2\x95\xd3\xc0\xed(\xf0']local name: UUID16: None,UUID128: None
2023-07-29 16:34:27.712 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01\x1d9\xc2\x93p;4\xd3\xa9\xca\xeb6_@\xca']local name: UUID16: None,UUID128: None
2023-07-29 16:34:45.950 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01/9\xc2\xe9\xeb\xc2\xce\x7fKT"^\x94\xaf\x14']local name: UUID16: None,UUID128: None
2023-07-29 16:35:00.147 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01=9\xc2 &|s\t\x8f\xba\xc5\n\xea\xfdv']local name: UUID16: None,UUID128: None
2023-07-29 16:35:17.015 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01N9\xc202\xf4\x16)\xd3{\x9f^MN\xd6']local name: UUID16: None,UUID128: None
2023-07-29 16:35:25.813 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b"\x17\xff\xe1\x02\x10\x02V\xa0\x01W9\xc2\xca*\xdd{LtD\x05'm\xb8\xca"]local name: UUID16: None,UUID128: None
2023-07-29 16:35:43.621 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01h9\xc2\x11>\xd1D\xd0\x11\xe28\x9e\xac\xa1\xa7']local name: UUID16: None,UUID128: None
2023-07-29 16:37:07.247 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01\xbc9\xc2\xe5\x829\x91\xc0m\xbb`\xb4\xf2\x02\x97']local name: UUID16: None,UUID128: None
2023-07-29 16:37:39.485 INFO (Thread-5) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID e774bb073082: service data: []manufacturer specific data: [b'\x17\xff\xe1\x02\x10\x02V\xa0\x01\xdc9\xc2\xa7\\|\x9e\x0bFF}$`l\x83']local name: UUID16: None,UUID128: None

bentolor avatar Jul 29 '23 14:07 bentolor