AndroidBMSApp
AndroidBMSApp copied to clipboard
gatt protocol help
Hi,
I have a battery (Lossigy) with a BMS from the same company. I was able to use your app to view the battery stats. However, I want to do the logging on a raspberry and feed it to my home assistant instance. So I want to port your algorithm to python. I just need the battery percentage right now.
From the code, it looks like you are subscribing to notifications from the 0000ff01-0000-1000-8000-00805f9b34fb
characteristic. I tried to do the same below, but I an not receiving any notification. Do you also write to characteristic to start the data/notifications flow? I could not locate any such write in your codebase
import pygatt
from binascii import hexlify
import time
def handle_data(handle, value):
hex_data = hexlify(value).decode('utf-8')
print(f"Received data from handle {handle}: {hex_data}")
adapter = pygatt.GATTToolBackend()
try:
adapter.start()
print("Adapter started, connecting to device...")
device = adapter.connect('10:A5:62:0F:0B:4D')
print("Connected to device. Subscribing to notifications...")
device.subscribe("0000ff01-0000-1000-8000-00805f9b34fb", callback=handle_data)
print("Subscribed to notifications. Listening for data...")
while True:
time.sleep(10)
finally:
print("Stopping adapter...")
adapter.stop()