Caution! Article for developers

Information on this page is intended particularly for users with advanced technical knowledge.

Treon Industrial Node Device Management

Jan 27, 2023 · 9 minutes to read

Treon Industrial Node Embedded Software 1.3.0 and later

The Treon Industrial Node measures vibration and temperature of the machine or structure it is attached to. The behavior of the sensor can be modified by device management commands using Treon JSON DM messages.

This article covers the Device Management for the Treon Industrial Nodes (1khz version) with embedded software version 1.3.0 and later.



The sensor of the Industrial Node measures vibration by sampling data using a specified sampling frequency. A measurement is triggered at a time depending on the operation mode.

Each mode can have unique parameters called resource IDs. For example, the resource ID for setting the G-range is different for Timed mode and for the On-Demand mode.

The Treon Industrial Node (1 khz version) has the following modes:

Timed Mode

In Timed Mode the sensor makes all measurements with a specific interval in between.

The duration of the interval is specified by the MeasInterval-value in the Measurement Control object.

On-Demand Mode

In this mode, a measurement is executed only when specifically requested.

To trigger a measurement, the on-demand command is used. When executed, all parameters for taking the measurement are set the same as in Timed mode. It is possible to modify these parameters with on-demand specific resource IDs.

Please be aware that these modified parameters for the On-Demand mode are reset again whenever the Industrial Node is restarted.

Movement Mode

In the Movement mode the measurement is triggered when the sensor in the Industrial Node detects an acceleration exceeding a set acceleration threshold. The triggered measurement is done using the parameters of Timed Mode.

The sequence of the measurement:

  1. The Industrial Node detects movement exceeding the specified G-range and threshold values.

  2. A measurement is now executed after a delay defined by the ActionDelay parameter.

  3. The Industrial Node transfers the collected measurement data.

  4. After the data transfer is completed, the Industrial Node waits for a specific amount of time before starting detection of movement again. It cannot be triggered before. This waiting time is specified by the BlankTime parameter.

Detection phase uses parameters from Timed Mode if not set specifically for this mode. Actual measurement is done using settings for Timed mode.

The G-range set for Timed Mode is 4G and only raw data is enabled. The G-range set for Movement Mode is 2G. The detection threshold needs to be calculated using the 2G range. After it has been triggered, the measurement of the vibration value is still executed using the 4G range and only raw acceleration data is sent.


Industrial Node Resources & Data Content

Data Formatting

The Val field in JSON DM messages is presented as base64-encoded little-endian values. The contents are specific to the addressed resource.

Example: The value ‘260’ presented as little endian bytes is ‘0x04,0x01’. Encoding these bytes to base64 results in the string ‘BAE=’

With python:

>>> struct.pack('<H',260)
>>> base64.b64encode('\x04\x01')


Object id: 33506

The Industrial Node uses object instance number 1. The target definition for the Industrial Node (1khz version) acceleration sensor is "T":[33506,1]

Set Feature Bits

The feature bits consist of 16 different 0s and 1s that define parameters in the measurement.

Resource IDModeDescription
2Timedfeatures for Timed mode
18On-Demandfeatures for On-Demand mode

16 bit (2 bytes) bitmask value describing enabled features in the sensor.

a-RMS X1bit (15) MSBa-RMS calculation for axis X
a-RMS Z1bit (14)a-RMS calculation for axis Z
a-RMS Y1bit (13)a-RMS calculation for axis Y
RawDataReporting1bit (12)Raw Data Reporting data sent for measurement
Kurtosis X1bit (11)Kurtosis calculation for axis X
Kurtosis Y1bit (10)Kurtosis calculation for axis Y
Kurtosis Z1bit (9)Kurtosis calculation for axis Z
RMS X1bit (8)RMS calculation for axis X
RMS Y1bit (7)RMS calculation for axis Y
RMS Z1bit (6)RMS calculation for axis Z
Velocity X1bit (5)Velocity (Pk-Pk, 0-Pk ) calculation for axis X
Velocity Y1bit (4)Velocity (Pk-Pk, 0-Pk ) calculation for axis Y
Velocity Z1bit (3)Velocity (Pk-Pk, 0-Pk ) calculation for axis Z
FFT X1bit (2)FFT calculation for axis X
FFT Y1bit (1)FFT calculation for axis Y
FFT Z1bit (0) LSBFFT calculation for axis Z

If RawDataReporting is enabled, the acceleration data is always sent for all axis.

Please Note: These parameters are valid only for embedded software version 1.4.0 and later.

The Industrial Node acceleration sensor is supposed to measure only RMS, Velocity and Kurtosis for the X,Y and Z axis:

Conversion from Bitmap to int to base64: (MSB) 000 0 000 111 111 111 000 (LSB)
to 4088 to

The Industrial Node acceleration sensor is supposed to measure only raw data (raw acceleration values):

Conversion from Bitmap to int to base64:
(MSB) 000 001 000 000 000 000 (LSB) to
4096 to



The GRange resource defines the measuring range for acceleration of the Industrial Node.

Resource IDModeDescription
769TimedG-range for timed mode
785On-DemandG-range for On-Demand mode
817MovementSets G-range for Movement trigger. The triggered measurement uses Timed mode’s G-range value

The G-range is given as an enumeration value:

 Value Result 
 0 2G 
 1 4G 
 2 8G 
 3 16G 

If you do not know the G-range to set for your specific measurement usage, it might be good approach to start with a higher range (but lower accuracy) in order to get data to determine the ideal G-range.


WakeUp Threshold

The WakeUp threshold resource sets a threshold value for a starting event. The starting event is specified in the WakeUpAction parameter.

Resource IDModeDescription
3121MovementSets threshold for starting event specified in WakeUpAction

Value range: 0 - 64

A value from 0 to 64 is then used to calculate the WakeUp threshold with the formula:
Movement = (GRange * Threshold )/64 m/s²

Which gives us:
Threshold = (Movement * 64) / GRange

In this formula, GRange is the G-range value set for Movement mode. Movement is the intended acceleration threshold value in g ranging from 1/32G to 16G. Threshold is the result which needs to be set as Wakeup threshold for the Industrial Node.

Example: The Industrial Node should execute an action when a movement with an acceleration of 1G or more is detected. The G-range is set as 2 for Movement mode. You need to calculate the WakeUp threshold.

Movement = 1
GRange = 2

Threshold = (1 * 64) / 2
Threshold = 32

In order to have a WakeUp threshold of 1G, you have to set the threshold parameter to 32.


WakeUp Action Timing

The WakeUpActionTiming resource sets time delays for the ActionDelay and the BlankTime paremeters in Movement mode. The ActionDelay defines the time that passes between the when a measurement is triggered by movement exceeding the WakeUp threshold and when the measurement is executed. The BlankTime defines a waiting time after the measurement, during which no new measurement can be triggered for the Industrial Node.

Resource IDModeDescription
3892MovementSets ActionDelay and BlankTime in seconds (s)

Both values are 16-bit unsigned integers: 0 - 65535 (s)

ActionDelay = 30s
BlankTime = 150s


>>>import struct
>>>import base64
>>>base64.b64encode(struct.pack('<H', 30) + struct.pack('<H', 150))


Movement Action

The MovementAction resource defines what happens after a movement exceeding the defined WakeUp threshold value is detected.

There are 3 different types of actions that can be triggered.

The ActMeasurement setting starts a measurement when the defined ActionDelay time has passed after a movement measurement has exceeded the defined WakeUp threshold.

The ActIndication setting initiates a data message from the Industrial Node with indication that the WakeUp threshold has been exceeded. (No measurement is taken and no status report sent.)

The ActLed setting triggers no measurement but triggers the led light of the Industrial Node to blink.

Resource IDModeDescription
3633MovementAction after Wakeup threshold is exceeded

Value: 8-bit unsigned integer, bitmap:

unused5 bits (7-3)reserved for future use
ActMeasurement1bit (2)start measurement after ActionDelay
ActIndication1bit (1)send movement indication (status report, no measurement values)
ActLed1bit (0) LSBblink led


Measurement Control

Object id: 33507

The Industrial Node uses object instance number 1. The target definition for the Industrial Node measurement control is "T":[33507,1]


Meas Interval

The MeasInterval resource defines the interval time between vibration measurements when Timed mode is activated.

Resource IDModeDescription
2TimedMeasuring interval (minutes)

Range: 0 - 1441 minutes

If the MeasInterval value is set to ‘0’, the default value as set in the Industrial Node’s software image is used.


Status Interval

The StatusInterval resource defines the interval time between status messages. These are messages containing information other than vibration measurements, e.g. temperature.

Resource IDModeDescription
258N/AStatus reporting interval (minutes)

Range: 0 - 1441 minutes

If the StatusInterval value is set to ‘0’, the default value as set in the Industrial Node’s software image is used.


On Demand Measurement

The OnDemandMeasurement resource triggers an immediate on-demand vibration measurement.

Resource IDModeDescription
769N/ATrigger measurement

Value: byte
(Any value from 0-255 can be used. The exact value has no effect on the measurement.)


Set Measure

The SetMeasure resource selects the enabled measurements types.

Resource IDModeDescription
1026N/ASets measurement types

Range: 16-bit unsigned integer containing bitmask

unused13 bits (15-3)Reserved for future use
Internal1bit (2)Reserved
MovementAlert1bit (1)Enable movement detection
TimedVibration1bit (0) LSBEnable timed measurements

Set Timed measurement
SetMeasure bitmask:
(MSB) 0 000 000 000 000 000 001 (LSB) -> 1 -> ‘AQA=’

Enable movement detection and timed measurements:
(MSB) 0 000 000 000 000 000 011 (LSB) -> 3 -> ‘CwA=’


Sending multiple resources simultaneously

It is possible to send multiple resource set/get requests simultaneously with one command. All resources sent in one command must be from the same object though.

{"Ver": "2", "Cmd": "set", "T" : [33507, 1],    
"Res":[1026, 2], "Val", ["AQA", "MAA="],"I":0}

To send multiple resources simultaneously you just need to have multiple resources (and values) in the JSON message you send. The values index in the “Val” array needs to match its resources ID in the “Res” array.



Changing the specifications of the Treon Industrial Node can change the functionality and battery lifetime of the device. If you are at any point not sure, please contact Treon Customer Support.


Treon Customer Support

If you have further questions on TOPIC, please contact Treon Customer Support.


Was this article helpful? Let us know.