Amazfit BIP Control

Hi,

I created a script to control an Amazfit BIP (should also be mostly compatible with Mi Band 2 & 3). In addition to the CLI “bip_control.py” it includes a compact GUI “bip_control_gui” which is designed to be used for the librem5 (or other Linux Smartphones with GTK). But I can also be used on normal screens.
https://gitlab.com/chrisu281080/bip_control

Before using it you should read the README.md

8 Likes

Great Job!
Staying on Amazfit, have you tried Verge? It not only supports smart notifications, it can manage calls directly on the smartwatch.
I would like an open smartwatch, but PinTime does not support calls, AsteroidOS has a slow development and Librem 1 is not (yet?) planned.

There’s also this project, which is very promising https://github.com/Emeryth/sma-q2-oss

Interesting, but it does not manage calls, only call notifications.

I don’t think Verge will work with it.

My starting Point have been existing python scripts which could already communicate with a MiBand. I combined them and also add Code based from Gadgetbride.

So for Verge (or any other) a similar starting Point would be necessary for me.

And as far as I have seen for Verge is no opensource App available which works without the original App. (Also Gadgetbride writes for the current Amazfit Devices that the original App ist required)

I have only an Amazfit BIP and MiBand2 for tests.

1 Like

I hope that when I receive Evergreen, there will be more options.
Anyway it is already a starting point.

Released V0.2

  • Added get_device_name (LIB, CLI & GUI)
  • Added set_Timeformat (LIB, CLI & GUI)
  • Added set_Activate_Backlight_on_lift (LIB, CLI & GUI)
  • Added send_FactoryReset (LIB, CLI & GUI)
  • Added set_MenuOptions (LIB & GUI)
  • Added set_StepGoal (LIB, CLI & GUI)
2 Likes

Released V0.3

  • Added compatibiliy for MiBand3
  • Added compatibiliy for MiBand4

I got this Bands cheap and could integrate it.
MiBand4 needs an individual device Key which needs to be extracted first.

Other Huami Bands/Watches with individual device key may work as well. But I do not have access to more devices. So feel free to test and Report.

2 Likes

New features in V0.4
-) Switched to python3 incl. fixes for compatibility

2 Likes

New features in V0.5
-) Fixed handling of device keys
-) Automatic handling of RANDOM vs PUBLIC Bluetooth Address
-) Tested with Amazfit GTR 2

1 Like

New features in V0.6
-) Enabled text notifications for Amazfit GTR 2 (SMS, E-Mail, Missed Calls)

They can only be triggered manually. So not automatically a notification when something happens)

3 Likes

May be an unusual question:
I currently have it running in Debian 10 but had no success to get it running in Debian 11 or 12.
Has any one get this running under a recent Debian or may be a recent version of another distribution?

No, but you may be interested in this project.

https://gadgetbridge.org/

The code of Gadgetbridge is a little bit to big for me to make it runable on a PC. But I already use it as input to integrate functions.

I recently found a code base for an Arduino on ESP32 for MiBand and already integrated a lot of functions of the current “Amazfit BIP Control” (which is written in Python). In addition I was also able to add some new functions to the Arduino on ESP32 implementation which are not yet available in “Amazfit BIP Control”.
I just wanted to check if someone got “Amazfit BIP Control” under a recent Debian/distribution so that I know if it makes sense to try to add functions.

I want to make some code cleanups to the Arduino on ESP32 implementationand then upload the code.

1 Like