github KristianP26/ble-scale-sync v1.0.0

latest releases: v1.15.0, v1.14.1, v1.14.0...
3 months ago

Highlights

Universal BLE Smart Scale bridge — captures body composition from 23 scale types, calculates full body metrics via BIA impedance formulas, and exports to multiple targets simultaneously. Designed for headless operation on Raspberry Pi.

Scale Support

23 scale adapters covering Renpho, Xiaomi Mi Scale 2, Yunmai, QN-Scale (Sencor, Renpho ES-CS20M), Eufy (1byone), Beurer/Sanitas, MGB (Swan/Icomon), Medisana, Senssun, Excelvan, Digoo, Hoffen, Hesley, Active Era, Trisa, Soehnle, and more. Full list in README.

Exporters

  • Garmin Connect — automatic body composition upload via Python subprocess (no phone app needed)
  • MQTT — Home Assistant auto-discovery with 11 metrics, LWT, and configurable device name
  • InfluxDB — v2 write API with line protocol, token auth
  • Webhook — configurable HTTP method, headers, and timeout
  • Ntfy — push notifications with priority and auth support

All exporters run in parallel with retry logic (2 attempts). Partial failure is non-fatal.

BLE Platform Support

Platform Handler Status
Linux (Raspberry Pi) node-ble (BlueZ D-Bus) Tested
Linux (override) @stoprocent/noble Tested
Windows 11 @abandonware/noble Tested
macOS @stoprocent/noble Supported

Continuous mode with auto-reconnect, progressive retry delays, and graceful shutdown (SIGINT/SIGTERM).

Configuration

  • config.yaml (recommended) — Zod-validated schema with ${ENV_VAR} references
  • .env (legacy fallback) — fully supported, auto-detected
  • CLI flags: --config <path>, --help
  • npm run validate — config validation with human-readable error messages
  • Environment overrides always apply on top of config file

Body Composition Metrics

Weight, body fat %, water %, muscle mass, bone mass, BMI, BMR, visceral fat, physiqueRating — computed via BIA impedance formulas with gender/athlete coefficients.

Quality

  • 822 unit tests across 45 test files (Vitest)
  • TypeScript strict mode, ESLint, Prettier
  • End-to-end tested on Raspberry Pi Zero 2W and Windows 11

Don't miss a new ble-scale-sync release

NewReleases is sending notifications on new releases.