Jump to content

OBD Manual OEM Request Validation Instruction: Difference between revisions

From Teltonika Telematics Wiki
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
__TOC__


== Manual OEM Request Validation Guide ==
== Overview ==
This guide outlines the procedure for manual OEM request validation using the <code>obdoemdatasource:</code> command. This process is used to manage and verify data sources when a Teltonika device retrieves multiple or incorrect diagnostic values from a vehicle's Electronic Control Units (ECUs).


This guide outlines the procedure for manual OEM request validation using the <code>obdoemdatasource:</code> command. This process is used to manage and verify data sources when the device retrieves multiple or incorrect diagnostic values from the vehicles.
===== Recommended firmware version: 04.02.00.rev.602+ =====


== When to Use ==
== When to Use ==
* '''Incorrect Values:''' When the received values do not match the actual values displayed on the vehicle's dashboard
* '''Incorrect Values:''' When the parsed values received on the server do not match the actual values displayed on the vehicle's dashboard/instrument cluster.
* '''No Value:''' When no OEM parameter value is received by the device.
* '''No Value:''' When a specific OEM parameter value is supported by the vehicle but is not being received or captured by the device.


----
----


== Command Syntax ==
== Command Syntax ==
The command can be executed through various communication channels:
The command can be executed remotely through SMS or GPRS communication channels using the structures below:


=== Parameter Reference ===
=== Syntax Structure ===
==== Available Operations (<operation>) ====
{| class="wikitable"
{| class="wikitable"
! Method
! Method
Line 28: Line 28:
| '''GPRS'''
| '''GPRS'''
| <code>obdoemdatasource:<operation>:<arg1>:[<arg2>]</code>
| <code>obdoemdatasource:<operation>:<arg1>:[<arg2>]</code>
|-
|}
 


----
----
Line 35: Line 34:
== Parameter Reference ==
== Parameter Reference ==


=== Available Operations (<operation>) ===
=== Available Operations (<code><operation></code>) ===
{| class="wikitable"
{| class="wikitable"
! Operation
! Operation
Line 41: Line 40:
|-
|-
| <code>get</code>
| <code>get</code>
| Retrieves OEM sources for a specific data identifier.
| Retrieves all available detected OEM sources for a specific data identifier.
|-
|-
| <code>set</code>
| <code>set</code>
| Sets the selected source and deletes all other sources for that identifier.
| Sets and locks the selected source, ignoring or clearing all other conflicting sources for that identifier.
|-
 
|}
|}


=== Data Identifier Mapping (<arg1>) ===
=== Data Identifier Mapping (<code><arg1></code>) ===
{| class="wikitable"
{| class="wikitable"
! <code><arg1></code>
! <code><arg1></code>
Line 68: Line 65:
| '''6''' || OEM HVBattery Charge Level || '''15''' || OEM Remaining Oil Life
| '''6''' || OEM HVBattery Charge Level || '''15''' || OEM Remaining Oil Life
|-
|-
| '''7''' || OEM HVBattery Charge State || '''16''' || OEM HVBattery Voltage
| '''7''' || OEM HVBattery Voltage || '''16''' || OEM HVBattery State of Charge
|-
|-
| '''8''' || OEM HVBattery Health || '''17''' || OEM HVBattery Current
| '''8''' || OEM HVBattery Health || '''17''' || OEM HVBattery Current
Line 77: Line 74:
{| class="wikitable" style="border-left: 5px solid #00549A; background-color: #F8F9FA;"
{| class="wikitable" style="border-left: 5px solid #00549A; background-color: #F8F9FA;"
|-
|-
| '''Note:''' <code><arg2></code> is the numerical value representing the source for a particular identifier. You must use the <code>get</code> command first to find the available sources.
| '''Note:''' <code><arg2></code> is the numerical index value representing the specific source for a particular identifier. You must always use the <code>get</code> command first to find which source indexes are active and available.
|}
|}


Line 84: Line 81:
== Step-by-Step Validation Example ==
== Step-by-Step Validation Example ==


=== Example 1: Locking Total Mileage to a Correct Source ===
=== Example: Locking Total Mileage to a Correct Source ===
'''Scenario:''' The received values do not match the actual values shown on the vehicle's dashboard.  
'''Scenario:''' The received telemetry values do not match the actual mileage shown on the vehicle's dashboard.
 
'''Example Context:''' The device is currently reporting an incorrect OEM mileage of '''168,4300 km''', while the actual physical vehicle dashboard reads '''65,799 km'''.


'''Example:''' The device is currently reporting an OEM mileage of 86,666 km, while the actual dashboard reads 56,566 km.
# '''Identify Available Sources:''' Send the <code>get</code> command for the Total Mileage parameter (DID <code>1</code>).
# '''Identify Available Sources:''' Use the <code>get</code> command for Mileage.
#* '''Command:''' <code>obdoemdatasource:get:1</code>
#* '''Command:''' <code>obdoemdatasource:get:1</code>
#* '''Response:''' <code>Sources: 1. val:0 2. val:0 3. val:65799 4. val:1684300</code>
#* '''Device Response:''' <code>Sources: 1. val:0 2. val:0 3. val:65799 4. val:1684300</code>
# '''Compare with Vehicle Dashboard:''' If the dashboard shows 65,799, the 3rd source is correct.
# '''Compare with Vehicle Dashboard:''' Match the values from the response to the physical dashboard. Since the dashboard shows '''65,799 km''', the 3rd source index (<code>3</code>) is the correct source.
# '''Set the Source:''' <code>@smsrun:obdoemdatasource:set:1:3</code>
# '''Set and Lock the Source:''' Send the <code>set</code> command specifying DID <code>1</code> and Source Index <code>3</code>.
# '''Confirm:''' "Manual OEM source setting performed successfully" will be displayed.
# '''Command:''' <code>obdoemdatasource:set:1:3</code>
# '''Confirm Application:''' Verify that the device replies with the success confirmation payload.
#* '''Device Response:''' <code>Manual OEM source setting performed successfully</code>
#* '''Verify the data:''' Check from the configurator or via AVL after successful operation.
[[File:OEM Validation.png|left|frameless|478x478px]]
#*

Latest revision as of 14:38, 4 June 2026

Overview

This guide outlines the procedure for manual OEM request validation using the obdoemdatasource: command. This process is used to manage and verify data sources when a Teltonika device retrieves multiple or incorrect diagnostic values from a vehicle's Electronic Control Units (ECUs).

Recommended firmware version: 04.02.00.rev.602+

When to Use

  • Incorrect Values: When the parsed values received on the server do not match the actual values displayed on the vehicle's dashboard/instrument cluster.
  • No Value: When a specific OEM parameter value is supported by the vehicle but is not being received or captured by the device.

Command Syntax

The command can be executed remotely through SMS or GPRS communication channels using the structures below:

Syntax Structure

Method Syntax
SMS (With Login) <login><space><password><space>obdoemdatasource:<operation>:<arg1>:[<arg2>]
SMS (No Login) <space><space>obdoemdatasource:<operation>:<arg1>:[<arg2>]
GPRS obdoemdatasource:<operation>:<arg1>:[<arg2>]

Parameter Reference

Available Operations (<operation>)

Operation Description
get Retrieves all available detected OEM sources for a specific data identifier.
set Sets and locks the selected source, ignoring or clearing all other conflicting sources for that identifier.

Data Identifier Mapping (<arg1>)

<arg1> OEM Data Identifier (DID) <arg1> OEM Data Identifier (DID)
1 OEM Total Mileage 10 OEM HVBattery Max Energy
2 OEM Fuel level1 (l) 11 OEM HVBattery Available Energy
3 OEM Distance Till Next Service 12 OEM HVBattery Lifetime Charge
4 OEM Remaining Distance 13 OEM HVBattery Lifetime Energy
5 OEM Fuel level2 (l) 14 OEM Ambient Temperature
6 OEM HVBattery Charge Level 15 OEM Remaining Oil Life
7 OEM HVBattery Voltage 16 OEM HVBattery State of Charge
8 OEM HVBattery Health 17 OEM HVBattery Current
9 OEM HVBattery Temperature 18 OEM Ignition
Note: <arg2> is the numerical index value representing the specific source for a particular identifier. You must always use the get command first to find which source indexes are active and available.

Step-by-Step Validation Example

Example: Locking Total Mileage to a Correct Source

Scenario: The received telemetry values do not match the actual mileage shown on the vehicle's dashboard.

Example Context: The device is currently reporting an incorrect OEM mileage of 168,4300 km, while the actual physical vehicle dashboard reads 65,799 km.

  1. Identify Available Sources: Send the get command for the Total Mileage parameter (DID 1).
    • Command: obdoemdatasource:get:1
    • Device Response: Sources: 1. val:0 2. val:0 3. val:65799 4. val:1684300
  2. Compare with Vehicle Dashboard: Match the values from the response to the physical dashboard. Since the dashboard shows 65,799 km, the 3rd source index (3) is the correct source.
  3. Set and Lock the Source: Send the set command specifying DID 1 and Source Index 3.
  4. Command: obdoemdatasource:set:1:3
  5. Confirm Application: Verify that the device replies with the success confirmation payload.
    • Device Response: Manual OEM source setting performed successfully
    • Verify the data: Check from the configurator or via AVL after successful operation.