Skip to main content

BThome v2 BLE Advertisement Logger for debugging and monitoring BThome devices

Project description

BThome Logger Tools

This directory contains tools for testing and debugging BThome devices.

🐍 Python BThome Logger

A reliable Python tool for scanning and displaying BThome v2 advertisements.

Installation

From PyPI (recommended):

# Install as isolated tool with uv (recommended)
uv tool install bthome-logger

# Or with pipx
pipx install bthome-logger

# Or system-wide with pip
pip install bthome-logger

For development:

# Install uv if not already available
curl -LsSf https://astral.sh/uv/install.sh | sh

# Change to tools directory
cd tools

# Install dependencies and run tool
uv run bthome_logger.py

From repository:

# Clone repository
git clone https://github.com/the78mole/bthomev2.git
cd bthomev2/tools

# With pip
pip install -e .

# With uv
uv run bthome_logger.py

Usage

# Basic usage (defaults to filtering devices with "MAKE" in name)
bthome-logger

# Filter by custom device name
bthome-logger --filter ESP32
bthome-logger -f MyDevice

# Show all BLE advertisements (verbose mode)
bthome-logger --verbose
bthome-logger -v

# Show version
bthome-logger --version

# Show help
bthome-logger --help

Features

  • ✅ Scans for BLE devices with customizable name filter
  • ✅ Detects BThome v2 Company ID (0xFCD2)
  • ✅ Decodes all common BThome Object IDs
  • ✅ Colorized terminal output for better readability
  • ✅ Shows RSSI values with color coding
  • ✅ Real-time updates on new advertisements
  • ✅ Supports encrypted and unencrypted packets
  • ✅ Optional verbose mode to show all BLE advertisements
  • ✅ CLI with --help and --version support

Output Example

======================================================================
🔵 BThome Logger - Python Edition
Scans for BLE devices with BThome v2 protocol
======================================================================

Filter: Devices with 'MAKE' in name
Press Ctrl+C to exit

✓ Scanner started...

----------------------------------------------------------------------
[14:32:45.123] 📱 MAKE-ESP32-S3-TS (XX:XX:XX:XX:XX:XX)
  RSSI: -65 dBm
  Raw: 40 02 b6 10
  BThome: v2 (unencrypted)
  Values:
    • Temperature: 42.78 °C

Troubleshooting

Problem: bleak cannot be installed

Solution: Make sure you are using Python 3.8+:

python --version

Problem: No Bluetooth permissions

Solution (Linux):

# Add user to bluetooth group
sudo usermod -a -G bluetooth $USER

Log out and back in, or run newgrp bluetooth (only affects current terminal).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bthome_logger-0.0.9.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bthome_logger-0.0.9-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file bthome_logger-0.0.9.tar.gz.

File metadata

  • Download URL: bthome_logger-0.0.9.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bthome_logger-0.0.9.tar.gz
Algorithm Hash digest
SHA256 c3113a5e4444d1a8ab690c02ab630d36c36ef18e8de7d695a071334e1df4c4d7
MD5 e69bd7be42bfc14ffb8b88a5c444e8a2
BLAKE2b-256 74495ae61ae95a0a1d65932c1e3dd9c1d08d91e76948b6249a0bcf169b99883a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bthome_logger-0.0.9.tar.gz:

Publisher: pypi-publish.yml on the78mole/bthomev2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bthome_logger-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: bthome_logger-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bthome_logger-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d7cfe00cb7089faa43014df48e39580e1d61b08cae5d529d853ce1f4b0f9fff1
MD5 ac36bb9f54fd886def72daae12d7e1a0
BLAKE2b-256 ac7d073146d1f796efe886372cd7cbbfe56aa0eebbae1b4ba56d227f98825570

See more details on using hashes here.

Provenance

The following attestation bundles were made for bthome_logger-0.0.9-py3-none-any.whl:

Publisher: pypi-publish.yml on the78mole/bthomev2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page