This protocol is used by all Starlink GPS tracking devices by ERM Advanced Telematics.

Parsing note: to make sure Starlink messages are parsed correctly, the fields in the dynamic event structure (parameter 0177) should be separated by commas, e.g. #EDT#,#EID#,#PDT#,#LAT#,#LONG#,#SPD#,#HEAD#,#ODO#,#LAC#,#CID#,#VIN#,#VBAT#.

Below is the list of parameters that can appear in the messages received by the channel via erm protocol. In most parameters, the name consists of tags split by dots: tag1.tag2.tag3.tag4... Each tag defines a certain area of an application, e.g. any parameter that contains mileage data has the 'mileage' tag in the name and any parameter related to fuel control contains the 'fuel' tag. By default JSON fields of the message received by a channel via this protocol can only contain the below-specified parameters. Any additional parameter will be prefixed by the "custom" tag, e.g. "custom.unspecified-name".

Name Type Unit Description
accident.direction number Direction of accident
accident.direction.description string Description of accident direction
accident.event boolean Accident event detected
ain number volts Voltage on the analog input
ain.voltage.low.status boolean Analog input's voltage is below the threshold
alarm.event boolean Alarm event triggered
battery.level number percentage Internal battery level
battery.low.status boolean Battery low status
battery.voltage number volts Internal battery voltage
can.param number CAN parameter value number ID of channel that received a message
current.satellites.visible number Current number of visible satellites
destination.number number Selected destination number number ID of device that received a message string Name of device that received a message
device.temperature number celsius Temperature of device number ID of device type of device that received a message
din number Digital inputs bitmask boolean Door open status
dout number Digital outputs bitmask string Driver identification card id
engine.ignition.on.duration number seconds Duration when engine is on
engine.ignition.status boolean Engine ignition status
engine.motorhours number hours Total calculated engine motorhours string Additional information about error sent by device
error.level number Error level number
error.level.description string Error level description string
error.type number Error type identification number
error.type.description string Error description string
event.code string Unique event identifier string number External device ID
external.powersource.status boolean External power source connection status
external.powersource.voltage number volts External power voltage number Geofence ID
geofence.status boolean Geofence entered status
gnss.signal.level number Current average signal level of visible satellites
gsm.cellid number GSM base station ID
gsm.jamming.event boolean GSM signal jamming detected
gsm.lac number GSM location area code string GSM operator name boolean GSM network in roaming mode
gsm.signal.level number percentage GSM signal strength level boolean Hood open status
ibutton.code string Hexadecimal code of connected iButton
ident string Device unique identificator and optional password
idle.status boolean Vehicle is in idling state string Immobilizer rule associated data
immobilizer.rule number Immobilizer rule number
immobilizer.state string Immobilizer state: armed, disarmed, wrong code, violation
immobilizer.trigger.input number Input switches bitmask, that triggered immobilizer violation event
lca.alarm.armed.status boolean Armed state
lca.alarm.connection.status boolean Communication state
lca.alarm.serial.number number Alarm serial number
lca.alarm.siren.status boolean Sirene activate state
lca.alarm.timestamp number Lca alarm timestamp
lca.alarm.version number Alarm version
max.position.speed number km/h Maximum speed on segment
motorcycle.accident.event boolean Motorcycle accident event
motorcycle.alarm boolean Motorcycle alarm event
motorcycle.alarm.reason.enum number Motorcycle alarm event reason: 1 - ignition switch, 2 - tilt sensor, 3 - shck sensor, 4 - port E
motorcycle.alarm.status boolean Motorcycle alarm status: true - armed, false - disarmed
motorcycle.fall.angle number degrees Motorcycle fall angle
motorcycle.fall.event boolean Motorcycle fall event
motorcycle.valet.mode.event boolean Motorcycle enters valet mode event
movement.status boolean Current movement state
next.message number minutes Estimated time until the next transmission
overspeeding.event boolean Overspeeding detected
payload.text string Text Payload received from device
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.gnss.signal.level number Average GNSS satellite signal level at the last GPS fix
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.satellites.visible number The number of visible GPS satellites at the time the location was received
position.speed number km/h Instant speed at position detection moment
position.timestamp number seconds Timestamp when coordinates where calculated number ID of protocol
protocol.version string Protocol version string
sensor.humidity number percentage Humidity sensor value, i.e. relative air humidity level string Sensor ID
sensor.state number Sensor state code: 0 - sensor error, 1 - temperature is valid, 2 - temperature is below valid range, 3 - temperature is above valid range
sensor.temperature number celsius Temperature sensor value
server.timestamp number seconds Timestamp when server received a message
software.version string Software version string
timestamp number seconds Message timestamp
total.idle.seconds number seconds Total time that vehicle was in idling state
towing.event boolean Towing event detected number percentage Estimated battery health level
vehicle.mileage number km Total calculated mileage
x.acceleration number g Accelerometer value X
y.acceleration number g Accelerometer value Y
z.acceleration number g Accelerometer value Z

Below is the list of commands that can be sent to devices to change their configuration or to send signals to various outputs. When sending a command you can specify the transport type defining how the command will be delivered - the address parameter can take values connection (via network connection once the device goes online), sms (via SMS message), push (via PUSH notification). A comprehensive format of each command with all possible parameter values, parameter types, default values, etc. can be found in the REST API documentation in your account.

Title Name Description Properties
Custom custom Execute custom command command: Command number

payload: Payload
Request immobilizer rule
Request geo-zone configuration
Get location get_location Get location
Get param getparam Get configuration param value param: Param number
Output off output_off Output off outnum: Number/id of output
Output on output_on Output on outnum: Number/id of output
Set param setparam Set configuration param value param: Param number

value: Param value