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 specification was published by the Automotive and Web Platform Business Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Final Specification Agreement (FSA) other conditions apply. Learn more about W3C Community and Business Groups.

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.

If you wish to make comments regarding this document, please send them to public-autowebplatform@w3.org (subscribe, archives).

Table of Contents

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".

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

[NoInterfaceObject]
interface VehicleCommonDataType {
    readonly    attribute DOMTimeStamp? timeStamp;
};

4.1 Attributes

timeStamp of type DOMTimeStamp, readonly , nullable
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, identification numbers, etc...

partial interface Vehicle {
    readonly    attribute VehicleConfigurationInterface identification;
    readonly    attribute VehicleConfigurationInterface sizeConfiguration;
    readonly    attribute VehicleConfigurationInterface fuelConfiguration;
    readonly    attribute VehicleConfigurationInterface transmissionConfiguration;
    readonly    attribute VehicleConfigurationInterface wheelConfiguration;
    readonly    attribute VehicleSignalInterface        steeringWheelConfiguration;
};

5.1 Attributes

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

5.2 Identification Interface

The Identification interface provides identification information about a vehicle.

enum VehicleTypeEnum {
    "passengerCarMini",
    "passengerCarLight",
    "passengerCarCompact",
    "passengerCarMedium",
    "passengerCarHeavy",
    "sportUtilityVehicle",
    "pickupTruck",
    "van"
};
Enumeration description
passengerCarMiniPassenger car 680–907 kg
passengerCarLightPassenger car 907–1,134 kg
passengerCarCompactPassenger car 1,134–1,360 kg
passengerCarMediumPassenger car 1,361–1,587 kg
passengerCarHeavyPassenger car 1,588 kg and over
sportUtilityVehicleSport utility vehicle
pickupTruckPickup truck
vanVan
[NoInterfaceObject]
interface Identification : VehicleCommonDataType {
    readonly    attribute DOMString?       VIN;
    readonly    attribute DOMString?       WMI;
    readonly    attribute VehicleTypeEnum? vehicleType;
    readonly    attribute DOMString?       brand;
    readonly    attribute DOMString?       model;
    readonly    attribute unsigned short?  year;
};

5.2.1 Attributes

VIN of type DOMString, readonly , nullable
MUST return the Vehicle Identification Number (ISO 3833)
WMI of type DOMString, readonly , nullable
MUST return the World Manufacture Identifier defined by SAE ISO 3780:2009. 3 characters.
brand of type DOMString, readonly , nullable
MUST return vehicle brand name
model of type DOMString, readonly , nullable
MUST return vehicle model
vehicleType of type VehicleTypeEnum, readonly , nullable
MUST return vehicle type
year of type unsigned short, readonly , nullable
MUST return vehicle model year

5.3 SizeConfiguration Interface

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

[NoInterfaceObject]
interface SizeConfiguration : VehicleCommonDataType {
    readonly    attribute unsigned short?   width;
    readonly    attribute unsigned short?   height;
    readonly    attribute unsigned short?   length;
    readonly    attribute unsigned short[]? doorsCount;
    readonly    attribute unsigned short?   totalDoors;
};

5.3.1 Attributes

doorsCount of type array of unsigned short, readonly , nullable
MUST return list of car doors, organized in "rows" with number doors in each row.(Per Row - Min: 0, Max: 3)
height of type unsigned short, readonly , nullable
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.)
length of type unsigned short, readonly , nullable
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.)
totalDoors of type unsigned short, readonly , nullable
MUST return total number of doors on the vehicle (all doors opening to the interior, including hatchbacks) (Min: 0, Max: 10)
width of type unsigned short, readonly , nullable
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.)

5.4 FuelConfiguration Interface

The FuelConfiguration interface provides information about the fuel configuration of a vehicle.

enum FuelTypeEnum {
    "gasoline",
    "methanol",
    "ethanol",
    "diesel",
    "lpg",
    "cng",
    "electric"
};
Enumeration description
gasolineGasoline
methanolMethanol
ethanolEthanol
dieselDiesel
lpgLiquified petroleom gas
cngCompressed natural gas
electricElectric
[NoInterfaceObject]
interface FuelConfiguration : VehicleCommonDataType {
    readonly    attribute FuelTypeEnum[]? fuelType;
    readonly    attribute Zone?           refuelPosition;
};

5.4.1 Attributes

fuelType of type array of FuelTypeEnum, readonly , nullable
MUST return type of fuel used by vehicle. If the vehicle uses multiple fuels, fuelType returns an array of fuel types.
refuelPosition of type Zone, readonly , nullable
MUST return location on the vehicle with access to the fuel door

5.5 TransmissionConfiguration Interface

The TransmissionConfiguration interface provides transmission configuration information information about a vehicle.

enum TransmissionGearTypeEnum {
    "auto",
    "manual"
};
Enumeration description
autoAutomatic transmission
manualManual transmission
[NoInterfaceObject]
interface TransmissionConfiguration : VehicleCommonDataType {
    readonly    attribute TransmissionGearTypeEnum? transmissionGearType;
};

5.5.1 Attributes

transmissionGearType of type TransmissionGearTypeEnum, readonly , nullable
MUST return transmission gear type

5.6 WheelConfiguration Interface

The WheelConfiguration interface provides wheel configuration information about a vehicle.

[NoInterfaceObject]
interface WheelConfiguration : VehicleCommonDataType {
    readonly    attribute unsigned short? wheelRadius;
    readonly    attribute Zone?           zone;
};

5.6.1 Attributes

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

5.7 SteeringWheelConfiguration Interface

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

[NoInterfaceObject]
interface SteeringWheelConfiguration : VehicleCommonDataType {
    readonly    attribute boolean?        steeringWheelLeft;
                attribute unsigned short? steeringWheelTelescopingPosition;
                attribute unsigned short? steeringWheelPositionTilt;
};

5.7.1 Attributes

steeringWheelLeft of type boolean, readonly , nullable
MUST return true if steering wheel is on left side of vehicle
steeringWheelPositionTilt of type unsigned short, , nullable
MUST return steering wheel position as percentage of tilt (Unit: percentage, 0%:tilted lowest downward-facing position, 100%:highest upward-facing position)
steeringWheelTelescopingPosition of type unsigned short, , nullable
MUST return steering wheel position as percentage of extension from the dash (Unit: percentage, 0%:closest to dash, 100%:farthest from dash)

6. Running Status Interfaces

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

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface vehicleSpeed;
    readonly    attribute VehicleSignalInterface wheelSpeed;
    readonly    attribute VehicleSignalInterface engineSpeed;
    readonly    attribute VehicleSignalInterface powerTrainTorque;
    readonly    attribute VehicleSignalInterface acceleratorPedalPosition;
    readonly    attribute VehicleSignalInterface throttlePosition;
    readonly    attribute VehicleSignalInterface tripMeters;
    readonly    attribute VehicleSignalInterface transmission;
    readonly    attribute VehicleSignalInterface cruiseControlStatus;
    readonly    attribute VehicleSignalInterface lightStatus;
    readonly    attribute VehicleSignalInterface interiorLightStatus;
    readonly    attribute VehicleSignalInterface horn;
    readonly    attribute VehicleSignalInterface chime;
    readonly    attribute VehicleSignalInterface fuel;
    readonly    attribute VehicleSignalInterface engineOil;
    readonly    attribute VehicleSignalInterface acceleration;
    readonly    attribute VehicleSignalInterface engineCoolant;
    readonly    attribute VehicleSignalInterface steeringWheel;
    readonly    attribute VehicleSignalInterface ignitionTime;
    readonly    attribute VehicleSignalInterface yawRate;
    readonly    attribute VehicleSignalInterface brakeOperation;
    readonly    attribute VehicleSignalInterface wheelTick;
    readonly    attribute VehicleSignalInterface buttonEvent;
    readonly    attribute VehicleSignalInterface drivingMode;
    readonly    attribute VehicleSignalInterface nightMode;
};

6.1 Attributes

acceleration of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Acceleration
acceleratorPedalPosition of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing AcceleratorPedalPosition
brakeOperation of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing BrakeOperation
buttonEvent of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing ButtonEvent
chime of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Chime
cruiseControlStatus of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing CruiseControlStatus
drivingMode of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing DrivingMode
engineCoolant of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing EngineCoolant
engineOil of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing EngineOil
engineSpeed of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing EngineSpeed or undefined if not supported
fuel of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Fuel
horn of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Horn
ignitionTime of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing IgnitionTime
interiorLightStatus of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing InteriorLightStatus
lightStatus of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing LightStatus
nightMode of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing NightMode
powerTrainTorque of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing PowertrainTorque
steeringWheel of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing SteeringWheel
throttlePosition of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing ThrottlePosition
transmission of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Transmission
tripMeters of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing TripMeters
vehicleSpeed of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing VehicleSpeed
wheelSpeed of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing WheelSpeed
wheelTick of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing WheelTick
yawRate of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing YawRate

6.2 VehicleSpeed Interface

The VehicleSpeed interface represents vehicle speed information

[NoInterfaceObject]
interface VehicleSpeed : VehicleCommonDataType {
    readonly    attribute unsigned short speed;
};

6.2.1 Attributes

speed of type unsigned short, readonly
MUST return vehicle speed (Unit: meters per hour)

6.3 WheelSpeed Interface

The WheelSpeed interface represents wheel speed information.

[NoInterfaceObject]
interface WheelSpeed : VehicleCommonDataType {
    readonly    attribute unsigned short speed;
    readonly    attribute Zone?          zone;
};

6.3.1 Attributes

speed of type unsigned short, readonly
MUST return wheel speed (Unit: meters per hour)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

6.4 EngineSpeed Interface

The EngineSpeed interface represents engine speed information.

[NoInterfaceObject]
interface EngineSpeed : VehicleCommonDataType {
    readonly    attribute unsigned long speed;
};

6.4.1 Attributes

speed of type unsigned long, readonly
MUST return engine speed (Unit: rotations per minute)

6.5 VehiclePowerModeType Interface

The VehiclePowerModeType interface represents position of the ignition switch.

enum VehiclePowerMode {
    "off",
    "accessory1",
    "accessory2",
    "running"
};
Enumeration description
offOff - No power
accessory1Accessory power 1
accessory2Accessory power 2
runningRunning power
[NoInterfaceObject]
interface VehiclePowerModeType : VehicleCommonDataType {
    readonly    attribute VehiclePowerMode value;
};

6.5.1 Attributes

value of type VehiclePowerMode, readonly
MUST return position of the ignition switch

6.6 PowertrainTorque Interface

The PowertrainTorque interface represents powertrain torque.

[NoInterfaceObject]
interface PowerTrainTorque : VehicleCommonDataType {
    readonly    attribute short value;
};

6.6.1 Attributes

value of type short, readonly
MUST return powertrain torque (Unit: newton meters)

6.7 AcceleratorPedalPosition Interface

The AcceleratorPedalPosition interface represents the accelerator pedal position.

[NoInterfaceObject]
interface AcceleratorPedalPosition : VehicleCommonDataType {
    readonly    attribute unsigned short value;
};

6.7.1 Attributes

value of type unsigned short, readonly
MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)

6.8 ThrottlePosition Interface

The ThrottlePosition represents position of the throttle.

[NoInterfaceObject]
interface ThrottlePosition : VehicleCommonDataType {
    readonly    attribute unsigned short value;
};

6.8.1 Attributes

value of type unsigned short, readonly
MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)

6.9 Trip Interface

The Trip interface represents trip meter.

[NoInterfaceObject]
interface Trip {
    readonly    attribute unsigned long   distance;
    readonly    attribute unsigned short? averageSpeed;
    readonly    attribute unsigned short? fuelConsumption;
};

6.9.1 Attributes

averageSpeed of type unsigned short, readonly , nullable
MUST return average speed based on trip meter (Unit: kilometers per hour)
distance of type unsigned long, readonly
MUST return distance travelled based on trip meter (Unit: meters)
fuelConsumption of type unsigned short, readonly , nullable
MUST return fuel consumed based on trip meter (Unit: milliliters per 100 kilometers)
[NoInterfaceObject]
interface TripMeters : VehicleCommonDataType {
    readonly    attribute Trip[] meters;;
};

6.9.2 Attributes

meters; of type array of Trip, readonly
MUST return trip meters

6.10 Transmission Interface

The Transmission interface represents the current transmission gear and mode.

enum TransmissionMode {
    "park",
    "reverse",
    "neutral",
    "low",
    "drive",
    "overdrive"
};
Enumeration description
parkTransmission is in park
reverseTransmission is in reverse
neutralTransmission is in neutral
lowTransmission is in low
driveTransmission is in drive
overdriveTransmission is in overdrive
[NoInterfaceObject]
interface Transmission : VehicleCommonDataType {
    readonly    attribute octet?            gear;
    readonly    attribute TransmissionMode? mode;
};

6.10.1 Attributes

gear of type octet, readonly , nullable
MUST return transmission gear position. Range 0 - 10
mode of type TransmissionMode, readonly , nullable
MUST return transmission Mode (see TransmissionMode)

6.11 CruiseControlStatus Interface

The CruiseControlStatus interface represents cruise control settings.

[NoInterfaceObject]
interface CruiseControlStatus : VehicleCommonDataType {
    readonly    attribute boolean        status;
    readonly    attribute unsigned short speed;
};

6.11.1 Attributes

speed of type unsigned short, readonly
MUST return target Cruise Control speed in kilometers per hour (Unit: kilometers per hour)
status of type boolean, readonly
MUST return whether or not the Cruise Control system is on (true) or off (false)

6.12 LightStatus Interface

The LightStatus interface represents exterior light statuses.

[NoInterfaceObject]
interface LightStatus : VehicleCommonDataType {
                attribute boolean  head;
                attribute boolean  rightTurn;
                attribute boolean  leftTurn;
                attribute boolean  brake;
                attribute boolean? fog;
                attribute boolean  hazard;
                attribute boolean  parking;
                attribute boolean  highBeam;
                attribute boolean? automaticHeadlights;
                attribute boolean? dynamicHighBeam;
    readonly    attribute Zone?    zone;
};

6.12.1 Attributes

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

6.13 InteriorLightStatus Interface

The InteriorLightStatus interface represents interior light status.

[NoInterfaceObject]
interface InteriorLightStatus : VehicleCommonDataType {
                attribute boolean status;
    readonly    attribute Zone?   zone;
};

6.13.1 Attributes

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

6.14 Horn Interface

The Horn interface represents horn status.

[NoInterfaceObject]
interface Horn : VehicleCommonDataType {
                attribute boolean status;
};

6.14.1 Attributes

status of type boolean,
MUST return Horn status: on (true) or off (false)

6.15 Chime Interface

The Chime interface represents chime status.

[NoInterfaceObject]
interface Chime : VehicleCommonDataType {
    readonly    attribute boolean status;
};

6.15.1 Attributes

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

6.16 Fuel Interface

The Fuel interface represents vehicle fuel status.

[NoInterfaceObject]
interface Fuel : VehicleCommonDataType {
    readonly    attribute unsigned short? level;
    readonly    attribute unsigned long?  range;
    readonly    attribute unsigned long?  instantConsumption;
                attribute unsigned long?  averageConsumption;
    readonly    attribute unsigned long?  fuelConsumedSinceRestart;
    readonly    attribute unsigned long?  timeSinceRestart;
};

6.16.1 Attributes

averageConsumption of type unsigned long, , nullable
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'
fuelConsumedSinceRestart of type unsigned long, readonly , nullable
MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
instantConsumption of type unsigned long, readonly , nullable
MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers)
level of type unsigned short, readonly , nullable
MUST return fuel level as a percentage of fullness
range of type unsigned long, readonly , nullable
MUST return estimated fuel range (Unit: meters)
timeSinceRestart of type unsigned long, readonly , nullable
MUST return time elapsed since vehicle restart (Unit: seconds)

6.17 EngineOil Interface

The EngineOil interface represents engine oil status.

[NoInterfaceObject]
interface EngineOil : VehicleCommonDataType {
    readonly    attribute unsigned short level;
    readonly    attribute unsigned short lifeRemaining;
    readonly    attribute long           temperature;
    readonly    attribute unsigned short pressure;
    readonly    attribute boolean        change;
};

6.17.1 Attributes

change of type boolean, readonly
MUST return engine oil change indicator status: change oil (true) or no change (false)
level of type unsigned short, readonly
MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full
lifeRemaining of type unsigned short, readonly
MUST return remaining engine oil life (Unit: percentage, 0%:no life remaining, 100%: full life remaining
pressure of type unsigned short, readonly
MUST return Engine Oil Pressure (Unit: kilopascals)
temperature of type long, readonly
MUST return Engine Oil Temperature (Unit: celcius)

6.18 Acceleration Interface

The Acceleration interface represents vehicle acceleration.

[NoInterfaceObject]
interface Acceleration : VehicleCommonDataType {
    readonly    attribute long x;
    readonly    attribute long y;
    readonly    attribute long z;
};

6.18.1 Attributes

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

6.19 EngineCoolant Interface

The EngineCoolant represents values related to engine coolant.

[NoInterfaceObject]
interface EngineCoolant : VehicleCommonDataType {
    readonly    attribute octet level;
    readonly    attribute short temperature;
};

6.19.1 Attributes

level of type octet, readonly
MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
temperature of type short, readonly
MUST return engine coolant temperature (Unit: celcius)

6.20 SteeringWheel Interface

The SteeringWheel represents steering wheel data.

[NoInterfaceObject]
interface SteeringWheel : VehicleCommonDataType {
    readonly    attribute short angle;
};

6.20.1 Attributes

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

6.21 WheelTick Interface

The WheelTick number of ticks per second.

[NoInterfaceObject]
interface WheelTick : VehicleCommonDataType {
    readonly    attribute unsigned long value;
    readonly    attribute Zone?         zone;
};

6.21.1 Attributes

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

6.22 IgnitionTime Interface

The IgnitionTime represents status of ignition.

[NoInterfaceObject]
interface IgnitionTime : VehicleCommonDataType {
    readonly    attribute DOMTimeStamp ignitionOnTime;
    readonly    attribute DOMTimeStamp ignitionOffTime;
};

6.22.1 Attributes

ignitionOffTime of type DOMTimeStamp, readonly
MUST return time at ignition off
ignitionOnTime of type DOMTimeStamp, readonly
MUST return time at ignition on

6.23 YawRate Interface

The YawRate represents vehicle yaw rate.

[NoInterfaceObject]
interface YawRate : VehicleCommonDataType {
    readonly    attribute short value;
};

6.23.1 Attributes

value of type short, readonly
MUST return yaw rate of vehicle. (Unit: degrees per second)

6.24 BrakeOperation Interface

The BrakeOperation represents vehicle brake operation.

[NoInterfaceObject]
interface BrakeOperation : VehicleCommonDataType {
    readonly    attribute boolean brakePedalDepressed;
};

6.24.1 Attributes

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

6.25 ButtonEvent Interface

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

enum Button {
    "home",
    "back",
    "search",
    "call",
    "end_call",
    "media_play",
    "media_next",
    "media_previous",
    "media_pause",
    "voice_recognize",
    "enter",
    "left",
    "right",
    "up",
    "down"
};
Enumeration description
home
back
search
call
end_call
media_play
media_next
media_previous
media_pause
voice_recognize
enter
left
right
up
down
enum ButtonEventType {
    "press",
    "long_press",
    "release"
};
Enumeration description
press
long_press
release
[NoInterfaceObject]
interface VehicleButton {
    readonly    attribute Button          button;
    readonly    attribute ButtonEventType state;
};

6.25.1 Attributes

button of type Button, readonly
MUST return the button corresponding to the event.
state of type ButtonEventType, readonly
MUST return the type of event
[NoInterfaceObject]
interface ButtonEvent : VehicleCommonDataType {
    readonly    attribute VehicleButton[] button;
};

6.25.2 Attributes

button of type array of VehicleButton, readonly
MUST return the button events that occured. This supports multiple simultanious button events.

6.26 DrivingMode Interface

The DrivingMode interface provides information about whether or not the vehicle is driving. DrivingMode is an abstract data type that may combine several other data types such as vehicle speed, transmission gear, etc. 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.

[NoInterfaceObject]
interface DrivingMode : VehicleCommonDataType {
    readonly    attribute boolean mode;
};

6.26.1 Attributes

mode of type boolean, readonly
MUST return true if vehicle is in driving mode

6.27 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, sunrise/sunset, etc to determine whether or not it is night time. Typical usage is to change the UI theme to a darker theme during the night.

[NoInterfaceObject]
interface NightMode : VehicleCommonDataType {
    readonly    attribute boolean mode;
};

6.27.1 Attributes

mode of type boolean, readonly
MUST return true if it is night time

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.

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface odometer;
    readonly    attribute VehicleSignalInterface transmissionOil;
    readonly    attribute VehicleSignalInterface transmissionClutch;
    readonly    attribute VehicleSignalInterface brakeMaintenance;
    readonly    attribute VehicleSignalInterface washerFluid;
    readonly    attribute VehicleSignalInterface malfunctionIndicator;
    readonly    attribute VehicleSignalInterface batteryStatus;
    readonly    attribute VehicleSignalInterface tire;
    readonly    attribute VehicleSignalInterface diagnostic;
};

7.1 Attributes

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

7.2 Odometer Interface

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

[NoInterfaceObject]
interface Odometer : VehicleCommonDataType {
    readonly    attribute unsigned long? distanceSinceStart;
    readonly    attribute unsigned long  distanceTotal;
};

7.2.1 Attributes

distanceSinceStart of type unsigned long, readonly , nullable
MUST return the distance traveled by vehicle since start (Unit: meters).
distanceTotal of type unsigned long, readonly
MUST return the total distance traveled by the vehicle (Unit: meters).

7.3 TransmissionOil Interface

The TransmissionOil interface provides information about the state of a vehicles transmission oil.

[NoInterfaceObject]
interface TransmissionOil : VehicleCommonDataType {
    readonly    attribute octet? wear;
    readonly    attribute byte?  temperature;
};

7.3.1 Attributes

temperature of type byte, readonly , nullable
MUST return current temperature of the transmission oil(Unit: celsius).
wear of type octet, readonly , nullable
MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).

7.4 TransmissionClutch Interface

The TransmissionClutch interface provides information about the state of a vehicles transmission clutch.

[NoInterfaceObject]
interface TransmissionClutch : VehicleCommonDataType {
    readonly    attribute octet wear;
};

7.4.1 Attributes

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

7.5 BrakeMaintenance Interface

The BrakeMaintenance interface provides information about the maintenance state of a vehicles brakes.

[NoInterfaceObject]
interface BrakeMaintenance : VehicleCommonDataType {
    readonly    attribute octet?   fluidLevel;
    readonly    attribute boolean? fluidLevelLow;
    readonly    attribute octet?   padWear;
    readonly    attribute boolean? brakesWorn;
    readonly    attribute Zone?    zone;
};

7.5.1 Attributes

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

7.6 WasherFluid Interface

The WasherFluid interface provides information about the state of a vehicles washer fluid.

[NoInterfaceObject]
interface WasherFluid : VehicleCommonDataType {
    readonly    attribute unsigned short? level;
    readonly    attribute boolean?        levelLow;
};

7.6.1 Attributes

level of type unsigned short, readonly , nullable
MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).
levelLow of type boolean, readonly , nullable
MUST return true if washer fluid level is low: low (true), not low: (false)

7.7 MalfunctionIndicator Interface

The MalfunctionIndicator interface provides information about the state of a vehicles Malfunction Indicator lamp.

[NoInterfaceObject]
interface MalfunctionIndicator : VehicleCommonDataType {
    readonly    attribute boolean on;
};

7.7.1 Attributes

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

7.8 BatteryStatus Interface

The BatteryStatus interface provides information about the state of a vehicles battery.

[NoInterfaceObject]
interface BatteryStatus : VehicleCommonDataType {
    readonly    attribute unsigned short? chargeLevel;
    readonly    attribute unsigned short? voltage;
    readonly    attribute unsigned short? current;
    readonly    attribute Zone?           zone;
};

7.8.1 Attributes

chargeLevel of type unsigned short, readonly , nullable
MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
current of type unsigned short, readonly , nullable
MUST return battery current (Unit: amperes).
voltage of type unsigned short, readonly , nullable
MUST return battery voltage (Unit: volts).
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

7.9 Tire Interface

The Tire interface provides information about the state of a vehicles tires.

[NoInterfaceObject]
interface Tire : VehicleCommonDataType {
    readonly    attribute boolean?        pressureLow;
    readonly    attribute unsigned short? pressure;
    readonly    attribute short?          temperature;
    readonly    attribute Zone?           zone;
};

7.9.1 Attributes

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

7.10 Diagnostic Interface

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

[NoInterfaceObject]
interface Diagnostic : VehicleCommonDataType {
    readonly    attribute unsigned long accumulatedEngineRuntime;
    readonly    attribute unsigned long distanceWithMILOn;
    readonly    attribute unsigned long distanceSinceCodeCleared.;
    readonly    attribute unsigned long timeRunMILOn;
    readonly    attribute unsigned long timeTroubleCodeClear;
};

7.10.1 Attributes

accumulatedEngineRuntime of type unsigned long, readonly
MUST return engine runtime (Unit: seconds)
distanceSinceCodeCleared. of type unsigned long, readonly
MUST return distance travelled since the codes were last cleared (Unit: meters)
distanceWithMILOn of type unsigned long, readonly
MUST return distance travelled with the malfunction indicator light on (Unit: meters)
timeRunMILOn of type unsigned long, readonly
MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
timeTroubleCodeClear of type unsigned long, readonly
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.

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface? languageConfiguration;
    readonly    attribute VehicleSignalInterface  unitsOfMeasure;
    readonly    attribute VehicleSignalInterface  mirror;
    readonly    attribute VehicleSignalInterface  driveMode;
    readonly    attribute VehicleSignalInterface  seatAdjustment;
    readonly    attribute VehicleSignalInterface  dashboardIllumination;
    readonly    attribute VehicleSignalInterface  vehicleSound;
};

8.1 Attributes

dashboardIllumination of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing DashboardIllumination
driveMode of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing DriveMode
languageConfiguration of type VehicleSignalInterface, readonly , nullable
MUST return VehicleSignalInterface for accessing LanguageConfiguration
mirror of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Mirror
seatAdjustment of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing SeatAdjustment
unitsOfMeasure of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing UnitsOfMeasure
vehicleSound of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing VehicleSound

8.2 LanguageConfiguration Interface

The LanguageConfiguration interface provides language information about a vehicle.

[NoInterfaceObject]
interface LanguageConfiguration : VehicleCommonDataType {
                attribute DOMString? language;
};

8.2.1 Attributes

language of type DOMString, , nullable
MUST return language identifier based on two-letter codes as specified in ISO 639-1

8.3 UnitsOfMeasure Interface

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

[NoInterfaceObject]
interface UnitsOfMeasure : VehicleCommonDataType {
                attribute boolean?   isMKSSystem;
                attribute DOMString? unitsFuelVolume;
                attribute DOMString? unitsDistance;
                attribute DOMString? unitsSpeed;
                attribute DOMString? unitsFuelConsumption;
};

8.3.1 Attributes

isMKSSystem of type boolean, , nullable
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).
unitsDistance of type DOMString, , nullable
MUST return distance unit of measurement. The value is one of both "km" and "mile".
unitsFuelConsumption of type DOMString, , nullable
MUST return fuel consumption unit of measurement. The value is one of following values: "l/100", "mpg", "km/l".
unitsFuelVolume of type DOMString, , nullable
MUST return fuel unit of measurement. The value is one of both "litter" and "gallon".
unitsSpeed of type DOMString, , nullable
MUST return speed unit of measurement. The value is one of both "km/h" and "mph".

8.4 Mirror Interface

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

[NoInterfaceObject]
interface Mirror : VehicleCommonDataType {
                attribute unsigned short? mirrorTilt;
                attribute unsigned short? mirrorPan;
    readonly    attribute Zone?           zone;
};

8.4.1 Attributes

mirrorPan of type unsigned short, , nullable
MUST return mirror pan position in percentage distance travelled, from left to right position (Unit: percentage, %0:center position, -100%:fully left, 100%:fully right)
mirrorTilt of type unsigned short, , nullable
MUST return mirror tilt position in percentage distance travelled, from downward-facing to upward-facing position (Unit: percentage, 0%:center position, -100%:fully downward, 100%:full upward)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

8.5 SeatAdjustment Interface

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

[NoInterfaceObject]
interface SeatAdjustment : VehicleCommonDataType {
                attribute unsigned short? reclineSeatBack;
                attribute unsigned short? seatSlide;
                attribute unsigned short? seatCushionHeight;
                attribute unsigned short? seatHeadrest;
                attribute unsigned short? seatBackCushion;
                attribute unsigned short? seatSideCushion;
    readonly    attribute Zone?           zone;
};

8.5.1 Attributes

reclineSeatBack of type unsigned short, , nullable
Seat back recline position as percent to completely reclined (Unit: percentage, 0%:upright at a 90 degree angle, 100%:fully reclined, -100%:fully forward)
seatBackCushion of type unsigned short, , nullable
MUST return back cushion position as a percentage of lumbar curvature (Unit: percentage, 0%:flat, 100%: maximum curvature)
seatCushionHeight of type unsigned short, , nullable
MUST return seat cushion height position as a percentage of upward distance travelled (Unit: percentage, 0%:lowest. 100%:highest)
seatHeadrest of type unsigned short, , nullable
MUST return headrest position as a percentage of upward distance travelled (Unit: percentage, 0%:lowest, 100%:highest)
seatSideCushion of type unsigned short, , nullable
MUST return sides of back cushion position as a percentage of curvature (Unit: percentage, 0%:flat, 100%:maximum curvature)
seatSlide of type unsigned short, , nullable
MUST return seat slide position as percentage of distance travelled away from forwardmost position (Unit: percentage, 0%:farthest forward, 100%:farthest back)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

8.6 DriveMode Interface

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

enum DriveModeEnum {
    "comfort",
    "auto",
    "sport",
    "eco",
    "manual",
    "winter"
};
Enumeration description
comfortComfort mode
autoAutomatically set mode
sportSport mode
ecoEcological/fuel efficient mode
manualManual mode
winterWinter/slippery mode
[NoInterfaceObject]
interface DriveMode : VehicleCommonDataType {
                attribute DriveModeEnum? driveMode;
};

8.6.1 Attributes

driveMode of type DriveModeEnum, , nullable
MUST return vehicle driving mode

8.7 DashboardIllumination Interface

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

[NoInterfaceObject]
interface DashboardIllumination : VehicleCommonDataType {
                attribute DOMString? dashboardIllumination;
};

8.7.1 Attributes

dashboardIllumination of type DOMString, , nullable
MUST return illumination of dashboard as a percentage (Unit: percentage, 0%:none, 100%:maximum illumination)

8.8 VehicleSound Interface

The VehicleSound interface provides or sets information about vehicle sound.

[NoInterfaceObject]
interface VehicleSound : VehicleCommonDataType {
                attribute boolean    activeNoiseControlMode;
                attribute DOMString? engineSoundEnhancementMode;
};

8.8.1 Attributes

activeNoiseControlMode of type boolean,
MUST return active noise control status: not-activated (false), activated (true)
engineSoundEnhancementMode of type DOMString, , nullable
MUST return engine sound enhancement mode where a null string means not-activated, and any other value represents a manufacture specific setting

9. DrivingSafety Interfaces

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

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface antilockBrakingSystem;
    readonly    attribute VehicleSignalInterface tractionControlSystem;
    readonly    attribute VehicleSignalInterface electronicStabilityControl;
    readonly    attribute VehicleSignalInterface topSpeedLimit;
    readonly    attribute VehicleSignalInterface airbagStatus;
    readonly    attribute VehicleSignalInterface door;
    readonly    attribute VehicleSignalInterface childSafetyLock;
    readonly    attribute VehicleSignalInterface seat;
};

9.1 Attributes

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

9.2 AntilockBrakingSystem Interface

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

[NoInterfaceObject]
interface AntilockBrakingSystem : VehicleCommonDataType {
    readonly    attribute boolean enabled;
    readonly    attribute boolean engaged;
};

9.2.1 Attributes

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

9.3 TractionControlSystem Interface

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

[NoInterfaceObject]
interface TractionControlSystem : VehicleCommonDataType {
    readonly    attribute boolean enabled;
    readonly    attribute boolean engaged;
};

9.3.1 Attributes

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

9.4 ElectronicStabilityControl Interface

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

[NoInterfaceObject]
interface ElectronicStabilityControl : VehicleCommonDataType {
    readonly    attribute boolean enabled;
    readonly    attribute boolean engaged;
};

9.4.1 Attributes

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

9.5 TopSpeedLimit Interface

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

[NoInterfaceObject]
interface TopSpeedLimit : VehicleCommonDataType {
    readonly    attribute unsigned short speed;
};

9.5.1 Attributes

speed of type unsigned short, readonly
MUST return vehicle top speed limit (Unit: kilometers per hour)

9.6 AirbagStatus Interface

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

[NoInterfaceObject]
interface AirbagStatus : VehicleCommonDataType {
    readonly    attribute boolean activated;
    readonly    attribute boolean deployed;
    readonly    attribute Zone?   zone;
};

9.6.1 Attributes

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

9.7 Door Interface

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

enum DoorOpenStatus {
    "open",
    "ajar",
    "closed"
};
Enumeration description
openDoor is opened
ajarDoor is ajar
closedDoor is closed
[NoInterfaceObject]
interface Door : VehicleCommonDataType {
    readonly    attribute DoorOpenStatus status;
                attribute boolean        lock;
    readonly    attribute Zone?          zone;
};

9.7.1 Attributes

lock of type boolean,
MUST return whether or not the door is locked: locked (true) or unlocked (false)
status of type DoorOpenStatus, readonly
MUST return the status of door's open status
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

9.8 ChildSafetyLock Interface

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

[NoInterfaceObject]
interface ChildSafetyLock : VehicleCommonDataType {
                attribute boolean lock;
    readonly    attribute Zone?   zone;
};

9.8.1 Attributes

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

9.9 Seat Interface

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

enum OccupantStatus {
    "adult",
    "child",
    "vacant"
};
Enumeration description
adultOccupant is an adult
childOccupant is a child
vacantSeat is vacant
enum IdentificationType {
    "pin",
    "keyfob",
    "Bluetooth",
    "NFC",
    "fingerprint",
    "camera",
    "voice"
};
Enumeration description
pinFour digit pin number entered by user
keyfobIdentification by key fob
BluetoothIdentification by Bluetooth device
NFCIdentification by NFC device
fingerprintIdentification by fingerprint
cameraIdentification by camera
voiceIdentification by voice
[NoInterfaceObject]
interface Seat : VehicleCommonDataType {
    readonly    attribute OccupantStatus     occupant;
    readonly    attribute boolean            seatbelt;
    readonly    attribute DOMString?         occupantName;
    readonly    attribute IdentificationType identificationType;
    readonly    attribute Zone?              zone;
};

9.9.1 Attributes

identificationType of type IdentificationType, readonly
MUST return identification type
occupant of type OccupantStatus, readonly
MUST return the status of seat occupant
occupantName of type DOMString, readonly , nullable
Must return occupant identifier
seatbelt of type boolean, readonly
MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

10. Climate Interfaces

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

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface temperature;
    readonly    attribute VehicleSignalInterface rainSensor;
    readonly    attribute VehicleSignalInterface wiperStatus;
    readonly    attribute VehicleSignalInterface wiperSetting;
    readonly    attribute VehicleSignalInterface defrost;
    readonly    attribute VehicleSignalInterface sunroof;
    readonly    attribute VehicleSignalInterface convertibleRoof;
    readonly    attribute VehicleSignalInterface sideWindow;
    readonly    attribute VehicleSignalInterface climateControl;
    readonly    attribute VehicleSignalInterface atmosphericPressure;
};

10.1 Attributes

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

10.2 Temperature Interface

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

[NoInterfaceObject]
interface Temperature : VehicleCommonDataType {
    readonly    attribute float interiorTemperature;
    readonly    attribute float exteriorTemperature;
};

10.2.1 Attributes

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

10.3 RainSensor Interface

The RainSensor interface provides information about ambient light levels.

[NoInterfaceObject]
interface RainSensor : VehicleCommonDataType {
    readonly    attribute unsigned byte rain;
    readonly    attribute Zone?         zone;
};

10.3.1 Attributes

rain of type unsigned byte, readonly
MUST return the amount of rain detected by the rain sensor. level of rain intensity (0: No Rain, 10:Heaviest Rain)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

10.4 WiperStatus Interface

The WiperStatus interface represents the status of wiper operation.

[NoInterfaceObject]
interface WiperStatus : VehicleCommonDataType {
    readonly    attribute unsigned byte wiperSpeed;
    readonly    attribute Zone?         zone;
};

10.4.1 Attributes

wiperSpeed of type unsigned byte, readonly
MUST return current speed interval of wiping windshield (0: off, 1: Slowest, 10: Fastest )
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

10.5 WiperSetting Interface

The WiperSetting interface represents the current setting of the wiper controller.

enum WiperControl {
    "off",
    "once",
    "slowest",
    "slow",
    "middle",
    "fast",
    "fastest",
    "auto"
};
Enumeration description
offWiper is not in operation
onceWipe single. It's a transient state and goes to the off mode
slowestWiper is on mode with the slowest speed
slowWiper is on mode with slow speed
middleWiper is on mode with middle speed
fastWiper is on mode with fast speed
fastestWiper is on mode with the fastest speed
autoWiper is on the automatic mode which controls wiping speed with accordance with the amount of rain
[NoInterfaceObject]
interface WiperSetting : VehicleCommonDataType {
                attribute WiperControl wiperControl;
    readonly    attribute Zone?        zone;
};

10.5.1 Attributes

wiperControl of type WiperControl,
MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

10.6 Defrost Interface

The Defrost interface represents the status of wiper operation.

[NoInterfaceObject]
interface Defrost : VehicleCommonDataType {
                attribute boolean? defrostWindow;
                attribute boolean? defrostMirrors;
    readonly    attribute Zone?    zone;
};

10.6.1 Attributes

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

10.7 Sunroof Interface

The Sunroof interface represents the current status of Sunroof.

[NoInterfaceObject]
interface Sunroof : VehicleCommonDataType {
                attribute unsigned byte openness;
                attribute unsigned byte tilt;
    readonly    attribute Zone?         zone;
};

10.7.1 Attributes

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

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

10.8 ConvertibleRoof Interface

The ConvertibleRoof interface represents the current status of Convertible Roof.

enum ConvertibleRoofStatus {
    "closed",
    "closing",
    "opening",
    "opened"
};
Enumeration description
closedthe convertible roof is closed
closingthe convertible roof is closing
openingthe convertible roof is opening
openedthe convertible roof is opened
[NoInterfaceObject]
interface ConvertibleRoof : VehicleCommonDataType {
                attribute ConvertibleRoofStatus status;
};

10.8.1 Attributes

status of type ConvertibleRoofStatus,
MUST return current status of Convertible Roof.

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

10.9 SideWindow Interface

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

[NoInterfaceObject]
interface SideWindow : VehicleCommonDataType {
                attribute boolean?       lock;
                attribute unsigned byte? openness;
    readonly    attribute Zone?          zone;
};

10.9.1 Attributes

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

10.10 ClimateControl Interface

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

enum AirflowDirection {
    "frontpanel",
    "floorduct",
    "bilevel",
    "defrostfloor"
};
Enumeration description
frontpanelAir flow is directed to the instrument panel outlets
floorductAir flow is directed to the floor outlets
bilevelAir flow is directed to the instrument panel outlets and the floor outlets
defrostfloorAir flow is directed to the floor outlets and the windshield
[NoInterfaceObject]
interface ClimateControl : VehicleCommonDataType {
                attribute AirflowDirection airflowDirection;
                attribute unsigned byte    fanSpeedLevel;
                attribute byte?            targetTemperature;
                attribute boolean          airConditioning;
                attribute boolean          heater;
                attribute unsigned byte?   seatHeater;
                attribute unsigned byte?   seatCooler;
                attribute boolean          airRecirculation;
                attribute unsigned byte?   steeringWheelHeater;
    readonly    attribute Zone?            zone;
};

10.10.1 Attributes

airConditioning of type boolean,
MUST return current status of the air conditioning system: on (true) or off (false)
airRecirculation of type boolean,
MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
airflowDirection of type AirflowDirection,
MUST return current status of the direction of the air flow through the ventilation system
fanSpeedLevel of type unsigned byte,
MUST return current status of the fan speed of the air flowing (0: off, 1: weakest, 10: strongest )
heater of type boolean,
MUST return current status of the heating system: on (true) or off (false)
seatCooler of type unsigned byte, , nullable
MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
seatHeater of type unsigned byte, , nullable
MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
steeringWheelHeater of type unsigned byte, , nullable
MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
targetTemperature of type byte, , nullable
MUST return current setting of the desired temperature (Unit: celsius)
zone of type Zone, readonly , nullable
MUST return Zone for requested attribute

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

10.11 AtmosphericPressure Interface

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

[NoInterfaceObject]
interface AtmosphericPressure : VehicleCommonDataType {
    readonly    attribute unsigned short pressure;
};

10.11.1 Attributes

pressure of type unsigned short, readonly
MUST return the current atmospherics 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.

partial interface Vehicle {
    readonly    attribute VehicleSignalInterface laneDepartureStatus;
    readonly    attribute VehicleSignalInterface alarm;
    readonly    attribute VehicleSignalInterface parkingBrake;
    readonly    attribute VehicleSignalInterface parkingLights;
};

11.1 Attributes

alarm of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing Alarm
laneDepartureStatus of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing LaneDepartureStatus or undefined if not supported
parkingBrake of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing ParkingBrake
parkingLights of type VehicleSignalInterface, readonly
MUST return VehicleSignalInterface for accessing ParkingLights

11.2 LaneDepartureDetection Interface

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

enum LaneDepartureStatus {
    "off",
    "pause",
    "running"
};
Enumeration description
offThe function is not running
pauseThe function has been paused (running, but inactive)
runningThe function is in its operational mode
[NoInterfaceObject]
interface LaneDepartureDetection : VehicleCommonDataType {
    readonly    attribute LaneDepartureStatus status;
};

11.2.1 Attributes

status of type LaneDepartureStatus, readonly
MUST return current status of Lane departure warning function.

11.3 Alarm Interface

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

enum AlarmStatus {
    "disarmed",
    "preArmed",
    "armed",
    "alarmed"
};
Enumeration description
disarmedThe alarm is not armed
preArmedThe function is temporary not active
armedThe function is active
alarmedThe alarm is screaming
[NoInterfaceObject]
interface Alarm : VehicleCommonDataType {
                attribute AlarmStatus status;
};

11.3.1 Attributes

status of type AlarmStatus,
MUST return current status of In vehicle Alarm System.

11.4 ParkingBrake Interface

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

enum ParkingBrakeStatus {
    "inactive",
    "active",
    "error"
};
Enumeration description
inactiveParking brake is not engaged (driving position)
activeParking brake is engaged (parking position)
errorThere is a problem with the parking brake system
[NoInterfaceObject]
interface ParkingBrake : VehicleCommonDataType {
    readonly    attribute ParkingBrakeStatus status;
};

11.4.1 Attributes

status of type ParkingBrakeStatus, readonly
MUST return current status of parking brake.

11.5 ParkingLights Interface

The ParkingLights interface represents the current status of the parking Lights.

[NoInterfaceObject]
interface ParkingLights : VehicleCommonDataType {
    readonly    attribute boolean status;
                attribute boolean setting;
};

11.5.1 Attributes

setting of type boolean,
MUST return whether or not the Parking Lights is enabled: enabled (true) or disabled (false).
It can be used to send user's request for changing setting.
status of type boolean, readonly
MUST return parking light status: on (true) or off (false)

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, gears used, etc...
  • Driver able to see fuel economy, consumption, level, range, etc...

12.1.3 Use Cases for Maintenance

  • Driver is able to see current state of key maintenance indicators (fluid states, battery charge, tire pressure, etc...) giving an 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]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[WEBIDL]
Cameron McCormack. Web IDL. 19 April 2012. W3C Candidate Recommendation. URL: http://www.w3.org/TR/WebIDL/