Xirgo-mqtt protocol

Integration level: params + settings
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
armed.status
boolean
Armed/disarmed status
battery.voltage
number
volts
Internal battery voltage
can.adblue.level
number
percentage
Adblue level read from CAN
can.airbag.fired.status
boolean
CAN airbag fired status
can.ambient.air.temperature
number
celsius
CAN ambient air temperature
can.axle.weight
number
kg
Weight on the axle read from CAN
can.check.engine.status
boolean
CAN check engine warning is on
can.cruise.state
number
Cruise control state
can.cruise.status
boolean
CAN cruise control is active
can.driver.door.status
boolean
CAN driver door is opened
can.driver.seatbelt.indicator.status
boolean
CAN driver seatbelt indicator is on
can.dtc
string
Diagnostic trouble code read from CAN
can.engine.coolant.temperature
number
celsius
Engine coolant temperature read from CAN
can.engine.fuel.rate
number
liters/h
Engine fuel rate read from CAN
can.engine.load.level
number
percentage
Calculated engine load level read from CAN
can.engine.motorhours
number
hours
Total engine motorhours read from CAN
can.engine.rpm
number
rpm
Engine RPM read from CAN
can.esp.status
boolean
CAN ESP warning is on
can.fuel.consumed
number
liters
Fuel volume totally consumed by vehicle read from CAN
can.fuel.consumed.high.resolution
number
liters
Fuel volume totally consumed by vehicle calculated with high resolution (HRLFC), read from CAN
can.fuel.consumption
number
liters/h
Engine fuel rate read from CAN
can.fuel.economy
number
km/liters
CAN instantaneous fuel economy
can.gear
number
Current gear read from CAN
can.gross.combination.vehicle.weight
number
kg
Gross combination vehicle weight read from CAN
can.handbrake.status
boolean
CAN handbrake is pulled up
can.passenger.door.status
boolean
CAN passenger door is opened
can.passenger.seatbelt.indicator.status
boolean
CAN passenger seatbelt indicator is on
can.pedal.brake.status
boolean
CAN brake pedal pressed
can.pto.status
boolean
Power take-off status, reab from CAN
can.rear.left.door.status
boolean
CAN rear left door is opened
can.rear.right.door.status
boolean
CAN rear right door is opened
can.retarder.selection
number
percentage
Retarder selection read from CAN
can.retarder.torque.load
number
percentage
Retarder torque load percentage read from CAN
can.retarder.torque.mode
number
Retarder torque mode read from CAN
can.throttle.pedal.level
number
percentage
Throttle pedal push level read from CAN
can.tire.pressure.status
boolean
CAN tire pressure warning is on
can.vehicle.mileage
number
km
Total vehicle mileage read from CAN
can.vehicle.mileage.high.resolution
number
km
Total vehicle mileage calculated with high resolution (VDHR), read fomr CAN
can.wheel.speed
number
km/h
Vehicle wheel based speed, read from CAN
channel.id
number
ID of channel that received a message
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
dout
number
Digital outputs bitmask
driver.id
string
Driver identification card id
engine.ignition.status
boolean
Engine ignition status
event.enum
number
Protocol-specific event code
event.function
number
Event function
external.powersource.voltage
number
volts
External power voltage
fuel.sensor.value
number
Value reported by fuel sensor
geofence.status
boolean
Geofence entered status
gnss.signal.weak.status
boolean
GNSS signal weak
gsm.cellid
number
GSM base station ID
gsm.jamming.alarm.status
boolean
Alarm status for GSM jamming
gsm.lac
number
GSM location area code
gsm.mcc
string
GSM mobile country code
gsm.mnc
string
GSM mobile network code
gsm.network.status
boolean
Registration in GSM network
gsm.signal.dbm
number
dbm
Strength of GSM signal
headlight.status
boolean
Headlights status
ibutton.code
string
Hexadecimal code of connected iButton
ibutton.connected.status
boolean
iButton connection status
ident
string
Device unique identifier like serial number, IMEI, etc
locked.status
boolean
Locked/unlocked status
movement.status
boolean
Current movement state
onewire.sensor.temperature
number
celsius
External 1-Wire temperature sensor value
peer
string
IP:port from which device connecting to the channel
position.altitude
number
meters
Altitude value for position
position.direction
number
degrees
Heading angle at position detection moment
position.hdop
number
Horizontal dilution of precision
position.latitude
number
degrees
Latitude coordinate value
position.longitude
number
degrees
Longitude coordinate value
position.satellites
number
Quantity of satellites used to calculate coordinates for given position information
position.speed
number
km/h
Instant speed at position detection moment
protocol.id
number
ID of protocol
script.name
string
Script name
sensor.boolean.value
boolean
User-defined sensor boolean value
sensor.float.value
number
User-defined sensor float value
sensor.int16.value
number
User-defined 2 bytes sensor value stored as int16, indexed parameter
sensor.int32.value
number
User-defined 4 bytes sensor value stored as int32, indexed parameter
sensor.int8.value
number
User-defined 1 byte sensor value stored as int8, indexed parameter
sensor.string.value
string
User-defined sensor string value
sensor.uint16.value
number
User-defined 2 bytes sensor value stored as uint16, indexed parameter
sensor.uint32.value
number
User-defined 4 bytes sensor value stored as uint32, indexed parameter
sensor.uint64.value
number
User-defined 8 bytes sensor value stored as uint64, indexed parameter
sensor.uint8.value
number
User-defined 1 byte sensor value stored as uint8, indexed parameter
server.timestamp
number
seconds
Timestamp when server received a message
tacho.slot.activity
number
Slot activity from tachograph
tacho.slot.distance
number
Slot distance from tachograph
tacho.slot.time
number
Slot time from tachograph
tacho.vehicle.mileage
number
km
Total mileage calculated by tacho
timestamp
number
seconds
Message timestamp
vehicle.mileage
number
km
Total calculated mileage
wiegand.code
string
Wiegand26 RFID code
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