HeartRateHook is a project for monitoring and reporting heart rate data from Mi Health app to a webhook URL.
This project is a fork of xihan123/HeartRateHook with modifications to simplify the data reporting process.
- Mi Health (Mi Fitness) version 3.32.0+
- Monitor heart rate data updates in real-time
- Debounce heart rate data to reduce noise
- Send heart rate data to webhook URL
- Only send data when heart rate values change
- Support for both sport mode and non-sport mode monitoring
- Android SDK 35 (target)
- Android SDK 26 (minimum) / Android 8.0+
- JDK 17
- Gradle 8.0+
-
Clone the repository:
git clone https://github.com/enzomtpYT/HeartRateHook.git cd HeartRateHook
-
Create a
keystore.properties
file in the project root with the following content:storeFile=your_keystore_path.jks storePassword=your_store_password keyAlias=your_key_alias keyPassword=your_key_password
-
Build the project:
./gradlew assembleRelease
-
To install directly to a connected device:
./gradlew installDebug
This will automatically stop and restart the Mi Health app.
The project g 6BCD enerates multiple APK variants for different CPU architectures:
arm32
- For 32-bit ARM devicesarm64
- For 64-bit ARM devicesarmAll
- For both 32-bit and 64-bit ARM devicesuniversal
- For all supported architectures (ARM and x86)
keystore.properties
: Contains signing configurations like signature passwordslocal.properties
: Contains local configurations like Android SDK paths
-
Select the module scope in your Xposed framework (LSPosed, EdXposed, etc.)
-
In the supported app (Mi Health) -> About -> Click on the icon -> Configure webhook URL in the dialog box
-
Make sure you visit the device page at least once to establish proper connection
Issues and pull requests are welcome. Please fork this project and submit pull requests with your contributions.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.