Skip to content

Repository files navigation

ATC MiThermo History Reader

English | 简体中文

An unofficial Android history viewer for Bluetooth thermometers running the pvvx/ATC_MiThermometer firmware.

The app remembers one thermometer and reconnects to it directly, so reading temperature, humidity, and battery history does not require scanning and selecting the device in a browser every time.

Why This Exists

When adjusting hotel air conditioning, a history graph is more useful than one current temperature reading. The original project already provides the excellent GraphMemo.html page, but Web Bluetooth requires a new scan and device selection on each use. It may also read every stored sample unless a sample count is entered first.

This small Android utility is intended to make that recurring task quicker. It does not replace the upstream project.

Features

  • Scan once, save the device name and MAC address, then reconnect without scanning.
  • Continuous scanner with a LYW,ATC prefix filter by default; clear it to show all named devices.
  • Read the latest 1,000 samples by default, configurable from 5 to 65,535.
  • Native temperature, humidity, and battery charts.
  • Chart spacing follows the actual interval between adjacent records, so a 30-minute gap is wider than a 2-minute gap.
  • Preserve the actual Flash record order instead of re-sorting records after a device clock adjustment.
  • Read hardware/software versions and live device status in More Settings.
  • Configure advertising interval, measurement interval multiplier, and Flash recording averaging multiplier.
  • Set device time over the same BLE connection.
  • No network permission and no data upload.

Screenshots

History reader main screen More settings screen

Usage

  1. Download and install the APK from GitHub Releases.
  2. Grant Bluetooth permissions, then tap Scan Devices on first use.
  3. Select a thermometer running compatible pvvx/ATC firmware.
  4. Enter a sample count and tap Read Recent Records.
  5. Later, read the saved device directly. Scan only when changing devices.
  6. Open More Settings to inspect device information, change recording intervals, or set the device time.

Compatibility

The app uses the pvvx history-record protocol:

Service:        0x1F10
Characteristic: 0x1F1F

It requires a device running compatible pvvx/ATC_MiThermometer firmware with Flash history support. It does not flash firmware and is not an official Xiaomi, Mijia, or pvvx application.

PIN-protected, encrypted, or incompatible firmware is not currently guaranteed to work.

Upstream References

The firmware, Flash history functionality, and BLE protocol belong to the upstream project. Thanks to pvvx and its contributors.

Technical Notes

  • Native Java Android app, minimum Android 6.0 (API 23).
  • No WebView, Compose, AndroidX, or third-party chart library.
  • Direct BluetoothGatt connection to the saved device address.
  • Charts use a custom Canvas view.
  • Release builds use R8 and resource shrinking.

Build

JDK 17 and Android SDK 34 are required.

$env:JAVA_HOME='C:\jdk17\jdk-17.0.13+11'
.\gradlew.bat clean :app:lintDebug :app:assembleRelease

The APK is generated at app/build/outputs/apk/release/app-release.apk.

Current personal test builds use a development signing key. Replacing or losing that key requires uninstalling the installed app before installing a differently signed build.

Status

This is a niche personal tool, primarily tested with LYWSD03MMC and pvvx firmware. Device and Android-model coverage remains limited. Please include the device model, firmware version, and error message when opening an issue.

License

MIT

About

Unofficial Android history viewer for thermometers running pvvx/ATC_MiThermometer firmware.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages