Digital-matter protocol

Protocol used by GPS tracking devices manufactured by Digital Matter headquartered in Australia.
flespi parses the Digital-matter protocol messages into a JSON object with the fields listed below in the Parameters tab.

To connect your tracker using the Digital Matter protocol, you need to have a digital-matter channel created first. Point your tracker to the channel's domain name:port via SMS or configuration tool provided by the vendor to allow the device to send binary data to the server.

Then create a device instance for your tracker and use a 15-character IMEI (usually specified on the tracker casing) in the ident field.

Use the Logs & Messages tab on the device screen to check if the messages are coming.

Devices that use this protocol determine their position using the built-in GPS module; accordingly, ready-to-use data is already transmitted to the server. This is important because the Edge series device does not have this capability. Edge devices determine their position using the location engine, which is located on the OEM server.

Device configuration

This protocol allows you to configure the device remotely using the async command "Set a System Parameter". The command will allow you to configure any system device parameter that is described in its XML configuration. For example:

<params size="3" id="1500" name="Speeding settings">
<binary>
<param name=...

The ID parameter must be entered in decimal form, as this is written in the XML configuration.
Parameter size will be taken into account automatically by the platform depending on the size of the data that the user entered in the “command data” field. The parameter data, if it consists of several bytes, must have little-endinbyte order. It is not possible to use the input in a more convenient form for the convenience of the user, since the server does not know in advance about the length of the parameter and its data.
For example, the parameter to set the value "Speeding Threshold" should be in HEX: DA0A (The speeding threshold is being set to 100km/h. Calculation is: 100/0.036 = 2778). The following parameter has a size of one byte "Speeding Delta" and must be written as is, also in the form HEX: 53.

As a result, the data will be wrapped by the server in accordance with the protocol, adding all the necessary parameters, including data size, type, version number and CRC.

Delete system parameter.

  • To delete a system parameter using the "Delete a system parameter" command. To do this, you only need to enter the parameter ID in decimal form.
  • To delete all parameters, you must use the "Delete all System Parameters" command.
accelerometer.wakeup.number
number
Count of the device has woken up due to the accelerometer experiencing movement
Message type 0x04 with Field ID 21
ain
number
volts
Voltage on the analog input
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
avg.acceleration
number
g
Average accelerometer value
Message type 0x04 with Field ID 24
battery.capacity.used
number
Ah
Battery Capacity Used
Message type 0x04 with Field ID 21
battery.capacity.used.initial
number
Ah
Battery Capacity Used Initial
Message type 0x04 with Field ID 21
battery.level
number
percentage
Internal battery level
Message type 0x04 with Field ID 21,
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
battery.voltage
number
volts
Internal battery voltage
Message type 0x04 with Field ID 21,
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
battery.voltage.initial
number
volts
The initial voltage of the device's battery when it is first inserted
Message type 0x04 with Field ID 21
ble.beacons
array
Array with all detected BLE beacons data objects. Each object contain list of associated parameters sent by appropriate beacon. Standard parameter names used: *id* - beacon identification string. Usually it is beacon's UUID or MAC-address *local_name* - Beacons's Local Name *rssi* - BLE signal level. Units = dBm *battery.voltage* - Beacon's battery voltage. Units = volts *battery.level* - Beacon's battery level. Units = percentage *temperature* - Beacon's temperature. Units = celsius
Message type 0x04 with Field ID 29,
Message type 0x04 with Field ID 30
ble.failures.count
number
BLE failures counter
Message type 0x04 with Field ID 21
ble.scans.count
number
BLE scans counter
Message type 0x04 with Field ID 21
ble.uptime
number
BLE uptime counter
Message type 0x04 with Field ID 21
channel.id
number
ID of channel that received a message
counter.rx.range
number
Received power range from the device
Message type 0x04 with Field ID 21
counter.tx.power
number
Transmit power since battery were inserted
Message type 0x04 with Field ID 21
counter.uploads
number
The number of successful data uploads since the battery were inserted
Message type 0x04 with Field ID 21
counter.uploads.failed
number
The number of failed data uploads since the battery were inserted
Message type 0x04 with Field ID 21
counter.uploads.failed.time
number
seconds
counted time of failed upload attempts to the endpoint
Message type 0x04 with Field ID 21
counter.uploads.time
number
seconds
The counted time for uploading the data to the endpoint
Message type 0x04 with Field ID 21
debug.info
string
Debug event description
Message type 0x04 with Field ID 1
debug.level
string
Debug event level
Message type 0x04 with Field ID 1
debug.module.id
number
Debug event module id
Message type 0x04 with Field ID 1
device.firmware.version
string
Firmware revision
device.id
number
ID of device that received a message
device.name
string
Name of device that received a message
device.run.time
number
seconds
Device run time
Message type 0x04 with Field ID 27,
Message type 0x04 with Field ID 27 with Field ID 12
device.serial.number
string
Device serial number
device.state.bitmask
number
Device state bitmask
Message type 0x04 with Field ID 2
device.temperature
number
celsius
Temperature of device
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
device.temperature.max
number
celsius
Max temperature value since the device has been started
Message type 0x04 with Field ID 21
device.type.id
number
ID of device type of device that received a message
device.uptime
number
seconds
Time in seconds since last device power on
Message type 0x04 with Field ID 21
din
number
Digital inputs bitmask
Message type 0x04 with Field ID 2
dout
number
Digital outputs bitmask
Message type 0x04 with Field ID 2
engine.ignition.status
boolean
Engine ignition or ACC status
Message type 0x04 with Field ID 2
event.enum
number
Protocol-specific event code
Message type 0x04 with Field ID 1
external.battery.voltage
number
volts
External battery voltage
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
external.powersource.status
boolean
External power source connection status
Message type 0x04 with Field ID 2
gnss.average.failed.fix.duration
number
seconds
Average Failed GPS Fix Time
Message type 0x04 with Field ID 21
gnss.average.fix.duration
number
seconds
Average Successful GPS Fix Time
Message type 0x04 with Field ID 21
gnss.average.refresh.time
number
seconds
Average GPS Freshen Time
Message type 0x04 with Field ID 21
gnss.position.fixes
number
The number of successful positions that the device has validated since the battery were inserted
Message type 0x04 with Field ID 21
gnss.position.fixes.failed
number
The number of failed positions since the battery were inserted
Message type 0x04 with Field ID 21
gnss.position.fixes.failed.time
number
seconds
Accumulated time spent trying to get the a GPS fixes, but failed
Message type 0x04 with Field ID 21
gnss.position.fixes.time
number
seconds
Accumulated time spent getting the successful GPS fixes
Message type 0x04 with Field ID 21
gnss.refresh.attempts
number
Count of the device has tried to refresh the GPS position
Message type 0x04 with Field ID 21
gnss.refresh.duration
number
seconds
Time spent doing a refresh the GPS position
Message type 0x04 with Field ID 21
gnss.sniffing.data.hex
string
This data field contains the results of a GNSS scan by the device
Message type 0x04 with Field ID 32
gsm.arfcn
number
Absolute radio-frequency channel number of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
Message type 0x04 with Field ID 33
gsm.cellid
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) base station ID
Message type 0x04 with Field ID 28,
Message type 0x04 with Field ID 33
gsm.lac
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) location area code
Message type 0x04 with Field ID 28,
Message type 0x04 with Field ID 33
gsm.mcc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) country code
Message type 0x04 with Field ID 28,
Message type 0x04 with Field ID 33
gsm.mnc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) code
Message type 0x04 with Field ID 28,
Message type 0x04 with Field ID 33
gsm.network.status
boolean
Registration status in the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
Message type 0x04 with Field ID 2
gsm.network.type.enum
number
GSM Network type. 0: CAT-M1 cell towers, 1: NB-IoT cell towers
Message type 0x04 with Field ID 33
gsm.pcid
number
Physical layer Cell ID in the Mobile network (LTE and NR)
Message type 0x04 with Field ID 33
gsm.signal.quality
number
The quality (bit error rate) of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...) signal
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
gsm.sim.iccid
string
Integrated Circuit Card Id of SIM card of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
gsm.timing.advance
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) timing advance
Message type 0x04 with Field ID 33
gsm.timing.difference
number
ms
GSM timing difference
Message type 0x04 with Field ID 33
hardware.version
string
Hardware version
ibutton.code
string
Hexadecimal code of connected iButton
Message type 0x04 with Field ID 3
ident
string
Device unique identifier like serial number, IMEI, etc
jostle.position.fixes
number
Count of position updates due to Jostle based Tracking (accelerometer based instead of movement based)
Message type 0x04 with Field ID 21
jostle.position.fixes.uploads
number
Count of uploads due to Jostle based Tracking (accelerometer based instead of movement based)
Message type 0x04 with Field ID 21
loaded.battery.voltage
number
volts
Loaded battery voltage
Message type 0x04 with Field ID 6,
Message type 0x04 with Field ID 7
max.acceleration
number
g
Maximum accelerometer value
Message type 0x04 with Field ID 24
max.acceleration.duration
number
seconds
Peak G force
Message type 0x04 with Field ID 24
network.signal.rspq
number
dbm
Reference Signal Received Quality
Message type 0x04 with Field ID 33
network.signal.rsrp
number
dbm
LTE reference signal received power (RSRP)
Message type 0x04 with Field ID 33
peer
string
IP:port from which device connecting to the channel
pin.4.digit
string
4 digit PIN
Message type 0x04 with Field ID 3
pin.5.digit
string
5 digit PIN
Message type 0x04 with Field ID 3
position.accuracy
number
meters
Position data accuracy in meters
Message type 0x04 with Field ID 0
position.altitude
number
meters
Altitude value for position
Message type 0x04 with Field ID 0
position.direction
number
degrees
Heading angle at position detection moment
Message type 0x04 with Field ID 0
position.fix.type
number
GNSS fix type enum (0 = "not fixed", 1 = "2D", 2 = "3D", null = "unknown")
Message type 0x04 with Field ID 0
position.latitude
number
degrees
Latitude coordinate value
Message type 0x04 with Field ID 0
position.longitude
number
degrees
Longitude coordinate value
Message type 0x04 with Field ID 0
position.pdop
number
Position dilution of precision
Message type 0x04 with Field ID 0
position.speed
number
km/h
Instant speed at position detection moment
Message type 0x04 with Field ID 0
position.timestamp
number
seconds
Timestamp when coordinates where calculated
Message type 0x04 with Field ID 0
position.valid
boolean
Is position information accurate and valid for given timestamp
Message type 0x04 with Field ID 0
protocol.id
number
ID of protocol
record.seqnum
number
Registered record sequence number
Message type 0x04
report.reason
number
Transmission reason code
Message type 0x04
rfid.code
string
Hexadecimal code of connected RFID
Message type 0x04 with Field ID 3
rtc.timestamp
number
seconds
RTC (real-time clock, device time) timestamp
Message type 0x04
server.timestamp
number
seconds
Timestamp when server received a message
tamper.alarm
boolean
Tamper alarm event
Message type 0x04 with Field ID 2
timestamp
number
seconds
Message timestamp
Message type 0x04
trip.average.wakeup.number
number
Average Wakeups Per Trip
Message type 0x04 with Field ID 21
trip.duration
number
seconds
Trip duration
Message type 0x04 with Field ID 26
trip.id
number
Trip ID increasing every engine-ON event
Message type 0x04 with Field ID 21
trip.mileage
number
km
Distance driven since engine start
Message type 0x04 with Field ID 26
trip.movement.trim.duration
number
seconds
Movement trip trimming amount
Message type 0x04 with Field ID 15
trip.state.enum
number
Trip status
Message type 0x04 with Field ID 15
trip.status
boolean
Trip status, true if trip started, false - if stopped
Message type 0x04 with Field ID 2
vehicle.odometer
number
Vehicle mileage in base units configured in device (km, miles, 100m etc)
Message type 0x04 with Field ID 27
wifi.channel
number
WiFi channel number
Message type 0x04 with Field ID 25
wifi.failed.scans
number
Count of failed Wi-Fi scans
Message type 0x04 with Field ID 21
wifi.mac.address
string
WiFi MAC address
Message type 0x04 with Field ID 25
wifi.signal.strength
number
WiFi signal strength, RSSI
Message type 0x04 with Field ID 25
wifi.successful.scans
number
Count of successful Wi-Fi scans
Message type 0x04 with Field ID 21
Properties
Custom async command
custom
Send custom async command to device
cmd_body: Async Message Body
cmd_type: Async Message Type
Delete a System Parameter
delete_system_parameter
This message deletes a single system parameter for the system
param_id: Parameter ID
Set a System Parameter
set_system_parameter
This message sets a single system parameter for the system
param_id: Parameter ID
param_value: HEX parameter data