Thingsee Air Quality Profile (24)

Carbon Dioxide level info (24100)

Returns the latest measurement value.

{
  "carbonDioxide"  : Number,
  "status"         : Number
}

carbonDioxide is Carbon Dioxide (CO2) level as parts per million (ppm).
status returns status information of the measurement. -1 = measurement failed, 0 = ok, 1 = auto-calibrated, 2 = auto-calibration failed.

Example

{
  "carbonDioxide" : 538,  // 538 ppm
  "status"        : 1,    // Auto-calibrated during this measurement
}

Total Volatile Organic Compounds (TVOC) level info (24101)

Returns the latest measurement value.

{
  "tvoc"      : Number
}

tvoc is TVOC level as parts per billion (ppb).

Example

{
  "tvoc" : 72,  // 72 ppb
}

Carbon Dioxide configure (24200)

This message can be used to remotely configure Carbon Dioxide (CO2) sensor behaviour and how it reports sensor values.

{
  "transactionId"           : Number,
  "averaging"               : Number,
  "rounding"                : Number,
  "samples"                 : Number,
  "staticFilter"            : Number,
  "dynamicFilter"           : Number,
  "autoCalibration"         : Number,
  "calibrationValue"        : Number,
  "pressureCompensate"      : Number,
  "carbonDioxideHysteresis" : Number
}

Optional fields:

  • transactionId is an integer value in range 0 to 2147483647. Transaction ID is reported back as is.

Configuration fields:

  • averaging is an integer value in range 1 to 10. Value indicates how many previous measurements should be averaged together for the returned value. (default: 1)
  • rounding is an integer value in range 1 to 1000. For example if the threshold is 10, the measured values are rounded down to nearest 10. (default: 1)
  • samples is an integer value in range 1 to 32. How many samples the sensor takes during a measurement. Higher value decreases noise in measured values but increases power consumption. (default: 8)
  • staticFilter is an integer value in range 0 to 10. 0 disables Static IIR, 2 to 10 enables filter and sets filter parameter. The IIR filter suppress noise in CO2 measurements but will cause additional lag in sensor response times. (default: 2)
  • dynamicFilter is an integer value. Value 0 disables the IIR and anything above enables it. The Dynamic IIR decreases the lag caused by the Static IIR to response times. Dynamic IIR requires Static IIR to be enabled. (default: 1)
  • autoCalibration is an integer value in range 0 to 65535. It sets CO2 sensor auto-calibration interval as hours. The auto-calibration will automatically calibrate the sensor using the lowest detected CO2 value during auto calibration interval. The auto-calibration interval should be set so that the sensor is exposed to fresh air at some point during the interval or the auto-calibration will not work correctly. (default: 192)
  • calibrationValue is an integer value in range 0 to 65535. It sets CO2 sensor auto-calibration target ppm. (default: 400)
  • pressureCompensate is an integer value. Value 0 disables pressure compensation and anything above enables it. (default: 1)
  • carbonDioxideHysteresis is absolute reporting threshold as ppm for CO2. (default: 10)

If any configuration field is omitted from configuration message, device reports back current setting.

A sensor application must reply with the same message (applied configuration values) with an tsmEv : 31.

Example request to read current configuration

[{
  "tsmId"                 : 24200,           //ID of message content
  "tsmEv"                 : 30,              //config request
  "tsmDstTuid"            : "TSARXXSERIAL1", //destination thing
  "transactionId"         : 2147
}]

Example request to change carbon dioxide hysteresis

[{
  "tsmId"                   : 24200,           //ID of message content
  "tsmEv"                   : 30,              //config request
  "tsmDstTuid"              : "TSARXXSERIAL1", //destination thing
  "transactionId"           : 2147,
  "carbonDioxideHysteresis" : 5
}]

Example response

[{
  "tsmId"                   : 24200,           //ID of message content
  "tsmEv"                   : 31,              //config update response
  "tsmTs"                   : 1492604004,      //message timestamp
  "tsmTuid"                 : "TSARXXSERIAL1", //originating thing
  "transactionId"           : 2147,
  "averaging"               : 1,
  "rounding"                : 1,
  "samples"                 : 8,
  "staticFilter"            : 2,
  "dynamicFilter"           : 1,
  "autoCalibration"         : 192,
  "calibrationValue"        : 400,
  "pressureCompensate"      : 1,
  "carbonDioxideHysteresis" : 5,

}]

Carbon Dioxide manual calibrate (24201)

This message can be used to tell the Carbon Dioxide (CO2) sensor the current CO2 concentration which it should use to calibrate itself. The sensor will adjust all following output values according to the set value. This is an instantaneous calibration which will reset the auto-calibration counter. When the auto-calibration happens it will use its own background concentration value to calibrate the sensor and this calibration is no longer in effect.

{
  "transactionId"    : Number,
  "calibrationValue" : Number,
}

Optional fields:

  • transactionId is an integer value in range 0 to 2147483647. Response message contains the same transactionId.

Configuration fields:

  • calibrationValue is an integer value in range 1 to 65535. It calibrates the CO2 with known CO2 concentration.

Example response

[{
  "tsmId"             : 24201,            //ID of message content
  "tsmEv"             : 31,               //config update response
  "tsmTs"             : 1492604004,       //message timestamp
  "tsmTuid"           : "TSARXXSERIAL1",  //originating thing
  "transactionId"     : 123499,           //same as in the request
  "calibrationValue"  : 500,              //sensor was calibrated to this ppm
}]

TVOC configure (24202)

This message can be used to remotely configure TVOC sensor behaviour and how it reports sensor values.

{
  "transactionId"           : Number,
  "tvocHysteresis"          : Number,
  "averaging"               : Number
}

Optional fields:

  • transactionId is an integer value in range 0 to 2147483647. Transaction ID is reported back as is.

Configuration fields:

  • tvocHysteresis is absolute reporting threshold as ppb for TVOC. (default: 30)
  • averaging is an integer value in range 1 to 10. Value indicates how many previous measurements should be averaged together for the returned value. (default: 3)

If any configuration field is omitted from configuration message, device reports back current setting.

A sensor application must reply with the same message (applied configuration values) with an tsmEv : 31.

Example request to read current configuration

[{
  "tsmId"                 : 24202,           //ID of message content
  "tsmEv"                 : 30,              //config request
  "tsmDstTuid"            : "TSARXXSERIAL1", //destination thing
  "transactionId"         : 2147
}]

Example request to change TVOC hysteresis

[{
  "tsmId"                   : 24202,           //ID of message content
  "tsmEv"                   : 30,              //config request
  "tsmDstTuid"              : "TSARXXSERIAL1", //destination thing
  "transactionId"           : 2147,
  "tvocHysteresis"          : 5
}]

Example response

[{
  "tsmId"                   : 24202,           //ID of message content
  "tsmEv"                   : 31,              //config update response
  "tsmTs"                   : 1492604004,      //message timestamp
  "tsmTuid"                 : "TSARXXSERIAL1", //originating thing
  "transactionId"           : 2147,
  "tvocHysteresis"          : 5,
}]

Carbon Dioxide read hardware component versions (24500)

Device sends this to indicate the firmware version and sensor id of the CO2 sensor.

{
  "tsmDstTuid"   : "TSARXXSERIAL1",
  "tsmId"        : 1101,
  "tsmEv"        : 32,
  "requestTsmId" : 24500
}

Example response

[{
  "tsmId"        : 24500,            //ID of message content
  "tsmEv"        : 33,               //firmware information response
  "tsmTs"        : 1492604004,       //message timestamp
  "tsmTuid"      : "TSARXXSERIAL1",  //originating thing
  "swVersion"    : 256,              //sensor fw version
  "hwid"         : 52477822,         //sensor id
}]

TVOC Reset (24501)

Resets the current baseline from the TVOC and starts a new preheat which searches for new baseline. The TVOC preheating has large current consumption so this command should be issued with care.

{
  "tsmDstTuid": "TSARXXSERIAL1",
  "tsmId": 1101,
  "tsmEv": 32,
  "requestTsmId": 24501
}

Example response

[{
  "tsmId"        : 24501,            //ID of message content
  "tsmEv"        : 33,               //firmware information response
  "tsmTs"        : 1492604004,       //message timestamp
  "tsmTuid"      : "TSARXXSERIAL1"   //originating thing
}]