General-motors-onstar protocol

Protocol used to to fetch vehicle telematics data via General Motors OnStar Data Services API.
flespi parses the General-motors-onstar protocol messages into a JSON object with the fields listed below in the Parameters tab.

The channel will expect HTTP POST requests with payload data in GM OnStar protocol format.

To start receiving vehicle data from the GM OnStar telematics system perform the following steps:

1. Create a channel of ‘general-motors-onstar’ protocol. Contact your GM manager and provide them with a channel URI, so that they configure the Target URL where GM will be pushing vehicle data to.

Important note: In order for commands to General Motors OnStar devices to work properly, there must be only one ‘general-motors-onstar’ channel per flespi account. 

2. Provide GM with the flespi outbound IP address 185.213.2.10, so that they whitelist it for inbound requests from the flespi platform to GM.

3. Once you have received the API credentials from GM, paste them into the Credentials section of the channel configuration on the Edit tab:

gm onstar protocol credentials

4. Create General Motors OnStar devices in flespi for each vehicle that you want to receive telemetry for and use vehicle VIN as ident

create general motors onstar device

5. Execute the “provision_device” command (Commands & Settings tab) for each device to Opt In the device in GM for the listed services:

send provision command to general motors onstar device

As soon as the command is executed successfully, the GM platform will start sending the vehicle telemetry data to the channel. You can see the incoming messages on the Logs & Messages tab.

battery.voltage
number
volts
Internal battery voltage
INTERM_VOLT_BATT_VOLT
can.ambient.air.temperature
number
celsius
CAN ambient air temperature
AMBIENT_AIR_TEMPERATURE
can.exhaust.fuel.indicator.status
boolean
CAN exhaust fuel indicator status
EXHST_FL_LEVL_WARN_IND
can.fuel.consumed
number
liters
Fuel volume totally consumed by vehicle read from CAN
Lifetime fuel used
can.fuel.economy
number
km/liters
CAN instantaneous fuel economy
Lifetime fuel economy
can.soot.filter.indicator.status.1
boolean
Soot filter indicator status #1
EXHST_PART_FLTR_WARN_ON
can.soot.filter.indicator.status.2
boolean
Soot filter indicator status #2
EXHST_PART_FLTR_WARN2_ON
can.vehicle.speed
number
km/h
Vehicle speed read from CAN
CURRENT_SPEED
can.washer.fluid.level.low.indicator.status
boolean
Low washer fluid level indicator, read from CAN
WASHER_FLUID_LOW
channel.id
number
ID of channel that received a message
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
driver.seatbelt.indicator.status
boolean
Driver seatbelt indicator
DRIVER_SEATBELT_INDICATOR
dtc.action
string
DTC action
DTCSystem/DTCData/CorrectiveActionDescription
dtc.active.status
boolean
DTC active status
DTCSystem/DTCData/IsActive
dtc.code
string
DTC code
DTCSystem/DTCData/DTCCode
dtc.description
string
DTC description
DTCSystem/DTCData/DTCDescription
dtc.module.id
string
DTC module id
DTCSystem/DTCData/Module/ModuleID
dtc.open.timestamp
number
DTC open timestamp
DTCSystem/DTCData/DTCOpenDate
dtc.reset.timestamp
number
DTC reset timestamp
DTCSystem/DTCData/ResetDate
dtc.severity.code
number
DTC severity code
DTCSystem/DTCData/ServerityCode
dtc.status.byte
string
DTC status byte
DTCSystem/DTCData/StatusByte
dtc.subsystem.id
number
DTC subsystem id
DTCSystem/SubSystems/SubSystemID
dtc.subsystem.name
string
DTC subsystem name
DTCSystem/SubSystems/SubSystemName
dtc.system.name
string
DTC system name
DTCSystem/SystemName
engine.coolant.temperature
number
Engine coolant temperature
ENGINE_COOLANT_TEMP
engine.ignition.change.status
boolean
Engine ignition change status
IgnitionStateChange
engine.ignition.enabled
number
Engine ignition enabled
Engine ignition is enabled
engine.ignition.status
boolean
Engine ignition or ACC status
IsIgnOff
engine.motorhours
number
hours
Total calculated engine motorhours
ENGINE_RUN_TIME_TOTAL
engine.rpm
number
rpm
Engine RPM read
ENGINE_RPM
fuel.capacity
number
Fuel Capacity
Fuel Capacity
fuel.level
number
percentage
Fuel level percentage
Fuel level
fuel.volume
number
liters
Fuel volume
Fuel amount
gas.range
number
Gas range
Gas range
gsm.network.type
string
The type of the Mobile network the device is currently registered to
CELL_SERVICE
ident
string
Device unique identifier like serial number, IMEI, etc
oil.life
number
Oil life
Oil life
park.neutral.ckeck
string
Park neutral check
PARK_NEUTRAL_CHECK
passenger.seatbelt.indicator.status
boolean
Passenger seatbelt indicator
FRONT_PASSENGER_SEATBELT_INDICATOR
passenger.seat.occupied.status
boolean
Front passenger occupant status
FRONT_PASSENGER_OCCUPANT_STATUS
peer
string
IP:port from which device connecting to the channel
position.accuracy
number
meters
Position data accuracy in meters
EHPE
position.altitude
number
meters
Altitude value for position
ELV,
Elevation
position.direction
number
degrees
Heading angle at position detection moment
Direction
position.latitude
number
degrees
Latitude coordinate value
Latitude
position.longitude
number
degrees
Longitude coordinate value
Longitude
position.speed
number
km/h
Instant speed at position detection moment
Speed
position.valid
boolean
Is position information accurate and valid for given timestamp
AGEIND
power.mode
string
System power mode
SYSTEM_POWER_MODE
protocol.id
number
ID of protocol
segment.max.acceleration
number
g
Maximum acceleration value that occured on the segment
SPEED_RATE_OF_CHANGE
segment.max.braking.acceleration
number
g
Maximum braking acceleration value that occured on the segment
SPEED_RATE_OF_CHANGE_POSITIVE
server.timestamp
number
seconds
Timestamp when server received a message
timestamp
number
seconds
Message timestamp
tire.placard.front
number
Tire Pressure placard front
Tire Pressure placard front
tire.placard.rear
number
Tire Pressure placard rear
Tire Pressure placard rear
tire.pressure.lf
number
Tire Pressure LF
Tire Pressure LF
tire.pressure.lr
number
Tire Pressure LR
Tire Pressure LR
tire.pressure.rf
number
Tire Pressure RF
Tire Pressure RF
tire.pressure.rr
number
Tire Pressure RR
Tire Pressure RR
tire.pressure.state.fr
string
Right front tire pressure status
RIGHT_FRONT_TIRE_PRESSURE_STATUS
tire.pressure.state.lf
string
Left front tire pressure status
LEFT_FRONT_TIRE_PRESSURE_STATUS
tire.pressure.state.lr
string
Left rear tire pressure status
LEFT_REAR_TIRE_PRESSURE_STATUS
tire.pressure.state.rr
string
Right rear tire pressure status
RIGHT_REAR_TIRE_PRESSURE_STATUS
total.engine.idle.time
number
Total engine idle time
LIFETIME_ENG_IDLE_TIME
trip.mileage
number
km
Distance driven since engine start
Trip A total distance
vehicle.mileage
number
km
Total calculated mileage
ODO_READ
Properties
Send a custom command to device
custom
Send a POST HTTP request to On Star API /account/vehicles/{vin}/commands/{cmd_name} with provided {cmd_param} in request body
cmd_name: Command Name
cmd_param: Command Parameter
Get ignition status
ignition_status
Get vehicle ignition status
Provision device
provision_device
Consent and opt in device for given data services in OnStar API
services: Services
Remove device
remove_device
Opt out device for given data services in OnStar API
services: Services