Skip to content
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

JDB BLE support #499

Merged
merged 244 commits into from
May 23, 2023
Merged

JDB BLE support #499

merged 244 commits into from
May 23, 2023

Conversation

idstein
Copy link
Contributor

@idstein idstein commented Mar 23, 2023

This is a first draft on implementing JBD BLE support. It is built upon Bleak.

Additionally, it provides some handling of for up to 4 temperature probes labels T1 (NTC2), T2 (NTC3), T3 (NTC4) and T4 (NTC5). NTC1 is the BMS module temperature itself.

The device page has been extend to provide more details about the actual used hardware (= product name), firmware version and BLE address.

SoC time to go calculation has been fixed.

Open TODOs is a easier settings handling to allow discovering of BLE BMS systems via GUI.

Visual impressions
IMG_6462

IMG_4832

IMG_2477

Eike Baran and others added 30 commits December 10, 2022 23:10
… if no bt-device is available during test_connection
* jkbms ble integration

* implemented most warnings except undercurrent(?), imbalance

* getting things together, removed most obvious mistakes; connection test is executed, further work required

* give the bluetooth-jkbms a dummy-serialport that will fail to open, so that the bt-connection can be tested

* added installation dependencies to installlocal; added error-handling if no bt-device is available during test_connection

* cleanup imports & None-check

Co-authored-by: Eike Baran <[email protected]>
removed an accidently added letter "i" which breaks function
- added: capacity
- added: MOS temperature
- added: charging switch status
- added: discharging switch status
- added: balancing switch status
- added: show if balancing is active and which cells are balanced
- added: cell imbalance alert
- added: MOS temperature
- added: Balancing switch status
* added battery details
- added: capacity
- added: MOS temperature
- added: charging switch status
- added: discharging switch status
- added: balancing switch status
- added: show if balancing is active and which cells are balanced
- added: cell imbalance alert

* changed cell imbalance thresholds

* added battery details
- added: MOS temperature
- added: Balancing switch status
@mr-manuel
Copy link
Collaborator

@idstein please check, that the GitHub Actions are working in your repository.

Please check in your repository settings:

  • Actions -> General -> Actions permissions check if Allow all actions and reusable workflows is selected or Allow YOUR_GITHUB_USERNAME actions and reusable workflow, if you want it to be more restricted
  • Actions -> General -> Workflow permissions check if Read and write permissions is selected

MIN_RESPONSE_SIZE = 6
MAX_RESPONSE_SIZE = 256

class LltJbdBle(LltJbd):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rename to LltJbd_Ble since other checks use the _Ble to identify it as Bluetooth.

@mr-manuel mr-manuel changed the base branch from jkbms_ble to dev May 8, 2023 16:20
@mr-manuel
Copy link
Collaborator

@idstein would it be possible, that you add #4 also to the normal LLT/JBD driver and LLT/JBD Bluetooth driver?

Maybe you know, if there is a custom field for the BMS that you can read and the serial number of the BMS?

@idstein
Copy link
Contributor Author

idstein commented May 14, 2023

@idstein would it be possible, that you add #4 also to the normal LLT/JBD driver and LLT/JBD Bluetooth driver?

Maybe you know, if there is a custom field for the BMS that you can read and the serial number of the BMS?

There is such a field, unfortunately LLT/JBD has something like configuration register. The flow seems to be a little bit more complicated and register first to enable those configuration registers for read/write before one can read them out.

I will try to check if it is possible to read the registers without entering factor mode, see https://gitlab.com/bms-tools/bms-tools/-/blob/master/bmstools/jbd/jbd.py#L377

Strawder, Paul added 9 commits May 19, 2023 09:32
# Conflicts:
#	.flake8
#	.github/workflows/release.yml
#	CHANGELOG.md
#	docs/docs/general/install.md
#	docs/yarn.lock
#	etc/dbus-serialbattery/battery.py
#	etc/dbus-serialbattery/bms/daly.py
#	etc/dbus-serialbattery/bms/jkbms.py
#	etc/dbus-serialbattery/bms/jkbms_ble.py
#	etc/dbus-serialbattery/bms/jkbms_brn.py
#	etc/dbus-serialbattery/bms/lifepower.py
#	etc/dbus-serialbattery/bms/lltjbd_ble.py
#	etc/dbus-serialbattery/config.default.ini
#	etc/dbus-serialbattery/dbus-serialbattery.py
#	etc/dbus-serialbattery/dbushelper.py
#	etc/dbus-serialbattery/disable.sh
#	etc/dbus-serialbattery/install-qml.sh
#	etc/dbus-serialbattery/install-release.sh
#	etc/dbus-serialbattery/qml/PageLynxIonIo.qml
#	etc/dbus-serialbattery/reinstall-local.sh
#	etc/dbus-serialbattery/restart-driver.sh
#	etc/dbus-serialbattery/restore-gui.sh
#	etc/dbus-serialbattery/uninstall.sh
#	etc/dbus-serialbattery/utils.py
Fix with ble prefix:
ValueError: Invalid bus name 'com.victronenergy.battery.703e97d2f4d0': a digit may not follow '.' except in a unique name starting with ':'
Fix with ble prefix:
ValueError: Invalid bus name 'com.victronenergy.battery.703e97d2f4d0': a digit may not follow '.' except in a unique name starting with ':'
@idstein idstein marked this pull request as ready for review May 19, 2023 13:45
@idstein
Copy link
Contributor Author

idstein commented May 19, 2023

Reading from EEPROM should now work, too. In theory this may also open the possibility to do some SoC and current calibration based on the readings from Multiplus.

@idstein idstein requested a review from mr-manuel May 21, 2023 06:43
@idstein
Copy link
Contributor Author

idstein commented May 21, 2023

@mr-manuel please re-consider restarting Bluetooth BlueZ with cronjob. I now added some additional handling, but it will still interrupt the communication for several seconds.

@mr-manuel
Copy link
Collaborator

You opened an issue for that, so we will proceed there #655 for the Bluetooth restart

Copy link
Collaborator

@mr-manuel mr-manuel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mr-manuel mr-manuel merged commit bb93ee3 into Louisvdw:dev May 23, 2023
Louisvdw pushed a commit that referenced this pull request May 31, 2023
* Changes 2023.05.18 (#649)

* Added: Show specific TimeToSoC points in GUI
Only if 0%, 10%, 20%, 80%, 90% and/or 100% are selected

* Added: Show specific TimeToSoC points in GUI
Only if 0%, 10%, 20%, 80%, 90% and/or 100% are selected

* fix black lint error

* fix black lint error

* Improved JBD BMS soc calculation
#439

* Fix for #397
#484

* small fixes

* sort bms imports

* Add support for HLPdata BMS4S
#505

* Add support for Seplos BMS
#530

* change flake8 settings

* fix black lint errors

* removed wildcard imports

* fixed black lint errors

* change flake8 settings

* remove wildcard import and fix black lint errors

* removed wildcard import

* fixed black lint check

* removed wildcard import, fixed black lint errors

* config changes

* removed wildcard import, fixed black lint errors

* remove old log message in handle_changed_setting()

* remove old log message in handle_changed_setting()

* simplified condition for Time-To-Go/Soc

* simplified condition for Time-To-Go/Soc

* fix renogy import

* fix renogy import

* added BMS info and cleanup
* MNB
* Revov
* Sinowealth

* added BMS info and cleanup
* MNB
* Revov
* Sinowealth

* moved BMS to subfolder

* moved BMS to subfolder

* moved BMS to subfolder

* corrected installble to run correct script

* Added self.unique_identifier to the battery class
Used to identify a BMS when multiple BMS are connected
planned for future use

* Added self.unique_identifier to the battery class
Used to identify a BMS when multiple BMS are connected
planned for future use

* changed ble service name
from `dbus-blebattery-$1` to `dbus-blebattery.$1` like the non ble service

* fix small errors

* read installed capacity at startup

* disable ANT BMS by default
#479

* fix cell voltage header parser

* rework daly receive routine

* improve read cell voltages - only work on sufficient data, drop only the bad package on checksum error, not the complete transmission

* allow read_soc to also retry serial transmission

* add daly cell balance state info. cells are red only if unbalanced now

* bump version

* typo

* moved read_serialport_data() to daly.py

* revert read_serialport_data() to the state before my changes

* fix connection log startup message.
now voltage/current/soc are displayed correctly

* black reformatting

* added linear voltage recalculation interval
In the config file can now be defined how often CVL, CCL and DCL is recalculated

* revert Daly adaption

* replaced penalty voltage calculation
with automatically calculated penalty voltages to simplify config
max voltage is kept until batteries are balanced

* flake config change

* flake config change

* added linear voltage recalculation interval
In the config file can now be defined how often CVL, CCL and DCL is recalculated

* replaced penalty voltage calculation
with automatically calculated penalty voltages to simplify config
max voltage is kept until batteries are balanced

* fix black lint errors

* updated changelog

* disabled ANT BMS by default
#479

* updated config.default.ini

* fix typo

* update nightly install script

* Removed line

* fixed error in HLPdataBMS4S

* fixed wrong variable assignment
`str` instead of `int`

* fixed wrong variable assignment
`str` instead of `int`

* updated battery template

* updated battery template

* Fix for #450
#450

* Read charge/discharge limit JKBMS
#4

* updated battery template

* Progress with config limits reason

* updated CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT default value

* added SoC round for LLT/JBD

* fixed log typo

* updated nightly script

* Fix for #450
#450

* Read charge/discharge limit JKBMS
#4

* reworked installation procedure
Bluetooth BMS is now also fetched from config.ini

* updated release workflow

* updated readme

* Merge branch 'master' into jkbms_ble

* deploy to github pages only
on changes in master or docusaurus branch

* cleanup

* Merge branch 'master' of into jkbms_ble

* GitHub pages config change

* GitHub pages config change

* cleanup

* Renamed scripts for better reading #532

* update docusaurus dependencies

* Renamed scripts for better reading #532

* update docusaurus dependencies

* change sh with bash

* limitation reason cleanup

* limitation reason cleanup

* changed default config settings
FLOAT_CELL_VOLTAGE from 3.350V to 3.375V
LINEAR_LIMITATION_ENABLE from False to True

* changed default config settings
FLOAT_CELL_VOLTAGE from 3.350V to 3.375V
LINEAR_LIMITATION_ENABLE from False to True

* removed testing line

* Cleanup duplicated files

Files were moved and not deleted

* Cleanup

* MOSFET temperature was displayed twice after merge

* small typo fixes

* updated changelog

* updated changelog

* Small fixes

* fix disconnection behaviour: on disconnect, show '---' after 10s and 'not connected' after 60s

* fix flake errors

* small fix

* fix disconnection behaviour & small fixes
* on disconnect, show '---' after 10s and 'not connected' after 60s by @transistorgit
* small fixes in shell script
* added restart driver script

* fixed file permission

* Added: apply max voltage if CVCM_ENABLE is False
before float voltage was applied

* fixed type error

* Added: BMS disconnect behaviour
* Choose to block charge/discharge on disconnect
* Trigger Venus OS alarm

* Changed: Remove wildcard import from dbushelper.py

* small fixes

* Added: apply max voltage if CVCM_ENABLE is False
before float voltage was applied

* Added: BMS disconnect behaviour
* Choose to block charge/discharge on disconnect
* Trigger Venus OS alarm

* Changed: Remove wildcard import from dbushelper.py

* flake8 changes

* copied lltjbd_ble from idstein:jdb_ble

* Added and adapted LltJbd_Ble
ATTENTION: Currently it's untested

* small changes

* read production date and append to hardware version

* Set SOC nightly. Button is working, next is send command to bms

* Added: Show additional data in device page
* show self.unique_identifier as serial number
* show self.production as device name

* Added: JKBMS unique identifier & fixed data length

* Added: JKBMS BLE unique identifier

* Added: Jkbms_Ble connection_name()

* Added: Daly unique identifier

* Added: JKBMS BLE serial number, user defined field

* Added: Show additional data in device page
* show self.unique_identifier as serial number
* show self.production as device name

* Added: JKBMS unique identifier & fixed data length

* move config.ini before update

* read production date by @tranistorgit
this adds the battery production date

* read out daly battery code and use as unique id

* moved production date and added custom field

* clean battery code
strip whitespace and replace one or multiple spaces with one underline
if no battery code generate unique field

* Daly read_capacity change
Read capacity from config file, if no value provided by BMS

* Daly try to fix no reply

* Improvements by @transistorgit

* changed value

* set SOC (and date time) on button press.

* fix battery code parser

* format fix

* format fix

* fix extra long serial timeouts
by calculating max time instead of loop counts

* Changed: Merged all install files into one

* updated install docs for nightly build

* Small fixes

* changed config backup

* updated config file

* updated changelog

* debug daly

* changed release workflow

* changed release workflow

* changed release workflow

* changed release workflow

* Updated from master

* fix blank screen, debug daly

* make Reset SoC a spin box

* fix possible read_capacity problem

* Daly read_balance_state() add missing return

* Daly advanced troubleshooting

* Changed: Improved Daily stability by a lot

* fixes for disable and uninstall
service was not removed and if removed, it was recreated by the serial starter

* optimized USB install method

* updated changelog

* added missing qml to restore-gui.sh

* optimized USB install method

* Daly improvements
* Set SoC on button press by @transistorgit
* Improved driver stability by @transistorgit & @mr-manuel

* moved production date and added custom field

* changed jkbms_ble to dev

* changed order

* final daly 'broken packages handling'

* Last changes for daly read problem
by @transistorgit

* change version in utils based on GitHub tag

* test automatic release version change

* Added: Configure voltage drop

* test automatic release version change

* fix Daly alarms

* fixes small errors in bash files

* fix missing driver name in restart-driver.sh

* linear mode, allow max voltage on soc thesshold

* Daly added one retry if failed

* fixed LLT/JBD cell balancing display

* rename tar after USB install
fixes #638

* add force buttons

* force buttons working

* fixed removing entries

* implement force charge/discharge

* little bit cleaner soc preset

* use existing serial read/write function

* add stop balancong switch

* use existing serial read/write function

* Changed: Get bg colors from MbStyle for dark mode

* prevent short circuit evaluation

* fix merge errors

* added changelog info

* Fix #648

---------

Co-authored-by: Bernd Stahlbock <[email protected]>

* Limit control voltage to max cell voltage

* Rework serial parser (#12)

much cleaner code, as it is optimised for the daly protocol

* updated changelog

* fix black lint error

* fixed black lint error

* added infos to battery template

* JDB BLE support (#499)

* Implementing JBD BLE support. It is built upon Bleak
* Additionally, it provides some handling of for up to 4 temperature probes labels T1 (NTC2), T2 (NTC3), T3 (NTC4) and T4 (NTC5). NTC1 is the BMS module temperature itself
* The device page has been extend to provide more details about the actual used hardware (= product name), firmware version and BLE address

* updated changelog

* Add Supoprt for HeltecSmartBMS (YYBMS) using modbus via RS485 connection (#658)

* Changes 2023.05.24 (#667)

* Check Venus OS version before installing

* fix Jkbms_Ble error

* updated changelog

* updated readme and added donation link

* bugfix: Heltec BMS test_connection breaks on other modbus compliant BMS systems

* bugfix: LLTJBD BMS ignore non ASCII letters for hardware version

* updated readme

* Suppress daly read errors (#13)

* updated descriptions

* Changed logging level and give better feedback
* Changed logging level to debug for unneeded messages
* Give the user feedback, if a BMS is found or not. Useful, if only one BMS is tested.

* small fixes

---------

Co-authored-by: Bernd Stahlbock <[email protected]>
Co-authored-by: Oleg Gurevich <[email protected]>
Co-authored-by: Bernd <[email protected]>
Co-authored-by: Paul Strawder <[email protected]>
Co-authored-by: Raphael Mack <[email protected]>
Co-authored-by: Strawder, Paul <[email protected]>
@prein2
Copy link

prein2 commented Jun 25, 2023

Succesfully started connection to my JDB bluetooth BMS.
After some hours (2-3) the connection dies.

How can I troubleshoot further?
Running on a raspberry pi 3b, using the integrated bluetooth adapter. Latest Venus OS Beta, latest Dev nightly build..

Here is the output of the current log:

`
@40000000649815730957615c File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/client.py", line 1003, in start_notify
@40000000649815730957886c assert_reply(reply)
@40000000649815730957903c File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
@40000000649815730957a7ac raise BleakDBusError(reply.error_name, reply.body)
@40000000649815730957b74c bleak.exc.BleakDBusError: [org.bluez.Error.InProgress] In Progress
@40000000649815730957c6ec
@40000000649815730957cad4 During handling of the above exception, another exception occurred:
@4000000064981573095a8ddc
@4000000064981573095a9d7c Traceback (most recent call last):
@4000000064981573095aa934 File "/usr/lib/python3.8/logging/init.py", line 1085, in emit
@4000000064981573095ab8d4 msg = self.format(record)
@4000000064981573095ac0a4 File "/usr/lib/python3.8/logging/init.py", line 929, in format
@4000000064981573095ad42c return fmt.format(record)
@4000000064981573095adbfc File "/usr/lib/python3.8/logging/init.py", line 668, in format
@4000000064981573095b512c record.message = record.getMessage()
@4000000064981573095b5ce4 File "/usr/lib/python3.8/logging/init.py", line 373, in getMessage
@4000000064981573095b706c msg = msg % self.args
@4000000064981573095b783c TypeError: not all arguments converted during string formatting
@4000000064981573095b87dc Call stack:
@4000000064981573095b8bc4 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 208, in
@4000000064981573095c56e4 main()
@4000000064981573095c5eb4 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 202, in main
@4000000064981573095c723c mainloop.run()
@4000000064981573095c7df4 File "/usr/lib/python3.8/site-packages/gi/overrides/GLib.py", line 497, in run
@4000000064981573095c917c super(MainLoop, self).run()
@4000000064981573095c994c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 198, in
@4000000064981573095d1264 gobject.timeout_add(battery.poll_interval, lambda: poll_battery(mainloop))
@4000000064981573095d25ec File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 76, in poll_battery
@4000000064981573095d3d5c helper.publish_battery(loop)
@4000000064981573095d452c File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 338, in publish_battery
@4000000064981573095daabc result = self.battery.refresh_data()
@4000000064981573095db674 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 292, in refresh_data
@4000000064981573095dc9fc result = self.read_gen_data()
@4000000064981573095dd5b4 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 382, in read_gen_data
@4000000064981573095de93c gen_data = self.read_serial_data_llt(self.command_general)
@4000000064981573095e46fc File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 165, in read_serial_data_llt
@4000000064981573095f0a4c data = asyncio.run(self.async_read_serial_data_llt(command))
@4000000064981573095f19ec File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
@4000000064981573095f298c return loop.run_until_complete(main)
@4000000064981573095f3544 File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
@4000000064981573095f48cc self.run_forever()
@4000000064981573095fa2a4 File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
@4000000064981573095fb62c self._run_once()
@4000000064981573095fbdfc File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
@4000000064981573095fcd9c handle._run()
@4000000064981573095fd56c File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
@4000000064981573095fe50c self._context.run(self._callback, *self._args)
@4000000064981573095ff0c4 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 158, in async_read_serial_data_llt
@400000006498157309605e24 logger.error(">>> ERROR: No reply - returning", e)
@4000000064981573096069dc Message: '>>> ERROR: No reply - returning'
@400000006498157309607594 Arguments: (BleakDBusError('org.bluez.Error.InProgress', 'In Progress'),)
@40000000649815730960891c --- Logging error ---
@4000000064981573096090ec Traceback (most recent call last):
@400000006498157309609ca4 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 152, in async_read_serial_data_llt
@400000006498157309620404 result = await asyncio.wait_for(asyncio.wrap_future(bt_task), 20)
@4000000064981573096213a4 File "/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
@400000006498157309622344 return fut.result()
@400000006498157309622efc File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 138, in send_command
@40000000649815730962466c await self.bt_client.start_notify(BLE_CHARACTERISTICS_RX_UUID, rx_collector)
@40000000649815730962afe4 File "/usr/lib/python3.8/site-packages/bleak/init.py", line 717, in start_notify
@40000000649815730962c36c await self._backend.start_notify(characteristic, wrapped_callback, **kwargs)
@40000000649815730962d6f4 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/client.py", line 1003, in start_notify
@40000000649815730962ee64 assert_reply(reply)
@40000000649815730962f634 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
@400000006498157309635bc4 raise BleakDBusError(reply.error_name, reply.body)
@400000006498157309636b64 bleak.exc.BleakDBusError: [org.bluez.Error.InProgress] In Progress
@400000006498157309637b04
@400000006498157309637eec During handling of the above exception, another exception occurred:
@400000006498157309638e8c
@400000006498157309639274 Traceback (most recent call last):
@400000006498157309639e2c File "/usr/lib/python3.8/logging/init.py", line 1085, in emit
@400000006498157309644df4 msg = self.format(record)
@4000000064981573096459ac File "/usr/lib/python3.8/logging/init.py", line 929, in format
@40000000649815730964694c return fmt.format(record)
@400000006498157309647504 File "/usr/lib/python3.8/logging/init.py", line 668, in format
@4000000064981573096484a4 record.message = record.getMessage()
@40000000649815730964905c File "/usr/lib/python3.8/logging/init.py", line 373, in getMessage
@40000000649815730964f5ec msg = msg % self.args
@40000000649815730964fdbc TypeError: not all arguments converted during string formatting
@400000006498157309650d5c Call stack:
@40000000649815730965152c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 208, in
@4000000064981573096528b4 main()
@400000006498157309652c9c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 202, in main
@40000000649815730965922c mainloop.run()
@4000000064981573096599fc File "/usr/lib/python3.8/site-packages/gi/overrides/GLib.py", line 497, in run
@40000000649815730965ad84 super(MainLoop, self).run()
@40000000649815730965b93c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 198, in
@40000000649815730965ccc4 gobject.timeout_add(battery.poll_interval, lambda: poll_battery(mainloop))
@400000006498157309662e6c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 76, in poll_battery
@40000000649815730966de34 helper.publish_battery(loop)
@40000000649815730966e9ec File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 338, in publish_battery
@40000000649815730966fd74 result = self.battery.refresh_data()
@40000000649815730967092c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 292, in refresh_data
@400000006498157309671cb4 result = self.read_gen_data()
@40000000649815730967768c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 382, in read_gen_data
@400000006498157309678dfc gen_data = self.read_serial_data_llt(self.command_general)
@400000006498157309679d9c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 165, in read_serial_data_llt
@40000000649815730967b124 data = asyncio.run(self.async_read_serial_data_llt(command))
@40000000649815730967c0c4 File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
@40000000649815730968ab24 return loop.run_until_complete(main)
@40000000649815730968bac4 File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
@40000000649815730968ce4c self.run_forever()
@40000000649815730968d61c File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
@40000000649815730968e5bc self._run_once()
@40000000649815730968ed8c File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
@40000000649815730969531c handle._run()
@400000006498157309695aec File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
@4000000064981573096a0ab4 self._context.run(self._callback, *self._args)
@4000000064981573096a166c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 158, in async_read_serial_data_llt
@4000000064981573096a2ddc logger.error(">>> ERROR: No reply - returning", e)
@4000000064981573096a3d7c Message: '>>> ERROR: No reply - returning'
@4000000064981573096a4934 Arguments: (BleakDBusError('org.bluez.Error.InProgress', 'In Progress'),)
@4000000064981573096aaadc --- Logging error ---
@4000000064981573096ab2ac Traceback (most recent call last):
@4000000064981573096abe64 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 152, in async_read_serial_data_llt
@4000000064981573096ad5d4 result = await asyncio.wait_for(asyncio.wrap_future(bt_task), 20)
@4000000064981573096ae574 File "/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
@4000000064981573096b4334 return fut.result()
@4000000064981573096b4eec File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 138, in send_command
@4000000064981573096b6274 await self.bt_client.start_notify(BLE_CHARACTERISTICS_RX_UUID, rx_collector)
@4000000064981573096b75fc File "/usr/lib/python3.8/site-packages/bleak/init.py", line 717, in start_notify
@4000000064981573096b8984 await self._backend.start_notify(characteristic, wrapped_callback, **kwargs)
@4000000064981573096c6444 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/client.py", line 1003, in start_notify
@4000000064981573096c7bb4 assert_reply(reply)
@4000000064981573096c8384 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
@4000000064981573096c9af4 raise BleakDBusError(reply.error_name, reply.body)
@4000000064981573096ca6ac bleak.exc.BleakDBusError: [org.bluez.Error.InProgress] In Progress
@4000000064981573096d0c3c
@4000000064981573096d1024 During handling of the above exception, another exception occurred:
@4000000064981573096d1fc4
@4000000064981573096d23ac Traceback (most recent call last):
@4000000064981573096d2f64 File "/usr/lib/python3.8/logging/init.py", line 1085, in emit
@4000000064981573096d3f04 msg = self.format(record)
@4000000064981573096d4abc File "/usr/lib/python3.8/logging/init.py", line 929, in format
@4000000064981573096dac64 return fmt.format(record)
@4000000064981573096db81c File "/usr/lib/python3.8/logging/init.py", line 668, in format
@4000000064981573096dc7bc record.message = record.getMessage()
@4000000064981573096dd374 File "/usr/lib/python3.8/logging/init.py", line 373, in getMessage
@4000000064981573096de314 msg = msg % self.args
@4000000064981573096deae4 TypeError: not all arguments converted during string formatting
@4000000064981573096e48a4 Call stack:
@400000006498157409d1cd34 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 208, in
@400000006498157409d1f05c main()
@400000006498157409d1f82c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 202, in main
@400000006498157409d20bb4 mainloop.run()
@400000006498157409d21384 File "/usr/lib/python3.8/site-packages/gi/overrides/GLib.py", line 497, in run
@400000006498157409d2270c super(MainLoop, self).run()
@400000006498157409d232c4 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 198, in
@400000006498157409d3adac gobject.timeout_add(battery.poll_interval, lambda: poll_battery(mainloop))
@400000006498157409d3c134 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 76, in poll_battery
@400000006498157409d3d4bc helper.publish_battery(loop)
@400000006498157409d3e074 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 338, in publish_battery
@400000006498157409d56714 result = self.battery.refresh_data()
@400000006498157409d572cc File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 292, in refresh_data
@400000006498157409d58654 result = self.read_gen_data()
@400000006498157409d5920c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 382, in read_gen_data
@400000006498157409d5a594 gen_data = self.read_serial_data_llt(self.command_general)
@400000006498157409d668e4 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 165, in read_serial_data_llt
@400000006498157409d67c6c data = asyncio.run(self.async_read_serial_data_llt(command))
@400000006498157409d693dc File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
@400000006498157409d6a37c return loop.run_until_complete(main)
@400000006498157409d6af34 File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
@400000006498157409d7207c self.run_forever()
@400000006498157409d7284c File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
@400000006498157409d73bd4 self._run_once()
@400000006498157409d743a4 File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
@400000006498157409d75344 handle._run()
@400000006498157409d75b14 File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
@400000006498157409d7b8d4 self._context.run(self._callback, *self._args)
@400000006498157409d7c874 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 158, in async_read_serial_data_llt
@400000006498157409d7dfe4 logger.error(">>> ERROR: No reply - returning", e)
@400000006498157409d7eb9c Message: '>>> ERROR: No reply - returning'
@400000006498157409d7f754 Arguments: (BleakDBusError('org.bluez.Error.InProgress', 'In Progress'),)
@400000006498157409d858fc --- Logging error ---
@400000006498157409d860cc Traceback (most recent call last):
@400000006498157409d86c84 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 152, in async_read_serial_data_llt
@400000006498157409d9241c result = await asyncio.wait_for(asyncio.wrap_future(bt_task), 20)
@400000006498157409d933bc File "/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
@400000006498157409d9435c return fut.result()
@400000006498157409d94b2c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 138, in send_command
@400000006498157409d95eb4 await self.bt_client.start_notify(BLE_CHARACTERISTICS_RX_UUID, rx_collector)
@400000006498157409d9c444 File "/usr/lib/python3.8/site-packages/bleak/init.py", line 717, in start_notify
@400000006498157409d9d7cc await self._backend.start_notify(characteristic, wrapped_callback, **kwargs)
@400000006498157409d9eb54 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/client.py", line 1003, in start_notify
@400000006498157409da02c4 assert_reply(reply)
@400000006498157409da0a94 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
@400000006498157409da740c raise BleakDBusError(reply.error_name, reply.body)
@400000006498157409df2efc bleak.exc.BleakDBusError: [org.bluez.Error.InProgress] In Progress
@400000006498157409df4284
@400000006498157409df466c During handling of the above exception, another exception occurred:
@400000006498157409e030cc
@400000006498157409e034b4 Traceback (most recent call last):
@400000006498157409e0406c File "/usr/lib/python3.8/logging/init.py", line 1085, in emit
@400000006498157409e0500c msg = self.format(record)
@400000006498157409e05bc4 File "/usr/lib/python3.8/logging/init.py", line 929, in format
@400000006498157409e06b64 return fmt.format(record)
@400000006498157409e07334 File "/usr/lib/python3.8/logging/init.py", line 668, in format
@400000006498157409e178ec record.message = record.getMessage()
@400000006498157409e1888c File "/usr/lib/python3.8/logging/init.py", line 373, in getMessage
@400000006498157409e1982c msg = msg % self.args
@400000006498157409e19ffc TypeError: not all arguments converted during string formatting
@400000006498157409e1af9c Call stack:
@400000006498157409e1b76c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 208, in
@400000006498157409e220e4 main()
@400000006498157409e228b4 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 202, in main
@400000006498157409e23c3c mainloop.run()
@400000006498157409e2440c File "/usr/lib/python3.8/site-packages/gi/overrides/GLib.py", line 497, in run
@400000006498157409e25794 super(MainLoop, self).run()
@400000006498157409e2634c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 198, in
@400000006498157409e2c4f4 gobject.timeout_add(battery.poll_interval, lambda: poll_battery(mainloop))
@400000006498157409e2d87c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 76, in poll_battery
@400000006498157409e38844 helper.publish_battery(loop)
@400000006498157409e393fc File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 338, in publish_battery
@400000006498157409e3a784 result = self.battery.refresh_data()
@400000006498157409e3b33c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 292, in refresh_data
@400000006498157409e3c6c4 result = self.read_gen_data()
@400000006498157409e42c54 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 382, in read_gen_data
@400000006498157409e43fdc gen_data = self.read_serial_data_llt(self.command_general)
@400000006498157409e44f7c File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 165, in read_serial_data_llt
@400000006498157409e46304 data = asyncio.run(self.async_read_serial_data_llt(command))
@400000006498157409e472a4 File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
@400000006498157409e4d064 return loop.run_until_complete(main)
@400000006498157409e4dc1c File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
@400000006498157409e4efa4 self.run_forever()
@400000006498157409e4f774 File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
@400000006498157409e50afc self._run_once()
@400000006498157409e512cc File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
@400000006498157409e5e5bc handle._run()
@400000006498157409e5ed8c File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
@400000006498157409e5fd2c self._context.run(self._callback, *self._args)
@400000006498157409e608e4 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 158, in async_read_serial_data_llt
@400000006498157409e62054 logger.error(">>> ERROR: No reply - returning", e)
@400000006498157409e681fc Message: '>>> ERROR: No reply - returning'
@400000006498157409e68db4 Arguments: (BleakDBusError('org.bluez.Error.InProgress', 'In Progress'),)
@400000006498157409e69d54 #0
@400000006498157409e6a524 #1
@400000006498157409e6a90c #2
@400000006498157409e6acf4 #3

`

@mr-manuel
Copy link
Collaborator

Please provide the correct logs with timestamp. You can find the correct command in the docs under troubleshoot.

@prein2
Copy link

prein2 commented Jun 25, 2023

That is the stupid thing:

Once rebooted, and when everything is working. the log is in the expected format:

`
2023-06-25 11:40:36.931888500
2023-06-25 11:40:36.931891500 INFO:Bluetooth details
2023-06-25 11:40:36.966542500 Attempting to disconnect from A4:C1:38:23:1A:7F
2023-06-25 11:40:36.966548500 Successful disconnected
2023-06-25 11:40:42.026608500 Device A4:C1:38:23:1A:7F (public)
2023-06-25 11:40:42.026614500 Alias: xiaoxiang BMS
2023-06-25 11:40:42.026616500 Paired: no
2023-06-25 11:40:42.026618500 Trusted: yes
2023-06-25 11:40:42.026620500 Blocked: no
2023-06-25 11:40:42.026622500 Connected: no
2023-06-25 11:40:42.026623500 LegacyPairing: no
2023-06-25 11:40:42.026625500 UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
2023-06-25 11:40:42.026630500 RSSI: -31
2023-06-25 11:40:42.027846500
2023-06-25 11:40:43.774993500 INFO:SerialBattery:
2023-06-25 11:40:43.775386500 INFO:SerialBattery:Starting dbus-serialbattery
2023-06-25 11:40:43.776295500 INFO:SerialBattery:dbus-serialbattery v1.0.20230620dev
2023-06-25 11:40:44.142324500 INFO:SerialBattery:Init of LltJbd_Ble at A4:C1:38:23:1A:7F
2023-06-25 11:40:44.142752500 INFO:SerialBattery:Test of LltJbd_Ble at A4:C1:38:23:1A:7F
2023-06-25 11:40:45.716330500 Exception in thread LltJbd_Ble_Loop:
2023-06-25 11:40:45.716337500 Traceback (most recent call last):
2023-06-25 11:40:45.716340500 File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
2023-06-25 11:40:45.716344500 self.run()
2023-06-25 11:40:45.716346500 File "/usr/lib/python3.8/threading.py", line 870, in run
2023-06-25 11:40:45.716350500 self._target(*self._args, **self._kwargs)
2023-06-25 11:40:45.716353500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 80, in background_loop
2023-06-25 11:40:45.716464500 asyncio.run(self.bt_main_loop())
2023-06-25 11:40:45.716468500 File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
2023-06-25 11:40:45.716472500 return loop.run_until_complete(main)
2023-06-25 11:40:45.716475500 File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
2023-06-25 11:40:45.716480500 return future.result()
2023-06-25 11:40:45.716482500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 67, in bt_main_loop
2023-06-25 11:40:45.716510500 async with BleakClient(
2023-06-25 11:40:45.716513500 File "/usr/lib/python3.8/site-packages/bleak/init.py", line 491, in aenter
2023-06-25 11:40:45.716518500 await self.connect()
2023-06-25 11:40:45.716520500 File "/usr/lib/python3.8/site-packages/bleak/init.py", line 531, in connect
2023-06-25 11:40:45.716525500 return await self._backend.connect(**kwargs)
2023-06-25 11:40:45.716550500 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/client.py", line 244, in connect
2023-06-25 11:40:45.716603500 assert_reply(reply)
2023-06-25 11:40:45.716605500 File "/usr/lib/python3.8/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
2023-06-25 11:40:45.716610500 raise BleakDBusError(reply.error_name, reply.body)
2023-06-25 11:40:45.716614500 bleak.exc.BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
2023-06-25 11:40:49.154390500 ERROR:SerialBattery:>>> ERROR: Unable to connect with BLE device
2023-06-25 11:40:49.156677500 ERROR:SerialBattery:No BMS found at A4:C1:38:23:1A:7F
2023-06-25 11:40:49.157222500 ERROR:SerialBattery:ERROR >>> No battery connection at LltJbd_Ble
2023-06-25 11:40:49.419822500
2023-06-25 11:40:49.420147500 INFO:Bluetooth details
2023-06-25 11:40:49.422505500 [CHG] Device A4:C1:38:23:1A:7F RSSI: -31
2023-06-25 11:40:49.422513500 [CHG] Device A4:C1:38:23:1A:7F RSSI: -11
2023-06-25 11:40:49.467595500 Attempting to disconnect from A4:C1:38:23:1A:7F
2023-06-25 11:40:49.467602500 Successful disconnected
2023-06-25 11:40:54.528386500 Device A4:C1:38:23:1A:7F (public)
2023-06-25 11:40:54.528392500 Alias: xiaoxiang BMS
2023-06-25 11:40:54.528394500 Paired: no
2023-06-25 11:40:54.528396500 Trusted: yes
2023-06-25 11:40:54.528398500 Blocked: no
2023-06-25 11:40:54.528399500 Connected: no
2023-06-25 11:40:54.528401500 LegacyPairing: no
2023-06-25 11:40:54.528403500 UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
2023-06-25 11:40:54.528407500 RSSI: -31
2023-06-25 11:40:54.530365500
2023-06-25 11:40:55.679432500 INFO:SerialBattery:
2023-06-25 11:40:55.679853500 INFO:SerialBattery:Starting dbus-serialbattery
2023-06-25 11:40:55.680763500 INFO:SerialBattery:dbus-serialbattery v1.0.20230620dev
2023-06-25 11:40:56.002501500 INFO:SerialBattery:Init of LltJbd_Ble at A4:C1:38:23:1A:7F
2023-06-25 11:40:56.002963500 INFO:SerialBattery:Test of LltJbd_Ble at A4:C1:38:23:1A:7F
2023-06-25 11:41:03.160897500 INFO:SerialBattery:Connection established to LltJbd_Ble
2023-06-25 11:41:03.161397500 INFO:SerialBattery:Battery LltJbd_Ble connected to dbus from blea4c138231a7f
2023-06-25 11:41:03.161813500 INFO:SerialBattery:========== Settings ==========
2023-06-25 11:41:03.162311500 INFO:SerialBattery:> Connection voltage: 13.35V | Current: -1.76A | SoC: 95.97%
2023-06-25 11:41:03.162732500 INFO:SerialBattery:> Cell count: 4 | Cells populated: 4
2023-06-25 11:41:03.163163500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2023-06-25 11:41:03.163621500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 50.0A | MAX BATTERY DISCHARGE CURRENT: 60.0A
2023-06-25 11:41:03.164070500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0A | MAX BATTERY DISCHARGE CURRENT: 120.0A (read from BMS)
2023-06-25 11:41:03.164492500 INFO:SerialBattery:> CVCM: True
2023-06-25 11:41:03.164942500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.45V
2023-06-25 11:41:03.165381500 INFO:SerialBattery:> CCCM CV: True | DCCM CV: True
2023-06-25 11:41:03.165812500 INFO:SerialBattery:> CCCM T: True | DCCM T: True
2023-06-25 11:41:03.166248500 INFO:SerialBattery:> CCCM SOC: True | DCCM SOC: True
2023-06-25 11:41:03.166753500 INFO:SerialBattery:Serial Number/Unique Identifier: 20_200.0Ah
2023-06-25 11:41:03.207675500 INFO:SerialBattery:DeviceInstance = 1
2023-06-25 11:41:03.208242500 INFO:SerialBattery:com.victronenergy.battery.blea4c138231a7f
2023-06-25 11:41:04.399479500 INFO:SerialBattery:publish config values = 1

`

edit: gone wrong (after about 30 minutes) with this log result: first part of the log (above) is absent.
root@raspberrypi2:/data/log/dbus-blebattery.0# tail -F -n 100 /data/log/dbus-blebattery.*/current | tai64nlocal
2023-06-25 12:22:09.066850500 File "/usr/lib/python3.8/logging/init.py", line 668, in format
2023-06-25 12:22:09.079638500 record.message = record.getMessage()
2023-06-25 12:22:09.079642500 File "/usr/lib/python3.8/logging/init.py", line 373, in getMessage
2023-06-25 12:22:09.079647500 msg = msg % self.args
2023-06-25 12:22:09.079649500 TypeError: not all arguments converted during string formatting
2023-06-25 12:22:09.079653500 Call stack:
2023-06-25 12:22:09.079655500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 208, in
2023-06-25 12:22:09.079744500 main()
2023-06-25 12:22:09.079747500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 202, in main
2023-06-25 12:22:09.079752500 mainloop.run()
2023-06-25 12:22:09.079754500 File "/usr/lib/python3.8/site-packages/gi/overrides/GLib.py", line 497, in run
2023-06-25 12:22:09.079759500 super(MainLoop, self).run()
2023-06-25 12:22:09.079761500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 198, in
2023-06-25 12:22:09.079790500 gobject.timeout_add(battery.poll_interval, lambda: poll_battery(mainloop))
2023-06-25 12:22:09.079795500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 76, in poll_battery
2023-06-25 12:22:09.079854500 helper.publish_battery(loop)
2023-06-25 12:22:09.079857500 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 338, in publish_battery
2023-06-25 12:22:09.079862500 result = self.battery.refresh_data()
2023-06-25 12:22:09.079865500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 292, in refresh_data
2023-06-25 12:22:09.079870500 result = self.read_gen_data()
2023-06-25 12:22:09.079894500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd.py", line 382, in read_gen_data
2023-06-25 12:22:09.079899500 gen_data = self.read_serial_data_llt(self.command_general)
2023-06-25 12:22:09.079903500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 165, in read_serial_data_llt
2023-06-25 12:22:09.079908500 data = asyncio.run(self.async_read_serial_data_llt(command))
2023-06-25 12:22:09.079912500 File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
2023-06-25 12:22:09.079937500 return loop.run_until_complete(main)
2023-06-25 12:22:09.079940500 File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
2023-06-25 12:22:09.079945500 self.run_forever()
2023-06-25 12:22:09.079947500 File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
2023-06-25 12:22:09.079951500 self._run_once()
2023-06-25 12:22:09.079953500 File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
2023-06-25 12:22:09.080006500 handle._run()
2023-06-25 12:22:09.080008500 File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
2023-06-25 12:22:09.080012500 self._context.run(self._callback, *self._args)
2023-06-25 12:22:09.080015500 File "/opt/victronenergy/dbus-serialbattery/bms/lltjbd_ble.py", line 158, in async_read_serial_data_llt
2023-06-25 12:22:09.080021500 logger.error(">>> ERROR: No reply - returning", e)
2023-06-25 12:22:09.080045500 Message: '>>> ERROR: No reply - returning'
2023-06-25 12:22:09.080048500 Arguments: (BleakDBusError('org.bluez.Error.InProgress', 'In Progress'),)
2023-06-25 12:22:09.080053500 #0
2023-06-25 12:22:09.080054500 #1
2023-06-25 12:22:09.080055500 #2
2023-06-25 12:22:09.080057500 #3

`

@mr-manuel
Copy link
Collaborator

You can execute

cat /data/log/dbus-blebattery.*/* | tai64nlocal

to get all logfiles, but this information should be enough. @idstein can you take a look?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants