VAQA'O 2 sensor

Declaration of conformity


Download the declaration of conformity

Presentation


The VAQA'O2 sensor is a LoRaWAN class A sensor that manages two different power supplies: one is external and may range from 3V to 24V (), the other one is internal on 2 AA battery slots.Usually it is powered with 2 x 2600 mAh AA Lithium Batteries (supporting also Alkaline 1.5V).

VAQA'O2Lt can measure following environemental parameters: Temperature, Hygrometry, Carbon dioxyde*, measure permaently displacements of the sensor casing. While the full version VAQAO2 will also measure Volatil Organic Compound* and Atmospheric pressure.

*About CO2 and VOC/Air Quality Index

CO2 concentration is measured with a dedicated CO2 gaz sensor using NDIR technology. This measurement can be normative.
A separated MOX sensor embeded in some version of the sensor, is used to estimate an Air Quality Index. This AQI (or IAQ) is deduced from the measurement of the concentration of volatile organic compounds in the air. The compounds taken into account are numerous, such as formaldehydes, ethanol, acetone or others, coming from paints, cleaning products, solvents, alcohol, glues, etc and even CO2 itself.

The tVOC and IAQ measurement given by VAQAO2 come from a Renesas ZMOD4410 sensor.

Third-party report and certification from an independent research lab is available on the Renesas website that confirms the good conformity for IAQ measurements with respect to the UBA study and EPA standard. Following table gives Level of Indoor Air Quality Based on TVOC Levels Described by UBA”

Note about the "Indoor Air Quality" index: The sensor uses a "Relative IAQ" index of the MOX sensor". This index is suitable for "non-mobile" use of the sensor. The sensor gradually adapts to its environment, and the value read is "normally" between 0 and 500. However, it can make excursions, greater than 500, in the event of "significant/sudden" variations in the environment.

Family code

The family codes of  VAQA'O sensors are:

50-70-223-xxx :  VAQAO2Lt

Temperature, Hygrometry, CO2,
Displacement

50-70-217-xxx :  VAQAO2
... Available soon ...

Temperature, Hygrometry, CO2, COV,
Atmospheric pressure,
Displacement

Installation and operation


Installation

Manual and QuickStart guide are available in our download center.

The housing is intended to be installed inside a building and it must be protected from any water spray and must be used in environnement with less than 80% relative humidity. The product should not be installed in direct heat source (Heater, sunlight, ...) to avoid local heating effects that may alter a global estimation of environnemental parameters in the measured room. The product should be installed in a representative position in regard of the required environnemental parameters survey. IUsualy it should be installed beetween 1m50 and 2m50 from floor.

The product has 1 Green Led, 1 Red led, 1RGB led and two "reed switch" as human to machine interface.These elements should placed as shown below when installing the sensor.

To correctly install the sensor:

  • Open the product from the two clips at the botom using a small flat screw driver.
  • Use the base as a template and obtain horizontality using a level. Then hang the base on the wall using screws or double sided tape. Thanks to the very light weigth of the product you can use only two screws.
  • Once done you can clip back the front, containing electronic parts, on the base.
  • Please, DO NOT USE centered holes as they may interfer with the Batteries !

vaqao2-fxation

Once installed, the two leds are visible through the bottom vertical windows and the reed switches (ILS) can be actuated like simple buttons using a magnet.

Replacing batteries

Batteries should be replaced with lithium-thionyl-chloride (Li-SOCI2) LR6/AA of 2600mAh each (exemple: SAFT LS14500). Alkaline 1.5V batteries could also be used however the life expectancy will be reduced. The batteries can be replaced on the fly, one after each other, as each battery slot is protected against side overvoltage.

However  operator must carefully avoid any short circuit or electrostatic discharge during batery replacement.

Steps to replace batteries are :

  • Open the product from the two clips at the bottom using a small flat screw driver.
  • Use a plastic spludger to extract batteries from their slots and replace them with new ones.
    BEWARE that batteries must all be placed in the same direction. Notice the "+" sign on the PCB.
    Renew this operation for the 2 other batteries.
  • Once done you can clip back the front containing electronic parts, on the base starting from upper  side.

Batteries replacement principle

TODO: When ready insert technical drawing of battery replacement

Autonomy


The information in the table below represents how long the batteries can last. It is based on the default configuration at ambient temperature (+25°C) within the optimal operating range of the sensor via a LoRaWAN network (one uplink frame), when the spreading factor used is SF12.

Following estimations are given with default reporting configuration  and using two 2.6Ah capacity 3,6v AA Li-Ion batteries installed, of which 85% is used.
With the default configuration the sensor will record all significative measurements up to once each 10 minutes and at least once per hour. Then batch reports will be regularly send containning all these last measurements. It may contains several sample for any of the measured parameters (T, H, VOC, CO2, P, Lux...). Some specific reports/alarms may also be sent because of default configuration (case opening, moves, threshold crossing for CO2, VOC  ...). Due to all these possibly reported informations comsumption estimation is based on a périodic transmissions in range from 20 minutes to one hour.

Battery life expectancy :

Transmission periodicitySpreading factorVAQAO2LtVAQAO2
1 Frame / HourSF123,7 Years2,2 Years
3 Frames / HourSF122,6 Years1,7 Years
1 Frame / HourSF94,5 Years2,4 Years
3 Frames / HourSF94,2 Years2,3 Years

Human Machine Interface


Video Tutorials - nke WATTECO

Notice that VAQAO can give an indication about air quality on its "IAQ led", according to some tunable parameters. Please refer to "Concentration levels classification attributes" to learn more about that function.

Below are only the usual behavior for any nke Watteco sensors.

There are 1 reed switch (label ILS) and two LEDs to interract with the product:

GREEN LED : LoRaNetwork status, mainly working when sensor try to join a network.
RED LED : miror of "Reed switch" actuation, and working during configuration mode.

  • When unused the sensor should be set in storage mode (Deep sleep mode) to avoid battery consumption. By the way, notice that when sent from factory the sensor should always be in Storage mode. The table below describes the actions to be performed on the reed switch (label ILS) to disable or enable the storage mode.
    Action
    Magnet
    Switch ON
    (disable storage mode)
    1 second
    Switch OFF
    (enable storage mode)
    5 seconds
  • After Power on or Factory reset or Wakeup from storage mode the GREEN LED will blink until network could be joined.

association

  • During regular working mode, a configuration mode can be activated through one "user button" press (same as one pass of magnet on reed switch (ILS)), to enter the configuration mode.
    Consequently, "Void" frames are then sent every minute for 10 minutes allowing to probe uplink communication and send quickly downlink frames (configurations, requests, ...) to the class A sensor.

Standard reports are disabled during this configuration mode.

Configuration mode
Way to trigger itOne press on the USER button or specific ZCL command
Way to stop it Another press on the USER button or specific ZCL command
Effects on the sensorThe CONF led (red) blinks (3 sec. OFF, 3 sec. ON) and the sensor sends an uplink frame every minute. The blinking is illustrated below this table.
DurationThe configuration mode lasts 10 minutes when it is triggered by pressing the USER button

4

  • A reassociation procedure can be fired either manually (see table below) or automatically if no downlink frame is received by the sensor during a given periodicity (4 days by default) or if a given number (100 by default) is reached or in case of failure (no acknowledgement received) by sending an applicative frame to the sensor.

The sensor keeps the AppEUi and DevAddr configured, Confirmed/Unconfirmed configuration and all applicative configurations. However, LoRaWAN configurations (channel, data rate…) are lost.

ReAssociation Mode
Way to trigger itThree short presses on the USER button or ZCL command from LoRaWAN cluster.
Effects on the sensorThe ASSO LED (green) blinks as the “no commissioned sensor” LED is lit.
  • A factory reset, available on nke Watteco’s sensors, can be fired manually (see table below). It deletes all the applicative settings saved in the flash memory (i.e.: newly configured batches and reports will be replaced by the factory reporting configuration).

The sensor keeps the AppEUi and DevAddr configured. However, LoRaWAN configurations (channel, data rate…) and applicative configurations are lost.

Factory reset
Way to trigger itTwo short presses and one long press for approximately 7 seconds on the USER button.
Effects on the sensorThe CONF LED (red) and ASSO LED (green) blink at the same time briefly. All the applicative settings (for batches and reports) are deleted. The blinking is illustrated below this table.

5

Applicative layer


Codecs are available to decode frames: Downloads

All downlink frames have to be sent on port 125

Please, try and see also nkeWatteco Online codecs

The VAQA’O device implements many applicative clusters associated to different sensors entries. The associations beetween measurment functionnalities and EndPoints/Clusters are shown below:

ClusterCluster nameEndPoint: RôleProductManaged attributes
0x0402TemperatureEP0 (0x11): Accuracy +/- 0,5°C [1/100 °C] AllAll
EP1 (0x31): Accuracy +/-0,2°C [1/100 °C] AllAll
0x405HumidityEP0 (0x11): Accuracy +/-3% [1/100 %RH] AllAll
EP1 (0x31): Accuracy +/-2% [1/100 %RH] AllAll
0x800CConcentrationEP0 (0x11): VOC [IAQ]AllAll, Except calibration attributes and commands
EP1 (0x31): CO2 [ppm]AllAll
0x000FBinary inputEP0 (0x11): Open case status [Casing, 1: Opened, 0: Closed]AllAll
0x0406OccupancyEP0 (0x11): Current PIR sensor status [1: Occupied, 0: Not occupied]VAQA'O+PlusAll
0x0400IlluminanceEP0 (0x11): Illuminance measurement [Lux]VAQA'O+PlusAll
0x000CAnalogInput (Vertical angle displacement)EP0 (0x11): Angle displacement of casing [°]VAQA'O+PlusAll
0x0403Pressure (Ambiant atmospheric)EP0 (0x11): Ambiant atmospheric pressure [1/10 mBar or hPa]VAQA'O+PlusAll
0x0000BasicEP0 (0x11): Sensor firmware and hardware informationsAllAll
0x0050ConfigurationEP0 (0x11): Sensor global configuration parameters and commandsAllAll
0x8004LoRaWANEP0 (0x11): Sensor LoRaWAN parameters managementAllAll

Default configuration

VAQA'O2 sensors have got a default, Batch and Standard, configuration, that manages all embeded measurements through a periodic reporting of up to 2 frames per hour. This default configuration can be summerized as follow :

The "Batch" configuration

It records environnemental parameters with a 10 minutes max time sampling and sends them once or twice per hour:

On VAQAO2Lt :

  • Temperature with a resolution of 0.1°C
  • Humidity with a resolution of 1%
  • CO2 in a range of 0 to 5000 ppm, with a resolution of 10 pmm

On VAQAO2, following parameters are also recorded :

  • COV in a range of 0 to 500 Air Quality indicator, with a resolution of 10
    The value should be coerced between 0 and 500 in regular indoor usage. It can exceptionnaly has greater values on unsual environmental events.
  • Atmospheric pressure with a resolution of 1hPa (mb)

The "Standard" configuration

It monitors critical events on environnemental parameters

  • An report on case moving (violation)
  • An alarm/report on power supply lowring down to 2,9v and once each 5 days
  • An alarm on concentration of CO2 if 1500 ppm is crossed

On VAQAO2, following alarms can also occur :

  • An alarm on concentration of COV if 300 IAQ index is crossed
  • A report each time the global orientation of the sensor changes of more than 10°

Any of these configurations can be removed or modified, and some different ones can be set.  However, every change made to the default configuration must comply with the legal duty cycle. For example, the most restrictive in the EU is 0.1%, corresponds to approximately 2 frames per hour with the most constrained Spreading Factor : SF12.

Detailed default configurations

VAQA'O2Lt

# . Passage en mode "NON confirme"
08 11 05 8004 0000 08 00
#
# . CO2 Configuration
# Set Autocalibration period to 5 days and UNACTIVATED by default
08 31 05 800C 8009 20 05
# Since VAQAO V2. A bit can activate(01)/inactivate(00). [and (02) for only under min ABC (Do not use, test only)
# Used to activated or deactivated by downlink or HMI without loosing clibration period.
# Note: Calibration period must also be != 0, to validate activation
08 31 05 800C 800A 20 00
# Set normal min concentration value: 430ppm (0x01AE)
09 31 05 800C 8008 21 01AE
# Set number of oversampling points to 5 (Mainly for CM1106NS sensor) (Effective used number is coerced in 1 to 32)
08 31 05 800C 8011 20 05
#
# . IHM LED ON CO2 ONLY
09 11 05 800C 8020 21 FFFF
09 31 05 800C 8020 21 001E
#
# . IHM BUZZER ON CO2 ONLY :
# COV: Off
09 11 05 800C 8031 21 FFFF
08 11 05 800C 8033 20 FF
08 11 05 800C 8034 20 FF
# CO2: Alarm period=30s; Alarm pause period = (24 * 60) mn; Thresh High/Low UNHEALTHY/VERY_BAD
09 31 05 800C 8031 21 001E
09 31 05 800C 8032 21 05A0
08 31 05 800C 8033 20 05
08 31 05 800C 8034 20 04
#
# LIS2DE TAP detection (Think about devopt LIS2DE et TAP bit activation (cf InfoMem.7010xxxVyy))
# 92mg (005C), 128mg (0080), 256mg (0100), 512mg (0200)
09 11 05 000c 8003 21 0200
#
# . Effacement des configurations (Batch et Standard)
06 11 50 0050 02 03
#
# ----------------------- CONFIGURE ACTIONS -------------------------
#
# ACTION 0: Starts a Fresh air calibration
0D 11 05 0050 FF00 41 05 11 50 800C 03
#
# ------------------------ STANDARD REPORTS -------------------------
# . POWERDESC [mV] # . Periodic MAX = 1 J => 1440mn => x85A0; MIN = 10mn => 0x800A
# . Length of remaining payload (for 0x41 type ): 0x08
# . ALARM on power treshold : 2,9v (hyst 100mV)
# RP : NewCfg/Reserved/ShortCause/SecuredIfAlarm/AllNotSecured/HeaderKept/NotBatch : b 1 0 01 1 0 0 0 ==> x98
# CSD : IsAlarm/OnExceed/OnFall/Threshold/Slot0 : b 1 1 1 10 000 ==> xF0
# Disposable battery field index : 0x04
# THRS: 2900 : 0x0B54; HYST: 100 mV : 0x0064
# OCC : 2
14 11 06 0050 98 0006 41 800A 85A0 07 F0 04 0B54 0064 02
#
# . VIOLATION (Effraction based on sensor displacement) ([Binary state 0/1] # . Configure POLLING PERIOD based on REPORT CONFIGURATION (0xFFFF)
09 11 05 000F 0403 21 FFFF
# . Box openning and closing
# Min 10s => 0x000A, Max max, Delta=1
0D 11 06 000F 00 0055 10 000A FFFF 01
#
# . CO2 CONCENTRATION [ppm] # STANDARD REPORT:
# . Periodic MAX = Inf => xFFFF; MIN = 10mn => 0x800A
# . ALARM on treshold HIGH: 1500; hyst 100
# RP : NewCfg/Reserved/ShortCause/SecuredIfAlarm/AllNotSecured/HeaderKept/NotBatch : b 1 0 01 1 0 0 0 ==> x98
# CSD : IsAlarm/OnExceed/OnFall/Threshold/Slot0 : b 1 1 1 10 000 ==> xF0
# THRS: 1500 : 0x05DC; HYST: 100 : 0x0064
# OCC : 2
12 31 06 800C 98 0000 21 800A FFFF F0 05DC 0064 02
#
# Force a fresh air calibration if concentration is under Normal min concentration value (This is a test process
# . Periodic MAX = Inf => xFFFF; MIN = 10mn => 0x800A
# . ALARM on treshold LOW:
# Fresh air band is : 430 +/-65 (based on error specification/and experiment of sensor: 40 + (5*430/100))
# Try to go back to correct fresh air if : reading is < 430 - 65, ie: 365 => Set a threshold at 360 +/- 5
# RP : NewCfg/Reserved/ShortCause/SecuredIfAlarm/AllNotSecured/HeaderKept/NotBatch : b 1 0 01 1 0 0 0 ==> x98
# CSD : IsAlarm/OnExceed/OnFall/ThresholdWithAction/Slot1 : b 1 0 1 11 001 ==> xB9
# THRS: 360 : 0x0168; HYST: 5 : 0x0005
# OCC : 2
# ACTION: (Without report b1 / taille 2 b000 0010) (82) / Fresh air calibration (0000)
15 31 06 800C 98 0000 21 800A FFFF B9 0168 0005 02 82 0000
#
# Report CALIBRATION STATUS, on calibration ended
# . Periodic MAX = Inf => xFFFF; MIN = 10s => 0x000A
# . DELTA on treshold LOW: 430; hyst 50
# RP : NewCfg/Reserved/ShortCause/SecuredIfAlarm/AllNotSecured/HeaderKept/NotBatch : b 1 0 01 1 0 0 0 ==> x98
# CSD : IsAlarm/OnExceed/NotOnFall/Delta/Slot0 : b 1 1 0 01 000 ==> 0xC8
# DELTA : EndClockS field (1) changed : 0x00000001
# OCC : 1
13 31 06 800C 98 8000 41 000A FFFF 06 C8 01 00000001
#
# ------------------------- BATCH REPORT ---------------------------------------
# . TEMPERATURE (SHTC3)
# Min 10mn => 0x800A, Max 1h, Delta=0.1degC, resol=0.1degC, Tag Label 1, Tag Size 3, Type I16 7
11 31 06 0402 15 0000 00 800A 803C 000A 000A 0B
# . HYGROMETRY (SHTC3)
# Min 10mn => 0x800A, Max 1h, Delta=1%, resol=1%, Tag Label 2, Tag Size 3, Type U16 6
11 31 06 0405 15 0000 00 800A 803C 0064 0064 13
# . CO2 CONCENTRATION (CM1106NS)
# Min 10mn => 0x800A, Max 1h, Delta=10ppm,resol=10, Tag Label 3, Tag Size 3, Type U16 6
11 31 06 800C 15 0000 00 800A 803C 000A 000A 1B

Alternate 'No Batch' configuration (From Software r5365)

From this revision VAQA'O sensors has got an alternate default configuration that can be activated instead of default one.In this alternate configuration Batch is not used. Beware that this configuration is more verbose on radio, and will drain battery faster.

Following configuration commands can be used to swap beetween default configuration and alternate one:

  • Set 'No Batch' default configuration: 11500050F101
  • Set Back default configuration : 11500050F100

Detailed alternate 'No batch' configurations

VAQA'O2Lt Alternate 'No batch' configuration

# All report unconfirmed
08 11 05 8004 0000 08 00
#
# Remove current reports configuration (Standard and batchs)
06 11 50 0050 02 03
#
# T: 30mn or variation of 0.4degC, no more than once per minute
0F 31 06 0402 80 0000 29 8001 801E 48 0028
#
# RH: 30mn or variation of 4%, no more than onceper minute
0F 31 06 0405 80 0000 21 8001 801E 48 0190
#
# VBATT: 24 h ou or variation of 0.5V, no more than once per minute
12 11 06 0050 00 0006 41 800a 85a0 05 00 04 01f4 00
#
# VIOLATION: 24 h or changing, no more than once per minute
0D 11 06 000f 00 0055 10 8001 85a0 01
#
# CO2: Periodic report + calibration under normal min level
# 1h ou ar variation of100ppm, no more than once per 10 minutes secured to avoid missed data
0F 31 06 800c 84 0000 21 800a 803c 48 0064
# Force a fresh air calibration if concentration is under Normal min concentration value (see parameters in default CFG 0)
15 31 06 800C 98 0000 21 800A FFFF B9 0168 0005 02 82 0000
# Report CALIBRATION STATUS, on calibration ended (see parameters in default CFG 0)
13 31 06 800C 98 8000 41 000A FFFF 06 C8 01 00000001

Received frame examples

Codecs are available to decode frames: Downloads

Please, try and see also nkeWatteco Online codecs


Batch report

Typical VAQA'O2Lt batch report

Input uplink frame to decode:

303480878e3001a70858829068d7846940ca02da798223d0ae09d36e5912c002

Batch attributes :

3 1,10,7,T 2,100,6,H 3,10,6,CO2

Decoding results:

{
"batch_counter": 4,
"batch_relative_timestamp": 993649,
"batch_absolute_timestamp": "2022-11-02T14:36:00.535",
"dataset": [
{
"data_relative_timestamp": 990648,
"data": {
"value": 2370,
"label": 1,
"label_name": "T"
},
"data_absolute_timestamp": "2022-11-02T13:45:59.535Z"
},
{
"data_relative_timestamp": 993048,
"data": {
"value": 2360.0,
"label": 1,
"label_name": "T"
},
"data_absolute_timestamp": "2022-11-02T14:25:59.535Z"
},
{
"data_relative_timestamp": 993648,
"data": {
"value": 2350.0,
"label": 1,
"label_name": "T"
},
"data_absolute_timestamp": "2022-11-02T14:35:59.535Z"
},
{
"data_relative_timestamp": 993048,
"data": {
"value": 6800,
"label": 2,
"label_name": "H"
},
"data_absolute_timestamp": "2022-11-02T14:25:59.535Z"
},
{
"data_relative_timestamp": 990561,
"data": {
"value": 590,
"label": 3,
"label_name": "CO2"
},
"data_absolute_timestamp": "2022-11-02T13:44:32.535Z"
},
{
"data_relative_timestamp": 992361,
"data": {
"value": 610.0,
"label": 3,
"label_name": "CO2"
},
"data_absolute_timestamp": "2022-11-02T14:14:32.535Z"
}
] }

Standard report

Report on case opened (violation)

110a000f00551001

Decoded payload:

{"version": "NKE_Frame_Codec_v_1.0.svn5087", "TimeStamp": "2020-03-02 17:01:45.232452"}
{
 "EndPoint": 0,
 "Report": "Standard",
 "CommandID": "ReportAttributes",
 "ClusterID": "BinaryInput",
 "AttributeID": "PresentValue",
 "AttributeType": "Boolean",
 "Data": true,
 "Cause": []
}

Alarm on Humidity level getting lower than specified threshold

318a0405000021053398b0

Decoded payload:

{"version": "NKE_Frame_Codec_v_1.0.svn5087", "TimeStamp": "2020-03-02 16:58:38.024454"}
{
 "EndPoint": 1,
 "Report": "Standard",
 "CommandID": "ReportAttributesAlarm",
 "ClusterID": "RelativeHumidity",
 "AttributeID": "MeasuredValue",
 "AttributeType": "UInt16",
 "Data": 1331,
 "Cause": [
  {
   "ReportParameters": {
    "New": "Yes",
    "Reserved": 0,
    "CauseRequest": "Short",
    "SecuredIfAlarm": "Yes",
    "Secured": "No",
    "NoHeaderPort": "No",
    "Batch": "No"
   },
   "SlotDescriptors": [
    {
     "CriteriaSlotDescriptor": {
      "Alarm": "Yes",
      "OnExceed": "No",
      "OnFall": "Yes",
      "Mode": "Threshold",
      "CriterionIndex": 0
     }
    }
   ]
  }
 ]
}

Alarm on CO2 level getting lower than Thresold

318a800c000021023a98b0

Decoded payload:

{"version": "NKE_Frame_Codec_v_1.0.svn5087", "TimeStamp": "2020-03-02 17:06:46.277547"}
{
 "EndPoint": 1,
 "Report": "Standard",
 "CommandID": "ReportAttributesAlarm",
 "ClusterID": "Concentration",
 "AttributeID": "MeasuredValue",
 "AttributeType": "UInt16",
 "Data": 570,
 "Cause": [
  {
   "ReportParameters": {
    "New": "Yes",
    "Reserved": 0,
    "CauseRequest": "Short",
    "SecuredIfAlarm": "Yes",
    "Secured": "No",
    "NoHeaderPort": "No",
    "Batch": "No"
   },
   "SlotDescriptors": [
    {
     "CriteriaSlotDescriptor": {
      "Alarm": "Yes",
      "OnExceed": "No",
      "OnFall": "Yes",
      "Mode": "Threshold",
      "CriterionIndex": 0
     }
    }
   ]
  }
 ]
}

Print Friendly