IN'O sensor


Declaration of conformity

Download the declaration of conformity


The IN'O sensor is a LoRaWAN class A or Class C sensor that manages two different power supplies: one is external and may range from 9V to 24V, the other one is internal on the battery.

The IN'O sensor incorporates 10 digital inputs, and 4 optocoupled outputs. It also includes an external antenna.

The level or a counter can be transferred to the different inputs. It is also possible to get the voltage of the power supply, and to switch ON, OFF or toggle the outputs.



Family code

The family code of IN'O sensors is: 50-70-016-(005 and upper) for Class A and 50-70-087-(002 and upper) for Class C

For previous release,  see older revision documentation



Electronic input/output

Inputs characteristics:

  • Impedance: > 1MOhm
  • Voltage: 0-30Vcc
  • Delivered current: 3.5µA
  • Maximum frequency signal: 0-100Hz by input

The schematic of the different inputs of the In'O sensor is illustrated below:

Electrical schematic example for input

Output Signal:


Dry contact:


NPN Open Collector: compatible with voltage of 3V and a current of 3µA.
 NPN Open Collector: Others, need to connect an compatible external power supply with a resistor to limit the current. Below exemple is given with an external 12V power supply.



Electrical schematic example for outputs

On the output, there is a 3V voltage drop. The maximum current is 100mA (or maximum power of 1.5W):


Installation and operation


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 product is delivered disassembled. This enables the connection to the screw terminals.

Before connecting your cable strands to the product’s screw terminals, you must insert the cable gland's nut and the seal.



Then connect the wires to the Inputs and Outputs that will be used:


For the connectors, we recommend using several 20-26 AWG single wires. As the connectors pinch the wires plugged inside approximately 4mm from the wire end, strip the wires over a length of approximately 5 to 6mm before plugging them into the connectors.

Once the assembly is complete, the casing can be closed.

The housing is compatible with the following DIN rail adapter:



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. Also, the antenna needs to be directed upwards.



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 lifeBattery life
(with 3 Input contacts closed)
Battery life
(with 6 Input contacts closed)
Battery life
(with 1 Output closed)
1 frame/2 hours+15 years12 years9 years+1.5 years
1 frame/24 hours+15 years+15 years+15 years+2 years

A value of 3µA of consumption is added per input connected (contact closed).

When one of the outputs is ON, a consumption of 160µA is added. Due to this consumption, it is highly recommended to use an external power supply.

Human Machine Interface

There are three LEDs on the Pulse Sens'O device:

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


FNC:     blinks for each activated input (in the limit of one blink each 250ms) during first two minutes after startup, after it blinks every minute if an input is activated.during the passed minute.

CNF:     blinking in configuration mode.


To start up the device, a magnet must be placed next to the sensor for one second (to the left of the cable gland). The red LED blinks quickly during this step. After one second, the red LED stops blinking and the green LED blinks slowly until the association is done.

To switch off the device, repeat the same operation by placing the magnet next to the sensor for 5 seconds. After those 5 seconds, the red LED blinks 5 times slowly.


A reed switch is available under the sticker. A magnet can be used to activate it and perform specific actions on the sensor (switch off, switch on, reassociation…). When the reed switch is activated, the red LED blinks quickly.

  • Configuration


Configuration mode
Way to trigger itOne passage of the magnet near the reed switch or specific ZCL command
Way to stop it Another passage of the magnet 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.
DurationThe configuration mode lasts 10 minutes
  • 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 passages of the magnet near the reed switch or ZCL command from LoRaWAN cluster.
Effects on the sensorThe ASSN led (green) blinks as the “no commissioned sensor” LED is lit.
  • A factory reset is available on nke 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 quick passages and a long passage of the magnet near the reed switch
Effects on the sensorThe CONF LED (red) and ASSN 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

Encoder are available on Online Codec

The IN’O device implements “ON/OFF” and “Binary Input” clusters, associated to their Outputs and Inputs. The corresponding clusters between the connectors and the EndPoint are shown below:

ConnectorEnd PointCluster Fctrl
Input 1+/1-0Binary Input0x11
Input 2+/2-1Binary Input0x31
Input 3+/3-2Binary Input0x51
Input 4+/4-3Binary Input0x71
Input 5+/5-4Binary Input0x91
Input 6+/6-5Binary Input0xB1
Input 7+/7-6Binary Input0xD1
Input 8+/8-7Binary Input0xF1
Input 9+/9-8Binary Input0x13
Input 10+/10-9Binary Input0x33
Output 1+/1-0ON/OFF0x11
Output 2+/2-1ON/OFF0x31
Output 3+/3-2ON/OFF0x51
Output 4+/4-3ON/OFF0x71

IN’O incorporates the following clusters:

clustercluster namemanaged attributes
0x000FBinary InputAll
0x8005Multi Binary Inputs All

Default configuration

A default configuration is set:

  • The device reports each day the counter value associated to input 1+/1- (EndPoint 0 / Cluster Binary Input / Attribute Count).
  • The device reports the state of input 2+/2- at each variation with a hysteresis of 2 hours (Endpoint 1 / Cluster Binary Input /Attribute Present Value).

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 of the present value of connector input 1+/1-

→ Applicative payload is: 11 0a 00 0f 00 55 10 01

 11: Fctrl (Endpoint=0)

 01: current binary value

Report of the current value of the counter of connector input 2+/2-

→Applicative payload is: 31 0a 00 0f 04 02 23 00 00 00 01

 31: Fctrl (Endpoint=1)

 00 00 00 01: current value of the counter 




Toggle the output 2+/2-

→The output 2+/2- is the End Point 1; Cluster “ON/OFF” is 0x0006. A specific command 0x50 must be used with payload 0x02 for the toggle.

Applicative payload is: 31 50 00 06 02

31: Fctrl (Endpoint=1)

02: invert the relay state of the sensor 


Configure a standard report on connector input 6+/6-

Report the value of connector Input 6+/6- every pulse. The value has to be reported at least every 10 minutes, and a minimum time delay of 10 seconds between 2 reports has to be set to optimise consumption:

→The value on Input 6+/6- is the End Point 5, Cluster “Binary Input” is 0x000F, and Attribute “present value” is 0x0055. The maximum field has to be 0x800A to have a report every 10 minutes and the minimum field has to be 0x000A 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: b1 06 00 0f 00 00 55 10 00 0a 80 0a 01

b1: Fctrl (Endpoint=5)

00 0a: minimum reporting interval (10 seconds)

80 0a: maximum reporting interval (10 minutes)

01: reportable change (1 pulse)

→Response: b1 07 00 0f 00 00 00 55

To disable the previous configuration, change the value of the minimum and maximum sending interval and the delta to 0: b1 06 00 0f 00 00 55 10 00 00 00 00 00


Configure a standard report on connector input 1+/1-

Report the counter every 5 pulses on connector Input 1+/1-. The counter has to be reported at least every hour:

→A counter on Input 1+/1 is the End Point 0, Cluster “Binary Input” is 0x000F, and 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 incrementation. The delta has to be configured to 0x05 for a report every 5 pulses.

Applicative payload is: 11 06 00 0f 00 04 02 23 00 00 0e 10 00 00 00 05

11: Fctrl (Endpoint=0)

00 00: minimum reporting interval (0 seconds)

0e 10: maximum reporting interval (1 hour)

00 00 00 05: reportable change (5 pulses)

→Response:11 07 00 0f 00 00 04 02

To disable the previous configuration, change the value of the minimum and maximum sending interval and the delta to 0: 11 06 00 0f 00 04 02 23 00 00 00 00 00 00 00 00 


Configure the polarity on connector Input 1+/1-

→Write attribute no response: 11 05 00 0f 00 54 10 nn

11: Fctrl (Endpoint=0)

nn: current polarity of the sensor (normal : 00, reversed: 01)


Configure the edge selection on connector Input 1+/1-

→Write attribute no response: 11 05 00 0f 04 00 18 nn

11: Fctrl (Endpoint=0)

nn: the current edge selection ( 01: falling edge, 02: rising edge, 03: rising and falling edge, 04: polling) 


Configure the debounce period on connector 3+/3-

→Write attribute no response: 51 05 00 0f 04 01 21 00 7D

51: Fctrl (Endpoint=2)

00 7D: debounce period (125 ms)


Batch report



• Configure a batch report on connector input 6+/6- and connector input 5+/5-:

Timestamp and record the input 6+/6- every 100 pulses, and timestamp and record the level of input 5+/5-. A report has to be sent at least every 10 minutes:

→A counter on Input 6+/6- is the End Point 5, Cluster “Binary Input” is 0x000F, and Attribute “Count” is 0x0402.

A level on Input 5+/5- is End Point 4, Cluster “Binary Input” is 0x000F, and Attribute “Present Value” is 0x0055.

There are two different measurements to be recorded in the batch, so the tag size has to be 1. Label 0 can be used for counter and Label 1 for level.

For counter, the delta is 100 and resolution 1. For level, the delta is 1 and resolution 1. The maximum has to be configured for all to 0x800a.

Two frames must be sent to configure this batch.

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

Applicative payload of the count on input 6+/6-

 b1 06 00 0f 1d 04 02 00 00 00 80 0a 00 00 00 64 00 00 00 01 01 

b1: Fctrl (Endpoint=5)

1d:  0b00011101 => 0001110: size of configuration string after attribute ID (14 bytes)

00 00: minimum recording interval (0 seconds)

80 0a: maximum recording interval (10 minutes)

00 00 00 64:  required delta value (size: 4 bytes for attribute Count => attribute type = 23, 100 pulses)

00 00 00 01: required resolution

01: tag value (ob00000001 => 00000: tag label, 001: tag size)

→Response: b1 07 00 0f 00 01 04 02


Applicative payload of the present value of input 5+/5-

 91 06 00 0f 11 00 55 00 00 00 80 0a  01  01 09 

91: Fctrl (Endpoint=4)

11: 0b00010001 => 0001000: size of configuration string after attribute ID (8 bytes)

00 00: minimum recording interval (0 seconds)

80 0a: maximum recording interval (10 minutes)

01: required delta value (size: 1 byte for attribute PresentValue => attribute type = 10, 1 pulse)

01: required resolution

09: tag value (ob00001001 => 00001: tag label, 001: tag size)

→Response: 91 07 00 0f 00 01 00 55


To decode the batch reception, use br_uncompress. Type for binary input attribute counter is U32 (10), type for binary input attribute PresentValue is Boolean (1). Hence the following command must be used:

echo “ 26100040405e7692050000004006 ” | br_uncompress -a 1   0,1,10   1,1 ,1



cnt: 7   #  Batch counter (from 0 to 7)

5778    # Timestamp in seconds of sending of the frame

#Format of data is: Timestamp of Measurement | Label | Value

5689 0 0     # Timestamp: 5689 s                                Label 0                  Value: 0

5777 1 1     # Timestamp: 5777 s                                Label 1                  Value: 1



Print Friendly