# huafetcher
Kivy GUI for huami-token. Works on desktop and as Android apk. Downloads key
and aGPS data, unzips it into `/storage/emulated/0`
[huami-token](https://github.com/argrento/huami-token): all credits to the original author
To be able to get a key from huami servers, the band/watch must be paired with
the original app at least once. Follow instructions in [Gadgetbridge
wiki](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Huami-Server-Pairing#server-based-pairing).
## Developer
### Install
Install [Buildozer](https://github.com/kivy/buildozer/) and [Kivy](https://github.com/kivy/kivy)
```bash
pip install buildozer
pip install kivy
```
or
```bash
pip install -r requirements.txt
```
### Run
```bash
python main.py
```
### Make Android apk
```bash
buildozer -v android debug deploy run
```
## User
### Obtaining apk
Either build apk as per above or get it from the [releases](https://codeberg.org/vanous/huafetcher/releases)
### Signing into account
This process for Xiaomi login is pretty unintuitive, so make sure to read this first!
1) Install the apk, run it and manually give it permission for storage (only needed if you plan to fetch aGPS).
## Amazfit
- Choose Amazfit as login method.
- Fill in email and name fields. You can save them in the app by pressing the Save buttons.
Note: saved data is not protected. If you use this to get aGPS data periodically, create a throwaway account without any devices.
### Key
- For key, press `Fetch key`. The key will appear in the `Found key` field, get it by pressing the Copy button.
Note: Only last key provided by the server is displayed.
This key must be entered into Gadgetbridge during pairing process with devices that require it:
### aGPS
- For aGPS, press `Fetch aGPS` button. Files will be downloaded and the two important files (`cep_pak.bin` and `gps_alm.bin`) will be unzipped into `/storage/emulated/0`. You can send them into your device with the Gadgetbridge FW/App Installer
## Xiaomi
- Choose Xiaomi as login method. Press `Get token` button.
- This will open up your browser. Here you need to sing into your Xiaomi account.
- Once you press Sign in, your browser will either warn you or this gets you to a blank page. In any case, the url starts with `hm.xiaomi.com/watch.do?...`. You must copy this URL:
- Go back to Huafetcher and paste the URL into the URL result field by using the Paste button.
- Now you can get a key or aGPS.
### Key
- For key, press `Fetch key`. The key will appear in the `Found key` field, get it by pressing the Copy button.
Note: Only last key provided by the server is displayed.
This key must be entered into Gadgetbridge during pairing process with devices that require it
### aGPS
- For aGPS, press `Fetch aGPS` button. Files will be downloaded and the two important files (`cep_pak.bin` and `gps_alm.bin`) will be unzipped into `/storage/emulated/0`. You can send them into your device with the Gadgetbridge FW/App Installer