Commit Graph
12993 Commits
Author SHA1 Message Date
José Rebelo 849a7dc996 Zepp OS: Fetch sleep stages and score
Newer Zepp OS devices report sleep sessions separately, which include
accurate sleep stages, and a sleep score.

- Persist this data raw, since we don't know how to fully process it
- Overlay (and prefer) this data over sleep samples

Devices that do not support these such as the Mi Band 7 reply with
an unsuccessful fetch response, which is fine.
2025-03-23 15:56:11 +00:00
José Rebelo b91254265c Zepp OS: Fix and log experimental temperature fetch 2025-03-23 14:46:13 +00:00
José Rebelo 1f8fdf7eef Zepp OS: Fix parsing of PAI values after factory reset
It looks like they come with type 0 after a factory reset..?

Probably some undefined behavior, but the sample size still matches. It
seems to disappear for subsequent samples.
2025-03-23 14:17:21 +00:00
José Rebelo 59dd321069 Zepp OS 3/4: Fix download of single-chunk small files 2025-03-22 19:07:48 +00:00
José Rebelo 2a790befb4 Zepp OS: Add voice memo download logic 2025-03-22 19:07:20 +00:00
José Rebelo fb12de2c73 Zepp OS: Map all activity kinds 2025-03-22 17:25:28 +00:00
José Rebelo b94bfa5701 Zepp OS 3/4: Refactor file transfer service, fix screenshots 2025-03-22 17:25:02 +00:00
José Rebelo 73d15e3df7 Zepp OS: Allow 32-character hex key without 0x prefix 2025-03-22 15:40:44 +00:00
dependency-bot 69cdcdaeac Update dependency org.mockito:mockito-core to v5.16.1 2025-03-22 01:01:32 +00:00
José Rebelo 758c56976b Zepp OS 4: Fix notification icons encoding 2025-03-21 22:02:30 +00:00
a1cdfe8c89 Add experimental support for Ultrahuman Air smart ring (#4602)
This adds basic support for the Ultrahuman Air smart ring: https://www.ultrahuman.com/  (#4573)

Working:
- [x] pairing
- [x] fetching historic records
- [X] charting HR
- [x] charting blood oxygen
- [x] charting temperature
- [x] charting activity
- [x] charting steps
- [x] charting stress
- [x] activating air plane mode

Protocol documentation can be found in Freeyourgadget/website#86

HRV is fetched but not charted as the device has no HrvSummarySampleProvider.

Co-authored-by: Thomas Kuehne <thomas.kuehne@gmx.li>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4602
Co-authored-by: ThomasKuehne <thomaskuehne@noreply.codeberg.org>
Co-committed-by: ThomasKuehne <thomaskuehne@noreply.codeberg.org>
2025-03-20 20:07:20 +00:00
José Rebelo 329514d04d Amazfit Active 2: Add vibration intensity config 2025-03-20 00:12:57 +00:00
José Rebelo bcf3c317a9 Amazfit Active 2: Fix some errors during initialization 2025-03-20 00:05:44 +00:00
José Rebelo d6df9d6d85 Amazfit Active 2: Add missing languages 2025-03-19 23:47:38 +00:00
José Rebelo 28af9ace9b Amazfit Active 2: Fix menu and control center configs 2025-03-19 23:08:49 +00:00
José Rebelo a6da6b9fed Amazfit Active 2: Add missing morning updates categories 2025-03-19 22:53:47 +00:00
José Rebelo bef1be8aa4 Amazfit Active 2: Fix firmware updates 2025-03-19 13:06:20 +00:00
José Rebelo 528fb09f52 CMF Watch Pro: Allow enable of bluetooth calls 2025-03-18 21:58:33 +00:00
José Rebelo 4a3eaf76be Make alarm notifications respect app whitelist/blacklist 2025-03-17 19:16:17 +00:00
Ganblejs 95b2973ea4 Bangle.js: send android STREAM_MUSIC volume level to bangle 2025-03-17 11:12:31 +01:00
Ganblejs a1b604b2c8 Bangle.js: fix set supportsMusicInfo true 2025-03-17 01:33:03 +01:00
José Rebelo 4cca17926b Update changelog 2025-03-16 20:31:27 +00:00
Leona GottfriedandLeona Gottfried 67e5dcfb92 Fix #2354
Add missing ic_battery_charging and _empty drawables.
Adjust maxLevel values in level_list_battery.
Rename ic_battery_(charging)_80 to _70, better reflecting impression.
2025-03-16 20:24:37 +00:00
José Rebelo 9380c205bc Garmin: Display balance as range 2025-03-16 19:38:02 +00:00
José RebeloandJosé Rebelo a66c8685ec Huawei: Prevent some crashes 2025-03-16 12:47:48 +00:00
pacjoandJosé Rebelo dda96a9dd3 1MORE SonoFlow: Initial support (#4637)
Co-authored-by: pacjo <kamil.kroliczek2004@gmail.com>
Co-committed-by: pacjo <kamil.kroliczek2004@gmail.com>
2025-03-15 21:00:48 +00:00
Lars BerningandJosé Rebelo d5af0da3f9 Adds support for headphones Redmi Buds 3 Pro 2025-03-15 18:21:24 +00:00
dependency-bot 1dc14551a6 Update protobuf to v4.30.1 2025-03-15 18:14:31 +00:00
dependency-botandJosé Rebelo 1374fcc3cf Update dependency org.slf4j:slf4j-api to v2.0.17 2025-03-15 18:12:31 +00:00
dependency-botandJosé Rebelo 0d219c9094 Update dependency org.mockito:mockito-core to v5.16.0 2025-03-15 18:09:08 +00:00
dependency-botandJosé Rebelo 062fec9b4a Update android-emojify to v1.9.7 2025-03-15 18:08:31 +00:00
Ilya Nikitenkov b057e6a35c Huawei Freebuds Pro: Initial support 2025-03-15 18:03:27 +03:00
José Rebelo 11acaba4de Update changelog 2025-03-09 15:42:44 +00:00
José Rebelo 91fec89ba2 Zepp OS: Fix measurement system configuration 2025-03-09 15:28:50 +00:00
José Rebelo f3b204366c Garmin: Use user profile weight unit 2025-03-08 22:27:53 +00:00
José RebeloandJosé Rebelo 5143128aa9 EarFun Headphones: Enable read aloud incoming notifications and auto-pickup 2025-03-08 19:02:13 +00:00
Toni SpetsandJosé Rebelo 28e0c80ddc Amazfit Active 2 fixes
- fixed device bluetooth name for pairing
- added names of stock watchfaces
- removed wifi flag since the device doesn't have one
- removed screenshot flag as it doesn't do anything
- removed experimental flag, device works fine
2025-03-08 18:30:05 +00:00
José Rebelo 190d7cd845 Update changelog 2025-03-08 18:25:21 +00:00
José Rebelo 00b5420fbe Garmin: Add nap support 2025-03-08 18:03:15 +00:00
José RebeloandJosé Rebelo 624fb5cf64 Garmin: Fix fit file checksum computation 2025-03-08 17:55:04 +00:00
Lars BerningandJosé Rebelo 10412d8eb7 Implement equalizer presets for EarFun Air S and Air Pro 4 2025-03-08 14:21:19 +00:00
Lars BerningandJosé Rebelo d9d0573812 Add support for EarFun Headphone devices Air S and Air Pro 4 2025-03-08 14:21:19 +00:00
Mathieu Broillet f35bcc8890 add support for PAI for amazfit GTR2e 2025-03-07 13:17:21 +01:00
Arjan Schrijver 0fc1c7b2b6 Fix app crash when switching between Android user profiles 2025-03-05 21:07:37 +01:00
Me7c7andJosé Rebelo c065c6e061 Huawei: fix delete notifications for LE devices 2025-03-04 22:02:42 +00:00
Arjan Schrijver 7141e2d592 Fossil/Skagen Hybrids: Fix hidden upload button in app manager
This fixes a regression for these devices that was introduced in feb5134b5
2025-03-04 09:27:14 +01:00
Mathieu VeltenandJosé Rebelo 82d154258d Support reading importance from notif channel to decide if low prio 2025-03-02 21:03:25 +00:00
jrthomas270 9d8f54ff17 Add multi channel BLE device abstract classes
This change adds a class that mirrors AbstractBTLEDeviceSupport, except
that it holds and arrays of bluetooth queues instead of just one. This
allows a single GBDevice to be composited into a single DeviceSupport
class. This is useful if there is a gadget that has multiple bluetooth
radios, but the gadget is a single device. It could also be useful if
multiple gadgets were to be grouped under a single Device (such as a
display and a remote), this way the support class can access both
devices fully without having to send messages or it can aggregate calls
to things like onNotification and make sure it is sent to all devices.

My main goal is to add support for the Even Realities G1 Smart Glasses
which use two BLE radios (one for each lens of the glasses). This code
is quite well tested on the following branch:
2025-03-02 09:06:05 -08:00
José Rebelo dba6e899fe Huawei: Increase user ID length to 19 characters 2025-03-01 18:56:06 +00:00
Mathieu Veltenanddaniele 82e092b9e0 Pebble: use local timezone to set the timestamp of all day events 2025-03-01 16:51:57 +00:00