Aqara TVOC air quality monitor

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).

Guys after the latest updates in Home Assistant my Aqara does this suddenly…

Anyone has any clue?
I am with ZHA and a Sonof ZHA Bridge flashed with Tasmota

Edit: never mind, the problem was the batteries even if they was saying 90%. I changed them and all is fine now.

I’ve just had my tvoc delivered.
I’ve added it to my m2 hub as per all other zigbee devices and this is connected to HA via matter,
However the tvoc will not show in the matter integration.
All other devices added to the hub will auto discover.

Came here looking how to change the sensors display from C to F and didn’t see anyone answer it but I did figure it out.
Once connected if you go to “Manage zigbee device” then TVOCCluster and hit “read attribute”.
You should get “TVOCDisplayUnit.ppb_celsius”.
Simply retype it “TVOCDisplayUnit.ppb_fahrenheit” and hit write attribute.
For mine it took a few tries when writing for it to take, sensor might be going to sleep to save battery.
Seems to help to press the reset button once before clicking write.

5 Likes

WOW, that was easy! :open_mouth:

For years now I had just assumed that if I really wanted to see values on the E Ink display, then I would have to:

  1. Purchase an Aqara Hub
  2. Create an account
  3. Download and login to the Aqara app
  4. Then, make this change.

Thanks to your post, my life just got a tad easier.

Thank you!

This also worked for me. I just had to press and hold the button after hitting write, and it took on the first try. I’ve had this device for a long time now, and it is finally useful!

More information here, for reference:

Hi All,

I thought I had this working great but today I am seeing WILD swings in reported VOC which don’t seem to make sense.

image

Any tips on how to increase the reliability of the VOC data?