Flash'O sensor


Declaration of conformity

Download the declaration of conformity


Flash'O is a LoRaWAN class A sensor. It is a meter radio interface that transmits the cumulated flash LED values from any pulse meters: water, gas, electricity, energy. The sensor is connected to an optical probe that recovers light pulses.

The Flash'O sensor is powered by a disposable 3.6V A-type battery. It incorporates one digital input, and also includes an internal antenna.

The level or a counter can be transferred to the input. It is also possible to get the voltage of the power supply.

Compatibility notice between ENEDIS meters and TIC or Flash’'O sensors (in French)

Family code

The family code of Flash'O devices is: 50-70-071-(006 and upper)

For previous release,  see older revision documentation

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 optical probe is easily attached using either magnets or velcro strips. The cable length is approximately 0.5m.


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. The cable gland should be positioned downward.



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

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. Blinks in configuration mode for each activated input.

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

Flash'O incorporates the following clusters:

ClusterCluster nameManaged attributes
0x000FBinary InputAll

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

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

11: Fctrl (Endpoint=0)

00 00 00 02: current value of the counter 




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

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

→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 0x1c20 to have a report every 2 hours and the minimum field has to be 0x0000 to have a report immediately after the right incrementation. The delta has to be configured to 0x14 for a report every 20 pulses.

Applicative payload is: 11 06 00 0f 00 04 02 23 00 00 1c 20 00 00 00 14

11: Fctrl (Endpoint=0)

00 00: minimum reporting interval (0 seconds)

1c 20: maximum reporting interval (2 hours)

00 00 00 14: reportable change (20 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 


Batch report



• Configure a batch report on binary input counter of connector 1+/1- and voltage battery:

Timestamp and record the pulses counter with a resolution of 1, a value has to be saved at least every 30 minutes or on a rise of 50 pulses. Timestamp and record the battery voltage with a resolution of 0.1V, 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. 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.

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

A counter on Input 1+/1- is the End Point 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 00 80 1e 00 00 00 32 00 00 00 01 01

11: Fctrl (Endpoint=0)

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

00 00: minimum reporting interval (0 seconds)

80 1e: maximum reporting interval (30 minutes)

00 00 00 32: required delta value (size: 4 bytes for attribute Count => attribute type = 23, 50 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 the battery voltage

11 06 00 50 15 00 06 04 80 0a 85 a0 00 64 00 64 09 

11: Fctrl (Endpoint=0)

15: 0b00010101 => 0001010: size of configuration string after attribute ID (10 bytes)

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 64: required resolution (0.1V)

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,100,6


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

Known Issues

  • Binary Input batch:
    • Version: V3.5.2.5358.5408, V3.5.2.5466.0, V3.5.2.5466.5514
    • Issue: Counting Indexes are always to 0 in batch report.
    • Workaround: Set a standard report on each input on which a counting is necessary:
      • Input 1: 1106000f000402230000fffe00000000 => send a standard report all the 22 days
      • Input 2: 3106000f000402230000fffe00000000 => send a standard report all the 22 days
      • Input 3: 5106000f000402230000fffe00000000 => send a standard report all the 22 days

Print Friendly