# Welcome to INKBIRD BLE documentation!

Installation & Usage

- Installation
- Usage
  - Passive devices (advertisement only)
  - Active devices (connect, read or subscribe)
  - Building a `BluetoothServiceInfoBleak` outside Home Assistant
- Supported devices
  - Transport guide
  - Not supported

Project Info

- CHANGELOG
  - v0.16.2 (2025-05-21)
  - v0.16.1 (2025-05-01)
  - v0.16.0 (2025-05-01)
  - v0.15.0 (2025-04-30)
  - v0.14.1 (2025-04-28)
  - v0.14.0 (2025-04-27)
  - v0.13.0 (2025-04-14)
  - v0.12.0 (2025-04-13)
  - v0.11.0 (2025-04-13)
  - v0.10.1 (2025-04-05)
  - v0.10.0 (2025-04-05)
  - v0.9.0 (2025-03-11)
  - v0.8.0 (2025-03-10)
  - v0.7.1 (2025-03-01)
  - Updates `python-semantic-release/python-semantic-release` from 9.20.0 to 9.21.0 - Release notes - Changelog
  - v0.7.0 (2025-02-20)
  - v0.6.0 (2025-02-20)
  - v0.5.8 (2024-07-03)
  - v0.5.7 (2024-07-03)
  - v0.5.6 (2023-02-06)
  - v0.5.5 (2022-08-14)
  - v0.5.4 (2022-08-14)
  - v0.5.3 (2022-08-14)
  - v0.5.2 (2022-08-08)
  - v0.5.1 (2022-07-21)
  - v0.5.0 (2022-07-21)
  - v0.4.0 (2022-07-20)
  - v0.3.2 (2022-07-20)
  - v0.3.1 (2022-07-20)
  - v0.3.0 (2022-07-19)
  - v0.2.4 (2022-07-19)
  - v0.2.3 (2022-07-19)
  - v0.2.2 (2022-07-19)
  - v0.2.1 (2022-07-19)
  - v0.2.0 (2022-07-19)
  - v0.1.0 (2022-07-19)
- Contributing
  - Types of Contributions
  - Get Started!
  - Pull Request Guidelines
  - Tips
  - Making a new release

# INKBIRD BLE

Parser for INKBIRD BLE devices

## Installation

Install this via pip (or your favourite package manager):

`pip install inkbird-ble`

## Usage

`inkbird-ble` parses the BLE advertisements (and, for some models, GATT reads/notifications) emitted by INKBIRD devices into structured sensor values.

Most sensors broadcast their readings, so passive parsing needs no connection:

    from inkbird_ble import INKBIRDBluetoothDeviceData

    # `service_info` is a habluetooth `BluetoothServiceInfoBleak`
    data = INKBIRDBluetoothDeviceData()
    if data.supported(service_info):
        update = data.update(service_info)
        for device_key, value in update.entity_values.items():
            print(device_key.key, value.native_value)
        # temperature 20.44
        # humidity 48.07
        # battery 86

A few models must be polled (`async_poll`) or subscribed to (`async_start`) over a connection. See the usage documentation for the active device flow and for building a `service_info` outside Home Assistant.

## Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

## Credits

This package was created with Cookiecutter and the browniebroke/cookiecutter-pypackage project template.