Skip to content

Add passive support for Thermosafer thermometer - #1630

Open
przemhb wants to merge 1 commit into
custom-components:masterfrom
przemhb:add-thermosafer-7a0a5
Open

przemhb wants to merge 1 commit into
custom-components:masterfrom
przemhb:add-thermosafer-7a0a5

Conversation

@przemhb

@przemhb przemhb commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds passive advertisement support for the Thermosafer children’s thermometer described in #1530. Temperature and battery are decoded from manufacturer-specific data, without a GATT connection. RSSI is supplied by the BLE scanner.

The parser recognizes the observed manufacturer ID, payload length and first payload byte. It decodes temperature from two big-endian bytes in hundredths of a degree and battery from one byte. This format is reverse-engineered from observations of one device; the meaning of the remaining fields and signedness at temperatures below zero are unverified.

Testing

  • Added a test using observed advertising data in a synthetic extended HCI report and tests for malformed payloads.
  • PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest -o addopts='' custom_components/ble_monitor/test/test_thermosafer.py -q — 2 passed. The default pytest invocation hung in the local environment; full suite and normal CI remain to be verified.

Fixes #1530

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[New Sensor]: Thermosafer Children Health Thermometer

1 participant