S0 sensor
Declaration of conformity
Download the declaration of conformity
Presentation
The S0 sensor is a LoRaWAN class A sensor that uses a disposable 1/2 A 3.6V battery as power supply. It also includes an internal antenna.
The pulse input is actually a cable with two separate wires: brown and white.
The level or a counter can be reported on the pulse input. It is also possible to get the voltage of the power supply.
Family code
The family code of S0 devices is: 50-70-001-xxx
Electronic input/output
The schematic of the input of the S0 sensor is illustrated below:
Electrical schematic example for inputs
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.
The brown wire has to be connected to the ground and the white one to the pulse generator output.
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 |
---|---|
1 frame/ 24 hours | +15 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 S0 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 S0 device integrates the following clusters:
Cluster | Cluster name | Managed attributes |
---|---|---|
0x0000 | Basic | All |
0x0050 | Configuration | All |
0x000F | Binary Input | All |
0x8004 | LoRaWAN | All |
0x8005 | Multi Binary Inputs | All |
Default configuration
A default configuration is set:
- The device reports each day the counter value associated with input 1+/1- (EndPoint 0 / Cluster Binary Input / Attribute Count).
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 present value of the pulse input → Applicative payload is: 11 0a 00 0f 00 55 10 00 00: current binary value
Report of the current value of the counter of the pulse input →Applicative payload is: 11 0a 00 0f 04 02 23 00 00 00 01 00 00 00 01: current value of the counter
Configuration
Configure a standard report on the pulse input Report the value of the state of the input every time it changes. The value has to be reported at least every 20 minutes, and a minimum time delay of 25 seconds has to be set between 2 reports to optimise consumption: →The value on pulse Input is the EndPoint 0, Cluster “Binary Input” is 0x000F, and Attribute “Present Value” is 0x0055. The maximum field has to be 0x8014 to have a report every 20 minutes and the minimum field has to be 0x0019 to have a minimum time delay between two reports. The delta has to be configured to 0x01 for a report every pulse. Applicative payload is: 11 06 00 0f 00 00 55 10 00 19 80 14 01 00 19: minimum reporting interval (25 seconds) 80 14: maximum reporting interval (20 minutes) 01: reportable change (at each pulse) →Response: 11 07 00 0f 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 0f 00 00 55 10 00 00 00 00 00
Configure a standard report on the binary input counter Report immediately the value of the counter every 500 pulses. This measurement has to be reported at least every hour. →Cluster “Binary Input” is 0x000F, Attribute “Count” is 0x0402. 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 0x000001f4. Applicative payload is: 11 06 00 0f 00 04 02 23 00 00 0e 10 00 00 01 f4 00 00:minimum reporting interval (0 seconds) 0e 10:maximum reporting interval (1 hour = 3600s) 00 00 01 f4: reportable change (500 pulses) To disable the previous configuration, change the value of the minimum and maximum sending intervals and the delta to 0: 11 06 00 0f 00 04 02 23 00 00 00 00 00 00 00 00
Batch report
Configuration
•Configure a batch report on binary input counter and voltage battery:
Timestamp and record the pulses counter with a resolution of 1, a value has to be saved at least every 40 minutes or on a rise of 55 pulses. Timestamp and record the battery voltage with a resolution of 0.2V, 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.
As mentioned in the previous paragraph, we will have only two kinds of measurements to manage, thus two 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 two labels is 1. Label 0 can be used for binary input counter and label 1 for the disposable battery level.
Two frames must be sent to configure this batch.
A counter on pulse Input is the EndPoint 0, Cluster “Binary Input” is 0x000F, and Attribute “Count” is 0x0402.
The battery voltage: Cluster "Configuration" is 0x0050, and attribute "Node power descriptor" is 0x0006.
Applicative payload of the count on input 1+/1- 11 06 00 0f 1d 04 02 00 00 1e 80 28 00 00 00 37 00 00 00 01 01 1d: 0b00011101 => 0001110: size of configuration string after attribute ID (14 bytes) 00 1e: minimum reporting interval (30 seconds) 80 28: maximum reporting interval (40 minutes) 00 00 00 37: required delta value (size: 4 bytes for attribute Count => attribute type = 23, 55 pulses) 00 00 00 01: required resolution 01: tag value (ob00000001 => 00000: tag label, 001: tag size) →Response:11 07 00 0f 00 01 04 02
Applicative payload of voltage battery 11 06 00 50 15 00 06 04 80 0a 85 a0 00 64 00 c8 09 15: 0b00010101 => 0001010: size of configuration string after attribute ID (10 bytes) 04: index of required field (Disposable battery) 80 0a: minimum reporting interval (10 minutes) 85 a0: maximum reporting interval (24 hours) 00 64: required delta value (size: 2 bytes for attribute Node power descriptor => attribute type = 41, 100 pulses) 00 c8: required resolution (0.2V) 09: tag value (ob00001001=> 00001: tag label, 001: tag size) →Response:11 07 00 50 00 01 00 06
To decode the batch reception, use br_uncompress. Type for binary input counter is U32 (10) and U16 (6) for the disposable battery power, so the following command must be used:
echo « 26150020e06001d71e0000a0650f » | ./br_uncompress -a 1 0,1,10 1,200,6
Result:
DECOMPRESSION SERIES
cnt: 5 # Batch counter (from 0 to 7)
263 # Timestamp in seconds of sending of the frame
#Format of data is: Timestamp of Measurement | Label | Value
263 0 45 # Timestamp: 841 s Label 0: counter pulse Value: 45
263 1 3000 # Timestamp: 811 s Label 1: Disposable battery Value: 3.0V