Abstract

This specification defines a standard for Vehicle Data which might be available in a vehicle. It is designed to be used in conjunction with the Vehicle API Specification.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

Deprecated - Work on this document has been discontinued and it should not be referenced or used as a basis for implementation. The W3C Automotive Working Group has taken a different direction.

This document was published by the Automotive Working Group as a Working Group Note. Comments regarding this document are welcome. Please send them to public-automotive@w3.org (subscribe, archives).

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 March 2017 W3C Process Document.

1. Introduction

This section is non-normative.

Each data type is accessed through a VehicleInterface attribute available on the navigator.vehicle object. The attribute name corresponds with the Vehicle Type. For example, the attribute "vehicle.vehicleSpeed" is the interface to the data type "VehicleSpeed".

Unless otherwise stated, SI units should be used where applicable for all attributes. Notable exceptions for this are temperature, which shall be specified in Celsius, and speed, which shall be specified in meters per hour.

Note

If an interface is provided, it MUST implement its non-nullable attributes otherwise it's optional. Many of the non-nullable attributes are found in interfaces with only one attribute (for example, "VehicleSpeed").

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key word MUST is to be interpreted as described in [RFC2119].

This specification defines conformance criteria that apply to a single product: the user agent that implements the interfaces that it contains.

Implementations that use ECMAScript to implement the APIs defined in this specification MUST implement them in a manner consistent with the ECMAScript Bindings defined in the Web IDL specification [WEBIDL], as this specification uses that specification and terminology.

3. Extending the Vehicle Data API

This specification anticipates that implementors may desire to extend this API and define new data types that this specification does not define. This section provides some general guidlines on how extending the API should be done.

All new data types must have two parts: a VehicleInterface attributed on the navigator.vehicle object and an interface definition that defines the data type. The following example describes how one would extend the specification to add a "whizzer" data feature.

Example 1
partial interface Vehicle {
   readonly attribute VehicleSignalInterface whizzer; /// returns an interface to the Whizzer type
}

interface Whizzer {
   readonly attribute boolean isWhizzing;
}

3.1 Extending Existing Data Types

There may also be attributes of a data type interface that an implementor may wish to extend. The general guideline here is to add attributes to interfaces that are logically related. For example, lets say an implementor wishes to add support for a new type of light. The implementor would extend the already existing Light interface and add the attribute there.

Example 2
partial interface Light {
  attribute boolean superBeam;
}

3.2 Mapping vs. Extending

Because vehicle data may be different in a system than what is defined in the specication, it is preferable to perform post-processing to translate and map the system data to the defined type. It is NOT preferable to create a new type if one has already been defined by this specification.

4. VehicleCommonDataType Interface

The VehicleCommonDataType interface represents the common data type for all vehicle data types

readonly attribute DOMTimeStamp? timeStamp
MUST return timestamp when any data in this interface was received on the system.

5. Configuration and Identification Interfaces

Interfaces relating to vehicle configuration and identification including: make, type size, transmission configuration and identification numbers.

Editor's note

Integers have been used in favor of floating point values in order to preserve precision during calculations (e.g. meters per hour instead of kilometers per hour).

readonly attribute VehicleConfigurationInterface identification
MUST return VehicleConfigurationInterface for accessing Identification
readonly attribute VehicleConfigurationInterface sizeConfiguration
MUST return VehicleConfigurationInterface for accessing SizeConfiguration
readonly attribute VehicleConfigurationInterface fuelConfiguration
MUST return VehicleConfigurationInterface for accessing FuelConfiguration
readonly attribute VehicleConfigurationInterface transmissionConfiguration
MUST return VehicleConfigurationInterface for accessing TransmissionConfiguration
readonly attribute VehicleConfigurationInterface wheelConfiguration
MUST return VehicleConfigurationInterface for accessing WheelConfiguration
readonly attribute VehicleSignalInterface steeringWheelConfiguration
MUST return VehicleConfigurationInterface for accessing SteeringWheelConfiguration

5.1 Identification Interface

The Identification interface provides identification information about a vehicle.

passengerCarMini
Passenger car 680–907 kg
passengerCarLight
Passenger car 907–1,134 kg
passengerCarCompact
Passenger car 1,134–1,360 kg
passengerCarMedium
Passenger car 1,361–1,587 kg
passengerCarHeavy
Passenger car 1,588 kg and over
sportUtilityVehicle
Sport utility vehicle
pickupTruck
Pickup truck
van
Van
readonly attribute DOMString? VIN
MUST return the Vehicle Identification Number (ISO 3833)
readonly attribute DOMString? WMI
MUST return the World Manufacturer Identifier defined by SAE ISO 3780:2009. 3 characters.
readonly attribute VehicleTypeEnum? vehicleType
MUST return vehicle type
readonly attribute DOMString? brand
MUST return vehicle brand name
readonly attribute DOMString? model
MUST return vehicle model
readonly attribute unsigned short? year
MUST return vehicle model year

5.2 SizeConfiguration Interface

The SizeConfiguration interface provides size and shape information about a vehicle as a whole.

readonly attribute unsigned short? width
MUST return widest dimension of the vehicle (not including the side mirrors) (Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)
readonly attribute unsigned short? height
MUST return distance from the ground to the highest point of the vehicle (not including antennas) (Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)
readonly attribute unsigned short? length
MUST return distance from front bumper to rear bumper (Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)
readonly attribute unsigned short[]? doorsCount
MUST return list of car doors, organized in "rows" with number doors in each row.(Per Row - Min: 0, Max: 3)
readonly attribute unsigned short? totalDoors
MUST return total number of doors on the vehicle (all doors opening to the interior, including hatchbacks) (Min: 0, Max: 10)

5.3 FuelConfiguration Interface

The FuelConfiguration interface provides information about the fuel configuration of a vehicle. A dictionary has been used to allow an associated array of values for vehicles which use multiple fuels.

FuelTypeEnum fuelType
MUST return type of fuel used by the vehicle.
DOMString fuelTypeVariant
MUST return the specific variant of fuel required by the vehicle, such as Premium Unleaded Gasoline or E10 Ethanol.
Zone refuelPosition
MUST return location on the vehicle with access to the fuel door for the associated fuel type.
gasoline
Gasoline
methanol
Methanol
ethanol
Ethanol
diesel
Diesel
lpg
Liquified petroleom gas
cng
Compressed natural gas
electric
Electric
readonly attribute any fuelOptions
MUST return a dictionary, as defined in FuelOptions, describing the fuel type, variant and refuel position used by the vehicle. If the vehicle uses multiple fuels, fuelOptions returns an array of FuelOptions.

5.4 TransmissionConfiguration Interface

The TransmissionConfiguration interface provides transmission configuration information about a vehicle.

auto
Automatic transmission
manual
Manual transmission
readonly attribute TransmissionGearTypeEnum? transmissionGearType
MUST return transmission gear type

5.5 WheelConfiguration Interface

The WheelConfiguration interface provides wheel configuration information about a vehicle.

readonly attribute unsigned short? wheelRadius
MUST return radius of the front wheel (Unit: millimeters)
readonly attribute Zone? zone
MUST return Zone for requested attribute

5.6 SteeringWheelConfiguration Interface

The SteeringWheelConfiguration interface provides steering wheel configuration information about a vehicle.

readonly attribute Zone? steeringWheelLocation
MUST return the location on the steering wheel within the vehicle
attribute octet? steeringWheelTelescopingPosition
MUST return steering wheel position as a percentage of extension from the dash (Unit: 0%: closest to dash, 100%: farthest from dash)
attribute octet? steeringWheelPositionTilt
MUST return steering wheel position as a percentage of tilt (Unit: 0%: tilted lowest downward-facing position, 100%: highest upward-facing position)

6. Running Status Interfaces

Interfaces relating to the running/operation of a vehicle including: speed, temperatures and acceleration.

Editor's note

Integers have been used in favor of floating point values in order to preserve precision during calculations (e.g. meters per hour instead of kilometers per hour).

readonly attribute VehicleSignalInterface vehicleSpeed
MUST return VehicleSignalInterface for accessing VehicleSpeed
readonly attribute VehicleSignalInterface wheelSpeed
MUST return VehicleSignalInterface for accessing WheelSpeed
readonly attribute VehicleSignalInterface engineSpeed
MUST return VehicleSignalInterface for accessing EngineSpeed or undefined if not supported
readonly attribute VehicleSignalInterface vehiclePowerModeType
MUST return VehicleSignalInterface for accessing VehiclePowerModeType
readonly attribute VehicleSignalInterface powertrainTorque
MUST return VehicleSignalInterface for accessing PowertrainTorque
readonly attribute VehicleSignalInterface acceleratorPedalPosition
MUST return VehicleSignalInterface for accessing AcceleratorPedalPosition
readonly attribute VehicleSignalInterface throttlePosition
MUST return VehicleSignalInterface for accessing ThrottlePosition
readonly attribute VehicleSignalInterface tripMeters
MUST return VehicleSignalInterface for accessing TripMeters
readonly attribute VehicleSignalInterface transmission
MUST return VehicleSignalInterface for accessing Transmission
readonly attribute VehicleSignalInterface cruiseControlStatus
MUST return VehicleSignalInterface for accessing CruiseControlStatus
readonly attribute VehicleSignalInterface lightStatus
MUST return VehicleSignalInterface for accessing LightStatus
readonly attribute VehicleSignalInterface interiorLightStatus
MUST return VehicleSignalInterface for accessing InteriorLightStatus
readonly attribute VehicleSignalInterface horn
MUST return VehicleSignalInterface for accessing Horn
readonly attribute VehicleSignalInterface chime
MUST return VehicleSignalInterface for accessing Chime
readonly attribute VehicleSignalInterface fuel
MUST return VehicleSignalInterface for accessing Fuel
readonly attribute VehicleSignalInterface engineOil
MUST return VehicleSignalInterface for accessing EngineOil
readonly attribute VehicleSignalInterface acceleration
MUST return VehicleSignalInterface for accessing Acceleration
readonly attribute VehicleSignalInterface engineCoolant
MUST return VehicleSignalInterface for accessing EngineCoolant
readonly attribute VehicleSignalInterface steeringWheel
MUST return VehicleSignalInterface for accessing SteeringWheel
readonly attribute VehicleSignalInterface wheelTick
MUST return VehicleSignalInterface for accessing WheelTick
readonly attribute VehicleSignalInterface ignitionTime
MUST return VehicleSignalInterface for accessing IgnitionTime
readonly attribute VehicleSignalInterface gyro
MUST return VehicleSignalInterface for accessing Gyro
readonly attribute VehicleSignalInterface brakeOperation
MUST return VehicleSignalInterface for accessing BrakeOperation
readonly attribute VehicleSignalInterface buttonEvent
MUST return VehicleSignalInterface for accessing ButtonEvent
readonly attribute VehicleSignalInterface drivingStatus
MUST return VehicleSignalInterface for accessing DrivingStatus
readonly attribute VehicleSignalInterface nightMode
MUST return VehicleSignalInterface for accessing NightMode
readonly attribute VehicleSignalInterface startStopMode
MUST return VehicleSignalInterface for accessing StartStopMode

6.1 VehicleSpeed Interface

The VehicleSpeed interface represents vehicle speed information

readonly attribute unsigned long speed
MUST return vehicle speed (Unit: meters per hour)

6.2 WheelSpeed Interface

The WheelSpeed interface represents wheel speed information.

readonly attribute unsigned long speed
MUST return wheel speed (Unit: meters per hour)
readonly attribute Zone? zone
MUST return Zone for requested attribute

6.3 EngineSpeed Interface

The EngineSpeed interface represents engine speed information.

readonly attribute unsigned long speed
MUST return engine speed (Unit: rotations per minute)

6.4 VehiclePowerModeType Interface

The VehiclePowerModeType interface represents position of the ignition switch.

off
Off - No power
accessory1
Accessory power mode 1: Some electronics and modules are powered
accessory2
Accessory power mode 2: All electronics and modules are powered
running
Power mode during engine running
cranking
Power mode during engine cranking
readonly attribute VehiclePowerMode value
MUST return position of the ignition switch

6.5 PowertrainTorque Interface

The PowertrainTorque interface represents powertrain torque.

readonly attribute short value
MUST return powertrain torque (Unit: newton meters)

6.6 AcceleratorPedalPosition Interface

The AcceleratorPedalPosition interface represents the accelerator pedal position.

readonly attribute octet value
MUST return accelerator pedal position as a percentage (Unit: 0%: released pedal, 100%: fully depressed)

6.7 ThrottlePosition Interface

The ThrottlePosition represents position of the throttle.

readonly attribute octet value
MUST return throttle position as a percentage (Unit: 0%: closed, 100%: fully open)

6.8 Trip Interface

The Trip interface represents trip meter.

readonly attribute unsigned long distance
MUST return distance travelled based on trip meter (Unit: meters)
readonly attribute unsigned long? averageSpeed
MUST return average speed based on trip meter (Unit: meters per hour)
readonly attribute unsigned short? fuelConsumption
MUST return fuel consumed based on trip meter (Unit: milliliters per 100 kilometers)
readonly attribute Trip[] meters
MUST return trip meters

6.9 Transmission Interface

The Transmission interface represents the current transmission gear and mode.

park
Transmission is in park
reverse
Transmission is in reverse
neutral
Transmission is in neutral
low
Transmission is in low
drive
Transmission is in drive
overdrive
Transmission is in overdrive
readonly attribute octet? gear
MUST return transmission gear position. Range 0 - 10
readonly attribute TransmissionMode? mode
MUST return transmission Mode (see TransmissionMode)

6.10 CruiseControlStatus Interface

The CruiseControlStatus interface represents cruise control settings.

readonly attribute boolean status
MUST return whether or not the Cruise Control system is on (true) or off (false)
readonly attribute unsigned long speed
MUST return target Cruise Control speed (Unit: meters per hour)

6.11 LightStatus Interface

The LightStatus interface represents exterior light statuses.

attribute boolean head
MUST return headlight status: on (true), off (false)
attribute boolean rightTurn
MUST return right turn signal status: on (true), off (false)
attribute boolean leftTurn
MUST return left turn signal status: on (true), off (false)
attribute boolean brake
MUST return Brake light status: on (true), off (false)
attribute boolean? fog
MUST return Fog light status: on (true), off (false)
attribute boolean hazard
MUST return Hazard light status: on (true), off (false)
attribute boolean parking
MUST return Parking light status: on (true), off (false)
attribute boolean highBeam
MUST return HighBeam light status: on (true), off (false)
attribute boolean? automaticHeadlights
MUST return whether automatic head lights status: activated (true) or not (false)
attribute boolean? dynamicHighBeam
MUST return whether dynamic high beam status: activated (true) or not (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

6.12 InteriorLightStatus Interface

The InteriorLightStatus interface represents interior light status.

attribute boolean status
MUST return interior light status for the given zone: on (true), off (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

6.13 Horn Interface

The Horn interface represents horn status.

attribute boolean status
MUST return Horn status: on (true) or off (false)

6.14 Chime Interface

The Chime interface represents chime status.

readonly attribute boolean status
MUST return Chime status when a door is open: on (true) or off (false)

6.15 Fuel Interface

The Fuel interface represents vehicle fuel status.

readonly attribute octet? level
MUST return fuel level as a percentage (Unit: 0%: empty, 100%: full)
readonly attribute unsigned long? range
MUST return estimated fuel range (Unit: meters)
readonly attribute unsigned long? instantConsumption
MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers)
attribute unsigned long? averageConsumption
MUST return average fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers). Setting this to any value should reset the counter to '0'
readonly attribute unsigned long? fuelConsumedSinceRestart
MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
readonly attribute unsigned long? timeSinceRestart
MUST return time elapsed since vehicle restart (Unit: seconds)

6.16 EngineOil Interface

The EngineOil interface represents engine oil status.

readonly attribute octet level
MUST return engine oil level as a percentage (Unit: 0%: empty, 100%: full)
readonly attribute octet lifeRemaining
MUST return remaining engine oil life as a percentage (Unit: 0%: no life remaining, 100%: full life remaining)
readonly attribute float temperature
MUST return Engine Oil Temperature (Unit: celsius)
readonly attribute unsigned short pressure
MUST return Engine Oil Pressure (Unit: kilopascals)
readonly attribute boolean change
MUST return engine oil change indicator status: change oil (true) or no change (false)

6.17 Acceleration Interface

The Acceleration interface represents vehicle acceleration.

readonly attribute long x
MUST return acceleration on the "X" axis (Unit: centimeters per second squared)
readonly attribute long y
MUST return acceleration on the "Y" axis (Unit: centimeters per second squared)
readonly attribute long z
MUST return acceleration on the "Z" axis (Unit: centimeters per second squared)

6.18 EngineCoolant Interface

The EngineCoolant represents values related to engine coolant.

readonly attribute octet level
MUST return engine coolant level as a percentage (Unit: 0%: empty, 100%: full)
readonly attribute float temperature
MUST return engine coolant temperature (Unit: celsius)

6.19 SteeringWheel Interface

The SteeringWheel represents steering wheel data.

readonly attribute short angle
MUST return angle of steering wheel off centerline (Unit: degrees +:degrees to the left, -:degrees to the right)

6.20 WheelTick Interface

The WheelTick number of ticks per second.

readonly attribute unsigned long value
MUST return number of ticks per second (Unit: ticks per second)
readonly attribute Zone? zone
MUST return Zone for requested attribute

6.21 IgnitionTime Interface

The IgnitionTime represents status of ignition.

readonly attribute DOMTimeStamp ignitionOnTime
MUST return time at ignition on
readonly attribute DOMTimeStamp ignitionOffTime
MUST return time at ignition off

6.22 Gyro Interface

The Gyro interface represents vehicle angular rates. This interface utilises the ISO 8855 Z-up standard, with positive X forward, positive Y to the left, and positive Z up.

readonly attribute short yawRate
MUST return yaw rate of vehicle. (Unit: degrees per second. +: Front of the vehicle moves left, -: Front of the vehicle moves right)
readonly attribute short pitchRate
MUST return pitch rate of vehicle. (Unit: degrees per second. +: Front of the vehicle moves down, -: Front of the vehicle moves up)
readonly attribute short rollRate
MUST return roll rate of vehicle. (Unit: degrees per second. +: Right side of the vehicle moves down, -: Right side of the vehicle moves up)

6.23 BrakeOperation Interface

The BrakeOperation represents vehicle brake operation.

readonly attribute boolean brakePedalDepressed
MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed

6.24 ButtonEvent Interface

The ButtonEvent represents button press events from the steering wheel or other source

home
back
search
call
end_call
media_play
media_next
media_previous
media_pause
voice_recognize
enter
left
right
up
down
press
long_press
release
readonly attribute Button button
MUST return the button corresponding to the event.
readonly attribute ButtonEventType state
MUST return the type of event
readonly attribute VehicleButton[] button
MUST return the button events that occurred. This supports multiple simultaneous button events.

6.25 DrivingStatus Interface

The DrivingStatus interface provides information about whether or not the vehicle is driving. DrivingStatus is an abstract data type that may combine several other data types such as vehicle speed and transmission gear. Typical usage would be to disable certain functions in the application if the vehicle is not safe to operate those functions to avoid driver distraction.

readonly attribute boolean status
MUST return true if vehicle is in state of driving

6.26 NightMode Interface

The NightMode interface provides information about whether or not it is night time. NightMode is an abstract data type that may combine several other data types such as exterior brightness, time of day and sunrise/sunset, to determine whether or not it is night time. Typical usage is to change the UI theme to a darker theme during the night.

readonly attribute boolean mode
MUST return true if it is night time

6.27 StartStopMode Interface

The StartStopMode interface provides information about the status of start/stop feature of the vehicle, whereby the engine shuts off instead of idling while stationary.

readonly attribute boolean? startStopEnabled
MUST return true if start/stop is enabled
readonly attribute boolean? startStopActive
MUST return true if start/stop is currently active

7. Maintenance Interfaces

Interfaces relating to vehicle maintenance, the act of inspecting or testing the condition of vehicle subsystems (e.g. engine) and servicing or replacing parts and fluids.

readonly attribute VehicleSignalInterface odometer
MUST return VehicleSignalInterface for accessing Odometer or undefined if not supported
readonly attribute VehicleSignalInterface transmissionOil
MUST return VehicleSignalInterface for accessing TransmissionOil
readonly attribute VehicleSignalInterface transmissionClutch
MUST return VehicleSignalInterface for accessing TransmissionClutch
readonly attribute VehicleSignalInterface brakeMaintenance
MUST return VehicleSignalInterface for accessing BrakeMaintenance
readonly attribute VehicleSignalInterface washerFluid
MUST return VehicleSignalInterface for accessing WasherFluid
readonly attribute VehicleSignalInterface malfunctionIndicator
MUST return VehicleSignalInterface for accessing MalfunctionIndicator
readonly attribute VehicleSignalInterface batteryStatus
MUST return VehicleSignalInterface for accessing BatteryStatus
readonly attribute VehicleSignalInterface tire
MUST return VehicleSignalInterface for accessing Tire
readonly attribute VehicleSignalInterface troubleCode
MUST return VehicleSignalInterface for accessing TroubleCode
readonly attribute VehicleSignalInterface diagnostic
MUST return VehicleSignalInterface for accessing Diagnostic

7.1 Odometer Interface

The Odometer interface provides information about the distance that the vehicle has traveled.

readonly attribute unsigned long? distanceSinceStart
MUST return the distance traveled by vehicle since start (Unit: meters).
readonly attribute unsigned long distanceTotal
MUST return the total distance traveled by the vehicle (Unit: meters).

7.2 TransmissionOil Interface

The TransmissionOil interface provides information about the state of a vehicle's transmission oil.

readonly attribute octet? wear
MUST return transmission oil wear as a percentage (Unit: 0%: no wear, 100%: completely worn).
readonly attribute float? temperature
MUST return current temperature of the transmission oil (Unit: celsius).

7.3 TransmissionClutch Interface

The TransmissionClutch interface provides information about the state of a vehicle's transmission clutch.

readonly attribute octet wear
MUST return transmission clutch wear as a percentage (Unit: 0%: no wear, 100%: completely worn).

7.4 BrakeMaintenance Interface

The BrakeMaintenance interface provides information about the maintenance state of a vehicle's brakes.

readonly attribute octet? fluidLevel
MUST return brake fluid level as a percentage (Unit: 0%: empty, 100%: full).
readonly attribute boolean? fluidLevelLow
MUST return true if brake fluid level: low (true), not low (false)
readonly attribute octet? padWear
MUST return brake pad wear as a percentage (Unit: 0%: no wear, 100%: completely worn).
readonly attribute boolean? brakesWorn
MUST return true if brakes are worn: worn (true), not worn (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

7.5 WasherFluid Interface

The WasherFluid interface provides information about the state of a vehicle's washer fluid.

readonly attribute octet? level
MUST return washer fluid level as a percentage (Unit: 0%: empty, 100%: full).
readonly attribute boolean? levelLow
MUST return true if washer fluid level is low: low (true), not low: (false)

7.6 MalfunctionIndicator Interface

The MalfunctionIndicator interface provides information about the state of a vehicle's Malfunction Indicator lamp.

readonly attribute boolean on
MUST return true if malfunction indicator lamp is on: lamp on (true), lamp not on (false)

7.7 BatteryStatus Interface

The BatteryStatus interface provides information about the state of a vehicle's battery.

readonly attribute octet? chargeLevel
MUST return battery charge level as a percentage (Unit: 0%: empty, 100%: full).
readonly attribute unsigned short? voltage
MUST return battery voltage (Unit: volts).
readonly attribute unsigned short? current
MUST return battery current (Unit: amperes).
readonly attribute Zone? zone
MUST return Zone for requested attribute
readonly attribute DOMstring? batteryType
MUST return battery type (SLI (starting, lighting, ignition), stop-start, hybrid relay, hybrid traction)
readonly attribute DOMstring? batteryChemistry
MUST return battery chemistry (Flooded lead acid, AGM, enhanced flooded, lithium)
readonly attribute short? batteryCCACapacity
MUST return battery cold cranking amp capacity
readonly attribute short? batteryReserveCapacity
MUST return battery reserve capacity
readonly attribute short? batteryAmpHoursCapacity
MUST return battery amp-hours capacity
readonly attribute float? batteryVoltageWake
MUST return battery voltage at system wake
readonly attribute float? batteryTempWake
MUST return battery temperature at system wake
readonly attribute short? engineCrankTime
MUST return duration (in seconds) of crank cycle for most recent engine start
readonly attribute float? batteryMinVoltCrank
MUST return minimum battery voltage during engine crank
readonly attribute float? engineCoolantTemp
MUST return coolant temperature during engine crank
readonly attribute float? engineAirTemp
MUST return ambient air temperature during engine crank
readonly attribute float? batteryVoltageT0
MUST return battery voltage at engine start time = 0
readonly attribute float? batteryTempT0
MUST return battery temperature at engine start time = 0
readonly attribute float? batteryVoltageT120
MUST return battery voltage at engine start time = 120
readonly attribute float? batteryTempT120
MUST return battery temperature at engine start time = 120
readonly attribute float[]? batteryVoltageTrip
MUST return battery voltage at 1200 second intervals during engine run time (trip)
readonly attribute float[]? batteryTempTrip
MUST return battery temperature at 1200 second intervals during engine run time (trip)
readonly attribute float? batteryVoltageESD30
MUST return battery voltage at 30 seconds after engine shut down
readonly attribute float? batteryTempESD30
MUST return battery temperature at 30 seconds after engine shut down
readonly attribute float? batteryVoltageESD450
MUST return battery voltage at 450 seconds after engine shut down
readonly attribute float? batteryTempESD450
MUST return battery temperature at 450 seconds after engine shut down
readonly attribute float? batteryVoltageESD870
MUST return battery voltage at 870 seconds after engine shut down
readonly attribute float? batteryTempESD870
MUST return battery temperature at 870 seconds after engine shut down
readonly attribute float? batteryVoltageESD1290
MUST return battery voltage at 1290 seconds after engine shut down
readonly attribute float? batteryTempESD1290
MUST return battery temperature at 1290 seconds after engine shut down
readonly attribute float? batteryVoltageESD1710
MUST return battery voltage at 1710 seconds after engine shut down
readonly attribute float? batteryTempESD1710
MUST return battery temperature at 1710 seconds after engine shut down

7.8 Tire Interface

The Tire interface provides information about the state of a vehicle's tires.

readonly attribute boolean? pressureLow
MUST return true if any tire pressure is low: pressure low (true), pressure not low (false)
readonly attribute unsigned short? pressure
MUST return tire pressure (Unit: kilopascal).
readonly attribute float? temperature
MUST return tire temperature (Unit: celsius).
readonly attribute Zone? zone
MUST return Zone for requested attribute

7.9 TroubleCode Interface

The TroubleCode interface represents interface to trouble codes produced by vehicle.

current
pending
history
readonly attribute TroubleCodeType[] type
MUST return type of trouble code
readonly attribute DOMString[] TroubleCodeValue
MUST return alphanumeric value of trouble code

7.10 Diagnostic Interface

The Diagnostic interface represents Diagnostic interface to malfunction indicator light information.

readonly attribute unsigned long accumulatedEngineRuntime
MUST return engine runtime (Unit: seconds)
readonly attribute unsigned long distanceWithMILOn
MUST return distance travelled with the malfunction indicator light on (Unit: meters)
readonly attribute unsigned long distanceSinceCodeCleared.
MUST return distance travelled since the codes were last cleared (Unit: meters)
readonly attribute unsigned long timeRunMILOn
MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
readonly attribute unsigned long timeTroubleCodeClear
MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)

8. Personalization Interfaces

Interfaces relating personalization the settings of vehicle such as seat and mirror position.

readonly attribute VehicleSignalInterface? languageConfiguration
MUST return VehicleSignalInterface for accessing LanguageConfiguration
readonly attribute VehicleSignalInterface unitsOfMeasure
MUST return VehicleSignalInterface for accessing UnitsOfMeasure
readonly attribute VehicleSignalInterface mirror
MUST return VehicleSignalInterface for accessing Mirror
readonly attribute VehicleSignalInterface driveMode
MUST return VehicleSignalInterface for accessing DriveMode
readonly attribute VehicleSignalInterface seatAdjustment
MUST return VehicleSignalInterface for accessing SeatAdjustment
readonly attribute VehicleSignalInterface dashboardIllumination
MUST return VehicleSignalInterface for accessing DashboardIllumination
readonly attribute VehicleSignalInterface vehicleSound
MUST return VehicleSignalInterface for accessing VehicleSound

8.1 LanguageConfiguration Interface

The LanguageConfiguration interface provides language information about a vehicle.

attribute DOMString? language
MUST return language identifier based on two-letter codes as specified in BCP47

8.2 UnitsOfMeasure Interface

The UnitsOfMeasure interface provides information about the measurement system and units of measure of a vehicle.

attribute boolean? isMKSSystem
MUST return measurement system currently being used by vehicle. 'true' means the current measurement system is MKS-km(liter). 'false' means it is US customary units-mile(gallon).
attribute DOMString? unitsFuelVolume
MUST return fuel unit of measurement. The value is one of both "litter" and "gallon".
attribute DOMString? unitsDistance
MUST return distance unit of measurement. The value is one of both "km" and "mile".
attribute DOMString? unitsSpeed
MUST return speed unit of measurement. The value is one of both "km/h" and "mph".
attribute DOMString? unitsFuelConsumption
MUST return fuel consumption unit of measurement. The value is one of following values: "l/100", "mpg", "km/l".

8.3 Mirror Interface

The Mirror interface provides or sets information about mirrors in vehicle.

attribute byte? mirrorTilt
MUST return mirror tilt position as a percentage of distance travelled from downward-facing to upward-facing position (Unit: 0%: center position, +100%: fully upward, -100%: fully downward)
attribute byte? mirrorPan
MUST return mirror pan position as a percentage of distance travelled from left to right position (Unit: 0%: center position, +100%: fully left, -100%: fully right)
readonly attribute Zone? zone
MUST return Zone for requested attribute

8.4 SeatAdjustment Interface

The SeatAdjustment interface provides or sets information about seats in vehicle.

attribute octet? reclineSeatBack
MUST return seat back recline position as a percentage to completely reclined (Unit: 0%: fully forward, 100%: fully reclined)
attribute octet? seatSlide
MUST return seat slide position as a percentage of distance travelled away from forwardmost position (Unit: 0%: farthest forward, 100%: farthest back)
attribute octet? seatCushionHeight
MUST return seat cushion height position as a percentage of upward distance travelled (Unit: 0%: lowest. 100%: highest)
attribute octet? seatHeadrest
MUST return headrest position as a percentage of upward distance travelled (Unit: 0%: lowest, 100%: highest)
attribute octet? seatBackCushion
MUST return back cushion position as a percentage of lumbar curvature (Unit: 0%: flat, 100%: maximum curvature)
attribute octet? seatSideCushion
MUST return sides of back cushion position as a percentage of curvature (Unit: 0%: flat, 100%: maximum curvature)
readonly attribute Zone? zone
MUST return Zone for requested attribute

8.5 DriveMode Interface

The DriveMode interface provides or sets information about a vehicles drive mode.

comfort
Comfort mode
auto
Automatically set mode
sport
Sport mode
eco
Ecological/fuel efficient mode
manual
Manual mode
winter
Winter/slippery mode
attribute DriveModeType? driveMode
MUST return vehicle drive mode

8.6 DashboardIllumination Interface

The DashboardIllumination interface provides or sets information about dashboard illumination in vehicle.

attribute octet? dashboardIllumination
MUST return illumination of dashboard as a percentage (Unit: 0%: none, 100%: maximum illumination)

8.7 VehicleSound Interface

The VehicleSound interface provides or sets information about vehicle sound.

attribute boolean activeNoiseControlMode
MUST return active noise control status: not-activated (false), activated (true)
attribute DOMString? engineSoundEnhancementMode
MUST return engine sound enhancement mode where a null string means not-activated, and any other value represents a manufacture specific setting. See availableSounds.
readonly attribute DOMString[]? availableSounds
MUST return array of available sounds. See engineSoundEnhancementMode

9. DrivingSafety Interfaces

Interfaces related to driving safety such as anti-lock braking and airbag status.

Editor's note

Integers have been used in favor of floating point values in order to preserve precision during calculations (e.g. meters per hour instead of kilometers per hour).

readonly attribute VehicleSignalInterface antilockBrakingSystem
MUST return VehicleSignalInterface for accessing AntilockBrakingSystem
readonly attribute VehicleSignalInterface tractionControlSystem
MUST return VehicleSignalInterface for accessing TractionControlSystem
readonly attribute VehicleSignalInterface electronicStabilityControl
MUST return VehicleSignalInterface for accessing ElectronicStabilityControl
readonly attribute VehicleSignalInterface topSpeedLimit
MUST return VehicleSignalInterface for accessing TopSpeedLimit
readonly attribute VehicleSignalInterface airbagStatus
MUST return VehicleSignalInterface for accessing AirbagStatus
readonly attribute VehicleSignalInterface door
MUST return VehicleSignalInterface for accessing Door
readonly attribute VehicleSignalInterface childSafetyLock
MUST return VehicleSignalInterface for accessing ChildSafetyLock
readonly attribute VehicleSignalInterface seat
MUST return VehicleSignalInterface for accessing Seat

9.1 AntilockBrakingSystem Interface

The AntilockBrakingSystem interface provides status of ABS (Antilock Braking System) status and setting.

readonly attribute boolean enabled
MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)
readonly attribute boolean engaged
MUST return whether or not the ABS is engaged: engaged (true) or idle (false)

9.2 TractionControlSystem Interface

The TractionControlSystem interface provides status of TCS (Traction Control System) status and setting.

readonly attribute boolean enabled
MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)
readonly attribute boolean engaged
MUST return whether or not the TCS is engaged: engaged (true) or idle (false)

9.3 ElectronicStabilityControl Interface

The ElectronicStabilityControl interface provides status of ESC (Electronic Stability Control) status and setting.

readonly attribute boolean enabled
MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
readonly attribute boolean engaged
MUST return whether or not the ESC is engaged: engaged (true) or idle (false)

9.4 TopSpeedLimit Interface

The TopSpeedLimit interface provides the current setting of top speed limit of the vehicle.

readonly attribute unsigned long speed
MUST return vehicle top speed limit (Unit: meters per hour)

9.5 AirbagStatus Interface

The AirbagStatus interface provides the current status of airbags in each zones of the vehicle.

readonly attribute boolean activated
MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)
readonly attribute boolean deployed
MUST return whether the airbag is deployed: deployed (true) or not (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

9.6 Door Interface

The Door interface provides the current status of doors in each zones of the vehicle.

open
Door is opened
ajar
Door is ajar
closed
Door is closed
readonly attribute DoorOpenStatus status
MUST return the status of door's open status
attribute boolean lock
MUST return whether or not the door is locked: locked (true) or unlocked (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

9.7 ChildSafetyLock Interface

The ChildSafetyLock interface provides the current setting of Child Safety Lock.

attribute boolean lock
MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)
readonly attribute Zone? zone
MUST return Zone for requested attribute

9.8 Seat Interface

The Seat interface provides the current occupant information and seatbelt status of a seat in different zones of the vehicle.

adult
Occupant is an adult
child
Occupant is a child
vacant
Seat is vacant
pin
Four digit pin number entered by user
keyfob
Identification by key fob
Bluetooth
Identification by Bluetooth device
NFC
Identification by NFC device
fingerprint
Identification by fingerprint
camera
Identification by camera
voice
Identification by voice
readonly attribute OccupantStatus occupant
MUST return the status of seat occupant
readonly attribute boolean seatbelt
MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
readonly attribute DOMString? occupantName
MUST return occupant identifier
readonly attribute IdentificationType identificationType
MUST return identification type
readonly attribute Zone? zone
MUST return Zone for requested attribute

10. Climate Interfaces

Interfaces related to vehicle climate (interior and exterior) such as temperature and rain.

readonly attribute VehicleSignalInterface temperature
MUST return VehicleSignalInterface for accessing Temperature
readonly attribute VehicleSignalInterface rainSensor
MUST return VehicleSignalInterface for accessing RainSensor
readonly attribute VehicleSignalInterface wiperStatus
MUST return VehicleSignalInterface for accessing WiperStatus
readonly attribute VehicleSignalInterface defrost
MUST return VehicleSignalInterface for accessing Defrost
readonly attribute VehicleSignalInterface sunroof
MUST return VehicleSignalInterface for accessing Sunroof
readonly attribute VehicleSignalInterface convertibleRoof
MUST return VehicleSignalInterface for accessing ConvertibleRoof
readonly attribute VehicleSignalInterface sideWindow
MUST return VehicleSignalInterface for accessing SideWindow
readonly attribute VehicleSignalInterface climateControl
MUST return VehicleSignalInterface for accessing ClimateControl or undefined if not supported
readonly attribute VehicleSignalInterface atmosphericPressure
MUST return VehicleSignalInterface for accessing AtmosphericPressure

10.1 Temperature Interface

The Temperature interface provides information about the current temperature of outside or inside vehicle.

readonly attribute float interiorTemperature
MUST return the current temperature of the air inside of the vehicle (Unit: celsius)
readonly attribute float exteriorTemperature
MUST return the current temperature of the air around the vehicle (Unit: celsius)

10.2 RainSensor Interface

The RainSensor interface provides information about ambient light levels.

readonly attribute octet rainIntensity
MUST return the amount of rain detected by the rain sensor. level of rain intensity (0: No Rain, 10:Heaviest Rain)
readonly attribute Zone? zone
MUST return Zone for requested attribute

10.3 WiperStatus Interface

The WiperStatus interface represents the status of wiper operation.

off
Wiper is not in operation
once
Wipe single. It's a transient state and goes to the off mode
slowest
Wiper is on mode with the slowest speed
slow
Wiper is on mode with slow speed
middle
Wiper is on mode with middle speed
fast
Wiper is on mode with fast speed
fastest
Wiper is on mode with the fastest speed
auto
Wiper is on the automatic mode which controls wiping speed with accordance with the amount of rain
readonly attribute WiperControl wiperSpeed
MUST return current speed interval of wiping windshield
attribute WiperControl wiperSetting
MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
readonly attribute Zone? zone
MUST return Zone for requested attribute

10.4 Defrost Interface

The Defrost interface represents the status of wiper operation.

attribute boolean? defrostWindow
MUST return current status of the defrost switch for window. It can be used to send user's request for changing setting.
attribute boolean? defrostMirrors
MUST return current status of the defrost switch for mirrors. It can be used to send user's request for changing setting.
readonly attribute Zone? zone
MUST return Zone for requested attribute

10.5 Sunroof Interface

The Sunroof interface represents the current status of Sunroof.

attribute octet openness
MUST return current status of Sunroof as a percentage of openness (Unit: 0%: closed, 100%: fully opened)
attribute octet tilt
MUST return current status of Sunroof as a percentage of tilted (Unit: 0%: closed, 100%: maximum tilted)
readonly attribute Zone? zone
MUST return Zone for requested attribute

Both can be used to send user's request for changing setting.

10.6 ConvertibleRoof Interface

The ConvertibleRoof interface represents the current status of Convertible Roof.

closed
the convertible roof is closed
closing
the convertible roof is closing
opening
the convertible roof is opening
opened
the convertible roof is opened
readonly attribute ConvertibleRoofStatus status
MUST return current status of Convertible Roof.
attribute boolean? setting
MUST return current setting of Convertible Roof. This is used to open (true) and close (false).

This attribute can be used to send user's request for changing setting. "closed" is used to close and "opened" is used to open.

10.7 SideWindow Interface

The SideWindow interface represents the current status of openness of side windows.

attribute boolean? lock
MUST return whether or not the window is locked: locked (true) or unlocked (false)
attribute octet? openness
MUST return current status of the side window as a percentage of openness. (Unit: 0%: Closed, 100%: Fully Opened)
readonly attribute Zone? zone
MUST return Zone for requested attribute

10.8 ClimateControl Interface

The ClimateControl interface represents the current setting of the climate control equipments such as heater and air conditioner.

frontpanel
Air flow is directed to the instrument panel outlets
floorduct
Air flow is directed to the floor outlets
bilevel
Air flow is directed to the instrument panel outlets and the floor outlets
defrostfloor
Air flow is directed to the floor outlets and the windshield
attribute AirflowDirection airflowDirection
MUST return current status of the direction of the air flow through the ventilation system
attribute octet fanSpeedLevel
MUST return current status of the fan speed of the air flowing (0: off, 1: weakest, 10: strongest )
attribute float? targetTemperature
MUST return current setting of the desired temperature (Unit: celsius)
attribute boolean airConditioning
MUST return current status of the air conditioning system: on (true) or off (false)
attribute boolean heater
MUST return current status of the heating system: on (true) or off (false)
attribute octet? seatHeater
MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
attribute octet? seatCooler
MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
attribute boolean airRecirculation
MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
attribute octet? steeringWheelHeater
MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
readonly attribute Zone? zone
MUST return Zone for requested attribute

ClimateControl can be used to send user's request for changing setting.

10.9 AtmosphericPressure Interface

The AtmosphericPressure interface provides information about the current atmospheric pressure outside of the vehicle.

readonly attribute unsigned short pressure
MUST return the current atmospheric pressure outside of the vehicle (Unit: hectopascal)

11. Vision and Parking Interfaces

Interfaces relating to vision and parking such as lane departure and parking brake.

Editor's note

For parkingSensors, it might need to revisit the naming because these sensor might be working while the car is running. For instance, distanceSensors, proximitySensors are might be other options. Depending on the name decision whole of interface might be changed.

readonly attribute VehicleSignalInterface laneDepartureDetection
MUST return VehicleSignalInterface for accessing LaneDepartureDetection or undefined if not supported
readonly attribute VehicleSignalInterface alarm
MUST return VehicleSignalInterface for accessing Alarm
readonly attribute VehicleSignalInterface parkingBrake
MUST return VehicleSignalInterface for accessing ParkingBrake
readonly attribute VehicleSignalInterface parkingSensors
MUST return VehicleSignalInterface for accessing ParkingSensors

11.1 LaneDepartureDetection Interface

The LaneDepartureDetection interface represents the current status of the lane departure warning function.

off
The function is not running
pause
The function has been paused (running, but inactive)
running
The function is in its operational mode
readonly attribute LaneDepartureStatus status
MUST return current status of Lane departure warning function.

11.2 Alarm Interface

The Alarm interface represents the current status of the vehicle alarm system.

disarmed
The alarm is not armed
prearmed
The function is temporary not active
armed
The function is active
alarmed
The alarm is screaming
attribute AlarmStatus status
MUST return current status of vehicle alarm system.

11.3 ParkingBrake Interface

The ParkingBrake interface represents the current status of the parking brake.

inactive
Parking brake is not engaged (driving position)
active
Parking brake is engaged (parking position)
error
There is a problem with the parking brake system
readonly attribute ParkingBrakeStatus status
MUST return current status of parking brake.

11.4 ParkingSensors Interface

The ParkingSensors interface represents the current status of the parking sensors.

readonly attribute short? distanceToObject
MUST return the approximate distance to the nearest object from the parking sensor. If no objects are sensed this should return null (Unit: millimeters)
readonly attribute boolean? active
MUST return true if parking sensors are currently in use
readonly attribute Zone? zone
MUST return Zone for requested attribute

12. Use-Cases

12.1 Informative (Non-Normative)

12.1.1 Use Cases for Vehicle Configuration & Identification

  • Driver and technician are able to see vehicle configuration and identification information such VIN and vehicle size.

12.1.2 Use Cases for RunningStatus

  • Driver able to see driving performance information such as acceleration, speed and gears used.
  • Driver able to see fuel status such as economy, consumption, level and range.

12.1.3 Use Cases for Maintenance

  • Driver is able to see current state of key maintenance indicators such as fluid states, battery charge and tire pressure, and is given a snapshot of vehicle health while in and out of vehicle.
  • Driver receives alert notifications in and out of car letting him know of maintenance issues that need to be addressed.
  • If desired driver may share maintenance information with repair facility.

12.1.4 Use Cases for Personalization

  • Driver and technician are able to see vehicle personalization information such seat and mirror position.

12.1.5 Use Cases for DrivingSafety

  • Driver able to see safety setting and warnings at a glance.

12.1.6 Use Cases for Climate

  • IVI system shows the status of various climate control equipments as GUI and lets a user control it via touch screen.
  • A user uses his smart devices to remotely check whether side windows of his parked car are closed or not, and to send a request to the car for closing it if opened.
  • A user uses his smart devices to start his car remotely, and turns heaters on to warm up the car inside before getting in the car.
  • If users agree to provide vehicle information to the weather station, many cars can be used to get weather information such as amounts of rain and ambient temperatures.

12.1.7 Use Cases for Vision interfaces

  • To warn when the vehicle goes on another lane (Lane departure warning function)
  • To warn in case of an danger (vehicle, pedestrian, animals, stop sign, red light, ...)
  • To record the scene before and after an accident (for insurance or testimony)
  • To improve vision in the dark

12.1.8 Use Cases for Parking interfaces

  • To be informed in case of intrusion in or around the vehicle.
  • To be informed of the parking brake status.

12.1.9 Use Cases for Electric Vehicle interfaces

  • To see current state of the battery level, remaining time before full charging, ...
  • To check if the charging is plugged or unplugged.

A. References

A.1 Normative references

[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[WEBIDL]
Web IDL. Cameron McCormack; Boris Zbarsky; Tobie Langel. W3C. 15 December 2016. W3C Editor's Draft. URL: https://heycam.github.io/webidl/