Oral-B Toothbrush on ESPHome

Ta, had never messed with Little Endian so no idea how it was parsed and a quick search wasn’t being helpful.

Changing the battery sensor to the following

  - platform: ble_client
    ble_client_id: oralb_kev
    name: "$toothbrush_name battery level"
    type: characteristic
    service_uuid: 'a0f0ff00-5047-4d53-8208-4f72616c2d42'
    characteristic_uuid: 'A0F0FF05-5047-4D53-8208-4F72616C2D42'
    icon: 'mdi:battery'
    unit_of_measurement: '%'
    update_interval: 4s
    lambda: |-
      id(kev_seconds).publish_state(x[1] + (x[2] * 255));
      return x[0];

(note the penultimate line) and adding the following sensor

  - platform: template
    name: "$toothbrush_name battery seconds"
    id: kev_seconds

have now given me another entity which seems to work - a 120 second brush reduced the battery level by 71 seconds if this is “accurate”. Note it doesn’t update during the brush (unlike the %) only once you stop.