SOFTLINK NB-K868 User manual

Contents
1 Introduction 1
1.1 NB-IoT mobile data services ......................................... 1
1.2 Module usage ................................................. 1
1.3 Hardware features and power supplying .................................. 2
2 Technical parameters overview 3
3 Configuration of the NB-K868 module 4
3.1 Setting of NB-K868 module parameters by configuration cable ..................... 5
3.1.1 List of NB-K868 module configuration parameters and commands ............... 5
3.1.2 ”System commands” group for control of module basic functions ................ 8
3.1.3 ”Configuration” group of commands for writing of configuration ................ 9
3.1.4 ”System commands” group for general diagnostics ........................ 10
3.1.5 Commands for setting of watermeter reading ........................... 10
3.1.6 Commands for setting of message broadcasting system ...................... 16
3.1.7 Displaying of other operational entries in the list of parameters ................. 20
3.2 Setting of parameters by using of optical converter ............................ 21
3.3 Remote setting of module parameters through the NB IoT back channel ................ 23
3.4 Overview of module configuration parameters ............................... 23
3.5 The NB-K868 module data messages .................................... 25
3.5.1 Structure and types of data messages ............................... 25
3.5.2 Description of INFO message .................................... 26
3.5.3 Description of TRAP message .................................... 28
3.5.4 Encryption of messages ....................................... 28
4 Operational conditions 30
4.1 General Operation Risks ........................................... 30
4.1.1 Risk of mechanical and/or electric damage ............................. 30
4.1.2 Risk of premature battery discharge ................................ 30
4.1.3 Risk of damage by excessive humidity ............................... 30
4.2 The condition of modules on delivery .................................... 31
4.3 Modules storage ............................................... 31
4.4 Safety precautions .............................................. 31
4.5 Environmental protection and recycling .................................. 31
4.6 NB-K868 module installation ........................................ 31
4.7 Module and meter replacement ....................................... 34
4.8 Module dismantling ............................................. 34
4.9 Functional check of the module ....................................... 35
4.10 Operation of the NB-K868 module ..................................... 35
5 Troubleshooting 35
5.1 Possible causes of module failures ...................................... 35
5.1.1 Power supplying failures ....................................... 35
5.1.2 System failures ............................................ 36
5.1.3 Failures of communication with NB-IoT network ......................... 36
5.1.4 Failures of communication with watermeters ........................... 36
5.2 Troubleshooting procedure .......................................... 37
6 Additional information 38
List of Tables
1 Overview of NB-K868 module technical parameters ............................ 3
2 Overview of NB-K868 module configuration parameters ......................... 24
NB-K868 i

List of Figures
1 View of the NB-K868 module ........................................ 2
2 Table for selection of message content (”mask”) .............................. 13
3 Table of list of NB-K868 module parameters ............................... 21
4 Basic forms of NB-K868 module in ”SOFTLINK Configurator” application .............. 21
5 Setting the list of read devices ........................................ 22
6 Preview of ”NEP coding table” for coding of variables in WACO system ................ 25
7 Set of NB-K868 module components with stick antenna ......................... 32
8 Detail of NB-K868 module PCB ...................................... 32
NB-K868 ii

1 Introduction
This document describes features, parameters and setting possibilities of the NB-K868 module, which is used
either for remote reading of iPERL series watermeters by Sensus equipped with 868 MHz data transmitter, or other
watermeters (*) of the ”smart” category, equipped with an 868 MHz transmitter working in Wireless M-Bus format.
The module receives messages from watermeters and broadcasts the read data to the superior Automatic Meter
Reading (AMR) system by using of NB-IoT services of the GSM operator.
(*) Although the module is primarily intended for reading watermeters, it can also be used for reading of any other
consumption meters or sensors that send messages in 868 MHz Wireless M-Bus format.
1.1 NB-IoT mobile data services
Mobile data services NB-IoT are global data services provided by some operators of GSM services. The
services are focused on the communication with a huge quantity of devices, that transfer only an extremely limited
volume of data. Networks with such purpose and features are commonly labeled as ”Internet of Things”, or by its
acronym ”IoT”. NB-IoT (”Narrow Band Internet of Things”) is an open standard developed by 3GPP organization
(3rd Generation Partnership Project) which is concerned with standardization in the GSM network development.
NB-IoT is a cellular technology based on the LTE, that was developed specially for wireless communication with
terminals of IoT category, that produces only limited volume of data, but they are miniature, inexpensive, with
a very low energy consumption and they are commonly installed in the places with high demands on the signal
coverage. Typical example of such device is a reading module of the water/gas/electro-meter installed in the
basement without electricity, that should be able to run reliably many years on the internal battery even in weak
signal conditions, where other services fail.
NB-IoT technology maximally utilizes technological infrastructure of LTE data services in licensed radio band.
Combination of narrow frequency band and the most advanced modulation techniques enable increasing of receiver
sensibility to the -135 dBm level, so that an existing infrastructure of mobile operator provides global coverage
with high signal penetration even in build-up urban areas. Thus, the service is available in the places, where IoT
category devices are typically installed - in shafts, distribution boards and cellars.
Terminal devices are identified in the network by standard SIM of GSM operator. Global system of SIM evidence and
single communication standard enable providing of international services (roaming). Bi-directional communication
is carried by standard Internet protocol with UDP transport layer. Messages are transferred from the GSM operator
network to the IoT-terminal operator through the designated data gateway (Access Point - AP) either to public
Internet, or to operator’s private IP network (i.e. same way as any similar mobile data services). Addressing and
routing details depend on the network configuration and policy of particular GSM operator. Typical example of
addressing and routing is a solution, when the GSM network automatically assigns private IP addresses to IoT
terminals, IP-packets with messages are routed through the private IP network to a single Access Point, where
they are re-addressed and resend through a single pre-arranged public IP-address to the public Internet. The IoT
terminal assigns packets by target server public IP-address, that is preset in its configuration. Target system can
identify original source of the message by using of device unique identifier (IMEI), which is a requisite part of the
message content.
1.2 Module usage
The NB-K868 module can be used as local communication gateway for remote reading of Sensus iPERL-series
watermeters, or other ”smart” watermeters with integrated Wireless M-Bus transmitters in the 868 MHz band. The
module receives regular radio messages with readings from watermeters in its radio-reach and stores the readings
to its memory. In pre-defined intervals the module broadcasts aggregate of received data to the superior remote
reading system (AMR) in form of radio-messages of NB-IoT service (”INFO” messages).
The NB-K868 module can by used for remote reading up to 20 watermeters placed in its radio-reach (that is
up to hundreds meters). Each watermeter transmits the messages with a short fixed period (e.g. iPERL every 15
seconds). The module receives data from watermeters in regular ”receiving windows”, that are opened with preset
”reading period” (e.g. every 120 minutes). Received data from each receiving window are stored into the module
memory. With pre-defined broadcasting period (e.g. 8 hours) the module broadcasts one NB-IoT message with
aggregate data from all receiving windows to the superior server. This way of communication is a highly effective,
as it is optimized from energy consumption point of view, as well as from point of view of NB-IoT services expenses.
The module can also work in on-line mode, when the data are broadcasted immediately after each receiving
window. This mode is suitable in situations, when a minimum information delay is required, or when the number
of meters read is so high that the amount of measured data fills the entire NB-IoT data packet anyway and it has
NB-K868 1

no practical sense to aggregate the data.
Each module has its table of read watermeters, where there are IDs (serial numbers) of meters that should be
read by the module. If there are other watermeters in the reach, their messages are ignored. The module supports
receiving and transmitting of messages either in open mode, or in encrypted mode. The module allows forwarding
of original alarm statuses (”flags”) from watermeters together with normal readings, or conversion of ”flags” into
the wacoSystem alarm messages, that are sent immediately.
Content of INFO-messages is configurable. The messages contain identification and current statuses of module
parameters (uptime, battery voltage, processor temperature..), list of read watermeters, timestamps of reading
periods, and counter values of all watermeters in each reading period (including alarm flags). As up to 110
readings can be transmitted within one communication session, one message can contain results from up to 5
measurement intervals even in case of reading maximum number of 20 water meters.
The messages with aggregate data are handed over to the application server with using of NB-IoT service of GSM
provider. The data are transferred in form of standard IP/UDP packets, that are routed to the server of remote
reading application operator through the designated Access Point of GSM provider. Application server receives the
messages and performs their decoding, storing and further processing.
The NB-K868 module supports bi-directional communication and it is able to receive through the network
messages of ”SET” type, generated by remote computer. These messages can be used for setting of module
parameters from the remote server.
1.3 Hardware features and power supplying
The module is enclosed in humidity-proof plastic casing with IP65 degree of protection and can be used in interiors
as well as in exteriors. The casing is designed for mounting on the wall or other construction element (beam,
pipe...). Module can be treated with an additional sealing by high-adhesion silicon filling, that can ensure proof
against inundation by water (IP68 grade). If this treatment is required from the manufacturer, it must be ordered
separately.
The module is power supplied by internal battery with up to 6 years lifetime for measurement frequency of 2
hours and broadcasting interval of 8 hours. One message can contain up to 110 readings. Battery lifetime can be
negatively influenced by shorter broadcasting period, or by storing and operation in sites with the temperatures
exceeding the recommended range.
The module is equipped with a SIM-holder for ”Micro-SIM” (3FF) format of SIM-card (15 x 12 x 0,76 mm). SIM-
holder is placed inside the module on the PCB. The module can be ordered with embedded SIM (eSIM) of chosen
GSM operator.
The module can be controlled and configured either by configuration cable, or wirelessly, by infra-red optical
converter. The module is equipped with the special circular aperture (”peephole”) for magnetic fixing of the optical
converter. The module can be also configured remotely, with using of back channel of bi-directional communication.
External appearance of the NB-K868 module is shown in the figure 1.
Figure 1: View of the NB-K868 module
NB-K868 2

2 Technical parameters overview
Overview of NB-K868 module technical parameters is shown in the Table1below.
Table 1: Overview of NB-K868 module technical parameters
RF subsystem parameters
Frequency band 800 MHz (RX/TX) 791-821 / 832-862 MHz
Frequency band 850 MHz (RX/TX) 869-894 / 824-849 MHz
Frequency band 900 MHz (RX/TX) 925-960 / 880-915 MHz
Modulation GMSK, 8PSK (adaptive)
Bandwidth 180 KHz
Transmitting power 200 mW
Receiver sensitivity 135 dBm
Communication protocol NB IoT (bi-directional)
Transmission speed 0,35 ÷240 Kbps (adaptive)
Antenna characteristic impedance 50 Ω
Antenna connector SMA female
868 MHz receiver parameters
Carrier frequency 868 MHz
Antenna connector SMA female
Supported communication protocols Sensus iPERL, Wireless M-Bus
Max. number of read watermeters 20
Configuration interface RS232
Transmission speed 9600 Baud
Operation mode asynchronous
Transmission parameters 8 data bits, 1 stop bit, none parity
Signal level TTL/CMOS
Optical configuration interface
Transmission speed 115 200 Baud
Optical wavelength 870 nm
Optical interface specification IrPHY 1.4 standard
Power supplying
Lithium battery voltage 3,6 V
Lithium battery capacity 17 A.H.
Weight and dimensions
Length 145 mm
Width 45 mm
Height 105 mm
Weight cca 300 g
SIM-card format (15x12x0,76)mm) ”Micro-SIM”
Storage and installation conditions
Installation environment (by ˇ
CSN 33 2000-3) normal AA6, AB4, A4
Operation temperature range (-20 ÷40) ◦C
Storage temperature range (0 ÷40) ◦C
Relative humidity * 95 % (w/o condensation)
Degree of protection * IP65 or IP68
* modules treated by additional silicon filling are waterproof with IP68 degree of protection.
NB-K868 3

3 Configuration of the NB-K868 module
Configuration parameters of the NB-K868 module can be displayed and changed from the common computer (PC)
by one of these methods:
- with using of ”USB-CMOS” converter and configuration cable connected to the module;
- wirelessly, with using of ”USB-IRDA” or ”BT-IRDA” converter;
-remotely, by using of bi-directional communication system.
Technique of interconnection of the module with configuration computer and general rules of configuration are
described in detail in the chapter 2 of ”Configuration of wacoSystem product family devices”, that can be
downloaded from the producer website:
www.wacosystem.com/support/
www.softlink.cz/en/documents/
The description and meaning of all configuration parameters that can be checked and changed by cable can be
found in the section 3.1 ”Setting of NB-K868 parameters via configuration cable”.
Description of interconnection of the converter with PC (”USB-IRDA”) or smartphone (”BT-IRDA”) and gen-
eral rules of configuration with using of optical converters are described in the chapter 3 of above mentioned
manual ”Configuration of wacoSystem product family devices”. The description and meaning of the parameters
that can be changed by optical converter can be found in the section 3.2 ”Setting of parameters by using of optical
”IRDA” converter”.
Principles and short description of communication through the NB-IoT back channel can be found in para-
graph i 3.3 ”Remote setting of module parameters through the NB IoT back channel”.
NB-K868 4

3.1 Setting of NB-K868 module parameters by configuration cable
In following part of the document there is a description of these parameters of the NB-K868 module, that can be
displayed and examined from PC connected to the module by configuration cable. Some of the parameters can be
changed by configuration commands entered ”from the console”.
3.1.1 List of NB-K868 module configuration parameters and commands
List of all configuration parameters of the module can be displayed by entering of ”show” command and pressing
of ”ENTER” key. The following list of parameters will display in the terminal window:
mon#show
----- Configuration -----
Timezone : 1
Server IP : ’192.168.0.20
Ping IP : ’10.0.0.1’
Server port : 4242
Reply to server : yes
My src port : 2000
APN : ’’
Max session time 172800 sec - 2d, 0:00:00
Send periode : 0
Hist. periode : 60 min.
Send mask is 7 : SID, Alarm, RSSI
Data will be unencrypted
WMBUS meters :
ID[0] : 76738781
DIF/VIF index[1] : 00 00
DIF/VIF index[2] : 02 5b
DIF/VIF alarm : 00 00
Alarms bit :
Burst : 0
Leak : 0
Baterry : 0
Back flow : 0
ID[1] : 76738783
DIF/VIF index[3] : 00 00
DIF/VIF index[4] : 02 5b
DIF/VIF alarm : 00 00
Alarms bit :
...
-- 868Mhz modem --
No. sent : 0 msg(s)
No. recv : 0 msg(s)
No. recv error : 0 msg(s)
Receive window : 40 sec.
-- Narrow band modem --
No. sent : 0 msg(s)
No. recv : 0 msg(s)
Modem state : 1 - disabled
Session count : 0
Session timeout : 0 sec - 0:00:00
Modem IMEI : 863703039559609
SIM CCID :
SIM IMSI :
Last RSSI : 0 dBm
Conf. version : 3
SW version 1.01, date Apr 7 2021
mon#
NB-K868 5

List of all configuration commands (”HELP”) can be displayed by entering of ”?” command into the command
line and pressing of ”ENTER” key. The following list of commands will display in the terminal window:
mon#show
----- Configuration -----
Timezone : 1
Server IP : ’192.168.0.20
Ping IP : ’10.0.0.1’
Server port : 4242
Reply to server : yes
My src port : 2000
APN : ’’
Max session time 172800 sec - 2d, 0:00:00
Send periode : 0
Hist. periode : 60 min.
Send mask is 7 : SID, Alarm, RSSI
Data will be unencrypted
WMBUS meters :
ID[0] : 76738781
DIF/VIF index[1] : 00 00
DIF/VIF index[2] : 02 5b
DIF/VIF alarm : 00 00
Alarms bit :
Burst : 0
Leak : 0
Baterry : 0
Back flow : 0
ID[1] : 76738783
DIF/VIF index[3] : 00 00
DIF/VIF index[4] : 02 5b
DIF/VIF alarm : 00 00
Alarms bit :
...
-- 868Mhz modem --
No. sent : 0 msg(s)
No. recv : 0 msg(s)
No. recv error : 0 msg(s)
Receive window : 40 sec.
-- Narrow band modem --
No. sent : 0 msg(s)
No. recv : 0 msg(s)
Modem state : 1 - disabled
Session count : 0
Session timeout : 0 sec - 0:00:00
Modem IMEI : 863703039559609
SIM CCID :
SIM IMSI :
Last RSSI : 0 dBm
Conf. version : 3
SW version 1.01, date Apr 7 2021
mon#
List of all configuration commands (”HELP”) can be displayed by entering of ”?” command into the command
line and pressing of ”ENTER” key. The following list of commands will display in the terminal window:
NB-K868 6

mon#?
Help :
--- System commands ---
deb : Show or set debug level
ta : Show tasks
mb : Show mail boxes
du addr : Dump memmory
rb addr : Read byte from addr
rw addr : Read word from addr
rd addr : Read dword from addr
sb addr val : Set byte on addr
sw addr val : Set word on addr
sd addr val : Set dword on addr
port : Show port [a,b,..]
show : Show info
write : Write configuration to flash
cread : Read configuration from flash
clear : Clear configation and load defaults
--- 868 commands --- ---
mr : Modem receive mode 0 - off, 1 - on
mt test time : Set test on modem, 1 - TX carrier, 2 - TX PN9, time is in second, default 10
ms : Get modem state
mi : Get modem info
mode : Set/Get recv. protocol : 0 - iPerl, 1 - WMBUS
recvwin : Set receive window in sec.
recvsec : Modem receive on sec.
radar : show radar
clradar : clear radar
hdata : show history data
sicap : Set or get xtal capacity correction
sixtal : Set or get xtal frequence
cfreq : Set xtal from analyzer
--- Narrow band ---
server : Server IP address
sport : Server UDP port
testip : Ping IP address
sreply : Send reply to server
apn : Access Point Name
sess : Set max session time in minutes
tshort : Set modem short timeout
tlong : Set modem long timeout
tconn : Set modem connetion timeout
sping : Send ping
at : modem command
--- Sensus ---
skey : Set decrypt key Sensus
sid [index] [value] : Set Sensus meter ID
--- W-MBUS ---
wkey : Set decrypt W*-MUBS key
sid [index] [value] : Set WMBUS meter ID
dib1 [index] [value] : Set WMBUS DIF/VIF 1, 00 00 - water in m3
dib2 [index] [value] : Set WMBUS DIF/VIF 2, 00 00 - disabled
diba [index] [value] : Set WMBUS DIF/VIF for alarm flags
alrb [index] [type] [value] : Set WMBUS alarm flags bits
...
NB-K868 7

...
--- Utils ---
tz : Time offset in hours
ppm : Set RTC ppm
time : Show or set rtc time, set as BCD : 0x102033 is 10:20:33
date : Show or set rtc date, set as BCD : 0x171231 is 2017-12-31
uptime : Show uptime
sens : Show sensors
sendp : Send x NB messages
send : Send NB message
smask : Send mask bits, 0 - SID, 1 - Alarm, 2 - RSSI ,default 7 - all
periode : Send periode 0 - disable, >0 periode in minutes
hist : History periode 0 - disable, >0 periode in minutes
ekey : Set encrypt key NEP, point ’.’ no encrypt
info : Show or set manuf. info string (0-30 chars)
reset : Reset device
? : Show this help
mon#
Overview of configuration parameters with short description of their meaning can be also found in table 2on the
page 24. The meaning of individual parameters and detailed description of their usage can be found below.
3.1.2 ”System commands” group for control of module basic functions
This group of commands enables control of basic functions of the module. There are following commands:
reset command for module reset
send immediate sending of radio message
sendp immediate sending of series of messages
sens show current values of internal sensors (temperature, voltage..)
uptime show system uptime from last reset
info setting of individual module description
The command ”reset” performs the module reset. After each reset the system starts with the parameters that are
stored in FLASH memory. If the current configuration should be used after reset, it is necessary to store it into the
FLASH before reset (see paragraph 3.1.3). Example of using of ”reset” command:
cfg#reset
-- Reset code 0x14050302 --
PIN Reset
SFT Reset
SW version 0.01, date Jan 18 2019
Monitor started ..
mon#
The command ”send” can be used for immediate (”out of turn”) transmitting of the standard information message
with measured values. This command can be used for checking of radio signal availability during the system
installation, or for any adjustments and testing of the module. The command makes possible to send the information
message anytime without necessity to change the transmission period or without waiting until the message will be
sent spontaneously within the pre-set period. Example:
cfg#send
Sending ...
send [1] msg 255
mon#
The command ”sendp” can be used for immediate transmitting of series of standard messages with 1-minute
interval. This command can be used for checking of radio signal availability during the system installation. It could
enable checking of connection also after closing of mounting rack, or after leaving of watemeter shaft. Number of
NB-K868 8

transmitted messages is set by parameter (number) after command, the first message is transmitted immediately
after command. Example of sending of series of 5 messages:
cfg#sendp 5
sending 5 msgs
mon#
The ”sens” command can be used for displaying of current values of A/D converters measuring physical quantities
(battery voltage, temperature...). This command is intended only for module checking and diagnostics.
cfg#sens
-- Sensors --
CPU : 25.8 ◦C
VDA : 3.003 V
VBAT : 3.561 V
Sensor type 0
mon#
The ”uptime” parameter value shows the time interval passed from the last device reset in seconds so that the
exact moment of the last module reset can be recognized by this parameter. The parameter is of ”read only” type.
Example:
cfg#uptime
Uptime 0d, 0:13:26
mon#
The ”info” command can be used for setting of individual description/label of the module. Up to 30 alphanumeric
characters can be entered. The label will be displayed in the ”Info text” field of the optical configuration form. The
label can contain any identification data (installation site code, customer code, meter serial number. Example of
module individual text setting:
cfg#info NB-X 123456
Change manuf info from : ’’ to : ’NB-X 123456’
mon#
3.1.3 ”Configuration” group of commands for writing of configuration
The module contains two sets of configuration: operating configuration and saved configuration. At the start of the
system the module copies saved configuration to operating configuration, with which continues to work. If the user
changes configuration parameters, it does so only in operating configuration.
If the current operating configuration was not stored to FLASH memory, the module returns to the saved config-
uration after reset. If the parameter should be changed only temporarily (for example shorten of the broadcasting
period during installation), it is not necessary to save operating configuration into FLASH memory (after finishing
a work the module can be returned to normal configuration by its reset). If the parameter should be changed
permanently, there is necessary to save configuration to FLASH memory.
If operating configuration corresponds to the saved set (ie. there are no differences between commands in FLASH
and in the operating set), the module will ”report“ prompt in the format ”mon#”. If operating configuration was
changed so that it no longer matches to the saved set, the module will report prompt in the format ”cfg#”.
Every time the current configuration is saved into FLASH memory the value of the ”Configuration version” param-
eter increases by one and the prompt changes to ”mon#”. The parameter resets to zero by erasing of FLASH.
Current operating configuration can be displayed by using of ”show” command (see paragraph 3.1.1):
cfg#show
Current operating configuration can be rewrite the to FLASH memory by using of ”write” command:
cfg#write
Writing config ... OK, version 13
mon#
NB-K868 9

Reading of the configuration from FLASH memory can be done by using of ”cread” command:
cfg#cread
Reading config ... OK, version 13
mon#
The configuration can be erased in Flash memory by using of ”clear” command:
cfg#clear
Clearing config ... OK, version 13
mon#
This command deletes all configuration parameters from the FLASH memory, so it is necessary to set them again.
If after erasing all parameters in FLASH memory the module goes to reset, default set of parameters (configured
in the program of the device) is duplicated to FLASH memory. There is only one exception - frequency constant
keeps the actual value also after cleaning of FLASH memory by ”clean” command.
This command is recommended to use only by users with good knowledge of the system or after
consultation with the manufacturer.
3.1.4 ”System commands” group for general diagnostics
Commands ””deb”, ”ta”, ”mb”, ”du addr”, ”rw addr”, ”rb addr”, ”rd addr”, ”sw addr val”, ”sb addr
val”, ”tshort”, ”tlong”, ”port”, ”ppm” and ”at” are used for troubleshooting and repair of the device in
a factory. Manufacturer strongly recommends not to use these commands during common operation.
Another group of commands are intended for factory setting and diagnostics of 868 MHz transceiver sub-system
(RF-modem), that serves for receiving of data from watermeters.
There are following commands:
mt test time launch of testing transmission (setting and diagnostics)
ms display RF-modem internal status (diagnostics)
mi display RF-modem internal registers (diagnostics)
sixtal frequency constant setting (setting)
sicap frequency crystal capacity correction (setting)
cfreq frequency constant correction (setting)
It is strongly recommended not to use these commands during common operation.
3.1.5 Commands for setting of watermeter reading
The module is equipped with internal 868 MHz modem, that serves for receiving of data from watermeters. In
regular operation the modem is periodically (with preset reading period) switched to receiving mode for preset time
interval (called ”receiving window”), when radio-messages from all watermeters in radio-reach are received. After
closing the receiving window the modem is switched off to save battery energy.
The module is able to receive either only ”Bubble-Up” 868 MHz messages from Sensus iPERL watermeters, or
only messages in universal Wireless M-Bus (”WMBUS”) protocol in the 868 MHz band from other manufacturer
watermeters (or from other types of equipment). The ”iPERL” messages have a completely different format than
”WMBUS” messages and the modem cannot receive both types of messages at the same time.
The first group of commands is used for general setup and control of the 868 MHz modem, which is common
for receiving both types of messages. There are following commands:
mr manual switching of 868 MHz modem to receiving mode
mode receiver mode switching: 0=iPERL, 1=WMBUS
recvsec open 868 MHz receiving window for preset time interval
recvwin setting the length of the ”receiving window” in seconds
radar list of watermeters within module reach (”RADAR” mode)
clradar emptying the radar table
hist setting of reading period for ”history” mode
hdata displaying records in memory of historical readings
smask setting of content (selection of transferred information)
NB-K868 10

Receiving mode of 868 MHz modem can be manually switched by using of ”mr [1/0]” command. By entering
of ”1” parameter the receiver is switched on, by entering of ”0” parameter the receiver is switched off. When the
receiver is switched on, all received messages from water meters within range of the modem are read into the ”radar”
table (see below) and in the ”debug” mode, incoming messages can be checked online in the communication window
of the serial communication program. This way it can be surveyed, which meters are in the reach and with what
frequency and reliability is their signal received. The receiving window can be opened for desired time, until it is
manually closed by command with ”0” parameter.
Example of opening and closing of receiving window:
mon#mr 1
Receive 1 (2)
cfg#mr 0
Receive 0 (4)
cfg#
Using the ”recvsec [time]”command the 868 MHz modem is turned for a specified time into the ”RADAR” mode.
In this mode, the receiver receives all messages from watermeters and a ”RADAR” table, in which each received
watermeter is listed only once (regardless of the number of messages received from this meter), is filled. The result
is a table of all water meters, from which at least one message was captured in the receiving window. The opening
time of the receive window is set by the command parameter [time].
Example of turning the 868 MHz modem into the ”RADAR” mode for 60 seconds:
mon#recvsec 60
Modem goes to receive for 60 sec.
mon#
By using of the ”recvwin [time]” command the length of ”receiving window” parameter can be preset to the
specified number of seconds. In normal operation the 868 MHz modem will open periodically for a preset time and
store data from all water meters that are on the reading list.
Example of setting the receiving window of the 868 MHz modem to 60 seconds value:
cfg#recvwin 60
Set receive window on 60 sec.
cfg#
The length of the receiving window is stated in ”868MHz modem” section of the list of module parameters (displayed
by using of ”show” command) as follows:
-- 868Mhz modem --
No. sent : 0 msg(s)
No. recv : 0 msg(s)
No. recv error : 0 msg(s)
Receive window : 60 sec.
After entering the ”recvsec” command and waiting until the set time has elapsed, the ”RADAR” table content can
be browsed by using of ”radar” command:
mon#radar
Show radar :
id 130551474, rssi -75, time 2019-01-01, 0:01:25+01
id 130551473, rssi -69, time 2019-01-01, 0:01:21+01
id 130551476, rssi -69, time 2019-01-01, 0:01:17+01
id 130551477, rssi -54, time 2019-01-01, 0:01:13+01
id 130400388, rssi -103, time 2019-01-01, 0:01:12+01
id 130551475, rssi -62, time 2019-01-01, 0:01:11+01
mon#
As evident form the example, during the receiving window the module received messages from six watermeters.
Each record contains watermeter serial number (id), radio-signal strength in dB (rssi) and message receiving time
(time). Stored values come from the first received message from the watermeter in the receiving window.
NB-K868 11

After entering the ”clradar” command, the ”RADAR” table is emptied. It is recommended to use this com-
mand before turning on the ”RADAR” function, if the conditions have changed significantly since the last radar
start (mode change, module location change, etc.). Example of using the ”clradar” function:
mon#clradar
Cleared 0 rec(s)
mon#
Due to decreasing of broadcasting frequency (saving of battery lifetime) the module enables transfer of higher
number of before read values in one message. In this case the message does not contain current values of meters,
but it contains an array of previously performed readings, that were stored in module internal memory (hereinafter
”historical readings”). Each set of historical readings is accompanied by the time of reading (”timestamp”) and this
timestamp is also transferred to the central system. To determine the number of transmitted historical data sets,
the following restrictions need to be considered:
1. The memory size of the module allows to storing of up to 110 historical readings. The number of historical
receiving windows that can be transmitted per broadcasting session depends on the number of watermeters
read and the number of collected variables. For example, when reading one variable from the maximum
number of 20 watermeters, data from 5 receiving windows can be read into the history table and sent at once,
within one transmission session. Each time a message is sent, the historical readings table is emptied.
2. One data packet (which is the basic billing unit for charging according to the number of transferred data) will
contain data from about 20 - 25 variables (depending on the mask setting, and also on how many decimals
the transmitted data have). If one variable from the maximum number of 20 water meters is transmitted, the
data will surely fit into one standard packet of the NB-IoT service.
As it is clear from these dependencies, for higher number of readout watermeters the reading period and the data
sending period are always compromise among information delay, energy consumption and service price.
To minimize information delays, it is necessary to broadcast as often as possible. On the other hand, to minimize
energy consumption it is advantageous to broadcast as less frequently, as possible. To minimize the price, it is
advantageous to fill the transmitted packets as full as possible.
Determination of measurement and broadcasting frequency parameters should always be done on a project basis,
taking into account the specific situation and the specific needs and requirements of the project.
Example: If the broadcasting period is set to 240 minutes (4 hours), one value is read from 10 watermeters, and
the period for storing historical readings is 60 minutes, the data from 240/60 = 4 receiving windows will be stored
within the entire transmission period, and that will create 4 * 10 = 40 records of historical readings. Therefore,
the records will reliably ”fit” into the two data packets of the NB-IoT service. Such setting would appear in the
configuration list as follows:
Send periode : 240
Hist. periode : 60 min.
each meter 1-2 records, max. is 110 recs
It is clear from the example that broadcasting period is 240 minutes and the period of storing readings into the
history table is 60 minutes. Each water meter will therefore have 4 records stored in memory (one every hour).
With the number of ten connected water meters, there will be 10 * 4 = 40 records in each message.
The historical readings storing period can be preset by using of ”hist” command followed by parameter. The
parameter is required number of minutes. Allowed values of the parameter are 10, 15, 30 and 60 minutes (if other
value entered, system will store nearest value). If the parameter is set to ”0” (default setting), no historical readings
are stored, and only current values are transferred. Example of setting of historical readings storing period to 30
minutes value:
cfg#hist 30
History changed from 0 to 30 min.
cfg#
In the ”history” mode the module receives readings from watermeters with higher frequency than the data are
broadcasted. Reading records are stored to the ”history” table that is emptied after broadcasting. Current records
in ”history” table can be browsed by using of ”hdata” command. Example:
NB-K868 12

cfg#hdata
Show history data :
ID[3] 130551476, val 226, alarm 0x00, rssi -73, time 2019-01-01, 0:10:00+01
ID[1] 130551473, val 3369, alarm 0x00, rssi -71, time 2019-01-01, 0:10:00+01
ID[2] 130551474, val 10, alarm 0x00, rssi -81, time 2019-01-01, 0:10:00+01
ID[0] 130551475, val 0, alarm 0x00, rssi -67, time 2019-01-01, 0:10:00+01
ID[4] 130551477, val 887, alarm 0x00, rssi -55, time 2019-01-01, 0:10:00+01
ID[3] 130551476, val 229, alarm 0x00, rssi -67, time 2019-01-01, 0:20:00+01
ID[1] 130551473, val 3370, alarm 0x00, rssi -72, time 2019-01-01, 0:20:00+01
...
It is evident from the dump, that there were two reading periods since last broadcasting (at ”0:10:00” and at
”0:20:00”) and five watermeters were read in each period. Each record contains meter ID, read value (val), read
alarm code (alarm), radio-signal strength (rssi) and timestamp of reading (time).
The ”smask” command can be used for setting of information message content. Message structure is described
in ”mask” table (see figure 2), where there are different masks in different rows (one mask in one row) and all
transferred information of one particular mask are marked by ”1” in corresponding column. Binary symbols 0/1
from all three columns (SID, Alarm, RSSI) put together three-bit binary number. Decimal form of this number can
be used as ”smask” command parameter.
Figure 2: Table for selection of message content (”mask”)
Required ”mask” of message content can be entered by entering of mask decimal number (= number in ”Mask”
column) after ”smask” command. Example:
cfg#smask 3
Send mask changed to 3 : SID, Alarm
mon#
As it is clear from the example, in the messages with mask number ”3” there will be transferred only ”SID” (meter
ID) and ”Alarm” (Alarm Flag) values, without RSSI value. This setting will determine message content as it is
described in detail in paragraph 3.5 ”The NB-K868 module data messages”. Values of watermeter counters are
always transferred, they cannot be removed from the message.
As NB-IoT services are typically charged per volume of transferred data, it is important to set appropriate message
structure, that transfers only data that are really useful. If, as an example, Alarm Flags cannot be decoded in the
superior remote reading system, transferring of this information has no sense.
The second group of commands serves for setting of reading data from watermeters in ”iPERL” mode
(for Sensus iPERL watermeters). There are following commands:
skey setting of encryption key for decrypting of watermeter messages
sid [index] [value] setting of watermeter IDs for reading (reading list)
The command ”Sensus encryption key” is used for setting of the encryption key for decryption of messages
from Sensus iPERL watermeter (if the messages are encrypted). The AES-128 encryption key of 16 bytes length
is entered by using of ”skey” command, followed by the string of 16 bytes that can be entered in a decimal
or hexadecimal format same way as encryption key for NB-IoT communication (see using of ”ekey” command in
paragraph 3.1.6 below). All watermeters, that the module reads, must have the data encrypted with the same key.
The ”Set Meter ID” variable serves for setting of list of watermeters, that is intended to be read by the NB-K868
module. Each record to the list could be created by using of ”sid [index] [value]” command, where meter ID
(serial number) is linked with meter index (0 - 9). Eample of command for entering of watermeter with ”130551477”
serial number into the list of read meters under index ”4”:
NB-K868 13

cfg#sid 4 130551477
Sensus ID[4] changed from : 0 to : 130551477
mon#
Current list of read watermeters is stated in the list of all configuration parameters. The list can be also displayed
by using of ”sid” command without parameters:
cfg#sid
Sensus
ID[0] 76738781
ID[1] 76738783
ID[2] 76738791
ID[3] 0
...
ID[18] 0
ID[19] 0
mon#
The table allows entering up to 20 watermeters. The ID value is used as an index in the outgoing message. The
watermeter can be removed from the list by entering the value ”0” for the given index.
The third group of commands serves for setting of reading data from watermeters in ”WMBUS” mode
(for devices transmitting in Wireless M-Bus format). There are following commands:
wkey [index] [value] setting of encryption key for decrypting of watermeter messages
sid [index] [value] setting of watermeter IDs for reading (reading list)
dib1 [index] [value] setting of DIF and VIF for selection of the first variable
dib2 [index] [value] setting of DIF and VIF for selection of the second variable
diba [index] [value] setting of DIF and VIF for selection of alarm variable
alrb [index] [type] [value] assigning the alarm type to the alarm flag value
The command ”WMBUS encryption key” is used for setting of the encryption key for decryption of messages
from individual watermeter (if its messages are encrypted). The AES-128 encryption key of 16 bytes length is entered
by using of ”skey” command, followed by the string of 16 bytes that can be entered in a decimal or hexadecimal
format same way as encryption key for NB-IoT communication (see using of ”ekey” command in paragraph 3.1.6
below).
The ”Set Meter ID” variable serves for setting of list of watermeters, that is intended to be read by the NB-K868
module. Each record to the list could be created by using of ”sid [index] [value]” command, where meter ID
(serial number) is linked with meter index (0 - 9). Example of command for entering of watermeter with ”76738781”
serial number into the list of read meters under index ”0”:
cfg#sid 0 76738781
WMBUS ID[0] changed from : 0 to : 76738781
cfg#
Current list of read watermeters is stated in the list of all configuration parameters. The list can be also displayed
by using of ”sid” command without parameters:
mon#sid
cfg#sid
WMBUS
ID[0] 76738781
ID[1] 76738783
ID[2] 76738791
ID[3] 76738795
ID[4] 0
...
ID[18] 0
ID[19] 0
mon#
NB-K868 14

The table allows entering up to 20 watermeters. The ID value is used as an index in the outgoing message. The
watermeter can be removed from the list by entering the value ”0” for the given index.
The NB-K868module can read from each read device (typically a watermeter) one or two standard variables,
which it transmits in messages to the superior system, and one status variable, which it does not transfer to the
superior system, but it can be used as a basis for generating an alarm.
A message in Wireless M-Bus format from a given device type can contain many different variables, from which it
is needed to select the two to be transmitted, and one to be used for generating of alarms. The selection can be done
by using of ”dib1”, ”dib2” and ”diba” commands. At least the variable ”dib1” should be set for each device read,
the settings ”dib2” and ”diba” are optional.
The selection is made by setting the DIF and VIF values, which are always unique in the message for a specific
variable. Therefore, if the DIF/VIF value is set to ”02 5B” as an example, the system selects from the incoming
WMBUS message the value of the variable, that is marked in the message by this DIF/VIF combination.
By using of ”dib1 [index] [value]” command the DIF and VIF of the first read variable can be set. Since the
typical reading device is assumed to be a watermeter and the typical reading is the amount of water flowing, this
value is preset to ”universal filter” by default, so that it most likely selects the correct variable.
The universal ”water” filter is set as follows:
- DIF value is not checked
- VIF value starts with string ”0001 0xxx” (Volume)
The measured water volume is usually referred to as ”Volume” in the Wireless M-Bus system. The first 5 bits of
the accompanying VIF (Value Information Field) information are always set to ”00010” for a variable of ”Volume”
type, the next 3 bits specify only the multiplier (0,000001 to 10). The module reads the variable if its VIF starts
with the string ”00010” and adjusts the position of the decimal point according to the next three bits. The default
value can be anytime preset by setting DIF/VIF to ”00 00”.
If some individual watermeter has the required variable marked other than ”Volume” (or if the readout device is
not a watermeter), the DIF/VIF value must be changed according to the actual designation in the message. Return
to the default setting can be done by entering of ”00 00” value.
If. in addition to the basic variable ”dib1”, it is required to read the second variable, use ”dib2 [index] [value]”
command for setting its DIF and VIF. There is no preset filter for the second varaiable. If the DIF/VIF values are
set to ”00 00”, the loading of the second variable is deactivated. The DIF and VIF valuaes are entered separately
(first DIF, then VIF) in hexadecimal format. Example of setting the reading of the second variable for devices with
index ”1” to the value DIF/VIF ”02 5B”:
cfg#dib2 1 0x02 0x5b
DIF/VIF [1/2] : 02 5b
cfg#
With this setting, the second variable will be read from the device with index ”1” (in addition to the first variable),
namely the one marked in the WMBUS message by a pair of auxiliary codes DIF=02 and VIF=5B, where the
individual codes mean:
- DIF=02 means that the data in 16 bit integer format
- VIF=5B means variable of ”Flow Temperature” type in whole ◦C
This is obviously the temperature of the water flowing through the watermeter.
If the read watermeter (or other device) has in its message a variable that carries the status value (so-called ”alarm
flag”), by using of ”diba [index] [value]” command can be selected the value of that variable. Thus, the module
can generate alarm messages based on the changes of the value. The principle and procedure of the settings are
exactly the same as for the commands ”dib1” and ”dib2”. Find out the DIF/VIF code of the ”flag” value and set
these values using the ”diba” command for the index corresponding to the given device.
The ”alrb [index] [type] [value]” command can be used for ”mapping” of the numeric status of the read device
to the standardized wacoSystem alarm types used within the system. If the read device has a status variable in
its message, and the module reads this value from the message (see using the ”diba” command in the previous
paragraph), by using of ”alrb” command the read values can be ”translated” into the alarm types supported by
module. The module can generate the following types of alarms:
-type ”0” = ”Leak” - state of uninterrupted flow, indicating leakage
-type ”1” = ”Burst” - state of longer lasting overflow limit, indicating breakdown
-type ”2” = ”Battery” - low voltage of device battery
-type ”3” = ”Back Flow” - reverse direction of measured flow
NB-K868 15

Example of mapping of statuses for device with index ”0” to wacoSystem alarms and back check of the settings
made:
cfg#alrb 0 0 2
WMBUS alarm bits [0] :
Burst - 2
cfg#alrb 0 1 1
WMBUS alarm bits [0] :
Leak - 1
cfg#alrb 0 2 4
WMBUS alarm bits [0] :
Baterry - 4
cfg#alrb 0 3 3
WMBUS alarm bits [0] :
Back flow - 3
cfg#
...
cfg#alrb 0
WMBUS alarm bits [0] :
Burst - 2, Leak - 1, Baterry - 4, Back flow - 3
cfg#
The status ”0” is always considered as the basic ”fault-free” status. With this setting, the ”Burst” alarm is issued
when the status is changed from any to ”2” (for example, when the status was ”0” in the previous message and it is
”2” in the new one). Similarly, the ”Leak” alarm is generated when the status changes to ”1”, the ”Battery” alarm
when the status changes to ”4”, and the ”Back Flow” alarm when the status changes to ”3”. When the status
changes to ”0”, an ”OK” alarm is generated.
Current status of settings of all devices can be displayed by entering of ”alrb” command without parameters:
cfg#alrb
WMBUS alarm bits :
[0] - Burst - 2, Leak - 1, Baterry - 4, Back flow - 3
[1] - Burst - 2, Leak - 1, Baterry - 4, Back flow - 3
[2] - Burst - 1, Leak - 2, Baterry - 3, Back flow - 0
[3] - Burst - 1, Leak - 2, Baterry - 3, Back flow - 0
[4] - Burst - 0, Leak - 0, Baterry - 0, Back flow - 0
...
[18] - Burst - 0, Leak - 0, Baterry - 0, Back flow - 0
[19] - Burst - 0, Leak - 0, Baterry - 0, Back flow - 0
cfg#
The example shows a situation where statuses are read from four watermeters, the first two being of a different
type than the second two.
3.1.6 Commands for setting of message broadcasting system
This group of commands enables setting of system for radiobroadcasting of the information messages. There are
following commands:
ekey setting of encryption key (”.” - encryption disabled)
periode setting of regular messages broadcasting period
server setting of target server IP-address
sport setting of target server port number
sreply redirection of replies to target server
apn setting of private network Access Point Name (APN)
sess maximum session time
testip setting of IP-address for ICMP ping tests
tconn connection setup timeout
tz setting of time zone (UTC + n)
time real time (RTC) displaying/setting (hh:mm:ss)
date real time (RTC) displaying/setting (RR.MM.DD)
NB-K868 16

The command ”Encryption key” is used for setting of the encryption key for an encryption of transmitted
messages by using of AES-128 key. The encryption key of 16 bytes length is entered by using of ”ekey“ command,
followed by the string of 16 bytes that can be entered in a decimal or hexadecimal format (see examples).
An example of insertion of the encryption key in hexadecimal format:
cfg#ekey 0x1a 0x2b 0x3c 0x4d 0x5e 0x6f 0xa1 0xb2 0xc3 0xd4 0xe5 0xf6 0x77 0x88 0x99 0xaf
Setting encryption key : 1a 2b 3c 4d 5e 6f a1 b2 c3 d4 e5 f6 77 88 99 af
cfg#
An example of insertion of the encryption key in decimal format:
cfg#ekey42 53 159 188 255 138 241 202 136 21 98 147 235 15 145 136
Setting encyption key : 2a 35 9f bc ff 8a f1 ca 88 15 62 93 eb 0f 91 88
cfg#
If the encryption key is set to the module’s configuration, an information ”Data will be encrypted by AES”
displays in the list of configuration parameters (see paragraph 3.1.1)
Encryption can be switched off by setting of ”.” (dot) parameter after the ”ekey“ command:
cfg#ekey.
Encyption disabling
cfg#
In this case an information ”Data will be unencrypted” appears in the list of configuration parameters .
”Periode” command serves for setting of broadcasting period of regular info messages. The value of the param-
eter is factory preset to 60 minutes. Current value can be checked by ”periode” command (without parameter).
Broadcasting period can be changed by entering of required number of minutes (theoretically up to 65535 minutes)
after ”periode” command.
Example of displaying, and setting of broadcasting period:
cfg#periode
Periode is 60 min.
cfg#periode 120
Periode changed from 60 min. to 120 min.
cfg#
The module broadcasts messages wrapped into UDP packets of Internet Protocol to the pre-configured target
server, where the remote reading application is running. Following commands are intended for setting of target
server IP-address and target application port number and for setting of the name of communication
gateway between the GSM operator network and Internet (so called ”APN” = Access Point Name).
IP-address of target server can be pre-configured by using of ”server” command. The address can be entered
in commonly used decimal format.
Example of setting of the target server IP address to ”92.89.162.105” value and follow-up checking of the setting:
cfg#server 92.89.162.105
Server changed from ’0.0.0.0’ to ’92.89.162.105’
cfg#
cfg#server
Server is : ’92.89.162.105’
cfg#
Number of UDP port can be pre-configured by using of ”sport” command. The UDP port number should
correspond with the remote reading application port number. Example of setting of UDP port number to value
”2000” and follow-up checking of the setting:
NB-K868 17
Table of contents
Other SOFTLINK Control Unit manuals
Popular Control Unit manuals by other brands

Flowserve
Flowserve atomac AtoPro Series Technical manual

Allmatic
Allmatic HELIOS KAIROS manual

Clack
Clack Water Specialist WS1TC Operation and instruction manual

Stenner Pumps
Stenner Pumps PCM series Installation and maintenance manual

ETAS
ETAS ES420.1 user guide

abaco systems
abaco systems RTM311 user manual