Open bentolor opened 1 year ago
Python noob, but happy to give it a try on my own with a few pointers. Purely from paper it really sounds easy.
I stumbled over the values for VE_REG_DEVICE_STATE
but found i.e. this code extract describing values & states as well as the codes for VE_REG_CHR_ERROR_CODE
Update: I just realized the links lead to an existing ESPHome implementation.
Wow – dang that was easy. So my personal challenge has been already solved as part of my journey to collect the data for this issue. Please feel free to close / proceed with this request according to your likings.
Update: I just realized the links lead to an existing ESPHome implementation.
Wow – dang that was easy. So my personal challenge has been already solved as part of my journey to collect the data for this issue. Please feel free to close / proceed with this request according to your likings.
I assume the ESPHome implementation you mentioned is this one?
So it is my understanding that all that needs to be done is a parser written for this component and the ESPHome component could help in this?
Some help in this would be much appreciated as it's kinda beyond my knowledge.
I have the ESPHome implementation working but seems silly to use another device when home assistant can do it itself.
Maybe this could also help? It's supposed to be a hacs component that does what we want but it currently doesn't work, so maybe the ESPHome one should be referenced instead.
@samster395 I was not aware about keshavdv/victron-hacs
. This should mostly already do the job also for you, no?
I think the only benefit left having this natively in home assistant is, that I'd expect bluetooth-proxy support then. According to my understanding otherwise you'd either need a dedicated ESPHome device or the Home Assistant bluetooth receiver in direct proximity of the Victron appliance instead of having just a few bluetooth-proxy devices spread across the area.
@samster395 I was not aware about
keshavdv/victron-hacs
. This should mostly already do the job also for you, no?I think the only benefit left having this natively in home assistant is, that I'd expect bluetooth-proxy support then. According to my understanding otherwise you'd either need a dedicated ESPHome device or the Home Assistant bluetooth receiver in direct proximity of the Victron appliance instead of having just a few bluetooth-proxy devices spread across the area.
It doesn't work unfortunately, I already tried it, maybe it did at some point but I could not get it to work.
This is my reason for wanting it supported by this component because right now I need to have a dedicated ESPHome device running right next to my raspberry pi running HA just to pull the data in.
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:
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:
Other devices covered are:
https://community.victronenergy.com/storage/attachments/48745-extra-manufacturer-data-2022-12-14.pdf
BLE advertisements