Thr sensor
Declaration of conformity
Download the declaration of conformity
Presentation
The THr sensor is a LoRaWAN class A sensor that manages two different power supplies: a disposable ½ 3.6V A-type battery and a rechargeable battery. It also includes an internal antenna.
It measures the temperature, the relative humidity and the illuminance of the remote sensor. It is also possible to get the voltage of the power supply.
Family code
The family code of THr devices is: 50-70-007-xxx
The family code of THr Plus devices is: 50-70-047-xxx
The difference between THr and THr Plus is that the sensor used in THr Plus (SHT25) to measure the temperature and humidity is more accurate than the one used in THr (SHT21).
Accuracy tolerance | THr (SHT21) | THr Plus (SHT25) |
---|---|---|
Temperature (°C) | +/- 0.3 | +/- 0.2 |
Humidity (%) | +/- 2 | +/- 1.8 |
Installation and operation
Installation
The housing is intended to be installed inside or outside a building but it must be protected from vertical water spray and direct sunlight.
Radio propagation
In order for the sensor to operate correctly, the number of obstacles should be limited in order to avoid excessive radio wave attenuation. It is also important to place the sensor as high as possible.
Autonomy
The information in the table below represents how long the battery 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.
The disposable battery has a 3.6Ah capacity, of which 85% is used.
Transmission periodicity | Battery life |
---|---|
2 frames/ 8 hours | 9 years |
Human Machine Interface
This device can be switched ON and OFF via a small switch accessible from the top of the electronic board. Set the switch ON. This switch can be seen in the illustration below:
There are two LEDs on the THr device:
ASSO: blinking until the association with a network is done.
CONF: blinking in configuration mode.
- A reset button is available to reboot the sensor.
- A user button is available to enter the configuration mode. "Void" frames are then sent every minute for 10 minutes.
Standard reports are disabled in this mode.
Way to trigger it | One 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 sensor | The 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. |
Duration | The configuration mode lasts 10 minutes when it is triggered by pressing the USER button |
- A reassociation procedure can be requested 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 or via the sensor’s IHM.
The sensor keeps the AppEUi and DevAddr configured, Confirmed/Unconfirmed configuration and all applicative configurations. However, LoRaWAN configurations (channel, data rate…) are lost.
Way to trigger it | Three short presses on the USER button or ZCL command from LoRaWAN cluster. |
Effects on the sensor | The ASSO LED (green) blinks as the “no commissioned sensor” LED is lit. |
- A factory reset is available on Watteco’s sensors. It deletes all the applicative settings saved in the flash memory (i.e. configured batches and reports will be deleted).
The sensor keeps the AppEUi and DevAddr configured. However, LoRaWAN configurations (channel, data rate…) and applicative configurations are lost.
Way to trigger it | Two short presses and one long press for approximately 7 seconds on the USER button. |
Effects on the sensor | The 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. |
Applicative layer
Codecs are available to decode frames: Downloads
The THr device integrates the following clusters:
Cluster | Cluster name | Managed attributes |
---|---|---|
0x0000 | Basic | All |
0x0050 | Configuration | All |
0x8004 | LoRaWAN | All |
0x0402 | Temperature Measurement | All |
0x0405 | Relative Humidity Measurements | All |
0x000c | Analog Input | All |
- The Illuminance is indicated in the Analog Input Cluster in % of a maximum luminosity reached. The value is given in increments of 10%.
- A physical measurement is done every 30 seconds for Temperature and Relative Humidity, 16 seconds for Illuminance, and 10 minutes for Battery level.
Default configuration
A default configuration is set:
- The device reports the temperature (EndPoint 0 / Cluster Temperature Measurement / Attribute Measuredvalue) and the relative humidity (EndPoint 0 / Cluster Relative Humidity Measurement / Attribute Measuredvalue) every 8 hours.
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%, which corresponds to approximately 1 frame per hour with SF12)
Frame examples
All frames have to be sent on port 125
Standard report
Report
Report of the estimated illuminance → Applicative payload is: 11 0a 00 0c 00 55 39 41 a0 00 00 41 a0 00 00: present value (single precision =>20)
Report of the temperature of the remote sensor → Applicative payload is: 11 0a 04 02 00 00 29 00 64 00 64: Measured value 1°C (Temperature (°C) = Measured value/100)
Report of the relative humidity of the remote sensor → Applicative payload is: 11 0a 04 05 00 00 21 03 20 03 20: Measured value 8% (Relative humidity (%) = Measured value/100)
Configuration
Configure a standard report on the temperature Report immediately the temperature for every 11°C variation. This measurement has to be reported at least every hour. →The temperature is on the EndPoint 0, Cluster “Temperature Measurement” is 0x0402, Attribute “MeasuredValue” is 0x0000. The maximum field has to be 0x0e10 to have a report every hour and the minimum field has to be 0x0000 to have a report immediately after the right variation. The delta has to be configured to 1100=0x044c for a report at every 11°C variation. Applicative payload is: 11 06 04 02 00 00 00 29 00 00 0e 10 04 4c 00 00:minimum reporting interval (0 seconds) 0e 10: maximum reporting interval (1 hour) 04 4c: reportable change (11°C) →Response: 11 07 04 02 00 00 00 00 To disable the previous configuration, change the value of the minimum and maximum sending intervals and the delta to 0: 11 06 04 02 00 00 00 29 00 00 00 00 00 00
Configure a standard report on the relative humidity Report immediately the temperature for every 20% variation. This measurement has to be reported at least every 3 hours. →The relative humidity is on the EndPoint 0, Cluster “Relative Humidity Measurement” is 0x0405, Attribute “MeasuredValue” is 0x0000. The maximum field has to be 0x2a30 to have a report every 3 hours and the minimum field has to be 0x0000 to have a report immediately after the right variation. The delta has to be configured to 2000=0x07d0 for a report at every 20% variation. Applicative payload is: 11 06 04 05 00 00 00 21 00 00 2a 30 07 d0 00 00: minimum reporting interval (0 seconds) 2a 30: maximum reporting interval (3 hours) 07 d0: reportable change (20%) →Response: 11 07 04 05 00 00 00 00 To disable the previous configuration, change the value of the minimum and maximum sending intervals and the delta to 0: 11 06 04 05 00 00 00 21 00 00 00 00 00 00
Configure a standard report on the illuminance Report immediately the indication of illuminance for every 10% variation. This measurement has to be reported at least every 15 minutes. →The indication of illuminance is the EndPoint 0, Cluster “Analog Input” is 0x000C, Attribute “PresentValue” is 0x0055. The maximum field has to be 0x800f to have a report every 15 minutes and the minimum field has to be 0x0000 to have a report immediately after the right variation. The delta has to be configured to 10.0=0x41200000 (type is single precision for a report at every 10% variation). Applicative payload is: 11 06 00 0c 00 00 55 39 00 00 80 0f 41 20 00 00 00 00: minimum reporting interval (0 seconds) 80 0f: maximum reporting interval (15 minutes) 41 20 00 00: reportable change (10% of variation) →Response: 11 07 00 0c 00 00 00 55 To disable the previous configuration, change the value of the minimum and maximum sending intervals and the delta to 0: 11 06 00 0c 00 00 55 39 00 00 00 00 00 00 00 00
Batch report
Configuration
• Configure a batch report on Temperature, Humidity, Illuminance and Battery voltage:
Timestamp and record the temperature with a resolution of 1°C, a value has to be saved at least every 6 hours or on a variation of 1°C.
Timestamp and record the relative Humidity with a resolution of 5%, a value has to be saved at least every 4 hours or on a variation of 5%.
Timestamp and record the Illuminance with a resolution of 1%, a value has to be saved at least every 2 hours or on a variation of 1%.
Timestamp and record all voltage power sources with a resolution of 0.6V, a value has to be saved at least every 24 hours. All data have to be concatenated and sent every 24 hours at the most.
→The solution to concatenate several different physical values in the same frame is to use batch reporting. For the batch, the number of physical measurements that will be sent must be known in order to choose a label for each of them and the size of these labels. There are 2 kinds of power sources in the sensor (Rechargeable battery and Disposable battery). So, with the temperature, the humidity, the illuminance and these 2 power sources, it is necessary to manage 5 different labels.
Label number | Tag label | Tag size |
---|---|---|
1 or 2 | 0/1 | 1 |
3 or 4 | 00/01/11/10 | 2 |
5 or 6 or 7 or 8 | 000/001/010/011/100/101/110/111 | 3 |
... | ... | ... |
The Tag Size to be used for 5 labels is 3. Label 000 can be used for Temperature, Label 001 for Relative Humidity, Label 010 for Illuminance, Label 011 for Rechargeable Battery level, and Label 100 for Disposable Battery level. To configure the batch, a “Configure reporting” command must be sent for each cluster.
For temperature the delta has to be set to 100=0x0064 (1°C), the minimum to 30=0x001e (30 seconds), the maximum to 6*60=360=0x8168 (6 hours), and the resolution to 100=0x0064 (1°C). The cluster to report is 0x0402 and the attribute 0x0000 (MeasuredValue).
For relative humidity the delta has to be set to 500=0x01f4 (5%), the minimum to 30=0x001e (30 seconds) ,the maximum to 4*60=240=0x80f0 (4 hours), and the resolution to 500=0x01f4 (5%). The cluster to report is 0x0405 and the attribute 0x0000 (MeasuredValue).
For Illuminance the delta has to be set to 1=0x3f800000 (1% in single precision), the minimum to 0=0x0000 (0 seconds) ,the maximum to 2*60=120=0x8078 (2 hours), the resolution to 1=0x3f800000(1%).
For Rechargeable Battery power sources the delta has to be set to 600=0x0258 (0.6V), the minimum to 10=0x800a (10 minutes), the maximum to 24*60=1440=0x85A0 (24 hours), the resolution to 600=0x0258 (0.6V), the field to 3=0x03. The same is applied for Disposable Battery except the field to 4=0x04 (see Node power Descriptor Batch Report Table). The cluster to report is 0x0050 and the attribute 0x0006 (Node power descriptor).
Applicative payload of the temperature 11 06 04 02 15 00 00 00 00 1e 81 68 00 64 00 64 03 15: 0b00010101 => 0001010: size of configuration string after attribute ID (10 bytes) 00 1e: minimum reporting interval (30 seconds) 81 68: maximum reporting interval (6 hours) 00 64: required delta value (size: 2 bytes for attribute MeasuredValue => attribute type = 29, 1°C) 00 64: required resolution (1°C) 03: tag value (ob00000011 => 00000: tag label, 011: tag size) →Response: 11 07 04 02 00 01 00 00
Applicative payload of the humidity 11 06 04 05 15 00 00 00 00 1e 80 f0 01 f4 01 f4 0b 15: 0b00010101 => 0001010: size of configuration string after attribute ID (10 bytes) 00 1e: minimum reporting interval (30 seconds) 80 f0: maximum reporting interval (4 hours) 01 f4: required delta value (size: 2 bytes for attribute MeasuredValue => attribute type = 29, 5%) 01 f4: required resolution (5%) 0b: tag value (ob00001011 => 00001: tag label, 011: tag size) →Response: 11 07 04 05 00 01 00 00
Applicative payload of the illuminance 11 06 00 0c 1D 00 55 00 00 00 80 78 00 00 00 64 00 00 00 64 13 1d: 0b00011101 => 0001110: size of configuration string after attribute ID (14 bytes) 00 00: minimum reporting interval (0 seconds) 80 78: maximum reporting interval (2 hours) 3f 80 00 00: required delta value (size: 4 bytes for attribute PresentValue => attribute type = 39) 3f 80 00 00: required resolution 13: tag value (ob00010011 => 00010: tag label, 011: tag size) →Response: 11 07 00 0c 00 01 00 55
Applicative payload of battery voltage 11 06 00 50 29 00 06 03 80 0a 85 a0 02 58 02 58 1b 04 80 0a 85 a0 02 58 02 58 23 29: 0b00101001 => 0010100: size of configuration string after attribute ID (20 bytes) 03: index of required field (Rechargeable battery) 80 0a: minimum reporting interval (10 minutes) 85 a0: maximum reporting interval (24 hours) 02 58: required delta value (size: 2 bytes for attribute NodePowerDescriptor => attribute type = 41, 0.6V) 02 58: required resolution (0.6V) 1b: tag value (ob00011011 => 00011: tag label, 011: tag size) 04: index of required field (Disposable battery) 23: tag value (ob00100011 => 00100: tag label, 011: tag size) →Response: 11 07 00 50 00 01 00 06
To decode the batch reception, use br_uncompress. Type for Temperature is I16 (7), Type for Illuminance is Float (12) and for others the type is U16 (6), so the following command must be used:
echo "52000080819504b0c83e8232b40f02050008de1770631300401040ba06d1122b8af9280cd91100802212" | br_uncompress -a 3 0,100,7 1,500,6 2,1,12 3,600,6 4,600,6
Result
811 0 2400 # TimeStamp: 811 s Label 0: Temperature value 24°C
841 0 2600 # TimeStamp: 841 s Label 0: Temperature value 26°C
811 1 4500 # TimeStamp: 811 s Label 1: Humidity value 45 %
841 1 9000 # TimeStamp: 841 s Label 1: Humidity value 90 %
811 2 20 # TimeStamp: 811 s Label 2: Illuminance value 20 %
841 2 50 # TimeStamp: 841 s Label 2: Illuminance value 50 %
844 3 0 # TimeStamp: 844 s Label 3: Rechargeable battery value 0v
840 4 3000 # TimeStamp: 840 s Label 4: Disposable battery value: 3v