Flash’o sensor



Declaration of conformity

Download the declaration of conformity


Flash’o is a LoRaWAN class A sensor, it is a meter interface radio transmitting the accumulated flash LED numbers from any pulse meters: water, gas, electricity, energy. The sensor is connected to an optical probe that recovers light pulses.

The Flash’o  sensor uses a disposable A 3.6V battery as power supply. It integrates one digital inputs. It  also includes an internal antenna.

It is possible to report the level or a counter on the input. It is also possible to get the voltage of the power supply.

flashoNote de compatibilté entre compteurs ENEDIS et capteurs TIC ou Flash’O

Family code

The family code of Flash’o devices is: 50-70-071-xxx

Installation and use


The housing is intended to be installed inside or outside a building but to the shelter of a vertical splash water and direct sunlight.

The optical probe is easily attached either by magnets or by velcro. Cable-length is approximately 0.5m.


The housing is compatible with the following DIN rail adapter:


For more information about the casing, visit: www.spelsberg.com

Propagation radio

In order for the sensor to function correctly, it is better to limit the number of obstacles in order to avoid excessive attenuation of the radio wave, it is also important to put the sensor as high as possible. The cable gland should be positionned 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 use of the sensor throught LoRaWAN network (one uplink frame), and when  the spreading factor used is SF12.

The capacity of the disposable battery is 3.6Ah, 85% of it is used.

Transmission periodicityBattery life
1 frame/ 24 hours+15 years

Human Machine Interface

There are three leds on the Flash’o device:

ASS:      blinking until the association to a network is done.


FNC:     blinking each minute while an input is activated.

CNF:     blinking in the configuration mode.

After installing the device, switch ON the power.

  • A user button  is available to enter in configuration mode, « void » frames are then sent every minute for 10 minutes.

Standard reports are not functioning during 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.
Time durationThe configuration mode lasts 10 minutes when it is triggered by pressing the USER button


  • It is possible to ask a ReAssociation procedure if no down frame is received by the sensor during a given periodicity (4 days by default) or if a given number (100 by default) or failure (no acquittement is received) are reached by sending an applicative frame to the sensor or by the IHM of the sensor.

The sensor keeps the AppEUi and DevAddr configured, Confirmed/Unconfirmed     configuration and all applicative configurations. On the other hand, LoRaWAN configuration (channel, datarate …) are lost.

ReAssociation Mode
Way to trigger itThree short press on the USER button or ZCL command from LoRaWAN cluster.
Effects on the sensorThe ASSO led (green) blinks as the “no commissioned sensor” led lightning.
  • A factory reset is available on nke Watteco’s sensors. It deletes all the applicative settings saved in the flash memory (i.e.: the configured batches and reports will be deleted).

The sensor keeps the AppEUi and DevAddr configured. On the other hand, LoRaWAN configurations (channel, datarate …) 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 (about batches and reports) are deleted. The blinking is illustrated below this table.


Applicative layer

Codec are available to decode frame: Downloads

Flash’o  integrates the following clusters:

ClusterCluster nameManaged attributes
0x000FBinary InputAll

Default configuration

A default configuration is set:

  • The device reports each day the counter associated to the input 1+/1- (EndPoint 0 / Cluster Binary Input /Attribut Count).

Every change on the default configuration must respect the legal duty cycle. (For example the most restrictive in EU is 0.1%, so in SF12 it is around 1 frame each hour)

Frame examples

All frames have to be sent on the port 125

Standard report



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

Report the counter all the 20 pulses on the connector Input 1+/1-. The counter has to be reported at least each 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 all the 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 on the 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 all the 24 hours. All data have to be concatenated and sent at  maximum all the 24 hours.

→The solution to concatenate several different physical values in the same frame is to use the  batch reporting.

For the batch it is necessary to know the number of physical measures that will be sent in  order to choose a label for each of them and the size of these labels.

According to the previous paragraph, we will have only two kinds of measure to manage, thus two different  labels. The tag Size to use for two labels is 1. Label 0 can be used for binary input Counter and label 1 for the level of disposable Battery.

It is necessary to send two frames to configure this batch.

Number of labelTag 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 the br_uncompress. Type for binary input counter is U32 (10) and is U16 (6)  for the disposable battery power. So, it is necessary to use this command:

echo « 26150020e06001d71e0000a0650f » | ./br_uncompress -a 1 0,1,10 1,100,6


cnt: 5   #  Counter of the batch (from 0 to 7)

263    # Timestamp in second of sending of the frame

#Format of data is: TimeStamp of Measure | 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