Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Sensor]: Inkbird IAM-T1 #1371

Open
mariustt opened this issue Jun 30, 2024 · 1 comment
Open

[New Sensor]: Inkbird IAM-T1 #1371

mariustt opened this issue Jun 30, 2024 · 1 comment
Assignees
Labels
new sensor Request for a new sensor

Comments

@mariustt
Copy link

Sensor Description

Inkbird IAM-T1 Air Quality Meter, CO2 Meter, Temperature, Humidity, Air Pressure

Additional information

I think the following technical details may be useful - https://smarthomescene.com/reviews/inkbird-e-ink-air-quality-sensor-iam-t1-review/

ble_client:
  # INKBIRD IAM-T1 MAC Address
  - mac_address: 00:00:AA:00:00:AA #CHANGE MAC ADDRESS
    id: inkbird_iam_t1

sensor:
  # Temperature
  - platform: ble_client
    ble_client_id: inkbird_iam_t1
    name: "IAM-T1 Temperature"
    device_class: temperature
    icon: 'mdi:temperature-celsius'
    unit_of_measurement: '°C'
    accuracy_decimals: 1  
    service_uuid: 'ffe0'
    characteristic_uuid: 'ffe4'
    notify: true
    type: characteristic
    lambda: |-
      uint8_t is_negative = x[4] & 0xF;
      uint16_t temp = (x[5] << 8) | x[6];
      if (is_negative == 1) {
        return -((float)temp) / 10.0;
      } else {
        return ((float)temp) / 10.0;
      }
  # Humidity    
  - platform: ble_client
    ble_client_id: inkbird_iam_t1
    name: "IAM-T1 Humidity"
    device_class: humidity
    icon: 'mdi:water-percent'    
    unit_of_measurement: '%'
    accuracy_decimals: 1
    service_uuid: 'ffe0'
    characteristic_uuid: 'ffe4'
    notify: true
    type: characteristic
    lambda: |-
      uint16_t humidity = (x[7] << 8) | x[8];
      return ((float)humidity) / 10.0;
  # Carbon Dioxide CO2
  - platform: ble_client
    ble_client_id: inkbird_iam_t1
    name: "IAM-T1 CO2"
    device_class: carbon_dioxide
    icon: 'mdi:molecule-co2'    
    unit_of_measurement: 'ppm'
    accuracy_decimals: 0
    service_uuid: 'ffe0'
    characteristic_uuid: 'ffe4'
    notify: true
    type: characteristic
    lambda: |-
      uint16_t co2 = (x[9] << 8) | x[10];
      return (float)co2;
  # Air Pressure hPa    
  - platform: ble_client
    ble_client_id: inkbird_iam_t1
    name: "IAM-T1 Air Pressure"
    device_class: atmospheric_pressure
    unit_of_measurement: 'hPa'
    accuracy_decimals: 0
    icon: 'mdi:gauge'
    service_uuid: 'ffe0'
    characteristic_uuid: 'ffe4'
    notify: true
    type: characteristic
    lambda: |-
      uint16_t pressure = (x[11] << 8) | x[12];
      return (float)pressure;

Currently the device is successfully integrated using the above information, but it does create a bit of an inconvenience that entities are attached to the BLE proxy device itself as its entities. It would be very useful and convenient to have this device as a separate device.

BLE advertisements

2024-06-29 16:25:10.557 INFO (Thread-2) [custom_components.ble_monitor.ble_parser] Unknown advertisement received for mac: 62:00:A1:34:34:ADservice data: []manufacturer specific data: [b'\x12\xffT1IA-6200a13434ad']local name: UUID16: None,UUID128: None
@mariustt mariustt added the new sensor Request for a new sensor label Jun 30, 2024
@hosswald
Copy link

hosswald commented Oct 29, 2024

I started implementing it in Bluetooth-Devices/inkbird-ble#34 / Bluetooth-Devices/inkbird-ble#35 (the library used by HA for other natively supported Inkbird devices); the library however currently does not support GATT, that's why it's on hold for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new sensor Request for a new sensor
Projects
None yet
Development

No branches or pull requests

3 participants