Integrate Bluetooth battery monitoring devices (cars, motorbikes etc.)

Yes I’m getting voltage out. I wish I could remember what part of my troubleshooting madness finally worked, but I got it working then moved on. I’m pretty sure Something on this page helped:

What would you like to improve ?

If I get a vote here, I vote for including battery voltages from a BM2. Got time to help make that work?

I will look at your data, I an busy this week but will analyse it after.

Sorry. Wasn’t a stab at the solution. I should have clarified. I’m not having much luck getting all my BM2 devices to check in routinely but suspect it is due to bluetooth range/connectivity issues. Thanks for all the work!

BM2/range is a topic for sure, I need to check if a bridge with an external antenna helps.

There’s also the BVM02 https://www.amazon.com/LNEX-Automotive-100-2000CCA-Accurate-Analyzer/dp/B08ZDMLMGY?th=1 which works well, very easy to decode, no encryption.

  - platform: ble_client
    ble_client_id: bvm02_battery_meter
    type: characteristic
    name: BVM02 Voltage
    service_uuid: 'fff0'
    characteristic_uuid: 'fff2'
    unit_of_measurement: 'V'
    accuracy_decimals: 2
    state_class: measurement
    device_class: voltage
    notify: true
    update_interval: 10s
    lambda: |-
      return (x[1] | (x[0] << 8)) / 100.0f;

Were you able to just create a sensor and pull the data into homeassistant through the BLE integration for the BVM02 device you posted?

Can someone help me?
I’m using OMG, but it says Volt is Unknown.

But in MQTT I can see this

{
  "id": "76:C4:0D:97:B1:1F",
  "mac_type": 1,
  "adv_type": 0,
  "manufacturerdata": "4c000c0e005a31fa1164cd5ba9a955b2c73310054f1c745379",
  "rssi": -52,
  "rssi": -53,
  "brand": "GENERIC",
  "model": "iBeacon",
  "model_id": "IBEACON",
  "type": "BCON",
  "mfid": "4c00",
  "uuid": "005a31fa1164cd5ba9a955b2c7331005",
  "major": 20252,
  "minor": 29779,
  "volt": 12.1
}

Under homeassistant/binary_sensor topic I have this

{
  "stat_t": "home/OMG_ESP32_BLE/LWT",
  "avty_t": "home/OMG_ESP32_BLE/LWT",
  "name": "SYS: Connectivity",
  "uniq_id": "58BF25826F50-connectivity",
  "pl_on": "online",
  "pl_off": "offline",
  "pl_avail": "online",
  "pl_not_avail": "offline",
  "device": {
    "ids": [
      "58BF25826F50"
    ],
    "name": "OMG_ESP32_BLE",
    "mdl": "[\"WebUI\",\"BT\"]",
    "mf": "OMG_community",
    "cu": "http://192.168.1.245/",
    "sw": "v1.7.0"
  }
}

How far is the ESP32 from the BM2 ?

maybe 15cm @1technophile

Edit: I finally got it to work, used another ESP32 board.

I published an integration for Battery Monitor BM6 Rafciq/BM6: Home Assistant integration for Battery Monitor BM6

I have a rock solid setup using OMG/TheengsGateway which have native support for quite a while.

What is the USP of your integration?

It seems like it provides a few more entities or interesting states (the calculated ones), but I did not have a deeper look tbh.

@e-raser Hmmm? USP? You have to judge for yourself if my solution has any added value for you. I created this integration for BM6 because I didn’t find another good Plug & Play solution. I don’t have OMG and I didn’t want to add anything more to HA to use BM6.

Theres code here for BM6 working with just ESPHome.
no custom integrations or MQTT needed.

(note: there is an indentation error in the code, line 62)

Hi,
has anyone integrated an Ancel BM300 (pro) ?
It doesn’t work with the BM6 integration.
Would be nice if someone could help me.

Thanks

You’re the best! I picked up to of these and tried my hand at Bluetooth sniffing. I was able to get an ESP to pickup the data but was stuck at the encryption piece.

Great, it works :slightly_smiling_face:
After some trial and error, I got it running under ESP-Home on an M5stack-atom (arduino)
Thank you for your help :+1:

I forked the BM6 repo and updated it to support the BM7. Aka. BM300 Pro. You can try the fork here if you wish.