Huami-token is now hosted on codeberg.org.
Script to obtain watch or band bluetooth access token from Zepp (Amazfit) servers. For progress on Xiaomi support, see https://codeberg.org/argrento/huami-token/issues/119.
To use new versions of Amazfit and Xiaomi watches and bands with Gadgetbridge you need special unique key. Read more here: https://gadgetbridge.org/basics/pairing/huami-xiaomi-server/.
If you would like to get in touch
- Matrix:
#huami-token:matrix.org
pip install huami-token- Ensure that you can login in the Zepp App with e-mail and password. If not, create new Amazfit account with e-mail and password.
- Pair, sync and update your watch with Zepp App. Your pairing key will be stored on Huami servers.
- Install
uv: https://docs.astral.sh/uv/getting-started/installation/ - Clone this repo and
cdinto it. - Install the package:
uv pip install -e ".[dev]"
After installation, the huami-token command is available:
usage: huami-token [-h] -m {amazfit,xiaomi} [-e EMAIL] [-p PASSWORD] [-b] [-g] [-n]
Obtain Bluetooth Auth key from Amazfit (Zepp). Currently only supports Amazfit.
For progress on Xiaomi support, see https://codeberg.org/argrento/huami-token/issues/119.
options:
-h, --help show this help message and exit
-m {amazfit,xiaomi}, --method {amazfit,xiaomi}
Login method. Chose Amazfit for Zepp.
-e EMAIL, --email EMAIL
Account e-mail address
-p PASSWORD, --password PASSWORD
Account Password
-b, --bt_keys Get bluetooth tokens of paired devices
-g, --gps Download GPS files (AGPS_ALM, AGPSZIP, LLE, etc.)
-n, --no_logout Do not logout, keep active session and display app token and access token
You can also run directly via python main.py if you prefer not to install.
Run with your credentials:
huami-token --method amazfit --email your_email@example.com --password your_password --bt_keysSample output:
2025-11-14 18:41:43.316 | INFO | huami_token.zepp:login:67 - Logging in...
2025-11-14 18:41:44.268 | INFO | huami_token.zepp:_get_refresh_and_access_tokens:120 - Received access and refresh tokens successfully
2025-11-14 18:41:45.217 | INFO | huami_token.zepp:login:70 - Logged in! User id: 1234567890
2025-11-14 18:41:45.217 | INFO | huami_token.zepp:get_devices:187 - Getting linked devices...
Device 0:
MAC: AB:CD:EF:12:34:56, Active: Yes
Key: 0xa3c10e34e5c14637eea6b9efc06106
2025-11-14 18:41:46.400 | INFO | huami_token.zepp:logout:178 - Logged out.
Logged out.
Here the Key is the unique pairing key for your watch. The Active tab shows whether a device is
active or not.
This is not yet reimplemented.
This script can download AGPS files (requires login):
huami-token --method amazfit --email your_email@example.com --password your_password --gpsThe following files are downloaded:
- AGPS_ALM --
cep_1week.zip - AGPSZIP --
cep_7days.zip - LLE --
lle_1week.zip - AGPS --
cep_pak.bin - EPO --
EPO.ZIP - LTO -- LTO data file
uv pip install -e ".[dev]"
# Run tests
pytest -m "not integration"
# Lint
ruff check .
# Type check
mypy huami_token/
# Build wheel
uv build- Python >= 3.10
- requests
- loguru
- pycryptodome
This project is licensed under the MIT License - see the LICENSE.md file for details