Concentration Measurements Cluster

This cluster delivers the concentration of the remote sensor, and the minimumum and maximum measured since last power on or reset.

This cluster can be used to manage different kind of concentration measurements. As an exemple,
for a CO2 sensor the unit may be 'ppm',
while for a VOC sensor the measurement is is only an Indoor Air Quality indicator usually  in range of 0(Best) to 500(Worst).

If a field of the payload starts with 0x, this means that it’s an hexadecimal representation, and if it starts with 0b, it is a binary representation. Any multi-byte numerical value is serialized in “Big Endian” order.

Measurement Attributes

The Measured Value reportable attribute contains last measured value data for CO2 or COV sensors. A readonly Unit attribute gives information about unit managed by current endpoint.

Measured Value


The Measured value information attribute set contains  the attribute representing the current concentration value measured by the device.

Notice that the Measured Value Attribute (0x0000) is the source of calculated attributes that keep currents Mean (0x0100), Minimal(0x0101) and Maximal(0x0102) values since startup or reset of the sensor. All these calculated attributes can be accessed the same way than the source one.

Standard report

Report

FeaturesFctrl CmdIDClusterIDAttributeIDAttribute typeDataComment
Report attributes0x11 or 0x31 or
...
0x0a0x800C0x00000x210xhhhh0xhhhh: Measured Value
Concentration unit may be "ppm", "IAQ",...

Configuration

FeaturesFctrl CmdIDClusterIDPayloadComment
Configure reporting0x11 or 0x31 or
...
0x060x800C0x00 0x0000 0x21
0xmmmm 0xMMMM
0xcccc
0x00: Reserved
0x0000: AttributeID
0x21: Attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xcccc: reportable change
Configure reporting response0x11 or 0x31 or
...
0x070x800C0xss 0x00 0x00000xss: status
0x00: Reserved
0x0000: AttributeID
Read reporting configuration0x11 or 0x31 or
...
0x080x800C0x00 0x00000x00: Reserved
0x0000: attributeID
Read reporting configuration response0x11 or 0x31 or
...
0x090x800C0xss 0x00 0x0000 0x21
0xmmmm 0xMMMM
0xcccc
0xss: status
0x00: Reserved
0x0000: AttributeID
0x21: Attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xcccc: reportable change

Read

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x0000Ask the current concentration indication
Read attribute response0x11 or 0x31 or
...
0x010x800C0x00000x00 0x210xhhhh0xhhhh: Measured Value
Concentration unit may be "ppm", "IAQ",...

Batch report

The Measured value sample type is "unsigned int U16", the corresponding number to use in br_uncompress type is 6.

Configuration

FeaturesFctrl CmdIDClusterIDPayloadComment
Configure reporting0x11 or 0x31 or
...
0x060x800C0x15 0x0000 0x00 0xmmmm 0xMMMM 0xdddd 0xrrrr 0xtt0x15: 0bsssssss is the size of configuration string after attributeID (obsssssss1 right shifted). The size here is 0x0A.
0x0000: AttributeID
0x00: the index of required field( the MeasuredValue attribute has got only one field 0)
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xdddd: required delta value (the size depends on the attribute data type)
0xrrrr: required resolution (the size depends on the attribute data type)
0xtt: the tag value
Configure reporting response0x11 or 0x31 or
...
0x070x800C0xss 0x01 0x00000xss: status
0x01: batch
0x0000: AttributeID
Read reporting configuration0x11 or 0x31 or
...
0x080x800C0x01 0x00000x01: batch
0x0000: AttributeID
Read reporting configuration response0x11 or 0x31 or
...
0x090x800C0xss 0x15 0x0000 0x00 0xmmmm 0xMMMM 0xdddd 0xrrrr 0xtt0xss: status
0x15: 0bsssssss is the size of configuration string after attributeID (obsssssss1 right shifted). The size here is 0x0A.
0x0000: AttributeID
0x00: the index of required field( the MeasuredValue attribute has got only one field 0)
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xdddd: required delta value (the size depends on the attribute data type)
0xrrrr: required resolution (the size depends on the attribute data type)
0xtt: the tag value

Unit


The unit(s) managed by the corresponding sensor.

Read

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x8004Ask the maximum value that the sensor is capable to measure
Read attribute response0x11 or 0x31 or
...
0x010x800C0x80040x00 0x200xuu0xuu: Possible concentration units:
0xFF: Unit is undefined
0x01: Parts per 10
0x02: Parts per 100
0x03: Parts per 1000
0x06: Parts per Million
0x09: Parts per Billion
0x0C: Parts par Trillion
0x0F: Parts par Quintillion
0x80: 0 to 500 Indicator (IAQ)

Statistic Attributes

These reportables attributes show the Minimal, Mean and Maximum values of CO2 or VOC sensor since sensor startup or last "Reset statistics" cluster specific command.

They can be read and reported in the same way than the "Measurement Attribute", by just changing the "Attribute ID" to the right one:

  • Mean : 0x0100
  • Minimum : 0x0101
  • Maximum : 0x0102

Concentration level classification Attributes

These attributes are used to manage "ranges" of air quality levels.

The Classification attribute  can be used to make specific reports on current classification levels (CO2 or COV).
Classification levels and HMI Display period attributes can also be used to settle classification level display on the sensor HMI For VAQAO sensors the HMI is made of the Leds.

The classification is done accross 6 different levels (5 thresholds), however the HMI display uses only 3 indications on current LED display, using RED and GREEN coding.
When HMI display is required on both CO2 and COV endpoints, the displayed is done according the current worst classification of both.

Following array summarize Classifications, default values and HMI display for CO2 and VOC.

Level Value level name CO2 VOC Leds blinks
0 EXCELLENT  < 550 < 50 GREEN
1 GOOD < 700 < 100 GREEN
2 AVERAGE < 1100 < 150 GREEN followed by  RED
3 BAD < 1300 < 200 GREEN followed by  RED
4 VERY BAD < 1700 < 300 RED
5 UNHEALTHY > > RED

Notes about level classification display: 

  • EXCELLENT/GOOD status is display at the HMI Display period attribute (Default 30s).
    AVERAGE and BAD are displayed at half the period (Default 15s).
    VERY and UNHEALTHY are displyed at about a quarter of the period (Default 7s).
  • The air quality display can be based on CO2 or COV or both of them, by configuring the two endpoints of concentrations attributes (COV: 1105800C802021xxxx and CO2: 3105800C802021xxxx). The min of both periods will be used.
  • The concentration level display can be removed (stopped) by setting the HMI Display period attribute to 0xFFFF, the downlink frames to send is should be 1105800C802021FFFF and/or 3105800C802021FFFF

Classification


The Classification attribute represent the current classification of current measured value.

Standard report

Report

FeaturesFctrl CmdIDClusterIDAttributeIDAttribute typeDataComment
Report attributes0x11 or 0x31 or
...
0x0A0x800C0x00010x200xcc0xcc: current classification level.
0 EXCELLENT
1 GOOD
2 AVERAGE
3 BAD
4 VERY BAD
5 UNHEALTHY

Configuration

FeaturesFctrl CmdIDClusterIDPayloadComment
Configure reporting0x11 or 0x31 or
...
0x060x800C0x00 0x0001 0x20 0xmmmm 0xMMMM 0xcc0x00 0x55: attributeID
0x20: attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xcc: 0x00: do not report on change/ 0x01: report on any change
Configure reporting response0x11 or 0x31 or
...
0x070x800C0xss 0x00 0x00010xss:status
Read reporting configuration0x11 or 0x31 or
...
0x080x800C0x00 0x00010x0001: attributeID
Read reporting configuration response0x11 or 0x31 or
...
0x090x800C0xss 0x00 0x0001 0x20 0xmmmm 0xMMMM 0xcc0xss:status
0x0001:attributeID
0x20: attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xcc: reportable change

Read

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x0001Requests the present value
Read attribute response0x11 or 0x31 or
...
0x010x800C0x00010x000x200xnn0xnn: Current classification level
(See report attributes)

Batch report

The Present value sample type is "Unsigned 8 bits integer", the corresponding number to use in br_uncompress type is 4.

Configuration

Feature Fctrl CmdIDClusterIDPayloadComment
Configure reporting0x11 or 0x31 or
...
0x060x800C0x11 0x0001 0x00 0xmmmm 0xMMMM 0xdd 0xrr 0xtt0x11: Batch(size+flag); 0bsssssss is the size of configuration string after attributeID (obsssssss1 right shifted). The size here is 0x08.
0x00 0x55: AttributeID
0x00: the index of required field
0xmmmm: minimum recorting interval
0xMMMM: maximum recorting interval
0xdd: the required delta value (the size depends on the attribute data type)
0xrr: the required resolution value (the size depends on the attribute data type)
0xtt:the tag value
Configure reporting response0x11 or 0x31 or
...
0x070x800C0xss 0x01 0x00010xss : status
0x01 : batch
Read reporting configuration0x11 or 0x31 or
...
0x080x800C0x01 0x00010x01: Batch
Read reporting configuration response0x11 or 0x31 or
...
0x090x800C0xss 0x11 0x0001 0x00 0xmmmm 0xMMMM 0xdd 0xrr 0xtt0xss : status
0x11: Batch(size+flag); 0bsssssss is the size of configuration string after attributeID (obsssssss1 right shifted). The size here is 0x08.
0x00: the index of required field
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0xdd: the required delta value (the size depends on the attribute data type)
0xrr: the required resolution value (the size depends on the attribute data type)
0xtt: the tag value

Classification levels


5 classification levels can be read or written with this attributes.

Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x8010Ask the current calibration coefficient
Read attribute response0x11 or 0x31 or
...
0x010x800C0x80100x00 0x410x0A 0xnnnn 0xmmmm 0xpppp 0xqqqq 0xrrrr0x0A: data length
0xnnnn: Excellent up to
0xmmmm: Good up to
0xpppp: Average up to
0xqqqq:Bad up to
0xrrrr:Very bad up to
Write attribute no response0x11 or 0x31 or
...
0x050x800C0x80100x410x0A 0xnnnn 0xmmmm 0xpppp 0xqqqq 0xrrrrSet the read attributes

HMI Display period


Display period measurement in seconds.

Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x8020Ask the minimal/normal concentration level defined for this sensor
Read attribute response0x11 or 0x31 or
...
0x010x800C0x80200x00 0x210xpppp0xpppp: HMI display period (Seconds)

0xFFFF : Not displayed (Leds off)
Write no response0x11 or 0x31 or
...
0x050x800C0x80200x210xpppp

Automatic Baseline Calibration (ABC) Attributes

These attributes are relevant only for the CO2 sensor of VAQAO and VAQAO++ products (Endpoint 0x31).
A continuous autocalibration of the CO2 sensor, based on ABC principles, is done according to a "minimal/normal" value of CO2 concentration that the device should "see" in a defined "Calibration period".

Most of the time these parameters should not be changed. However, in some specifics cases, user may have to change Min/Normal level and Calibration period.

Exemples:

  • The ABC should be unactivated by setting 0 in "Calibration period" attribut, if :
    • User is able to periodically (about once a year) recalibrate the sensor. (see Cluster commands)
    • The sensor installation place will never be exposed to a regular "Min/Normal level"
  • The "Min/Normal" could be changed, if:
    • Used above 2000m of altitude, then "Min/Normal" level could be decrease of about 70ppm from 410ppm to 350ppm
    • The CO2 concentration in the atmosphere continue to increase (Notice in 2019 about 415ppm mean)
  • The ABC could be trimmed using "Calibration period" and "Min/Normal level" attributes according to known specificities of the place where the sensor is installed.

Min/Normal level


Used for CO2 sensor Automatic Baseline Calibration.

Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x8008Ask the minimal/normal concentration level defined for this sensor
Read attribute response0x11 or 0x31 or
...
0x010x800C0x80080x00 0x210xhhhh0xhhhh: Minimal/Normal concentration level (ppm or IAQ)
Mainly used for CO2.
Typical outdoor value is between 400 and 420 ppm.
Write no response0x11 or 0x31 or
...
0x050x800C0x80080x210xhhhh

Calibration period


Used for CO2 sensor Automatic Baseline Calibration.

Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x800C0x8009Ask the minimal/normal concentration level defined for this sensor
Read attribute response0x11 or 0x31 or
...
0x010x800C0x80090x00 0x200xpp0xpp: Calibration period (Day)
Mainly used for CO2 ABC calibration:
0x00 : No Autocalibration
0x01 : 1 day
...
0xFF : 255 days
Write no response0x11 or 0x31 or
...
0x050x800C0x80090x200xpp

Cluster specific commands

Specific commands can be used to :

  • Reset current Min/Mean/Max statistics attributes.
  • Make different kind of CO2 calibration for a VAQAO sensor.
    These calibration commands should be used carefully with knowledge of concequences.
    A typical use case could be to settle the current calibration of the CO2 sensor according a reference measurement.

Cluster commands


FeaturesFctrl CmdIDClusterIDPayloadComment
Command: Reset statistics0x11...0x500x800C0x00Reset/restart MEAN|MIN|MAX calculations
Command: Calibrate with actual value
(Only for CO2 sensor ==> Endpoint 0x31 on VAQAO sensor)
0x310x500x800C0x01 0xpppp0xpppp: Actual measured CO2 concentration (ppm)
Command: Calibrate with actual and reported value
(Only for CO2 sensor ==> Endpoint 0x31 on VAQAO sensor)
0x310x500x800C0x02 0xpppp 0xqqqq0xpppp: Actual measured value
0xpppp: Corresponding reported value

The actual measured value should be a measurement made with a calibrated external CO2 meter.
Command: Calibrate with fresh air
(Only for CO2 sensor ==> Endpoint 0x31 on VAQAO sensor)
0x310x500x800C0x03Sensor will consider that measurement is done in "fresh air condition"
Print Friendly