The CCS811 is a digital gas sensor that measures indoor air quality by detecting Total Volatile Organic Compounds (TVOCs) and estimating equivalent CO2 (eCO2) levels. Key features include low-power consumption, fast response time, and an I²C interface for easy integration with microcontrollers.

⚠️ THIS FEATURE IS NOT AVAILABLE IN THE CC2530/CC2531 ROUTER FIRMWARE

CCS811 sensor with temperature and humidity from BME280 on one bus
CCS811 sensor with temperature and humidity from BME280 on one bus

The CCS811 sensor requires environmental temperature and humidity for better results. The example above shows that two I2C sensors are connected on the same bus. BMP280 provides the necessary data. It should be defined first (above) in the configuration. You could also use separate sensors for temperature and humidity in the same manner.

CCS811 sensor and BME280 on different pins
CCS811 sensor and BME280 on different pins

A home automation system can also send temperature and humidity instead of built-in sensors. You should send it as a single precision float in the analog input value cluster.

Analog value: 65NNN where NNN is a humidity value, for example, 65050 for 50%. Humidity range: 0 … 50.
Analog value: 64NNN where NNN is a temperature value, shifted by 25. For example, 64000 for -25C, 64025 for 0C, 64050 for 25C. Temperature range: -25 … 100.
Analog value: 0 .. 63999 – baseline value (see docs for CCS811).

write - set the baseline value.
Topic: zigbee2mqtt/[friedly_name]/set
Payload: {"[channel]": 123}
Channel: l1, l2, l3 … l16
write - set the temperature value 25C.
Topic: zigbee2mqtt/[friedly_name]/set
Payload: {"[channel]": 64050}
Channel: l1, l2, l3 … l16
write - set the humidity value 50%.
Topic: zigbee2mqtt/[friedly_name]/set
Payload: {"[channel]": 65050}
Channel: l1, l2, l3 … l16

There are no comments.

Leave a Reply