First calling ble_bas_battery_level_update() failed errCode=0x8. But afterward calling ble_bas_battery_level_update() successfully.
# SEGGER J-Link RTT Viewer V6.32i Terminal Log File
# Compiled: 15:22:50 on Jul 24 2018
# Logging started @ 14 Jul 2022 15:28:04
0> <info> app: Version 1.0.0
0>
0> <info> app: ========| flash info |========
0> <info> app: erase unit: 4096 bytes
0> <info> app: program unit: 4 bytes
0> <info> app: end address: 0x7FFFF
0> <info> app: ==============================
0> <info> app_timer: RTC: initialized.
0> <debug> app: NOR_DATA_PERIOD=819
0>
0> <debug> app: NOR_RECORD_PERIOD=8192
0>
0> <info> app: bsp_button_longkey_handler 0.
0> <warning> app: Battery volage 85mV is too low
0>
0> <warning> app: Battery volage 17mV is too low
0>
0> <info> app: Reg 9 A
0> <info> app: bsp_button_longkey_handler 1.
0> <debug> nrf_ble_gatt: Requesting to update ATT MTU to 185 bytes on connection 0x0.
0> <info> app: Connected.
0> <debug> app: state=1
0>
0> <debug> nrf_ble_gatt: ATT MTU updated to 185 bytes on connection 0x0 (response).
0> <info> ble_bas: Battery level has been updated: 0%
0> <debug> ble_bas: Error: 0x00000008 while sending notification with conn_handle: 0x0000
0> <warning> app: ble_bas_battery_level_update() failed errCode=0x8
0>
0> <debug> app: mv=2144, percent=0
0>
0> <info> ble_bas: Battery level has been updated: 69%
0> <info> ble_bas: Battery notification has been sent using conn_handle: 0x0000
0> <debug> app: mv=3998, percent=69
0>
0> <info> ble_bas: Battery level has been updated: 0%
0> <info> ble_bas: Battery notification has been sent using conn_handle: 0x0000
0> <debug> app: mv=8, percent=0
0>
0> <debug> app: mv=196, percent=0
0>
0> <info> ble_bas: Battery level has been updated: 85%
0> <info> ble_bas: Battery notification has been sent using conn_handle: 0x0000
0> <debug> app: mv=4101, percent=85
0>
0> <info> ble_bas: Battery level has been updated: 0%
0> <info> ble_bas: Battery notification has been sent using conn_handle: 0x0000
0> <debug> app: mv=1922, percent=0
0>