Skip to content

Support for Oukitel BP2000 #222

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
4 tasks done
rwanrooy opened this issue Mar 16, 2025 · 3 comments
Closed
4 tasks done

Support for Oukitel BP2000 #222

rwanrooy opened this issue Mar 16, 2025 · 3 comments
Labels
enhancement New feature or request Stale

Comments

@rwanrooy
Copy link

Checklist

  • I have filled out the template to the best of my ability.
  • I have understood that this integration is only about battery management systems with Bluetooth Low Energy support.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate of any previous feature requests.

Please describe the enhancement you would like to have.

I have an Oukitel BP2000 battery which uses the Wonderfree app via bluetoorh LE. The battery does not get detected so I think it is not supported yet.

The battery consists of a main "control" battery and an extension battery. I discovered that the main battery has two BT LE devices:

  • ble_client_id: quec_ble_device - service_uuid: '0000180a-0000-1000-8000-00805F9B34FB'
    
  • ble_client_id: quec_battery_device_1 - service_uuid: '000003C1-0000-1000-8000-00805F9B34FB'
    

The extension battery has only one ble device:

  • ble_client_id: quec_battery_device_2 - service_uuid: '0000FFE9-0000-1000-8000-00805F9B34FB'
    

I added them to the esphome config of the adapter, but they don't get detected by BMS_BLE-HA. Is it possible to add support for the Oukitel BP2000 to this integration?

This is the esphome code I am using for the BT Proxy:

esphome:
  name: oukitel-bt-proxy
  friendly_name: oukitel-bt-proxy

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# Enable logging
logger:
  level: VERY_VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: "x"

ota:
  - platform: esphome
    password: "x"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Oukitel-Bt-Proxy"
    password: "liH8Cc7FqIov"

captive_portal:
    
bluetooth_proxy:
  active: True

esp32_ble_tracker:
  scan_parameters:
    interval: 1100ms
    window: 1100ms
    active: true

ble_client:
  - mac_address: '58:DB:09:CC:D0:CB'  # Quec module
    id: quec_ble_device
    on_connect: 
      then:
        - logger.log: "Verbonden met Quec module"
    on_disconnect:
      then:
        - logger.log: "Verbinding met Quec module verloren"
    auto_connect: true

  - mac_address: 'BA:03:37:3B:00:0B'  # Eerste batterij (BP2000YJ23121961)
    id: quec_battery_device_1
    on_connect: 
      then:
        - logger.log: "Verbonden met eerste batterij"
    on_disconnect:
      then:
        - logger.log: "Verbinding met eerste batterij verloren"
    auto_connect: true

  - mac_address: 'BA:03:BE:9B:00:03'  # Tweede batterij (BP2000YJ24070350)
    id: quec_battery_device_2
    on_connect: 
      then:
        - logger.log: "Verbonden met tweede batterij"
    on_disconnect:
      then:
        - logger.log: "Verbinding met tweede batterij verloren"
    auto_connect: true



sensor:
  - platform: ble_client
    ble_client_id: quec_ble_device
    service_uuid: '0000180a-0000-1000-8000-00805F9B34FB'
    characteristic_uuid: '2a19'  # UUID voor batterijstatus
    type: characteristic
    name: "Battery Status"
    update_interval: 120s

  - platform: ble_client
    ble_client_id: quec_battery_device_1
    service_uuid: '000003C1-0000-1000-8000-00805F9B34FB'
    characteristic_uuid: '2a19'  # Controleer de UUID voor batterijstatus
    type: characteristic
    name: "Battery Status 1"
    update_interval: 120s

  - platform: ble_client
    ble_client_id: quec_battery_device_2
    service_uuid: '0000FFE9-0000-1000-8000-00805F9B34FB'
    characteristic_uuid: '2a19'  # Controleer de UUID voor batterijstatus
    type: characteristic
    name: "Battery Status 2"
    update_interval: 120s

Debug log ESPhome proxy:

INFO ESPHome 2025.2.2
INFO Reading configuration /config/esphome/oukitel-bt-proxy.yaml...
INFO Starting log output from 192.168.1.133 using esphome API
INFO Successfully connected to oukitel-bt-proxy @ 192.168.1.133 in 0.092s
INFO Successful handshake with oukitel-bt-proxy @ 192.168.1.133 in 5.103s
[13:18:43][I][app:100]: ESPHome version 2025.2.2 compiled on Mar 14 2025, 00:03:19
[13:18:43][C][wifi:600]: WiFi:
[13:18:43][C][wifi:428]: Local MAC: 5C:01:3B:97:A2:B0
[13:18:43][C][wifi:433]: SSID: [redacted]
[13:18:43][C][wifi:436]: IP Address: 192.168.1.133
[13:18:43][C][wifi:439]: BSSID: [redacted]
[13:18:43][C][wifi:441]: Hostname: 'oukitel-bt-proxy'
[13:18:43][C][wifi:443]: Signal strength: -54 dB ▂▄▆█
[13:18:43][V][wifi:445]: Priority: 0.0
[13:18:43][C][wifi:447]: Channel: 13
[13:18:43][C][wifi:448]: Subnet: 255.255.255.0
[13:18:43][C][wifi:449]: Gateway: 192.168.1.1
[13:18:44][C][wifi:450]: DNS1: 192.168.1.24
[13:18:44][C][wifi:451]: DNS2: 8.8.8.8
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][V][esp32_ble:348]: (BLE) gap_event_handler - 3
[13:18:44][V][esp32_ble_tracker:411]: gap_scan_result - event 0
[13:18:44][W][component:237]: Component esp32_ble took a long time for an operation (468 ms).
[13:18:44][W][component:238]: Components should block for at most 30 ms.
[13:18:44][W][esp32_ble_tracker:125]: Too many BLE events to process. Some devices may not show up.
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:3B:89, length 11. RSSI: -61 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:66:10, length 11. RSSI: -69 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from 5B:4C:FA:E6:A5:EA, length 19. RSSI: -98 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:3B:89, length 29. RSSI: -67 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:66:10, length 29. RSSI: -64 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from 70:40:F8:31:37:C3, length 28. RSSI: -75 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from 7E:1A:4D:9A:95:A7, length 18. RSSI: -97 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:43:65, length 29. RSSI: -61 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:3B:89, length 29. RSSI: -67 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:66:10, length 11. RSSI: -66 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:43:65, length 29. RSSI: -60 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from 4E:4E:4E:1D:81:E7, length 38. RSSI: -68 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:3B:89, length 29. RSSI: -66 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from E3:D3:84:27:23:3A, length 8. RSSI: -97 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:66:10, length 11. RSSI: -67 dB
[13:18:44][V][bluetooth_proxy:058]: Proxying raw packet from C0:39:32:35:43:65, length 29. RSSI: -56 dB
[13:18:44][V][bluetooth_proxy:061]: Proxying 16 packets
[13:18:44][VV][api.service:345]: send_bluetooth_le_raw_advertisements_response: BluetoothLERawAdvertisementsResponse {
advertisements: BluetoothLERawAdvertisement {
address: 211351888018313
rssi: -61
address_type: 0
data: '����\xff
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:3B:89 (PUBLIC)
[13:18:44][VV][esp32_ble_tracker:472]: RSSI: -61
[13:18:44][VV][esp32_ble_tracker:473]: Name: ''
[13:18:44][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:44][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:44][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:44][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18 (11)
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:66:10 (PUBLIC)
[13:18:44][VV][esp32_ble_tracker:472]: RSSI: -69
[13:18:44][VV][esp32_ble_tracker:473]: Name: ''
[13:18:44][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:44][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:44][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:44][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18 (11)
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: 5B:4C:FA:E6:A5:EA (RANDOM)
[13:18:44][VV][esp32_ble_tracker:472]: RSSI: -98
[13:18:44][VV][esp32_ble_tracker:473]: Name: ''
[13:18:44][VV][esp32_ble_tracker:475]: TX Power: 2
[13:18:44][VV][esp32_ble_tracker:481]: Ad Flag: 26
[13:18:44][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x004C, data: 10.07.3F.1F.0B.A3.08.E0.78 (9)
[13:18:44][VV][esp32_ble_tracker:505]: Adv data: 02.01.1A.02.0A.0C.0C.FF.4C.00.10.07.3F.1F.0B.A3.08.E0.78 (19)
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:3B:89 (PUBLIC)
[13:18:44][VV][esp32_ble_tracker:472]: RSSI: -67
[13:18:44][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:44][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:44][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:44][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:44][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:66:10 (PUBLIC)
[13:18:44][VV][esp32_ble_tracker:472]: RSSI: -64
[13:18:44][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:44][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:44][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:44][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:44][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:44][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:44][VV][esp32_ble_tracker:469]: Address: 70:40:F8:31:37:C3 (RANDOM)
[13:18:44][VV][esp32_ble_tracker:484]: Service UUID: 0xFE9F
[13:18:44][VV][esp32_ble_tracker:500]: Service data:
[13:18:45][VV][esp32_ble_tracker:501]: UUID: 0xFE9F
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:43:65 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -61
[13:18:45][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:3B:89 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -67
[13:18:45][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:66:10 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -66
[13:18:45][VV][esp32_ble_tracker:473]: Name: ''
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18 (11)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:43:65 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -60
[13:18:45][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: 4E:4E:4E:1D:81:E7 (RANDOM)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -68
[13:18:45][VV][esp32_ble_tracker:473]: Name: ''
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0xFE9F
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x00E0, data: 01.86.CA.9B.8A.BA (6)
[13:18:45][VV][esp32_ble_tracker:500]: Service data:
[13:18:45][VV][esp32_ble_tracker:501]: UUID: 0xFE9F
[13:18:45][VV][esp32_ble_tracker:502]: Data: 02.39.6C.66.7A.75.49.30.70.6A.4F.73.00.00.01.95.9E.E5.93.C2 (20)
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 03.03.9F.FE.17.16.9F.FE.02.39.6C.66.7A.75.49.30.70.6A.4F.73.00.00.01.95.9E.E5.93.C2.09.FF.E0.00.01.86.CA.9B.8A.BA (38)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:3B:89 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -66
[13:18:45][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: E3:D3:84:27:23:3A (RANDOM)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -97
[13:18:45][VV][esp32_ble_tracker:473]: Name: ''
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x004C, data: 12.02.00.02
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 07.FF.4C.00.12.02.00.02 (8)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:66:10 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -67
[13:18:45][VV][esp32_ble_tracker:473]: Name: ''
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18 (11)
[13:18:45][VV][esp32_ble_tracker:450]: Parse Result:
[13:18:45][VV][esp32_ble_tracker:469]: Address: C0:39:32:35:43:65 (PUBLIC)
[13:18:45][VV][esp32_ble_tracker:472]: RSSI: -56
[13:18:45][VV][esp32_ble_tracker:473]: Name: 'Printer GateWay'
[13:18:45][VV][esp32_ble_tracker:481]: Ad Flag: 6
[13:18:45][VV][esp32_ble_tracker:484]: Service UUID: 0x1812
[13:18:45][VV][esp32_ble_tracker:495]: Manufacturer ID: 0x0000, data:
[13:18:45][VV][esp32_ble_tracker:505]: Adv data: 02.01.06.03.FF.00.00.03.03.12.18.11.09.50.72.69.6E.74.65.72.20.47.61.74.65.57.61.79.00 (29)
[13:18:45][W][component:237]: Component esp32_ble_tracker took a long time for an operation (972 ms).
[13:18:45][W][component:238]: Components should block for at most 30 ms.

Additional context

Website Oukitel BP2000: https://eu.oukitel.com/products/oukitel-bp2000-portable-power-station?variant=47623377322304
There is no other technical info available. Not for BLE, a cloud connection or a public api. I tried to capture the raw packets with nrfconnect but don't see any data which can be useful. Also I tried to capture the mqtt traffic to their cloud with wireshark or spoofed their dns records to re-route the data to my mqtt broker. A port scan tells port tcp/6607 is open which is probably used by modbus-tcp but I cannot find anything when I scan it. So I am stuck with the information already given.

@rwanrooy rwanrooy added the enhancement New feature or request label Mar 16, 2025
@patman15
Copy link
Owner

Hi @rwanrooy!

Unfortunately, the information provided does not give me hints on how to start. The MAC addresses you mention for the batteries do not appear in the proxy log. Can you please provide a link to the Android app and follow the guidelines that were in the issue template:

For new BMS types, please provide the output of bluetoothctl info <MAC> and the service explorer script. To speed up the integration please see if you are able to capture the Bluetooth traffic on Android or iOS while using the vendor app with the battery.

Otherwise I'm not sure it is possible to add the device, as I can't find any mentioning of BLE readout for this device.

Copy link

This issue is stale because it has been open 32 days with no activity. Remove stale label or comment or this will be closed in 8 days.

@github-actions github-actions bot added the Stale label Apr 18, 2025
Copy link

This issue was closed because it has been stalled for 8 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Stale
Projects
None yet
Development

No branches or pull requests

2 participants