theengs / decoder

Efficient, portable and lightweight library for Internet of Things payload decoding.
https://decoder.theengs.io
GNU General Public License v3.0
119 stars 39 forks source link

Add support for INKBIRD IAM-T1 Air Quality Monitor #413

Closed kiselio closed 9 months ago

kiselio commented 12 months ago

Hello,

I would like to help out in adding the new INKBIRD IAM-T1 air quality monitor. This is an e-ink, Bluetooth 5.0 device that requires an active connection for polling as far as I know.

A review of the device and the photos can be found here: https://smarthomescene.com/reviews/inkbird-e-ink-air-quality-sensor-iam-t1-review/

I own the device and managed to capture some data using the nRF Connect app on my phone, but I have no idea what any of the services mean and their characteristics.

I am open to anything that is needed and add this device:

Here are some screenshots: Screenshot_20230816_164048_nRF Connect Screenshot_20230814_155014_nRF Connect Screenshot_20230814_155020_nRF Connect Screenshot_20230814_155024_nRF Connect Screenshot_20230814_155029_nRF Connect Screenshot_20230814_155041_nRF Connect Screenshot_20230816_164040_nRF Connect

DigiH commented 12 months ago

Hi @kiselio

Theengs Decoder is currently only able to receive and decode freely broadcast Bluetooth advertisement data, but not through connecting to specific services/characteristics.

What do you see under the Advertisement Data, or with which project are you using Theengs Decoder, in which you could then also turn on showing advanced and advertisement data?

If it then becomes apparent that the INKBIRD IAM-T1 air quality monitor also advertises it's values by BLE broadcasts we can work together to see how they are encoded.

FYI - This is the advertising data we'd need, here obviously from a different device, along with the simultaneous air quality values the Inkbird app is showing.

image

ammaraskar commented 9 months ago

Just a heads up, I took a look at this and sadly the IAM-T1, at least by default, does not send its data over the advertisement data. The app pulls the data from a notify characteristic.

I contributed how to decode the characteristic with an ESPHome running on an ESP32 here: https://github.com/esphome/esphome-devices/pull/601

DigiH commented 9 months ago

Thanks for the info @ammaraskar!

As Decoder is only designed to use and decode advertisement data it currently won't be possible to include any decoder for the Inkbird IAM-T1.

If you find that through any setting there might be some useful advertisement data please let us know.