Aqara TVOC air quality monitor

Hi, Did you find a way to match AQ levels based on µg/m³?

Just added one of these to my home and it has been reporting data to HA consistently for days (connected to a Conbee II and ZHA integration).

Only issue I’m seeing is that the air quality unit of measurement is wrong and scaled incorrectly. For example, when mine reports 75000000 µg/m³ in its HA state, the device itself shows 75 ppb (double tap the button on the top of the device to change between screens).


This Chemistry StackExchange post explains the conversion between these units and also mentions that “Note that all notations involving “part per something” are deprecated and should be avoided”

It seems that in HA the unit should be changed and scaled down to align with what the device reports. I’m not sure where the proper place to report this would be.


As for interpreting the levels, I’m not sure what numeric values correspond to the leaf icons displayed on the device’s main screen, but this Airthings post indicates that <250 is “low”, and anything above that could be cause for investigation.


I’ll also note that I’m displaying this data in my dashboard using mini-graph-card and the following config.

type: custom:mini-graph-card
name: Kitchen Air Quality
entities:
  - sensor.kitchen_air_voc
show:
  icon: false
points_per_hour: 2
value_factor: -6
unit: ppb
color_thresholds:
  - value: 500000000
    color: '#ff0000'
  - value: 250000000
    color: '#ffa500'
  - value: 0
    color: '#00ff00'

5 Likes

great post (from guessing a fellow Canadian - judging by your picture and name haha), with links, pics and info - much appreciated.
To confirm for others also - paired up just fine for me (no connection issues at all -running two weeks) and shows all 3 entities (just with the noted TVOC reading scale outta whack). Got er $12 CAD off so I’m a happy camper with this purchase.
Cheers!

1 Like

BTW the TVOC scale has been fixed in the development version on Github, so should come down through a stable version update in the near-ish future.

2 Likes

Beautiful, thanks for that - looking forward to it! - I saw a few ZHA updates coming in the 2021.12 :star_struck:

hello everyone!

I just bought and connected this Aqara device today.
I can see the entities for humidity, temperature and TVOC.
But values are not updating.
do I have to do anything to make it update more frequently?
FYI, I’m running the latest version of HA OS, everything at the latest version. Conbee2 and ZHA

/edit
humidity is updating often.
but temperature will only update after a reboot of home assistant.
and tvoc is not updating at all.

2 Likes

Thinking of getting and using with Conner ZHA. Will I be able to switch the display to Fahrenheit without Aqara app?

2 Likes

I am also wondering this. I don’t see any configuration options for the device.

1 Like

I am also very interested in using this device but the above reports and the Amazon reviews are not very promising. Anyone have an actual good experience to share with a working setup?

I’m using this sensor with Deconz for ~7 months now. Basically it works, though have tendency to stop updating HA with changed values once in a while (once evry two weeks?). Sensor show updated values on the screen, but does not send this to HA. Short press of the button on top instantly resolves this issue. Might be annoing in winter, as I use it as external sensor to TRV.
Using plane installation it is not possible to change C to F. You can reconfigure this in HA itself, but this will change unit of measure (and will recaltulate value) that HA uses internally, not what is displayed on the screen.

1 Like

One thing I noticed is that when reconfiguring the device, I get an error that the XiaomiAqaraE1Cluster did not configure properly, and the process fails. Perhaps if this worked there would be some configuration to change the temperature units? Any ideas for how to make this complete successfully? I have tried many times and always get the same result.

DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0A82:1:0xfcc0]: Failed to bind 'manufacturer_specific' cluster

When I first got the device, it didn’t want to update. I sprayed a plate with isopropyl alcohol and put the sensor over it to see if it worked at all… the VOC went through the roof - lol

I then blew into the sensor holes to clear it out a bit… and let it sit for a few hours to recover.

It is normally VERY slow to update, but seems to report faster if there are more changes (like when I put it over the isopropyl alcohol & blew into it). That might be changeable in the “Reporting” settings (of Zigbee2MQTT), to make it report after fewer changes. I’ve not tried changing anything in the “Reporting” tab yet, as I’m still quite new to Home Assistant & Zigbee2MQTT.

The TVOC sensor has the same “problem” that the Aqara P1 PIR sensor has, in that you need to re-pair the device first before it’ll accept ANY new settings for a few seconds afterwards. Tapping the button on top is supposed to do it… but never seems to work, so you gotta hold the button down to re-pair before changing any settings.

I cant tell you how the ZHA integration works, as I gave up on ZHA when I saw how many more things were available when connecting Zigbee devices via Zigbee2MQTT instead (OTA firmware updates, Reclaiming paired Philips Hue lights, forcing things on/off the network, extra settings, etc).

Here are some pictures of readings, settings, etc that the TVOC unit gives (under the Zigbee2MQTT plugin), so that you know what the TVOC unit exposes.

1 week (to show repeatability):

24 hours (to show update frequency):
The rise in VOC at night is due to the 3D printer running, I think

Other pages were you might find useful info to make your decision:
(from Zigbee2MQTT, so these will be different or missing in ZHA)

Hopefully these help show you what the sensor can do & what settings you can play with.

Bought 2 of these a few days ago to replace my basic Sonoff temperature sensors, as they have a screen.
I previously changed the temp reporting frequency of the Sonoffs to report .15 temp changes, and set the max rep interval to 300. Worked as expected.

BUT! For the life of me I couldn’t replicate this behavior with the Aqaras - the same change didn’t actually modify the reporting behavior…

I stubled upon the solution by crazy chance… When I was messing with the other selectable Clusters, I set the same values for genAnalogOutput (5, 300, 15) … AND YES. This finally made the device to report more often!

Thought I share :slight_smile:

Would you mind sharing how exactly one changes this cluster? I’m not familiar of the process :confused:

Unfortunately I returned my TVOCs as they report too sporadically to be used for controlling my heating… Switched to cheapo Mi Bluetooth temp sensors along with ESP32 BT proxies.

But you should be able to set clusters in Z2MQTT under the “Reporting” tab when you click on the device.

This is my first ever post on this platform, so I apologize for any improper terminology I may use.

I have the Aqara TVOC sensor currently included in my Home Assistant with no flaws. At first, I only had issues with it dropping off the network. On occasion, the e-ink screen wouldn’t update as quickly as it would in HA, though that seemed to resolve itself over time, and reporting to HA was nevertheless consistent. When the sensor would drop-off the networks, I would reintegrate it into the ZHA integration by telling the integration to search for new devices, then double-click followed by a triple-click of the Aqara button. This would immediately resume connection of the sensor into HA.

Recently, I found a correlation between rebooting HA and the sensor dropping from the network. I disabled weekly reboots of my system since updating to 2022.12.6 (I’m running the Raspberry Pi OS for HA and use the ZHA integration with the Nortek Z-wave+zigbee stick). Since updating and halting weekly reboots, the sensor has been stable for at least two weeks. As a side note, I have not had any “bogging down” of my HA instance since halting reboots. Coincidental win-win perhaps.

Unfortunately, I cannot validate it’s TVOC sensor accuracy. Assuming the sensor is usefully accurate, I would recommend the sensor and overall I am pleased with it.

Im using the TVOC with Conbee II connector in home assistant. anybody an idea how to configure settings like in zwave devices. i want to improve the reporting time as its now pretty slow.

Am running the sensor with 0029 firmware. Due to the fact the sensor reports “unknown” often I get intermittently broken graphs. Does anyone know how to fix this? Values do come in often enough…


Anyone facing the same issue as me whereby having too many of them causes some to drop off? i can never have more than 3 going online at once. 1 will definitely drop off.

Replying to my own message :slight_smile: managed to solve the problem by removing the custom_quirk and leveraging the OOB quirk (tvoc.TVOCMonitor2).