##Description
The PFM delivers engine diagnostic information, also known as Fault Codes, as they are received by the PFM from the vehicles.
There are two types of fault code events identified by the faultcodeType(see JSON schema below):
Original event – event captured by the OBC from the J1708 or J1939 data bus
Cleared event – indicates that the related, original fault code has been removed from the OBC…
[[SQS]]
p.{companyId}.mos.fault
Important! JSON standards and attributes may change at any time. Follow industry best practices and standards to ensure that your application gracefully handles new elements and other small changes to this service. It is also a good idea to periodically check this documentation, PeopleNet Integration/Link Newsletters, or work with your PeopleNet Integration contact to ensure you are using the latest standards for your data. If large structural changes are required for this service, they will be implemented in such a way as to preserve the existing functionality.
Using the PerformX cable and multi-bus adapter, the OBC is able to listen to the J1708 and J1939 data busses for fault code events. When a fault code is captured, it is stored on the OBC until the next data call occurs and then it is transmitted to the PFM. Exceptions can be created to trigger an urgent data call for designated fault codes. Exceptions can be configured in the PeopleNet Fleet Manager under Administration > Company Settings > Fault Codes.
When the PFM receives a new fault code, the Data Delivery servers will forward the event in the JSON format as described below.
{
"type": "object",
"properties": {
"version": {
"type": "String",
"description": "Version of the JSON file format"
},
"type": {
"type": "varchar",
"description": "Name of the service"
},
"companyId": {
"type": "Integer",
"description": "PeopleNet company number"
},
"faultcodeType": {
"type": "Integer",
"description": "Indicates the the type of fault code event - original or clear. 0=Original J1708 Fault Code Event, 1=Cleared J1708 Fault Code Event, 2=Original J1939 Fault Code Event, 3=Cleared J1939 Fault Code Event"
},
"sentDateTime": {
"type": "datetime",
"description": "Date and time the event is received from the OBC and sent to the Data Delivery gateway. If the initial attempt to deliver the event to the subscriber is not successful and the event is retried, this timestamp will not change."
},
"vehicleNumber": {
"type": "char 128",
"description": "Vehicle number, may contain numbers, letters, spaces and punctuation."
},
"VIN": {
"type": "char 20",
"description": "Vehicle Identification Number"
},
"DSN": {
"type": "Integer",
"description": "Device Serial Number of the OBC installed in the Vehicle"
},
"pfmDriverId": {
"type": "Integer",
"description": "PFM Driver ID that uniquely identifies the driver within the PeopleNet system. ‘0’ if there is no known driver. Is not populated on cleared fault code events."
},
"fc_Mid": {
"type": "Integer",
"description": "Identifies the module that reported the Fault Code. Examples: 128 = Engine Control Module, 136 = Brakes, Power Unit, 140 = Instrument Cluster. Only available for J1708 events (faultcodeType = 0)."
},
"fc_pid_sidIndicator": {
"type": "Integer",
"description": "Indicates whether the Fault Code data is sent as a PID or as a SID. 0 = PID, 1 = SID"
},
"fc_Code": {
"type": "Integer",
"description": "Actual PID or SID code. Only available for J1708 events (faultcodeType = 0)."
},
"fc_SA": {
"type": "Integer",
"description": "Address of the controller application; indicates which part of the vehicle generated the fault code. Only available for J1939 events (faultcodeType = 2)."
},
"fc_spn": {
"type": "Integer",
"description": "Suspect Parameter Number. Only available for J1939 events (faultcodeType = 2)."
},
"fc_fmi": {
"type": "Integer",
"description": "Failure Mode Identifier. Available for both the J1708 and J1939 events."
},
"triggerDate": {
"type": "datetime",
"description": "Date the Fault Code triggered"
},
"urgentFlag": {
"type": "Integer",
"description": "Indicates if the fault code was sent urgently or deferred. Possible values: 0 = Deferred, 1 = Urgent"
},
"fc_odometer": {
"type": "float one decimal",
"description": "Odometer value in miles with 1/10th mile precision at the time of the fault code event"
},
"fc_rpm": {
"type": "Integer",
"description": "Engine RPM at the time of the fault code event"
},
"fc_speed": {
"type": "float one decimal",
"description": "Speed reported at the time of the fault code event"
},
"occurrenceCount": {
"type": "Integer",
"description": "Indicates how many times the particular SPN/FMI combination was triggered for this vehicle. Only available for J1939 events (faultcodeType = 2)."
},
"cruiseStatus": {
"type": "Integer",
"description": "Cruise control status at the time of the fault code event. Possible values: 0 = Off, 1 = On"
},
"ignitionStatus": {
"type": "Integer",
"description": "Ignition status at the time of the fault code event. Possible values: 0 = Off, 1 = On"
},
"GPS Quality": {
"type": "Integer",
"description": "GPS quality at the time of the fault code event. Possible values: 0 = `Latitude, Longitude are not valid` 1 = `Latitude and Longitude are valid`"
},
"latitude": {
"type": "fixed dec Int 10-7",
"description": "Latitude where the event occurred"
},
"longitude": {
"type": "fixed dec Int 10-7",
"description": "Longitude where the event occurred"
},
"clearedCodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fc_Mid": {
"type": "Integer",
"description": "Identifies the module that reported the Fault Code. Only available for J1708 events (faultcodeType = 1)."
},
"fc_pid_sidIndicator": {
"type": "Integer",
"description": "Indicates whether the fault code was reported by a PID or a SID as applies to the original event that is being cleared. Possible values: 0 = PID, 1 = SID"
},
"fc_Code": {
"type": "Integer",
"description": "Actual PID or SID code. Only available for J1708 events (faultcodeType = 1)."
},
"fc_SA": {
"type": "Integer",
"description": "Address of the controller application; indicates which part of the vehicle generated the original event that is being cleared. Only available for J1939 events (when faultcodeType = 3)."
},
"fc_spn": {
"type": "Integer",
"description": "Suspect Parameter Number of the original event that is being cleared. Only available for J1939 events (when faultcodeType = 3)."
},
"fc_fmi": {
"type": "Integer",
"description": "Failure mode identifier of the original event that is being cleared."
},
"clearedDate": {
"type": "datetime",
"description": "Date/time the fault code event was cleared."
},
"clearedActionid": {
"type": "Integer",
"description": "Indicates the method used to clear the Fault Code event. 1 = AutoClear,2 = Manual,3 = PFM Request,4 = Full"
},
"clearedActionDesc": {
"type": "Integer",
"description": "Description of the Cleared Action ID. Possible Values: AutoClear = cleared based on the age of the event as configured in the PFM under Administration > Company Settings > Fault Codes > Config. The default AutoClear time is 30 days if not otherwise configured, Manual = fault codes were cleared by an action taken in the vehicle using the PeopleNet display, PFM Request = deprecated, Full = available storage for fault codes was full, so oldest event(s) were cleared to make room for new event(s)"
}
}
}
}
}
}
{
"version": "1.00",
"type": "Fault Codes",
"companyId": "57",
"faultcodeType": "0",
"sentDateTime": "06/13/12 01:12:40",
"vehicleNumber": "1565B",
"VIN": "ABCDE123456789012",
"DSN": "1114645",
"pfmDriverId": "1234567",
"fc_Mid": "128",
"fc_pid_sidIndicator": "0",
"fc_Code": "298",
"fc_SA": "",
"fc_spn": "",
"fc_fmi": "0",
"triggerDate": "06/04/12 20:35:27",
"urgentFlag": "0",
"fc_odometer": "59078",
"fc_rpm": "1373",
"fc_speed": "63",
"occurrenceCount": "",
"cruiseStatus": "0",
"ignitionStatus": "1",
"GPS Quality": "1",
"latitude": "44.9216948",
"longitude": "-93.4490898"
}
{
"version": "1.00",
"type": "Fault Codes",
"companyId": "1821",
"faultcodeType": "1",
"sentDateTime": "06/13/12 01:14:00",
"vehicleNumber": "1007334",
"DSN": "1007334",
"pfmDriverId": "",
"clearedCodes": [{
"fc_Mid": "128",
"fc_pid_sidIndicator": "1",
"fc_Code": "80",
"fc_SA": "",
"fc_spn": "",
"fc_fmi": "1",
"clearedDate": "06/04/1 20:42:04",
"clearedActionid": "4",
"clearedActionDesc": "Full"
}]
}