1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-21 12:30:23 +02:00
Commit Graph

582 Commits

Author SHA1 Message Date
sedy89
fc048f8768 Amazfit GTS 3: Initial support (#2871)
Add basic initial support for the Amazfit GTS 3 based on Xiaomi Smart Band 7 support.

What was already tested (other features might work too):

**Implemented features**
    Connection
    Reconnect after Airplane mode
    Set time
    Notifications
        Send to band
        Delete notifications on phone/band when deleted on the other
        Calls
        Custom notification icons
        Handle + ack notification replies from band
    Music (with youtube music)
        Music Info
        Volume
        Music buttons
    Find Phone from band / stop on band when stopped on phone
    Battery Info (request, parse)
    Flash Watchface
    Night mode (mode, schedule)
    Lift wrist (mode, schedule, sensitivity)

(Not) working features might be similar to Miband 7.

Tested on
FW: 7.42.5.1
HW: 0.76.17.4

Co-authored-by: Andreas Sedlmayer <sedlmayer.andreas89@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2871
Co-authored-by: sedy89 <sedy89@noreply.codeberg.org>
Co-committed-by: sedy89 <sedy89@noreply.codeberg.org>
2022-09-05 23:52:01 +02:00
José Rebelo
37554e8f8a Mi Band 7: Fix and enable firmware upgrades 2022-09-05 22:14:09 +01:00
José Rebelo
6b7f80e8de Mi Band 7: Fix NPE when acknowledging that icon was sent 2022-09-05 00:23:35 +01:00
José Rebelo
c1e8a57a22 Mi Band 7: Fix reminder, calendar and canned messages UTF-8 encoding
- Fixes a crash when calendar events have multibyte UTF-8 characters
- Fixes canned message accented characters
2022-08-28 13:13:14 +02:00
José Rebelo
25c0b5947b Xiaomi Smart Band 7: Fix reboot when sending notification icons 2022-08-22 10:33:29 +02:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
NekoBox
dcce900f23 Amazfit Neo: fix heartrate sleep packet 2022-08-19 23:11:18 +02:00
NekoBox
eceb612c9e Amazfit Neo: fix alarms setting to "unused" on connect. 2022-08-12 16:57:24 +03:00
NekoBox
ad38a32cc8 Implement Hourly chime which was added in firmware 1.1.2.46 2022-08-12 09:05:13 +02:00
vanous
863b3a5465 Add missing imports 2022-07-30 22:17:06 +02:00
NekoBox
c2f5fd3215 Fix Amazfit Neo daily steps goal and notification, fixes #2773 (#2780)
The notification, once enabled, can only be triggerd once per day, mind that when testing.

Packet structure:

```
00:c2:00:3a:01:00:00:00:01:88:13:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
01: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
88:13: - set steps goal (5000)
00:00 - delimiter
```

This is sent when goal notification switch is enabled in Zepp app:
```
00:c2:00:3a:03:00:00:00:01:40:1f:00:00:01:2c:01:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
03: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
40:1f: - steps goal (8000)
00:00: - delimiter
01: - enable calories goal notification (seems to be not used in Neo)
2c:01: - set calories goal (300)
00:00 - delimiter
```

And when disabled:
`00:c2:00:3a:03:00:00:00:00:40:1f:00:00:00:2c:01:00:00`

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2780
Co-authored-by: NekoBox <nekobox@noreply.codeberg.org>
Co-committed-by: NekoBox <nekobox@noreply.codeberg.org>
2022-07-30 21:37:21 +02:00
José Rebelo
2a0b7b64fb Huami: Fix MTU update on device connection 2022-07-20 17:27:36 +02:00
José Rebelo
9cb6403c04 Mi Band 4: Add password support 2022-07-05 19:29:16 +01:00
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +02:00
José Rebelo
7512147c34 Huami: Display native alarm notification 2022-07-05 19:57:13 +02:00
José Rebelo
8030efe019 Huami: Fix track name being replaced by album 2022-06-15 18:59:14 +01:00
dakhnod
4a8523f790 multi-device-support (#2526)
this PR aims to add device for multiple connected devices at once.

A lot of stuff already works, some things need to be done:

- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work

My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-06-14 18:05:41 +02:00
vanous
5e5d8d4dd9 Add missing commit from PR2695 2022-06-09 16:48:31 +02:00
José Rebelo
2101b5840a Mi Band 5: Start fitness tracking on phone when workout starts on band 2022-06-09 10:32:26 +02:00
José Rebelo
b07cd54468 Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
Andreas Shimokawa
ee93cce16d Mi Band 6: Whitelist FW 1.9.6.16 2022-06-08 14:36:14 +02:00
José Rebelo
5e33e8e58f Mi Band 6: Fix night mode on latest firmware 2022-06-07 12:12:21 +01:00
José Rebelo
a5a653dc34 Move OpenTracks external events to dedicated package 2022-05-30 13:17:26 +02:00
José Rebelo
d08fe6ebf7 Huami: Truncate MusicSpec data to 80 characters 2022-05-23 23:52:58 +01:00
José Rebelo
91e9451a87 Mi Band 5: Add HR activity monitoring, HR alerts, stress monitoring 2022-05-17 21:49:43 +01:00
José Rebelo
428af7f21e Huami/Mi Band: Move heart rate monitoring to device-specific settings 2022-05-17 21:49:42 +01:00
José Rebelo
f08fe7f65f Huami: Distinguish between alarm and workout activity type responses 2022-05-16 10:37:00 +02:00
José Rebelo
3b348a5d5d Huami: Move inactivity warnings and goal notification to device-specific settings 2022-05-16 10:33:02 +02:00
José Rebelo
b220fef74e Mi Band 5: Add notification vibration patterns 2022-05-14 16:11:26 +02:00
vanous
5f73dd79e6 Amazfit Band 5: enable: world clocks settings, display on lift sensitivity, configuring activity types 2022-05-14 14:42:07 +02:00
José Rebelo
10d11d4818 Mi Band 5: Add support for configuring activity types 2022-05-12 08:52:02 +02:00
José Rebelo
682b215985 Huami: Send media volume to device 2022-05-11 00:23:18 +01:00
Andreas Shimokawa
46cd229a14 Mi Band 6: Enable World clock setting
Also take care of new/old firmware
2022-05-10 14:16:52 +02:00
José Rebelo
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
José Rebelo
c74bbffb4d Mi Band 5: Add activate display on lift sensitivity 2022-05-09 17:58:55 +02:00
vanous
873ac85001 Enable Fitness App Tracking Stop in Huami actions. Add Toggle function to the Tracking 2022-05-09 17:18:06 +02:00
Andreas Shimokawa
8510cdbb3f Amazfit Neo: Allow to disable beeps for email notifications
Fixes #2607
2022-04-07 22:54:24 +02:00
Andreas Shimokawa
08eb58e63b Mi Band 6: set time on connect 2022-03-31 11:07:13 +02:00
Damien Gaignon
48890d1d34 Move disconnect_notification constant to generic 2022-03-30 22:01:08 +02:00
Damien Gaignon
02e790dd00 Remove redundant constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
fd69b1a3ea Move mi2_inactivity constants to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
3b75a1701a Clean DO_NOT_DISTURB* constants 2022-03-30 22:01:08 +02:00
vanous
65cbea6713 Add HUAMI button/device action to control fitness tracking
- Fitness App Tracking Start already works, Stop is commented out for
  time being
- Catch exception in case the package name for controlled app doesn't
  exist/work
2022-02-19 16:04:48 +01:00
Andreas Shimokawa
b62357dfe2 Mi Band 6: Sync alarms set on the watch like on Amazfit Bip U and others
This adds code to decrypt chunked protocol replies for configuration data.
Also some (disabled) code for SMS reply.
2022-02-02 12:57:25 +01:00
Andreas Shimokawa
d67771ccc3 Huami: implement reassably of alarm configuration chunks for low mtu and fix situation when all alarms get deleted on the watch 2022-01-21 12:48:36 +01:00
Andreas Shimokawa
6046152153 Huami: Fix updating alarm times when not toggling, other logic fixes 2022-01-20 11:12:31 +01:00
Andreas Shimokawa
47f7f22df4 Read alarms from device on connect and when changed on device
TODO:
- support decryption for mi band 6
- reassamble chunks for low MTU
2022-01-20 10:09:23 +01:00
Andreas Shimokawa
406f775f76 Amazfit Pop/Pop Pro: Seperate device from Bip U/Bip U Pro
This really seems to be the same device, but it does have a different firmware
and a different bluetooth name.

Do this to prevent cross flashing - which might actually be okay but we do not know.
2022-01-18 21:15:12 +01:00
Your Name
c62a418961 Add climbing activity & Add seperate res for hiking and climbing 2021-12-28 22:37:35 +01:00
Sebastian Krey
2bf4f14b98 New Amazfit GTS 2 Mini activity Outdoor Trekking/Hiking (#2528)
New Huami Amazfit GTS 2 Mini activity for Outdoor Trekking/Hiking.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2528
Co-authored-by: Sebastian Krey <skrey@noreply.codeberg.org>
Co-committed-by: Sebastian Krey <skrey@noreply.codeberg.org>
2021-12-28 13:46:17 +01:00
Andreas Shimokawa
e1b04f6a5c Huami: support old version of new chunked protocol used on Amazfit Bip U at least
This is used for setting world clock and setting canned messages for call rejection.
This PR implements setting the canned messages, but unfortunately the feature is somehow not "unlocked"
2021-12-23 18:06:58 +01:00
musover
8baf97fd93 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
37adef93bb Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
musover
d5eb5b0690 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
69c1c1b989 Fix notification title not appearing on Amazfit GTS2 Mini for non-chat apps 2021-12-23 11:42:29 +01:00
musover
907ffafa62 Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
José Rebelo
300491d483 Mi Band 3: Add preference to enable display on wrist lift during DND 2021-12-13 16:46:40 +01:00
Andreas Shimokawa
a917d3786f Amazfit GTS2 mini: Fix language selection 2021-12-13 10:08:39 +01:00
José Rebelo
2e8f44cd85 Huami: Fix weekly reminders 2021-12-13 09:24:29 +01:00
Andreas Shimokawa
dbdeb59f9c Mi Band 6: Whitelist FW 1.0.6.10 2021-12-12 19:01:54 +01:00
José Rebelo
a111272143 Huami: Fix reminder deletion 2021-12-12 10:48:22 +00:00
José Rebelo
710b6f6699 Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
Andreas Shimokawa
998f8775d9 Fix bug in non-DST time where still being in DST was assumed
This affects InfiniTime and Huami
For InfiniTime it probably resulted in the wrong time being displayed
For Huami is resulted to request the wrong data from the band/watch

We used timezone.getDSTOffset() which always returns the DST offset (also in non
DST time)

We need to pass the time being observed to calendar.getOffset() to get the real
offset including DST at that specfic time which then either includes DST offset or not.
2021-11-02 11:34:55 +01:00
Andreas Shimokawa
3a642251fe Amazfit Bip U Pro: Support flashing AGPS updates
Use Huafetcher for fetching the data.
2021-10-22 15:46:54 +02:00
Andreas Shimokawa
1341501ac4 Amazfit Bip U Pro: Allow setting more languages, whitelist FW 1.0.2.92 2021-10-22 14:08:39 +02:00
Andreas Shimokawa
bef015b0c2 Add new getSupportedLanguageSettings() to coordinator to get rid of all those arrays
There is one big generic one now, unssupported languages will be removed at runtime.
Tested with Amazfit Bip U.
2021-10-07 14:32:09 +02:00
Andreas Shimokawa
2219eb489e Amazfit Bip U: Fix setting the language 2021-10-07 12:50:44 +02:00
Andreas Shimokawa
48e5f44b81 Amazfit Bip U Pro: Fix flashing firmware, res, font, watchfaces 2021-10-01 17:49:43 +02:00
Andreas Shimokawa
d9a77540ce Amazfit Bip U: fix watchface installation 2021-10-01 17:42:36 +02:00
Andreas Shimokawa
d673d8a487 Amazfit Bip U: Whitelist fw 1.0.2.95 2021-10-01 14:12:31 +02:00
Andreas Shimokawa
e3a4468bac Amazfit Bip U: Fix flashing firmware, res and fonts 2021-10-01 14:00:38 +02:00
Andreas Shimokawa
92ce748202 Amazfit Bip S: Whitelist 2.1.1.72 and 2.1.1.76 firmware 2021-09-15 10:06:48 +02:00
Andreas Shimokawa
b99da8b596 Mi Band 6: really fix weather on new firmware 2021-09-03 15:50:42 +02:00
Andreas Shimokawa
eb8284f079 Mi Band 6: Fix watchface installation 2021-09-02 13:26:35 +02:00
Andreas Shimokawa
a24900bbcf Mi Band 6: Whitelist FW 1.0.4.38 2021-09-02 11:39:25 +02:00
Andreas Shimokawa
c965114c21 Mi Band 6: Add flashlight to menu items 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4242f5ccd4 Mi Band 6: Write to chunked2021 for old chunked types on new firmware (fixes music, weather and setting menu items) 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4a27825931 Mi Band 6: Send all old settings to new characteristics
This adds a compatibility wrapper to make it easier
2021-09-02 11:21:05 +02:00
Andreas Shimokawa
117cd57463 Mi Band 6: Support sending encrypted packets on new firmware 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
44fcd454a0 Mi Band 6: Make new auth protocol a setting for now 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
2c06e5d39c Mi Band 6 auth: add test, fix crypto 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
d352624629 Mi Band 6 auth: first full but nonworking version 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
1c6f055bef Mi Band 6 auth: Working jni call to generate keys 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
9bd8424f83 Mi Band 6 auth: first experiments 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
7e7b0a0f28 Amazfit T-Rex Pro: Add barometer to menu items 2021-06-19 10:20:41 +02:00
Andreas Shimokawa
3c5c61ddea Amazit T-Rex Pro: minor cleanups, support flashig AGPS UIHH (assumed working for such a new device) 2021-06-13 23:07:58 +02:00
GeekosaurusR3x
685fc8b585 Amazfit T-Rex Pro: Fix for watch face upload and device settings (#2321)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2321
Co-authored-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
Co-committed-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
2021-06-13 22:58:00 +02:00
GeekosaurusR3x
00fe84d8cf Initial support for Amazfit T-Rex Pro 2021-06-12 21:19:16 +02:00
Andreas Shimokawa
348f459e3f Huami: Send "about you" preferences to device immediately when changing values
Closes #2297
2021-05-27 23:11:00 +02:00
Andreas Shimokawa
cbadb9c7ae Mi Band 6: allow firmware update
Also whitelist FW 1.0.1.36 which I just flashed though Gadgetbridge

Tracking Issue: #2263
2021-05-24 16:51:09 +02:00
Andreas Shimokawa
090e0c7b33 Mi Band 6: support flashing watchfaces
Tracking Issue: #2263
2021-05-24 15:47:27 +02:00
Andreas Shimokawa
f083e79f5d update changelogs 2021-05-17 12:17:23 +02:00
Andreas Shimokawa
8d21ae1177 Amazfit GTS2/GTR2: Fix installing watchfaces
Needs some more testing, but looks promising
2021-05-16 14:29:47 +02:00
Andreas Shimokawa
65f006d70b Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles
These are packed uuih files. POC code to generate them:

https://codeberg.org/Freeyourgadget/Gadgetbridge-tools
2021-05-15 22:47:38 +02:00
Andreas Shimokawa
5765407366 Amazfit Bip S: support flashing of new AGPS files with UIHH header
We do not know how to generate them yet.
But it was confirmed working with a file we reconstructed from a bluetooth hci dump
2021-05-11 12:10:40 +02:00
jhey
58d3eaaa9f WIP initial Miband 6 support (#2277)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2277
Co-authored-by: jhey <jhey@noreply.codeberg.org>
Co-committed-by: jhey <jhey@noreply.codeberg.org>
2021-05-09 22:52:36 +02:00
beardhatcode
32a6049207 huami: send windspeed in beaufort (#2247)
fixup! huamni: send windspeed in beaufort

BipS: send windspeed as km/h

huami: Always send sunrise and sunset

There is no need to look at send_sunrise_sunset, this is peble spesific
because it could be annoying on that platform (an extra line in the
timeline). On huami devices, the watchface desides what to show.

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Mi5: set supportsSunriseSunsetWindHumidity to true

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

huamni: send windspeed in beaufort

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Co-authored-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2247
Co-Authored-By: beardhatcode <beardhatcode@noreply.codeberg.org>
Co-Committed-By: beardhatcode <beardhatcode@noreply.codeberg.org>
2021-04-21 17:12:20 +02:00
Robbert Gurdeep Singh
2d7bd6ae7b clean: remove unused slots in calander for huami devices
If an event is deleted, it may still remain on the device without this
change
2021-04-21 16:38:36 +02:00
Vianney le Clément de Saint-Marcq
12baabe3c7 Amazfit GTS2/GTR2: Send windspeed and sunrise/sunset 2021-04-07 17:59:30 +02:00
Vianney le Clément de Saint-Marcq
c1b7ce2308 Amazfit GTS2/GTR2: Fix menu items (#2249)
Amazfit GTS2/GTR2: Add missing menu items

Fixes #2193
Fixes #2230
Fixes #2242

Amazfit GTS2/GTR2: Fix setting menu items

At least on the GTR2e, including the "watchface" menu item causes the
configuration request to be ignored.  Assuming the other GTS2 and GTR2
variants behave the same, this patch ensures the forceWatchface argument
is set to false when setting display items.

Additionally, we now use the correct resource ID for the default
settings.

Co-authored-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2249
Co-Authored-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
Co-Committed-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
2021-04-07 17:58:24 +02:00
Andreas Shimokawa
9aed3a6b25 Relax check for UIHH header, there seem to be some with 0x02 at position 4, dont know if this is a version or whatever 2021-04-03 18:59:07 +02:00
Andreas Shimokawa
db9a0c0a76 Try to fix flashing watchfaces on GTR2/GTS2 2021-04-01 16:50:08 +02:00
Andreas Shimokawa
51c87f138d Amazfit Neo: re-enable firmware flashing support and fix ft installation 2021-03-27 09:16:32 +01:00
Andreas Shimokawa
c410f0e4a7 Amazfit Neo: Implement firmware update but keep it disabled for now
Flashing to the latest firmware breaks Gadgetbridge compatibility
2021-03-24 23:49:52 +01:00
Andreas Shimokawa
9dc4dde5e7 Amazfit Neo: Support sound settings 2021-03-24 20:02:48 +01:00
Andreas Shimokawa
6f6db01bce Fix list exception (regression from previous Neo commit) 2021-03-24 10:49:46 +01:00
Andreas Shimokawa
1c3398a319 Amazfit Neo: Fix notifications 2021-03-24 09:51:51 +01:00
Andreas Shimokawa
a234c1d527 Amazfit Neo: Fix setting menu items
- Fixes a bug with cycling through entries
- adds steps, distance, calories, battery
- removes world clock (does not seem to work)
2021-03-24 00:44:13 +01:00
Robbert Gurdeep Singh
7c213f5807 Huami: show event title for events as reminder
The Mi app only has a reminder field and no description field, so
I'm assuming we can only send one string.

In bffb8e8f87 it was noticed that the
title was not displaying so I'm changing this for all Huami devices.
2021-03-14 22:21:58 +01:00
Andreas Shimokawa
54f96288d9 update changelog, bump version 2021-02-09 22:33:17 +01:00
Stefan Bora
5d4f70499d Added support for Amazfit X 2021-02-07 23:59:26 +01:00
Andreas Shimokawa
6d02e8c488 Amazfit GTS/GTR2 (all variants): Try to fix missing menu items
This was reported in #2189 for the GTS 2 Mini, but let's assume it is the same problem for all variants.
2021-02-07 16:23:45 +01:00
Andreas Shimokawa
85130a15d8 Inital support for Amazfit GTS 2e
Also fix missing break in Zepp E block
2021-02-06 21:56:28 +01:00
Andreas Shimokawa
092d527158 Move Amazfit GTR 2e code in the Amazfit GTR 2 package, they are too similar 2021-02-04 23:15:16 +01:00
Jochen S
b945af1531 Added support for Amazfit GTR 2e. (#2182)
Merge branch 'master' into master

Added support for Amazfit GTR 2e.

Co-authored-by: Jochen S <tsalin@noreply.codeberg.org>
Co-authored-by: arisel <arisel@arisel.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2182
Co-Authored-By: Jochen S. <tsalin@noreply.codeberg.org>
Co-Committed-By: Jochen S. <tsalin@noreply.codeberg.org>
2021-02-02 23:06:11 +01:00
Andreas Shimokawa
1dc5164423 Zepp E: Address problems mentioned in #2180
Also move the package to huami
2021-01-31 22:55:59 +01:00
Andreas Shimokawa
0c6ce453b2 Amazfit GTS 2 Mini: Initial support
(See #2152)

This also fixes a glitch with GTS2 firmware update code which is still untested
2021-01-26 23:31:35 +01:00
Andreas Shimokawa
fb2c9158e4 Huami: Add "Strength Training" activity type
Used on at least the Amazfit Bip U
2021-01-22 22:14:49 +01:00
xaos
4d47d53a8f Basic Amazfit Neo support (#2117)
Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo

updated menu items and settings, also disabled music info

added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)

Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo

Merge branch 'master' into amazfit_neo

updated menu items and settings, also disabled music info

Merge branch 'authkey_errmsg' into amazfit_neo

refined error message for invalid authentication keys

added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)

Co-authored-by: xaos <xaos@xaos.tech>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2117
Co-Authored-By: xaos <xaos@noreply.codeberg.org>
Co-Committed-By: xaos <xaos@noreply.codeberg.org>
2021-01-20 16:03:58 +01:00
Toby Murray
203176a01e Update GATT characteristic list
The current GATT characteristic list mentions it was up to date as of populated 2015-09-28. In the last 6 years, significantly more characteristics have been added to the Bluetooth spec. While it's not necessary to have all these constants available in Gadgetbridge, it's useful while implementing new features for a device or adding support for a new device

This was retrieved from https://btprodspecificationrefs.blob.core.windows.net/assigned-values/16-bit%20UUID%20Numbers%20Document.pdf. The GATT characteristics were parsed from that PDF and converted to constants with names via:

```
String description = uuid.description.trim().toUpperCase().replace(' ', '_').replace('-', '_');
System.out.println("public static final UUID UUID_CHARACTERISTIC_" + description + " = UUID.fromString((String.format(AbstractBTLEDeviceSupport.BASE_UUID, \"" + uuid.uuid + "\")));");
```
2021-01-18 19:38:16 -05:00
vanous
198040c935 add UUID to to GPX with opentracks namespace
ensure that GPX has trackpoints
improve GPX track name if null
2021-01-17 00:07:55 +01:00
License Bot
1b5402dcb4 update license headers 2021-01-10 23:38:13 +01:00
Andreas Shimokawa
5d8eb432fc fix missing import 2021-01-06 22:52:59 +01:00
Andreas Shimokawa
50ce99b838 Amazfit GTS2: Also use new protocol for calls like GTR2
This is an assumption
2021-01-06 22:15:22 +01:00
Andreas Shimokawa
c896e476f4 Amazfit GTR2: Try to fix incoming calls blindly 2021-01-06 16:29:11 +01:00
DanialHanif
2b8cd6013a Add Amazfit BIP U Pro support 2021-01-06 10:13:50 +01:00
angelpup
4676c50afc Added Support for Amazfit Verge Lite
Co-Authored-By: angelpup <angelpup@noreply.codeberg.org>
Co-Committed-By: angelpup <angelpup@noreply.codeberg.org>
2020-12-20 22:39:51 +01:00
vanous
074bc885c8 send broadcast and vibration on button action only if enabled 2020-12-18 10:56:42 +01:00
Andreas Shimokawa
09bf9db799 Huami: Use blue icon instead of rainbow color icon for Signal (the rainbow icon was blue in early days) 2020-12-14 17:15:01 +01:00
Andreas Shimokawa
4fb79ac2b2 Huami: Add new option to disting to properly distinguish connected adverising and 3rd party hr exposure 2020-12-13 22:38:03 +01:00
TinfoilSubmarine
2f89de6250 Add Amazfit Bip U menu items and remove shortcuts (#2107)
fix a tab vs. space misalign

add missing menu items for Bip U (and possibly others)

remove shortcut config from Amazfit Bip U settings

add (most) menu items for Amazfit Bip U

Co-authored-by: AluminumTank <joel@beckmeyer.us>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2107
Co-Authored-By: TinfoilSubmarine <tinfoilsubmarine@noreply.codeberg.org>
Co-Committed-By: TinfoilSubmarine <tinfoilsubmarine@noreply.codeberg.org>
2020-12-05 16:22:09 +01:00
Andreas Shimokawa
d0c5ffec28 Amazfit Bip S: Fix crash with notifictions with only a title (GitNex does this)
Probably affects other newer Huami devices
2020-12-02 17:07:40 +01:00
Andreas Shimokawa
aa6e2a291a Amazfit TRex: add missing menu items, remove non-existent 2020-12-01 18:56:37 +01:00
Andreas Shimokawa
85da3594fc Amazfit Bip U: Probably fix totally broken sleep/step data 2020-12-01 15:19:27 +01:00
Andreas Shimokawa
1bad73e20c Amazfit Bip U: Blindly add untested support
Based on Bip S, don't know what works and what not
2020-11-30 17:09:29 +01:00
Andreas Shimokawa
0e88adbaf7 Mi/Amazfit Band 5: Support flashing watchfaces 2020-11-20 22:03:23 +01:00
Andreas Shimokawa
bd0c645db5 Add support for Amazfit GTS2 (untested)
Also change icon for GTR2 to a round one
2020-11-15 16:25:47 +01:00
Andreas Shimokawa
435808467b Amazfit GTR2: Make sure new firmware upgrade code gets used (shamelessly assume it uses this right from the start) 2020-11-14 22:04:09 +01:00
Andreas Shimokawa
5f85bba438 Amazfit GTR: Also fix firmware flashing for the chinese(?) variant 2020-11-12 18:06:52 +01:00
Andreas Shimokawa
66bb6f694e Amazfit GTR Lite: Prevent using new firmware flashing code (they have not upgraded the protocol yet) 2020-11-12 17:47:31 +01:00
Andreas Shimokawa
c3b8604338 Amazfit GTR: FIx firmware flashing on newer firmares 2020-11-12 17:29:25 +01:00
Andreas Shimokawa
f157a2ac78 Amazfit GTS: Try to fix firmware flashing not working in newer firmwares
Reported in #2075
2020-11-11 12:51:58 +01:00
Andreas Shimokawa
cd8ac94a93 Mi Band 5: Whitelist FW 1.0.2.24 2020-11-11 09:48:50 +01:00
Andreas Shimokawa
9d6f9f7d57 Huami: Unify menu id lookup tables and simplify code 2020-11-10 21:56:00 +01:00
Andreas Shimokawa
5b55898059 Mi/Amazfit Band 5: Add support for setting/sorting shortcuts 2020-11-10 11:33:37 +01:00
pangwalla
c4eb1c0879 Support for Amazfit GTR 2 (#2072)
Merge branch 'master' into master

fixed GTR2 getActivitySampleSize override

Support for Amazfit GTR 2

Co-authored-by: Pangwalla <pangwalla@protonmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2072
2020-11-09 20:53:02 +01:00
Andreas Shimokawa
f178c478c9 Amazfit Bip: Also make shortcuts sortable 2020-11-07 22:48:34 +01:00
Andreas Shimokawa
d20e6516c8 Humai: Implement menu sorting for remaining devices (except Mi Band 2) 2020-11-07 22:48:34 +01:00
Andreas Shimokawa
8cb2fb980a Ímplement sorting menu items for newer Huami devices
- Amazfit GTR/GTS
- Amazfit Bip S
- Mi Band 5/Amazfit Band 5
2020-11-07 22:48:34 +01:00
Andreas Shimokawa
1224cfeffc Amazfit Bip S: unify shortcuts code with display items code 2020-10-28 00:12:37 +01:00
Andreas Shimokawa
50f99a5b59 Amazfit Bip S Lite: add new device type for the lite variant
See #2055
2020-10-27 12:56:27 +01:00
Maxim Baz
e2a75d75d4 Add Wire messenger to the chat applications
This is a chat app that uses end-to-end encryption algorithm similar to Signal.
2020-10-26 23:29:58 +01:00
Andreas Shimokawa
4131f19f8d Amazfit Band 5: Allow setting Sp=2
Also unify code to set display items on newer devices
2020-10-21 20:03:26 +02:00
Andreas Shimokawa
7c374181dc Amazfit Band 5: Try to blindly use Mi Band 5 support for now 2020-10-17 11:58:22 +02:00
Andreas Shimokawa
1156ec22a4 Mi Band 5: Whitelist FW 1.0.2.08 2020-10-12 14:05:12 +02:00
Andreas Shimokawa
f4115fa617 Amazfit Bip S: Also send wind and humidity
Does not work with most weather sources, but it is better to send something to remove garbled characters
2020-09-30 18:47:19 +02:00
Andreas Shimokawa
1337644a14 Amazfit Bip S: Send sunrise and sunset on latest firmware if enabled
This still has to be enabled in Pebble settings..... :/
2020-09-30 18:16:25 +02:00
Andreas Shimokawa
5bdee2c130 Amazfit Bip S: Fix firmware flashing on DTH variant with firmware 4.1.5.55 2020-09-29 21:58:13 +02:00
Andreas Shimokawa
247366bf9d Amazfit Bip S: Implement new Firmware update mechanism introduced with Firmware 2.1.1.50
This is probably mandatory for other devices now also!
2020-09-28 12:05:09 +02:00
Andreas Shimokawa
8087390336 Huami: recoginze GPS firmware 19439,3aa3392,135 and whitelist it for Bip S 2020-09-27 12:07:52 +02:00
Andreas Shimokawa
4da74e7375 Amazfit Bip S: Whitelist 2.1.1.46 2020-09-13 19:26:23 +02:00
Andreas Shimokawa
d5cdf21154 Amazfit Bip S: allow flashing gps almanac (only cep worked before) 2020-09-07 22:57:18 +02:00
Andreas Shimokawa
ce8021ec9b Huami: Add new activity types found in recent Bip S firmware 2020-09-07 21:40:20 +02:00
Andreas Shimokawa
faef4fd92f Amazfit Bip S: fix flashing some font files 2020-09-03 23:09:00 +02:00
Andreas Shimokawa
f2bfab0491 Huami: do not write elevation to GPX if we have a base altitude of -20000
( #2001 )
2020-09-03 23:01:59 +02:00
TaaviE
6cd59fbd24 Refactored all pairing and bonding activities (#1989)
Fixed a few warnings

Refactored all bonding and bonding activities

Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1989
2020-08-28 15:38:18 +02:00
Bot
40852d3641 Fixed a bunch of misspellings and formatting 2020-08-26 14:37:40 +03:00
Andreas Shimokawa
715fb67859 Do summary parsing on the fly if raw binary data is available 2020-08-18 10:39:44 +02:00
Andreas Shimokawa
2ca2636142 Huami: Recognize missing workout types from the Bip S (and other devices where those are supported) 2020-08-16 23:45:52 +02:00
Andreas Shimokawa
28a3ab1518 Huami: save raw summary data in new binary blob column for later interpretation 2020-08-16 22:50:59 +02:00
vanous
20faa23843 Add events forwarding for HUAMI Bip, MB3 (#1980)
Remove unneeded function call

Re-done to simplify

Add media actions

Rename function to make meaning clearer

Add events forwarding for HUAMI Bip, MB3

Co-authored-by: vanous <petr@linuks.cz>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1980
2020-08-16 22:07:55 +02:00
Andreas Shimokawa
e73c881aa9 Revert "swap +/- :)"
This reverts commit e027f3d526.
2020-08-14 22:54:39 +02:00
vanous
c21206fbe4 Swapping min/max elevation 2020-08-14 22:53:00 +02:00
Andreas Shimokawa
e208549d1d Decode a bit more for new acticity summaries (Bip S)
This also adds disabled code to create a binary dump for better analysis
2020-08-11 00:06:24 +02:00
vanous
e027f3d526 swap +/- :) 2020-08-10 18:27:30 +02:00
vanous
4a4362eec4 Use textViews. Remove groups from data. 2020-08-10 10:56:54 +02:00
Andreas Shimokawa
555eb34575 Start to support activity summary version 518
Incomplete, lot of missing stuff. no swimming, etc.
2020-08-10 00:19:13 +02:00
vanous
ec3334f037 move averageStride to Activity 2020-08-09 21:56:58 +02:00
vanous
bce85beb21 Use localized names and dates. Pass only needed data between activities.
Better display view. Cleaning up.
Add km/h and calculate speed to it.
Special casing calc not per key but per unit
solved min/maxPace, localized several missing labels.
totalStride is Total strides in m. Fix missing start_label
2020-08-09 21:56:31 +02:00
vanous
c3887ddb86 minimum working version 2020-08-09 21:56:25 +02:00
Andreas Shimokawa
94afcba363 Add text column to BaseActivityData for storing unstructured data to be displayed later
As a test first test, this currently only stores the average heart rate.
2020-08-07 23:12:29 +02:00
Andreas Shimokawa
66f2eb8479 Amazfit Bip S: whitelist firmware 2.1.1.26 and 2.1.1.36 2020-08-03 22:42:07 +02:00
Andreas Shimokawa
a619fdb168 Huami: Prevent setting an MTU of < 23, which is either a special value or a parsing error of Gadgetbridge
This fixes a problem where writeToChunked algorithm results in out of bounds writes or an endless loop.

Closes #1936
2020-08-02 13:11:41 +02:00
Cristian Alfano
637a7d5d07 Adding support for Mi Band 5's new FW and res versions and new languages supported: italian, french and german. 2020-08-01 23:03:21 +02:00
odavo32nof
d3a51a1078 Adding Mi Band 5 initial support (#1930)
Merge branch 'master' into master

Merge branch 'master' into master

Added available languages for Mi Band 5.

This one's for fixing the step counter but the daily count is always a little bit different compared to what's shown on the smartband.

Extending Mi Band 5 support! Every display item can be showed on the smartband now.

Cleanup

FW related test code

FW related test code

FW related test code

FW related test code

Adding Mi Band 5 test support

Co-authored-by: cristian <c.alfano@outlook.it>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1930
2020-07-28 18:16:56 +02:00
Andreas Shimokawa
932b0f7f94 Amazgit GTR/GTR Lite: Try to fix broken activity data
Query versions as described in #1907
Also see #1924
2020-07-23 22:05:28 +02:00
Andreas Shimokawa
ef09e24482 Amazfit GTS: Fix broken activity data on Firmware 0.0.9.xx
Fixes #1924
2020-07-22 11:03:30 +02:00
Andreas Shimokawa
f460f6abd1 Amazfit Bip S: Change Unknown menu item to "World Clock"
Latest firmware has a world clock, setting the locations is not yet supported by Gadgetbridge
2020-07-21 17:13:23 +02:00
Andreas Shimokawa
c437347236 Amazfit GTR/GTS: Fix connection for new firmware
This change does not do any harm on other Huami devices it seems
2020-07-05 17:07:43 +02:00
Andreas Shimokawa
3940387b1a Huami: set forecast limit to 6 days (current + 6 in future) 2020-06-29 19:41:56 +02:00
Andreas Shimokawa
b7a1f469ee Huami: limit forecast days to 3 days
Fixes problems with new weather notificaion on Mi Band 4 and others
Fixes #1910
2020-06-29 19:02:30 +02:00
Andreas Shimokawa
425bf48df5 Amazfit Bip S: whitelist fw 2.1.1.16 2020-06-29 16:36:16 +02:00
Andreas Shimokawa
c1b6f5f4f5 Amazfit Bip S: fix installation of latest res (96) 2020-06-29 00:17:23 +02:00
Dmytro Bielik
496460502b Initial support for Amazfit T-Rex 2020-06-24 18:43:23 +03:00
Andreas Shimokawa
5d58a2f583 Work around music controls being disabled since last commit on Amazfit Cor (we do not get a music app started event before we haven't sent music information - weird) 2020-06-22 18:35:22 +02:00
Andreas Shimokawa
6b20f62e0f Huami: Use music control code from Bip S for all devices
needs testing and cleanup for all devices
2020-06-22 18:06:40 +02:00
Zhong Jianxin
55f9c8f519 Huami: Avoid cutting multibyte chars in half 2020-06-22 10:12:10 +02:00
Zhong Jianxin
c3a9cf858e Amazfit Bip S: Allow longer notification message 2020-06-16 13:41:26 +08:00
Andreas Shimokawa
26b7932153 Mi Band 4: Whitelist FW 1.0.9.58 2020-06-13 22:18:18 +02:00
Andreas Shimokawa
0229d24092 Mi Band 4 (possibly others): Fix detected RES version being always 69 for non-whitelisted res files
Fixes #1886
2020-06-12 23:24:26 +02:00