Sensor

Protocol Documentation

IQ Home Sensor Protocol

Documentation

RF Network

IQRF

HWPID

0x1A5F

HWPIDver

2.0.xx (0x20xx)

IQRF OS

4.02D

IQRF DPA

3.02

IQRF RF Mode

LP (Low Power)

Default RF Channel

52 (868.35 MHz)


Contents

​1.​ Compatible device list  3

​1.1.​ Compatible devices  3

​1.2.​ Measurement procedure  3

​2.​ Read measured values  4

​2.1.​ Request  4

​2.2.​ Response  4

​2.2.1.​ PDATA structure of the response  4

​2.2.2.​ Structure of status register ( 1 byte )  5

​2.2.3.​ Structure of measured value entry ( 3 byte )  5

​2.2.3.1.​ Structure of Data Type Byte  6

​2.2.4.​ Data value  6

​2.2.5.​ Exact meaning of data values  7

​2.2.6.​ PDATA response examples  7

​3.​ Auto calibration - CO2  9

​3.1.​ Environmental Requirements for Auto‐calibration  9

​3.2.​ Implementing auto-calibration  10

​3.3.​ Auto-Calibration Command  11

​3.3.1.​ Request  11

​3.3.2.​ Response  11

​3.4.​ Auto-Calibration examples  12

​4.​ Read product information  13

​4.1.​ Request  13

​4.2.​ Response  13

​4.2.1.​ PDATA structure of the response  13

​5.​ FRC - 1 Byte long sensor data collection  14

​5.1.​ Request  14

​5.2.​ Response  15

​5.2.1.​ Response values  15

​5.2.1.1.​ Reserved FRC response values (status information)  15

​5.2.1.2.​ Normal FRC response values (measured sensor values)  16

​6.​ FRC - 2 Byte long sensor data collection  17

​6.1.​ Request  17

​6.2.​ Response  17

​6.2.1.​ Response values  18

​6.2.1.1.​ Reserved FRC response values (status information)  18

​6.2.1.2.​ Normal FRC response values  (measured sensor values)  18

​7.​ Release Notes  19

​1.​ Compatible device list

The sensor is battery powered measurement tool designed to use in sensor networks controlled by Fast Response Commands (FRC). The protocol is based on major DPA version 3.

​1.1.​ Compatible devices

Next table shows the devices which implement protocol described in this document. The table contains the Product code, the product name and the measurable values.

Code

Product name

T
[°C]

rH
[%]

CO2
[ppm]

SN-T-02

Temperature sensor

SN-TH-02

Temperature and Relative Humidity Sensor

SN-THC-02

CO2 + Temperature and Relative Humidity Sensor

SI-T-02

Industrial Temperature Sensor

SI-TH-02

Industrial Temperature and Relative Humidity Sensor

​1.2.​ Measurement procedure

The temperature, relative humidity and CO2 concentration measurements are made in background. The measurement starts after reset or after module wakes up from sleep and automatically repeats the measurements in every 12 seconds in background. The measurement do not blocks the RF communication process. The sensor response immediately to peripheral request and to fast response commands, does not need additional conversion time.

If the node get a data request before the first measurement is finished the node response  with sensor error. Recommended minimum waiting time between module wake up and the first data request 1 sec.


​2.​ Read measured values

PNUM

PCMD

0x30

0x00

The command is usable to collect 16 bit wide representable physical measurable ambient quantities like ambient temperature in °C, Relative Humidity in %, CO2 concentration in ppm, VOC concentration in ppm, air pressure, etc....

​2.1.​ Request

The request does not contains any PDATA information.

​ Request

NADR [2B]

PNUM [1B]

PCMD [1B]

HWPID [2B]

NADR

0x30

0x00

0x15AF or 0xFFFF

​2.2.​ Response

The addressed node response with all measured ambient data information in PDATA.

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA

[4, 7 or 10B]

NADR

0x30

0x80

0x15AF

0x00

?

Measured values

​2.2.1.​ PDATA structure of the response

Response PDATA array contains 1 byte long status register and set of 3 byte long measured value entries.

PDATA

1. byte

2. byte

3. byte

4. byte

5. byte

6. byte

7. byte

8. byte

9. byte

10. byte

11. … 46.  byte

Status reg.

Type

Value

Type

Value

Type

Value

More Type and Value pairs


Example:

​2.2.2.​ Structure of status register ( 1 byte )

Next table shows the bit structure of Status register byte.

Status Register Byte

7. bit

6. bit

5. bit

4. bit

3. bit

2. bit

1. bit

0. bit

Battery Low

F.U.

F.U.

F.U.

Number of measured values

Meanings of bit fields:

​2.2.3.​ Structure of measured value entry ( 3 byte )

Measured value entry contains:

Next table shows the Structure of one measured value entry:

Data block of one Measured value

1. byte

2. byte

3. byte

Type

Value (low byte) [0-7 bit]

Value (high byte) [8-15 bit]


​2.2.3.1.​ Structure of Data Type Byte

Data type byte describes the meaning of following data value.

Next table shows the data type bit structure.

Data Type Byte

7. bit

6. bit

5. bit

4. bit

3. bit

2. bit

1. bit

0. bit

F.U.

Type of measured quantity

Meanings of bit fields:

Type of measured quantity

Representation number

Measured quantity

0x00

Reserved (status register response @ FRC)

0x01

Temperature

0x02

Relative Humidity

0x03

CO2 concentration

0x04 - 0x0F

Reserved

​2.2.4.​ Data value

Data value is a 16 bit wide signed binary data represented in two's complement.

Measured Data Value

15.

14.

13.

12.

11.

10.

9.

8.

7.

6.

5.

4.

3.

2.

1.

0.

SIGN

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20


​2.2.5.​ Exact meaning of data values

Next table shows the exact meaning of data values based on measured quantity.*

Measured quantity

Data representation number

Unit

Response value Calculation

Resolution

Minimum value

Maximum value

Temperature

0x01

°C

T [°C] =

Data value / 16

0.0625 °C

-2047.75 °C

+2047.9375 °C

Relative Humidity

0x02

%

rH [%]  =

Data value / 16

0.0625 %

-2047.75 %

+2047.9375 %

CO2 concentration

0x03

ppm

CO2 [ppm] =

Data value

1 ppm

-32764 ppm

+32767 ppm

*At sensor error the response value equal with 0x8000.

​2.2.6.​ PDATA response examples

Example: The sensor can measure temperature only. The measured Temperature is 25.5 °C. Battery state is ok.

PDATA

1. byte

2. byte

3. byte

4. byte

0x01

0x01

0x98

0x01

Example: The sensor can measure temperature only. The sensor detected sensor error.

PDATA

1. byte

2. byte

3. byte

4. byte

0x01

0x01

0x00

0x80


Example: The sensor can measure temperature only. The measured Temperature is -12.25 °C. Battery state is low.

PDATA

1. byte

2. byte

3. byte

4. byte

0x81

0x01

0x3C

0xFF

Example: The sensor can measure temperature, relative humidity and CO2 concentrate. The measured Temperature is 45 °C, Relative Humidity is 62.25%, the CO2 concentrate is 925 ppm.

PDATA

1. byte

2. byte

3. byte

4. byte

5. byte

6. byte

7. byte

8. byte

9. byte

10. byte

0x03

0x01

0xD0

0x02

0x02

0xE4

0x03

0x03

0x9D

0x03


​3.​ Auto calibration - CO2

CO2 sensor modules are fully calibrated prior to shipping from the factory. Over time, the zero point of the sensor needs to be calibrated to maintain the long term stability of the sensor. In many applications, this can happen automatically using the built in auto‐calibration function.

This technique can be used in situations in which sensors will be exposed to typical background levels (400‐450ppm) at least once during the auto‐calibration period. For example, many buildings will drop quickly to background CO2 levels when unoccupied overnight or at weekends. The auto‐calibration function uses the information gathered at these periods to recalibrate.

The sensor has a zero calibration option designed to allow users to implement an network centralized autocalibration routine.

This recording from a sensor shows a typical one week recording in an office environment. The auto‐calibration function uses the low point (circled) and uses it to recalibrate the zero point.

​3.1.​ Environmental Requirements for Auto‐calibration

Exposure to Fresh Air

The sensor must ’see’ fresh air at least once during the auto‐calibration period. You do not need to know when the fresh air will be sensed, just that it will be sensed at some point during the period.


Continuously Powered

The auto‐calibration information is deleted when the sensor is switched off. This ensures that each installation is unaffected by any previous history of the sensor. For auto‐calibration to function, it must be power on for the whole of the auto‐calibration period.

Autocalibration Interval

Autocalibration is depend from current sensor usage. The minimum recommended autocalibration interval is one or two week at generally usage.

​3.2.​ Implementing auto-calibration

The sensor has a zero calibration option designed to allow users to implement network centralized autocalibration routine. To implement auto-calibration the user have to implement these steps:


​3.3.​ Auto-Calibration Command

PNUM

PCMD

0x30

0x0F

​3.3.1.​ Request

The request contains 3 byte PDATA information.

​ Request

NADR
[2B]

PNUM
[1B]

PCMD
[1B]

HWPID
[2B]

PDATA
1. byte

PDATA
2. byte

PDATA
3. byte

NADR

0x30

0x0F

0x15AF or 0xFFFF

Type
(0x03)

Calibration value (low byte) [0-7 bit]

Calibration value (high byte) [8-15 bit]

​3.3.2.​ Response

The addressed node response with minimum measured CO2  value from last calibration command or from last power-up.

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA
1. byte

PDATA
2. byte

PDATA
3. byte

NADR

0x30

0x8F

0x15AF

0x00

?

Type
(0x03)

Min. Value (low byte) [0-7 bit]

Min. Value (high byte) [8-15 bit]


​3.4.​ Auto-Calibration examples

Example #1:

For example, if the lowest reading measured of Node #1 over 3 weeks was 415ppm, and the user wants to correct that to read 400ppm, the user have to send DPA command with value: 400ppm. 400 ppm = 0x0190

​ Request

NADR
[2B]

PNUM
[1B]

PCMD
[1B]

HWPID
[2B]

PDATA
1. byte

PDATA
2. byte

PDATA
3. byte

0x0001
(NADR)

0x30

0x0F

0x15AF

0x03
(Type)

0x90
(low byte of the calibration value)

0x01
(high byte of the calibration value)


The response contains the measured minimum value. Minimum measured value was 415 ppm. 415 ppm = 0x019F

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA
1. byte

PDATA
2. byte

PDATA
3. byte

0x0001
(
NADR)

0x30

0x8F

0x15AF

0x00

?

0x03
(Type)

0x9F
Min. Value (low byte) [0-7 bit]

0x01
Min. Value (high byte) [8-15 bit]

Example #2:

To make half a month periodic whole network auto-calibration the user have to send auto-calibration broadcast message in every 14 days. For example, if user wants to correct the minimum measured value to 400ppm, the user have to send broadcast DPA message with value: 435ppm. 435 ppm = 0x01B3

​ Request

NADR
[2B]

PNUM
[1B]

PCMD
[1B]

HWPID
[2B]

PDATA
1. byte

PDATA
2. byte

PDATA
3. byte

0x00FF
Broadcast

0x30

0x0F

0x15AF

0x03
(Type)

0xB3
(low byte of the calibration value)

0x01
(high byte of the calibration value)


The broadcast DPA message does not have any response message.


​4.​ Read product information

PNUM

PCMD

0x3E

0x00

The command is usable to get basic information about the product.

​4.1.​ Request

The request does not contains any PDATA information.

​ Request

NADR [2B]

PNUM [1B]

PCMD [1B]

HWPID [2B]

NADR

0x3E

0x00

0x15AF or 0xFFFF

​4.2.​ Response

The addressed node response with all basic product information.

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA

[16B]

NADR

0x3E

0x80

0x15AF

0x00

?

Product information

​4.2.1.​ PDATA structure of the response

Response PDATA array contains 16 byte long product information string.

PDATA

1. byte

2. byte

3. byte

4. byte

5. byte

6. byte

7. byte

8. byte

9. byte

10. byte

11. byte

12. byte

13. byte

14. byte

15. byte

16. byte

Product Code

Hardware revision


​5.​ FRC - 1 Byte long sensor data collection

PNUM

PCMD

FRC command

0x0D

0x00 or 0x02

0xDF

This FRC command is used to collect measured sensor values in 1 byte wide representation format. All measured quantities have to have 1 byte wide FRC representation format. The data collection can be done

More information about FRC command can be found in IQRF DPA Framework - Technical Guide.

​5.1.​ Request

Next table shows the structure of request FRC command.

​ Request

NADR
[2B]

PNUM
[1B]

PCMD
[1B]

HWPID
[2B]

FRC
Command

User data
1. byte

User data
2. byte

User data
3. byte

User data
4. byte

0x0000
Coordi-
nator

0x0D

0x00

0xFFFF

0xDF

0x30
Ambient sensor

Data type identifier

Sleep time

(low byte)

Sleep time

(high byte)

0xDF: 1 Byte wide sensor data collection.

0x30: Ambient sensor mode

Data type byte: equals with data type described in chapter Structure of Data Type Byte.

Sleep time: If this parameter is bigger than zero and less than 0x8000 the nodes entries to deep sleep mode after FRC command. Sleep time = sleep value * 2.097 sec.
Minimum sleep time is:
2.097 sec

Maximum sleep time is: 32767 * 2.097 sec = 68712 sec ( 19 hour )
If Sleep time equal with zero or the MSB bit of sleep value is true then the device remains awake.
The sleep command is executed regardless the FRC command sub-parameter (1
st user data byte) or the requested data type (2nd user data byte) is not implemented in sensor.


​5.2.​ Response

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA
1. byte

PDATA
2… n. byte

0x0000
Coordi-
nato

0x0D

0x80

?

0x00

?

Status

FRC Data

​5.2.1.​ Response values

All of the addressed node response with one byte response value. Collected bytes from each node (1-63) are stored in bytes 1-63 of the output buffer. Addressing of the output buffer is starting from zero. Zero as a node number is reserved for the coordinator, therefore the first byte of the output buffer is always zero.

The response value is equal with measured sensor information or contains status information.

​5.2.1.1.​ Reserved FRC response values (status information)


​5.2.1.2.​ Normal FRC response values (measured sensor values)

Response value from 0x04 to 0xFF represents measured sensor value. Exact meaning of sensor value depends on the measured quantity requested by Data type byte in FRC request parameter.

Next table show the value calculation of 1 byte long FRC response sensor values.

Measured quantity

Data representation number

Unit

Response value Calculation

Resolution

Minimum value

Maximum value

Status Register

0x00

-

Upper four bit of Status register + 0x03

-

-

-

Temperature

0x01

°C

T [°C] =

(Data value / 2)  - 42

0.5 °C

-40 °C

+85.5 °C

Relative Humidity

0x02

%

rH [%]  =

(Data value / 2)  - 2

0.5 %

0 %

+125.5 %

CO2 concentration

0x03

ppm

CO2 [ppm] =

(10 * Data value) + 350

10 ppm

390 ppm*

2900 ppm

* The minimum level of atmospheric carbon dioxide is higher than 400 ppm. ( More info )


​6.​ FRC - 2 Byte long sensor data collection

PNUM

PCMD

FRC command

0x0D

0x00 or 0x02

0xFF

This FRC command is used to collect measured sensor values in 2 byte wide representation format. All measured quantities have to have 2 byte wide FRC representation format. The data collection can be done

More information about FRC command can be found in IQRF DPA Framework - Technical Guide.

​6.1.​ Request

Next table shows the structure of request FRC command.

​ Request

NADR
[2B]

PNUM
[1B]

PCMD
[1B]

HWPID
[2B]

FRC
Command

User data
1. byte

User data
2. byte

User data
3. byte

User data
4. byte

0x0000
Coordi-
nator

0x0D

0x00

0xFFFF

0xFF

0x30
Ambient sensor

Data type identifier

Sleep time

(low byte)

Sleep time

(high byte)

​The format of 2 byte long FRC request user data equals to 1 byte long FRC request user data format.  The exact meaning of user data array described in chapter FRC - 1 Byte long sensor data collection - Request.

​6.2.​ Response

Response

NADR

[2B]

PNUM

[1B]

PCMD

[1B]

HWPID

[2B]

ErrN
[1B]

DpaValue

[1B]

PDATA
1. byte

PDATA
2… n. byte

0x0000
Coordi-
nato

0x0D

0x80

?

0x00

?

Status

FRC Data

The basic format of 2 byte long FRC response to 1 byte long FRC response format. The basic information about the Status register and FRC Data is described in chapter FRC - 1 Byte long sensor data collection - Response.

​6.2.1.​ Response values

All of the addressed node response with two byte response value. Collected byte pairs from each node (1-31) are stored in bytes 2-63 of the output buffer. Addressing of the output buffer is starting from zero. Zero as a node number is reserved for the coordinator, therefore the first two byte of the output buffer is always zero. The lower index of the byte pair contains the low significant byte information (low byte), the higher index of the byte pair contains the most significant byte information (high byte).

The response value is equal with measured sensor information or contains status information.

​6.2.1.1.​ Reserved FRC response values (status information)

​6.2.1.2.​ Normal FRC response values  (measured sensor values)

Response value from 0x0004 to 0xFFFF represents measured sensor value. Exact meaning of sensor value depends on the measured quantity requested by Data type byte in FRC request parameter.

The response values are equal with response values described in chapter Exact meaning of data values except if the calculated value is between zero and four. In such cases the FRC response values equal with calculated value + 0x8000.

Next table show the value calculation of 2 byte long FRC response sensor values.

Measured quantity

Data representation number

Unit

Response value Calculation

Resolution

Minimum value

Maximum value

Status Register

0x00

-

Upper four bit of Status register + 0x03

-

-

-

Temperature*

0x01

°C

T [°C] =

Data value / 16

0.0625 °C

-2047.75 °C

+2047.9375 °C

Relative Humidity*

0x02

%

rH [%]  =

Data value / 16

0.0625 %

-2047.75 %

+2047.9375 %

CO2 concentration*

0x03

ppm

CO2 [ppm] =

Data value

1 ppm

-32764 ppm

+32767 ppm

*The response values of 2 byte wide FRC queries have four representation exception:

​7.​ Release Notes

Property

Value

Protocol version

2.0.xx

IQRF OS version

4.00D

IQRF DPA version

3.00

Date of release

25/07/2017

Notes

First revision of IQ Home sensor protocol version 2.

Property

Value

Protocol version

2.0.xx

IQRF OS version

4.02D

IQRF DPA version

3.02

Date of release

11/05/2018

Notes

Device list has been modified
Bonding documentation moved to product datasheet

Property

Value

Protocol version

2.0.xx

IQRF OS version

4.02D

IQRF DPA version

3.02

Date of release

02/06/2018

Notes

Sleep calculation is modified. - MSB bit check is added.

©2017 IQHome Kft

www.iqhome.org

 /