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.