Xirgo-mqtt protocol

Parse and decode Xirgo Global binary messages into JSON. Get the parsed data from Xirgo Global devices via MQTT. Forward normalized data from Xirgo Global trackers to cloud platforms (AWS, Azure, etc.).
flespi parses the Xirgo-mqtt protocol messages into a JSON object with the fields listed below in the Parameters tab.

Xirgo MQTT Protocol has an embedded MQTT server inside. This allows full control over device connections:

  • securing data with TLS encryption
  • configuring your own authentication on the incoming connections
  • whitelisting the IP addresses allowed to connect to the channel.

The xirgo-mqtt channel is also equipped with TrafficViewer — an indispensable tool for debugging raw traffic between the channel and connected devices.

Configuration on the flespi side

  • create a channel and select protocol xirgo-mqtt (#309).
    flespi xirgo mqtt channel create
    You may configure any Username and/or Password in the channel just make sure to use the same ones in the device configuration.
  • The Host and Port of the xirgo-mqtt channel (created above) will serve as the MQTT broker address in the device configuration below.
    host port mqtt broker

Configuration on the device side

a) MQTT broker address. Destination address where the data will be sent (take Host and Port of your xirgo-mqtt channel).

mqtt broker address settings xirgo

b) MQTT authorization parameters. Define Username and Password in order to successfully authorize with the broker.

mqtt authorization parameters xirgo
Note: make sure to paste the same Username and/or Password that were specified in the channel configuration.

c) MQTT session parameters. Basic parameters for telemetry data sending to broker and connection timeouts.

mqtt session parameters xirgo

d) MQTT topic configuration. Most MQTT topics here define where the device will publish data. "Output control topic name" defines the topic that the device should subscribe to in order to receive commands. Make sure to specify the corresponding topic in the channel configuration (see "OUTC Command topic").

mqtt topic configuration xirgo

absolute.acceleration
number
g
Module of accelerometer vector
Sensor ID 0xA001
ain
number
volts
Voltage on the analog input
Sensor ID 0x3001,
Sensor ID 0x3002,
Sensor ID 0x3003
armed.status
boolean
Armed/disarmed status
Sensor ID 0x0060
battery.voltage
number
volts
Internal battery voltage
Sensor ID 0x3004
can.abs.failure.indicator.status
boolean
ABS failure indicator status read from CAN
Sensor ID 0x007F
can.activity.status
boolean
CAN activity status: if there were messages received last 10 seconds on CAN1 or on CAN2.
Sensor ID 0x009F
can.adblue.level
number
percentage
AdBlue (diesel exhaust fluid) level read from CAN
Sensor ID 0x2021
can.airbag.fired.status
boolean
CAN airbag fired status
Sensor ID 0x0079
can.ambient.air.temperature
number
celsius
CAN ambient air temperature
Sensor ID 0x302A
can.axle.weight
number
kg
Weight on the axle read from CAN
Sensor ID 0x302D ... Sensor ID 0x3031
can.bitrate
number
CAN bitrate
Sensor ID 0x4058,
Sensor ID 0x4059
can.check.engine.status
boolean
CAN check engine warning is on
Sensor ID 0x007A
can.command.id
number
Command Identifier, that is used by canbase_b function on CAN
Sensor ID 0x302B,
Sensor ID 0x302C
can.coolant.level.low.indicator.status
boolean
Coolant level low indicator status read from CAN
Sensor ID 0x0076
can.cruise.state
number
Cruise control state
Sensor ID 0x2031
can.cruise.status
boolean
CAN cruise control is active
Sensor ID 0x008F
can.driver.seatbelt.indicator.status
boolean
Driver seatbelt indicator status read from CAN
Sensor ID 0x0085
can.dtc
string
Diagnostic trouble code read from CAN
Sensor ID 0xC015
can.electronic.power.control.status
boolean
Electronic power constrol status, read from CAN
Sensor ID 0x0084
can.engine.coolant.temperature
number
celsius
Engine coolant temperature read from CAN
Sensor ID 0x2008
can.engine.fuel.rate
number
liters/h
Engine fuel rate read from CAN
Sensor ID 0x3021
can.engine.load.level
number
percentage
Calculated engine load level read from CAN
Sensor ID 0x200A
can.engine.motorhours
number
hours
Total engine motorhours (engine work time) read from CAN
Sensor ID 0x4002
can.engine.oil.pressure
number
kPa
CAN Engine oil pressure
Sensor ID 0x203F
can.engine.rpm
number
rpm
Engine RPM read from CAN
Sensor ID 0x300C
can.esp.status
boolean
CAN ESP warning is on
Sensor ID 0x0081
can.front.left.door.status
boolean
CAN front left door is opened
Sensor ID 0x0062
can.front.right.door.status
boolean
CAN front right door is opened
Sensor ID 0x0063
can.fuel.consumed
number
liters
Fuel volume totally consumed by vehicle read from CAN
Sensor ID 0x4001
can.fuel.consumed.high.resolution
number
liters
Fuel volume totally consumed by vehicle calculated with high resolution (HRLFC), read from CAN
Sensor ID 0x405A
can.fuel.consumption
number
liters/h
Engine fuel rate read from CAN
Sensor ID 0xA01B
can.fuel.economy
number
km/liters
CAN instantaneous fuel economy
Sensor ID 0x3034
can.fuel.low.indicator.status
boolean
CAN low fuel indicator is on
Sensor ID 0x0080
can.gear
number
Current gear read from CAN. Numeric negative values are reverse gears, positive values are forward gears, zero is neutral
Sensor ID 0x203C
can.gross.combination.vehicle.weight
number
kg
Gross combination vehicle weight read from CAN
Sensor ID 0x3039
can.handbrake.status
boolean
CAN handbrake is pulled up
Sensor ID 0x008B
can.ignition.key.status
boolean
The key is in ignition lock status, read from CAN
Sensor ID 0x008A
can.j1979.engine.coolant.temperature
number
celsius
CAN J1979 engine coolant temperature
Sensor ID 0x2014
can.j1979.engine.fuel.rate
number
liters/h
CAN J1979 Engine fuel rate
Sensor ID 0x303D
can.j1979.engine.rpm
number
rpm
CAN J1979 Engine RPM
Sensor ID 0x303B
can.master.warning.light.status
boolean
Status of master warning light, read from CAN
Sensor ID 0x007E
can.messages.missed
number
Counter of missed messages from CAN bus
Sensor ID 0x4057
can.messages.received
number
Counter of received messages from CAN bus
Sensor ID 0x4056
can.passenger.seatbelt.indicator.status
boolean
Passenger seatbelt indicator status read from CAN
Sensor ID 0x0086
can.pedal.brake.status
boolean
CAN brake pedal pressed
Sensor ID 0x008C
can.pto.status
boolean
Power take-off status, read from CAN
Sensor ID 0x009E
can.rear.left.door.status
boolean
CAN rear left door is opened
Sensor ID 0x0064
can.rear.right.door.status
boolean
CAN rear right door is opened
Sensor ID 0x0065
can.retarder.selection
number
percentage
Retarder selection read from CAN
Sensor ID 0x2039
can.retarder.torque.load
number
percentage
Retarder torque load percentage read from CAN
Sensor ID 0x2038
can.retarder.torque.mode
number
Retarder torque mode read from CAN
Sensor ID 0x2037
can.service.mileage
number
km
Service distance read from CAN
Sensor ID 0x3038
can.throttle.pedal.level
number
percentage
Throttle pedal push level read from CAN
Sensor ID 0x2006
can.tire.pressure.status
boolean
CAN tire pressure warning is on
Sensor ID 0x007C
can.trunk.status
boolean
CAN trunk is opened
Sensor ID 0x0067
can.vehicle.mileage
number
km
Total vehicle mileage read from CAN
Sensor ID 0x4003
can.vehicle.mileage.high.resolution
number
km
Total vehicle mileage calculated with high resolution (VDHR), read fomr CAN
Sensor ID 0x4062
can.wheel.speed
number
km/h
Vehicle wheel based speed, read from CAN
Sensor ID 0x301D
channel.id
number
ID of channel that received a message
counter.impulses
number
Impulses counter
Sensor ID 0x3040 ... Sensor ID 0x3043
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.type.id
number
ID of device type of device that received a message
din
number
Digital inputs bitmask
Sensor ID 0x0003,
Sensor ID 0x0010,
Sensor ID 0x0011,
Sensor ID 0x0012,
Sensor ID 0x0013,
Sensor ID 0x0014,
Sensor ID 0x0015
dout
number
Digital outputs bitmask
Sensor ID 0x0094,
Sensor ID 0x0095,
Sensor ID 0x0096,
Sensor ID 0x009A
driver.id
string
Driver identification card id
Sensor ID 0xC016 ... Sensor ID 0xC017
engine.ignition.status
boolean
Engine ignition or ACC status
Sensor ID 0x006D
event.enum
number
Protocol-specific event code
event.function
number
Event function
external.powersource.voltage
number
volts
External power voltage
Sensor ID 0x3000
fuel.sensor.value
number
Value reported by fuel sensor
Sensor ID 0x2007,
Sensor ID 0x2009
geofence.id
number
Geofence ID
Sensor ID 0x202C
geofence.status
boolean
Geofence entered status
Sensor ID 0x0006
gnss.jamming.status
boolean
GNSS receiver signal jamming detected
Sensor ID 0x009B
gnss.signal.weak.status
boolean
GNSS signal weak
Sensor ID 0x0007
gprs.status
boolean
GPRS mobile network status
Sensor ID 0x000B
gsm.cellid
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) base station ID
Sensor ID 0x300A
gsm.jamming.alarm.status
boolean
Alarm status for the Mobile network (GSM, 3G, 4G, LTE, 5G, ...) jamming
Sensor ID 0x0008
gsm.lac
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) location area code
Sensor ID 0x3009
gsm.mcc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) country code
Sensor ID 0x3008
gsm.mnc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) code
Sensor ID 0x2003
gsm.network.status
boolean
Registration status in the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
Sensor ID 0x000A
gsm.signal.dbm
number
dbm
Strength of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...) signal
Sensor ID 0x2005
gsm.sim.iccid
string
Integrated Circuit Card Id of SIM card of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
Sensor ID 0xC014
headlight.status
boolean
Headlights status
Sensor ID 0x0088
ibutton.code
string
Hexadecimal code of connected iButton
Sensor ID 0x5000
ibutton.connected.status
boolean
iButton connection status
Sensor ID 0x001E
ident
string
Device unique identifier like serial number, IMEI, etc
locked.status
boolean
Locked/unlocked status
Sensor ID 0x0061
movement.status
boolean
Current movement state
Sensor ID 0x0002
onewire.sensor.temperature
number
celsius
External 1-Wire temperature sensor value
Sensor ID 0x5004 ... Sensor ID 0x5007,
Sensor ID 0xA000,
Sensor ID 0xA017,
Sensor ID 0xA018,
Sensor ID 0xA019,
Sensor ID 0xA01A
peer
string
IP:port from which device connecting to the channel
position.altitude
number
meters
Altitude value for position
Sensor ID 0x7003,
Sensor ID 0xD000
position.direction
number
degrees
Heading angle at position detection moment
Sensor ID 0x300B,
Sensor ID 0xD000
position.hdop
number
Horizontal dilution of precision
Sensor ID 0x2002,
Sensor ID 0xD000
position.latitude
number
degrees
Latitude coordinate value
Sensor ID 0xB001,
Sensor ID 0xD000
position.longitude
number
degrees
Longitude coordinate value
Sensor ID 0xB000,
Sensor ID 0xD000
position.satellites
number
Quantity of satellites used to calculate coordinates for given position information
Sensor ID 0x2001,
Sensor ID 0xD000
position.speed
number
km/h
Instant speed at position detection moment
Sensor ID 0x2000,
Sensor ID 0xD000
protocol.id
number
ID of protocol
script.name
string
Script name
Sensor ID 0xC004 ... Sensor ID 0xC006
sensor.boolean.value
boolean
User-defined sensor boolean value
Sensor ID 0x001F ... Sensor ID 0x005F
sensor.float.value
number
User-defined sensor float value
Sensor ID 0xA003,
Sensor ID 0xA004,
Sensor ID 0xA005,
Sensor ID 0xA006,
Sensor ID 0xA007,
Sensor ID 0xA008,
Sensor ID 0xA009,
Sensor ID 0xA00A,
Sensor ID 0xA00B,
Sensor ID 0xA00C,
Sensor ID 0xA00D,
Sensor ID 0xA00E,
Sensor ID 0xA00F,
Sensor ID 0xA010,
Sensor ID 0xA011
sensor.frequency
number
hz
Frequency sensor value
Sensor ID 0x3022 ... Sensor ID 0x3025
sensor.int16.value
number
User-defined 2 bytes sensor value stored as int16, indexed parameter
Sensor ID 0x7004 ... Sensor ID 0x700D
sensor.int32.value
number
User-defined 4 bytes sensor value stored as int32, indexed parameter
Sensor ID 0x8000 ... Sensor ID 0x8009
sensor.int8.value
number
User-defined 1 byte sensor value stored as int8, indexed parameter
Sensor ID 0x6000 ... Sensor ID 0x6009
sensor.static.signal
boolean
User defined Static Signal flag, indexed parameter
Sensor ID 0x001B ... Sensor ID 0x001C,
Sensor ID 0x00A0 ... Sensor ID 0x00A2
sensor.string.value
string
User-defined sensor string value
Sensor ID 0xC000,
Sensor ID 0xC001,
Sensor ID 0xC002,
Sensor ID 0xC003
sensor.uint16.value
number
User-defined 2 bytes sensor value stored as uint16, indexed parameter
Sensor ID 0x300D ... Sensor ID 0x301C
sensor.uint32.value
number
User-defined 4 bytes sensor value stored as uint32, indexed parameter
Sensor ID 0x4005 ... Sensor ID 0x4054
sensor.uint64.value
number
User-defined 8 bytes sensor value stored as uint64, indexed parameter
Sensor ID 0x5001
sensor.uint8.value
number
User-defined 1 byte sensor value stored as uint8, indexed parameter
Sensor ID 0x200B ... Sensor ID 0x2012
server.timestamp
number
seconds
Timestamp when server received a message
tacho.slot.activity
number
Slot activity from tachograph
Sensor ID 0x202D,
Sensor ID 0x202E
tacho.slot.distance
number
Slot distance from tachograph
Sensor ID 0x405E ... Sensor ID 0x405F
tacho.slot.time
number
Slot time from tachograph
Sensor ID 0x405C ... Sensor ID 0x405D
tacho.timestamp
number
seconds
Time reported by tacho
Sensor ID 0x4066
tacho.vehicle.mileage
number
km
Total mileage calculated by tacho
Sensor ID 0x405B
timestamp
number
seconds
Message timestamp
turn.acceleration
number
g
Acceleration on turn
Sensor ID 0xA002
vehicle.mileage
number
km
Total calculated mileage
Sensor ID 0xB002
vibration.alarm
boolean
Vibration alarm event
Sensor ID 0x0069
wiegand.code
string
Wiegand26 RFID code
Sensor ID 0x4061
x.acceleration
number
g
Accelerometer value X
Sensor ID 0x7000
y.acceleration
number
g
Accelerometer value Y
Sensor ID 0x7001
z.acceleration
number
g
Accelerometer value Z
Sensor ID 0x7002
Properties
Custom command
custom
Send custom command to device
ttl: Command time to live in seconds
output: Output ID
payload: Hex data to be sent to the device
Send script remote command
{"output":13,"payload":"616E792062696E617279207061796C6F6164"}