Describe the bug
With the v.0.5.0 firmware installed, the ECG data works correctly, data arrives via Notify for the ECG Voltage Characteristic, and the ECG Measurment Interval Characteristic works for read.
The ECG Voltage Characteristic does not send any data.
I have verified both with my own Python application.
I have also verified using Zwift that it can correctly get the Heart Rate data with the standard firmware. And that it recognizes the Movesense with the ECG firmware installed, can connect to it, but no heart rate data arrives.
To Reproduce
Steps to reproduce the behavior:
With Zwift, in the connection screen, for heart rate, select the Movesense. Then start the game, and look at the heart rate data, there is no valid data.
Expected behavior
Data should arrive on the ECG Voltage Characteristic via NOTIFY access.
try:
await client.start_notify(self._characteristic, self._data_conv)
except Exception as e:
print("BLE_Data.start_notify[%d:%s][%s]: exception e: %s" % (self.tid, self.name, self.data_name, e), file=sys.stderr)
self.data_info(self.data_name, f" start_notify failed {e}")
N.b. We do not see the exception. The start_notify() does not fail. Just do not see data arrive and the self._data_conv() function called.
My test code works correctly with the standard Movesense firmware, also Polar H10 and Garmin Dual.
Desktop (please complete the following information):
Zwift on Windows.
Also, my own Python app connecting with Bleak.
Additional context
The Movesense Showcase app in IOS does continue to be able to get the heart rate. I suspect it is using their Whiteboard protocol, not the GATT Heart Rate Service.
I will be using this to add support for Movesense ECG to my dashboard and ecg apps. https://www.fitnesshrv.com/