piggz / harbour-amazfish

Amazfit Bip support for SailfishOS
GNU General Public License v3.0
103 stars 51 forks source link

Connection to Amazfit GTS 2 is not working #310

Open EvilMis opened 10 months ago

EvilMis commented 10 months ago

OS: Sailfish X 4.5.0.24 Phone: Xperia 10 III Amazfish: 2.1.3 Watch: Amazfit GTS 2 2020 Symptom: In the Bluetooth settings, the watch is connected but it does reconnect every minute. In Amazfish it looks like this Amazfish2 Amazfish1

When I click on "Fetch debug log" nothing happens. Amazfish does not show data from the watch. Gadgetbridge on Android phone with the same auth key works flawlessly.

What logs should I collect to diagnose this problem?

jmlich commented 10 months ago

Log from the daemon should be enough to see communication between phone and smartwatch journalctl --user -u harbour-amazfish

The application UI prints logs to stdout/stderr (try to run it from terminal/via ssh).

I guess, there is some issue with authentication, because it says that connection state is "authfailed". It looks like you haven't done something mentioned at https://github.com/piggz/harbour-amazfish/#server-side-pairing-code

EvilMis commented 10 months ago

Thank you for response. Authfailed status was the result of entering the key along with '0x'. It was an act of desperation because I acted in accordance with the documentation nothing worked at all (an endlessly spinning circle when trying to pair). It helped to turn Bluetooth off and on when trying to pair with Amazfish. Now everything more or less works. Notification about incoming phone call and fetching log does not work. When there is an incoming call, there is no information about it on the smartwatch screen. When the caller hangs up, a missed call notification appears. Pressing "Test Call" in the "Debugging" section has no effect - no messages in the log for this action.

jmlich commented 10 months ago

On the pairing page you can choose the device model. I expect that you chosen "Amazfit GTS 2", the fetchlogs() operation is available only on miband devices (not 100% sure, but let's say 99%). The comment in code explains, that phone call notification is not available for GTS2. See https://github.com/piggz/harbour-amazfish/blob/dc0aa13db6dbb8d5ffa7a89c16f847032e431fa9/daemon/src/devices/gts2device.cpp#L40-L47

piggz commented 10 months ago

The GTS2 and GTR2 work differently to previous generation devices WRT to call notifications. Previously, calls were notfied via BLE, but with these devices, you pair your phone, from your watch, and the watch acts as a HSP/HFP device, and the call notification happens via regular BT, and you can also talk into the watch (like Michael Knight!) and have the audio played back via the watch.

EvilMis commented 10 months ago

This is very bad info for me. I know that this watch has the ability to talk through it. Every smartwatch I buy has this function because it is extremely useful. :) I didn't expect calls to work, but I hoped that at least I could see who was calling and reject the call. I now walk on crutches and it is difficult for me to use the phone with both hands occupied.

piggz commented 10 months ago

I dont see how this is bad for you ... just use the menus on the watch to pair the phone and it will work

EvilMis commented 10 months ago

No, it definitely doesn't work as it should. The first, but not the only, failure is that when someone calls, no information about this fact appears on the watch. You have to find, get and unlock the phone then pick the call using your phone. By default, the call uses the watch's microphone and speaker. Can't end call, can't adjust volume (default is very quiet), etc. It should look like this: Amazfit GTS2 Calls

piggz commented 10 months ago

It does... But you need to pair twice, once from the phone, and the other from the watch On your phone, Bluetooth, and search for your phone and pair.

On your phone, you should now see 2 paired devices, one called Amazfit GTS 2 and the other Amazfit GTS 2 - XXXX where XXXX is the last 4 digits of the BT mac

Now, this will act as a BT headset, and calls will go to the watch

EvilMis commented 9 months ago

The problem is that what you are writing about is quite difficult to do. The video below explains what I mean. Problem with Amazfish

But even if you manage to pair the watch with your phone Incoming call on GTS2... ...you won't answer or reject the call anyway. Pressing on smartwatch the green and red handset buttons has no effect.