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.

s0

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

so-input

 

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.

Instructions on fixing screws

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.

propagation-radio-s0

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 periodicityBattery 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:

thr_carte

There are two LEDs on the S0 device:

ASSO:      blinking until the association with a network is done.

association

CONF:     blinking in configuration mode.

so_ihm

  • 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.

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 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.

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 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.

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

The S0 device integrates the following clusters:

ClusterCluster nameManaged attributes
0x0000BasicAll
0x0050ConfigurationAll
0x000FBinary InputAll
0x8004LoRaWANAll
0x8005Multi Binary InputsAll

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 numberTag labelTag size
1 or 20/11
3 or 400/01/11/102
5 or 6 or 7 or 8000/001/010/011/100/101/110/1113
.........

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

Print Friendly