Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
4c911ff
Weblate update (#1425)
oliexdev Jul 18, 2026
01e4f9b
Added complete Hindi translation (#1413)
anvikarande11 Jul 18, 2026
c89905e
Add Bulgarian, Catalan, Hindi, Portuguese, and Persian to language li…
oliexdev Jul 18, 2026
bc23d5a
Add YUNMAI-Scale-3 to YunmaiHandler device whitelist (#1416)
3125589 Jul 18, 2026
09f2df0
Add support for Yunmai X (YMBS-M268) broadcast-only scale (#1418)
pagarsky Jul 18, 2026
9d165a1
feat: add Scale Up broadcast scale protocol (#1419)
brainrom Jul 18, 2026
c7d1134
Added scale support for EEBBL scale. (#1420)
tannermeade Jul 18, 2026
7dbcaff
Add support for Vitafit VT701 body-fat scale (#1423)
gustav-dahl Jul 18, 2026
cf1f27e
Normalize comma decimal separators in NumberInputDialog and UserDetai…
oliexdev Jul 18, 2026
61d3636
Fix crash when importing pre-v2.5 database (issue #1410) (#1421)
DanyPM Jul 18, 2026
c01f7ea
Add minimal Huawei Hagrid WSP support (#1408)
shisoratsu Jul 18, 2026
0320339
Add support for `values_json` in `DatabaseProvider` update path
oliexdev Jul 19, 2026
fe77bcb
Revert MiScaleHandler time sync to device-local timezone (#1427)
jvandenbroek Jul 22, 2026
c261d87
Add support for the FitTrack Dara 2.0 scale (#1430)
richardlt Jul 24, 2026
bf0b91e
Add selectable Scientific body-composition algorithm to Mi Scale (#1…
dkuku Jul 24, 2026
c4ebad3
Move SettingRadioGroup from ScaleDeviceHandler to MiScaleHandler
oliexdev Jul 24, 2026
1ee3510
Add Runstar R6 scale support (#1432)
ldoench Jul 29, 2026
cfec324
Add Keep S3 scale support (#1438)
lekoOwO Aug 7, 2026
3a154c2
Add Relaxmedic scale support (icomon protocol 107) (#1441)
Caiofiga Aug 7, 2026
b6edeb4
Add support for Dr. Trust Smart 505 Scale (India) (#1445)
joshferns Aug 7, 2026
c968404
Complete Traditional Chinese translation (#1439)
lekoOwO Aug 7, 2026
10d3a2b
Improved auto-backup reliability and status reporting
oliexdev Aug 7, 2026
f49ebe3
Fix measurement type filter selection on fresh installs
oliexdev Aug 7, 2026
e4af22f
Name the sending openScale flavor in the sync intents.
oliexdev Aug 9, 2026
1f42b45
Remove orphaned translations for deleted strings
oliexdev Aug 9, 2026
44e1a56
Inherit numeric values from the preceding measurement
oliexdev Aug 9, 2026
7a170e4
update openScale to 3.1.2
oliexdev Aug 9, 2026
8ea4bbd
Fix crash when the overview list keys aggregated rows by id
oliexdev Aug 10, 2026
804a95c
Complete the Turkish translation (154 -> 782 of 811 strings) (#1451)
ahmetabdullahgultekin Aug 11, 2026
1acbe48
Add the missing test for Wla25BodyComposition (#1456)
ahmetabdullahgultekin Aug 11, 2026
2bae837
Keep intValue populated when aggregating INT-typed measurements (#1457)
ahmetabdullahgultekin Aug 11, 2026
7161ca0
Cult Smart Scale Pro: publish muscle as a percentage, not kilograms (…
ahmetabdullahgultekin Aug 11, 2026
3841f90
Store synced values in the column their input type requires
oliexdev Aug 11, 2026
e2069f7
Add support for the Weight Gurus 0376 scale (#1467)
psuedo-tty Aug 14, 2026
6751743
Support for BMI calculations for Active Era BS-06 scales (#1464)
NecroKote Aug 14, 2026
692bc0c
Support Terraillon X-LINE scale (#1461)
pjestin Aug 14, 2026
3889c46
Add support for the Omron HBF-702T and its WLC-protocol siblings (#1463)
ToastyTheBot Aug 14, 2026
5bed482
Add ScaleFactoryTest to cover the registry as a whole — the per-hand…
oliexdev Aug 14, 2026
fa4d792
Added support for Etekcity Fit 8S Scale. (#1472)
basjam Aug 16, 2026
910a436
Log unparseable CSV date/time values and keep the detail screen awake
oliexdev Aug 16, 2026
d3247a4
Update build workflow to publish scale catalog wiki page
oliexdev Aug 16, 2026
61cb196
Update Bluetooth scale handler registry and tests
oliexdev Aug 16, 2026
ccb1cc2
feat: Add support for the ProfiCare PC-PW 3008 BT (#1476)
tiagoagueda Aug 16, 2026
d53f165
Add huawei scale 3 support (#1474)
Nidala96 Aug 16, 2026
8a839ed
Decouple developer mode from saved device identity
oliexdev Aug 17, 2026
286cd11
Unify developer mode indicator with tint and device swap warning
oliexdev Aug 17, 2026
f7a733b
Improvements to the X-LINE (#1480)
pjestin Aug 21, 2026
38a34f7
feat: Added OKOK C0 parser (#1493)
AlphaKR93 Aug 29, 2026
b23c22b
Add scoped Beurer BF1000 support (#1484)
Lidara Aug 29, 2026
3e861af
feat: Add support for Afu B1 (#1485)
icealtria Aug 29, 2026
27d5500
Picooc: add a driver for the connection-oriented scale line (#1482)
LOGAET Aug 29, 2026
ae41891
Add support for the Hume Health Dara 2.0 scale (#1486)
andyjk15 Aug 29, 2026
eda762f
feat(bluetooth): add support for Healthkeep smart scale (#1487)
danidemis Aug 29, 2026
b53d116
Fix/female body composition (#1488)
dkuku Aug 29, 2026
b736d88
Improve calendar-week handling across aggregation features, issue #1454
oliexdev Aug 29, 2026
066483a
Update Bluetooth device support logic to use full device object
oliexdev Aug 29, 2026
3cec5e0
Fix broadcast adapter state on successful scan completion
oliexdev Aug 29, 2026
c101084
Huawei Scale 3: add realtime body composition support (#1492)
Stefanos1000 Aug 29, 2026
6613db5
Huawei AH100/CH100: fix the user record sent to the scale (#1450)
martinriedel Aug 29, 2026
39a0c5c
BLE handlers can contribute custom measurement types (#1481, #1484)
oliexdev Sep 2, 2026
54c06aa
fix(beurer): mask bit 31 when decoding measurement timestamps (#1504)
abdulsamie10 Sep 2, 2026
a494f90
Fix RyFit age and EEBBL capability status (#1498)
Fhatu12 Sep 2, 2026
5999051
feat: Add support for AiLink broadcast body fat scales (#1495)
manueltarouca Sep 2, 2026
ac5753b
A custom range required both ends, so a fixed starting point froze …
oliexdev Sep 2, 2026
f5d03d9
Fix crash on every successful weigh-in: unwrap Kg in saved-measuremen…
sebastian-ziegler Sep 5, 2026
accbf81
Adds support for AnD UC352BLE (#1505)
mrblowntobits Sep 5, 2026
18648fb
Fix: QNHandler for GE CS 10 G "Fit Plus": pairing, weight parsing, co…
sebastian-ziegler Sep 5, 2026
f341d24
Add time range filter to Insights, issue #1506
oliexdev Sep 5, 2026
20b7dc8
Fix misleading plateau and volatility insights (#1510)
Fhatu12 Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/ci_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,46 @@ jobs:
files: |
android_app/app/build/outputs/apk/debug/openScale-debug.apk

# Publish the "Supported scales in openScale" wiki page, generated from the handler registry by
# ScaleCatalogTest. The page is a build artifact: hand edits in the wiki are overwritten, while
# the remarks column and the photo gallery are edited in
# android_app/app/src/test/resources/scale_catalog_{remarks.txt,gallery.md}.
publish-scale-catalog:
runs-on: ubuntu-latest
needs: build
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "21"
- name: Checkout wiki
run: git clone "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git" wiki
- name: Generate the supported scales page
working-directory: android_app
env:
SCALE_CATALOG_OUT: ${{ github.workspace }}/wiki/Supported-scales-in-openScale.md
run: |
./gradlew testDebugUnitTest --tests '*ScaleCatalogTest'
# A skipped (up-to-date) test task would leave the page untouched and the job green.
test -s "$SCALE_CATALOG_OUT"
- name: Push the page if it changed
working-directory: wiki
run: |
if [ -z "$(git status --porcelain)" ]; then
echo "Wiki already up to date."
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add Supported-scales-in-openScale.md
git commit -m "Update supported scales from the handler registry (${GITHUB_SHA::7})"
git push

# Keep the `weblate` branch (Weblate's push target) in sync with master so
# Weblate's rebased translation pushes stay fast-forward and don't fail.
sync-weblate:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Monitor and track your weight, BMI, body fat, body water, muscle and other body
openScale has built-in support for a number of Bluetooth (BLE or "smart") scales from many manufacturers, e.g. Beurer, Sanitas, Yunmai, Xiaomi, etc. (see model list below). Together with our users we constantly improve and extend the set of supported scales and in many cases pick up where the original app falls short.

- Custom made Bluetooth scale
- Beurer BF105, BF500, BF600, BF700, BF710, BF720, BF800, BF850 and BF950
- Beurer BF105, BF500, BF600, BF700, BF710, BF720, BF800, BF850, BF950 and BF1000
- Digoo DG-S038H
- Excelvan CF369BLE
- Exingtech Y1
Expand All @@ -42,7 +42,7 @@ openScale has built-in support for a number of Bluetooth (BLE or "smart") scales
- Silvercrest SBF75, SBF77
- Vigorun
- Xiaomi Mi scale v1 and v2
- Yunmai Mini and SE
- Yunmai Mini, SE and X
- iHealth HS3
- Easy Home 64050
- and many more
Expand Down
8 changes: 6 additions & 2 deletions android_app/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ android {
applicationId = "com.health.openscale"
minSdk = 31
targetSdk = 37
versionCode = 75
versionName = "3.1.1"
versionCode = 76
versionName = "3.1.2"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["appName"] = "openScale"
Expand Down Expand Up @@ -148,6 +148,10 @@ android {
// JVM unit tests touch android.util.Log (via LogManager); return defaults
// instead of throwing "not mocked" so pure-logic tests can run on the JVM.
unitTests.isReturnDefaultValues = true
// Hand the merged resource table to Robolectric, so code that resolves a string
// resource (e.g. the display name of a scale-contributed measurement type) can be
// tested against the real string instead of a stub.
unitTests.isIncludeAndroidResources = true
}
}

Expand Down
Loading