Supported devices

inkbird-ble recognises the following INKBIRD models. Each one is exposed as a member of the Model enum (importable from inkbird_ble); pass it to INKBIRDBluetoothDeviceData(...) when you know the model up front, otherwise the parser detects it from the first advertisement (passive devices) or you must supply it (notify-only devices).

Model

Family

Transport

Detection

Sensors

IBS-TH

Hygrometer

advertisement

local name sps

temperature, humidity, battery

IBS-TH2 / P01B

Hygrometer

advertisement

local name tps

temperature, humidity, battery

IBS-P02B

Pool / probe

advertisement only

local name ibs-p02b

temperature, battery

ITH-11-B

Hygrometer

advertisement

local name ith-11-b

temperature, humidity, battery

ITH-13-B

Hygrometer

advertisement

local name ith-13-b

temperature, humidity, battery

ITH-21-B

Hygrometer

advertisement

local name ith-21-b

temperature, humidity, battery

IAM-T1

Indoor air quality

GATT notify

manufacturer-data AC-6200 prefix

temperature, humidity, CO₂, atmospheric pressure

IAM-T2

Indoor air quality

advertisement

17-byte payload + MAC prefix

temperature, humidity, CO₂

IHT-2PB

3-probe thermometer

GATT notify

local name Ink@IHT-2PB#…

temperature × 3 probes

INT-11P-B

Connected BBQ probe

GATT poll

local name int-11p-b

probe temperature, ambient temperature, probe battery, case battery

iBBQ-1

BBQ probe (1 channel)

advertisement

name contains xbbq / ibbq

temperature × 1

iBBQ-2

BBQ probe (2 channel)

advertisement

name contains xbbq / ibbq

temperature × 2

iBBQ-4

BBQ probe (4 channel)

advertisement

name contains xbbq / ibbq

temperature × 4

iBBQ-6

BBQ probe (6 channel)

advertisement

name contains xbbq / ibbq

temperature × 6

Generic 18 byte model

Unknown hygrometer

advertisement

18-byte payload + service UUID

temperature, humidity, battery

Transport guide

  • advertisement — passive: feed every service_info to INKBIRDBluetoothDeviceData.update() and it returns a SensorUpdate. No connection is opened. The IBS-TH family, the eighteen-byte hygrometers and the iBBQ probes work this way; IAM-T2 is advertisement-only as well.

  • advertisement only — the device cannot be polled or notified safely (IBS-P02B wedges its firmware until a battery reset if you open a GATT connection, see issue #116). All fields are already in the broadcast.

  • GATT poll — the device exposes a readable characteristic; call async_poll(ble_device) when poll_needed() returns true. INT-11P-B carries no readings in its advertisement, so it must be polled.

  • GATT notify — the device pushes readings over a notify characteristic; call async_start(service_info, ble_device) to subscribe. IAM-T1 and IHT-2PB use this transport. IHT-2PB additionally requires two activation writes (handled transparently) before it starts streaming.

Not supported

A few INKBIRD product lines that come up in the issue tracker are out of scope for this library:

  • Sous-vide cookers (ISV-100W, ISV-100W 2.0, ISV-200W, ISV-300W, ISV-101W). These are Wi-Fi / Tuya devices, not BLE, so they cannot be parsed here.

If you have a device that looks like it should work but is not detected, open an issue with a BLE advertisement capture (e.g. from bluetoothctl or nrfConnect) so the model can be reverse-engineered.