Help reading data from an Inkbird/Tempwise BG-BT1W bluetooth thermometer

Hi guys,

I’ve got an Inkbird/Tempwise BG-BT1W bluetooth meat thermometer

and I was wondering if someone could please help me use ESPHome to extract the data from it please?

I’ve got ESPHome running for some other devices but these devices have been decoded already so it was easy to implement.

Here’s the info from nRF Connect:

nRF Connect, 2025-01-28
BG-BT1W (FF:67:1E:92:F1:0B)
I	14:28:34.762	[Server] Server started
V	14:28:34.765	Heart Rate (0x180D)
- Heart Rate Measurement [N] (0x2A37)
   Client Characteristic Configuration (0x2902)
- Body Sensor Location [R] (0x2A38)
- Heart Rate Control Point [W] (0x2A39)
Unknown Service (0000aaa0-0000-1000-8000-aabbccddeeff)
- Unknown Characteristic [N R] (0000aaa1-0000-1000-8000-aabbccddeeff)
   Client Characteristic Configuration (0x2902)
   Unknown Descriptor (0000aab0-0000-1000-8000-aabbccddeeff)
   Characteristic User Description (0x2901)
   Characteristic Presentation Format (0x2904)
- Unknown Characteristic [I W WNR] (0000aaa2-0000-1000-8000-aabbccddeeff)
   Client Characteristic Configuration (0x2902)
User Data (0x181C)
- First Name [R W] (0x2A8A)
- Last Name [R W] (0x2A90)
- Gender [R W] (0x2A8C)
V	14:28:34.972	Connecting to FF:67:1E:92:F1:0B...
D	14:28:34.972	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D	14:28:35.555	[Server callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I	14:28:35.555	[Server] Device with address FF:67:1E:92:F1:0B connected
D	14:28:35.603	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I	14:28:35.603	Connected to FF:67:1E:92:F1:0B
V	14:28:35.606	Discovering services...
D	14:28:35.606	gatt.discoverServices()
I	14:28:35.825	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D	14:28:35.991	[Callback] Services discovered with status: 0
I	14:28:35.991	Services discovered
V	14:28:35.995	Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
Device Information (0x180A)
- System ID [R] (0x2A23)
- Hardware Revision String [R] (0x2A27)
- Software Revision String [R] (0x2A28)
- Manufacturer Name String [R] (0x2A29)
- PnP ID [R] (0x2A50)
Unknown Service (0000ff01-0000-1000-8000-00805f9b34fb)
- Unknown Characteristic [WNR] (0000ff02-0000-1000-8000-00805f9b34fb)
- Unknown Characteristic [N] (0000ff03-0000-1000-8000-00805f9b34fb)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W] (0000ff04-0000-1000-8000-00805f9b34fb)
D	14:28:35.996	gatt.setCharacteristicNotification(0000ff03-0000-1000-8000-00805f9b34fb, true)
I	14:28:36.062	Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 5000ms)
D	14:28:36.207	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
I	14:28:36.429	PHY updated (TX: LE 2M, RX: LE 2M)
I	14:28:36.430	[Server] PHY updated (TX: LE 2M, RX: LE 2M)
I	14:28:43.656	Connection parameters updated (interval: 150.0ms, latency: 6, timeout: 6000ms)
V	14:28:49.254	Reading PHY...
D	14:28:49.255	gatt.readPhy()
I	14:28:49.273	PHY read (TX: LE 2M, RX: LE 2M)
1 Like