W3C Member Submission

Volkswagen Infotainment Web Interface service definition: viwi.service.car

W3C Member Submission

This version:
https://www.w3.org/submissions/2016/SUBM-viwi-service-car-20161213/
Latest published version:
https://www.w3.org/submissions/viwi-service-car/
Editor:
Dr. Patrick Bartsch, Volkswagen AG

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 can be found in the W3C technical reports index at https://www.w3.org/TR/.

This is required.

By publishing this document, W3C acknowledges that the Submitting Members have made a formal Submission request to W3C for discussion. Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. This document is not the product of a chartered W3C group, but is published as potential input to the W3C Process. A W3C Team Comment has been published in conjunction with this Member Submission. Publication of acknowledged Member Submissions at the W3C site is one of the benefits of W3C Membership. Please consult the requirements associated with Member Submissions of section 3.3 of the W3C Patent Policy. Please consult the complete list of acknowledged W3C Member Submissions.

Volkswagen Infotainment Web Interface

service definition: viwi.service.car

 

viwi

by Dr. Patrick Bartsch 2013-2016

 

version: v1.6.0-W3C

 

This repo holds all car related resources

Table of contents

General information

version: 1.6.0-W3C

Repository:

Author

Martin Wuschke <martin.wuschke@volkswagen.de>

Resources

/car/info/

General information are accessible through this endpoint.

infoObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
activeClamps the clamps being active at that moment; set to an empty list if none of them is active. Using the JSON-undefined construct is only allowed if the service is not able to deliver a clamp information. array clamp_S
clamp_15
batteryVoltage the voltage of the 12V battery number V [5..17.7] @0.1
steering Steering wheel is mounted either at left hand side or at right hand side. string left
right
vehicleIdentificationNumber vin string [A-Z0-9]{17} -
vehicleType Value is set by diagnosis coding. It identifies the vehicle type, e.g. 'VW370'. string -
language the language setting of the system (LCID, Locale ID) string language -

Resource level access (/car/info/)

GET

Note: Use a http GET request on /car/info/ to retrieve a list of available elements of type infoObject

Subscribe to /car/info/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/info/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/info/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/info/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/info/:uuid)

GET

Note:

Use a http GET request on /car/info/:uuid to retrieve a particular infoObject

Subscribe to /car/info/:uuid to receive updates on element level changes.

Request/response example
GET /car/info/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/info/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}
POST

Note:

Use a http POST request on /car/info/:uuid to update a particular infoObject

Subscribe to /car/info/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
language string no
Request/response example
POST /car/info/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}

Events

The following events may be fired by client interaction or system side:

/car/environments/

This service gives access to the environment information of the vehicle, such as light, temperature and wheather conditions

environmentObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
darkness set to true if darkness is recognised; may be used by the client to change its presentaion from day to night mode boolean -
lightIntensity light intensity of light sensor integer percent [-inf..100] @1
outsideTemperature outside temperature unit number [-50..inf] @0.1
outsideTemperatureUnit outside temperature unit string temperature -
rainLevel rain level string none
mizzle
rain
heavy

Resource level access (/car/environments/)

GET

Note: Use a http GET request on /car/environments/ to retrieve a list of available elements of type environmentObject

Subscribe to /car/environments/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/environments/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/environments/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/environments/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/environments/:uuid)

GET

Note:

Use a http GET request on /car/environments/:uuid to retrieve a particular environmentObject

Subscribe to /car/environments/:uuid to receive updates on element level changes.

Request/response example
GET /car/environments/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/environments/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/drivingstates/

Provides information about dynamic vehicle states.

drivingstateObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
yawRate the yaw rate ('Gierrate') in °/s number deg/s [-360..360] @0.01
acceleratorPosition position of accelerator pedal, 100% means 'pedal to the metal' integer percent [-inf..100]
accIsActive state of adaptive cruise control system boolean -
blinkingState blinking state string off
left
right
left_right
brakePressure calculated brake system pressure number bar [-30..276.6] @0.1
driverIsBraking indicates if the driver is breaking boolean -
longitudinalAcceleration the longitudinal acceleration of the vehicle number m/s^2 [-16..16] @0.00001
lateralAcceleration the lateral acceleration of the vehicle number g [-1.5..1.5] @0.01
torqueDistributionFrontLeft relative torque of the wheel at front left number percent [-100..100] @1
torqueDistributionFrontRight relative torque of the wheel at front right number percent [-100..100] @1
torqueDistributionRearLeft relative torque of the wheel at rear left number percent [-100..100] @1
torqueDistributionRearRight relative torque of the wheel at rear right number percent [-100..100] @1
vehicleSpeed vehicle centerpoint speed as shown by the instrument cluster number [-inf..inf]
vehicleSpeedUnit unit of vehicle speed string speed -
wheelAngle steering wheel angle number degree (°) [-800..800]
acceleratorKickDown state of kickdown indicator on accelerator pedal boolean -

Resource level access (/car/drivingstates/)

GET

Note: Use a http GET request on /car/drivingstates/ to retrieve a list of available elements of type drivingstateObject

Subscribe to /car/drivingstates/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/drivingstates/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/drivingstates/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/drivingstates/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/drivingstates/:uuid)

GET

Note:

Use a http GET request on /car/drivingstates/:uuid to retrieve a particular drivingstateObject

Subscribe to /car/drivingstates/:uuid to receive updates on element level changes.

Request/response example
GET /car/drivingstates/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/drivingstates/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/engines/

A car always has some kind of propulsion device like spark ignition engine, diesel engine, electric motors or hybrid machines. This endpoint provides access to information for all engines installed in the car.

engineObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
maxOutputPower maximum power output of engine integer kW [-inf..511] @1
uri object uri string uri -
consumptions the consumption objects associated with the engine array /car/consumptions/consumptionObject
coolantTemperatureUnit temperature unit of coolant fluid string temperature -
absChargingAirPressure the absolute charging air pressure number bar [-inf..5.1] @0.01
currentOutputPower output power of the engine number kW [-inf..1227] @0.1
currentTorque the enginges torque integer Nm [-1527..1527] @1
engineDisplacement the displacement of the combustion engine in liter number l [-inf..12.7] @0.1
engineSpeed revolutions of the engine integer 1/min [-inf..16384] @1
engineType kind of engine string petrol
gas
electric
unknown
not_supported
petrol_diesel
petrol_gasoline
gas_CNG
gas_LPG
coolantTemperature temperature value of coolant fluid number [-60..300] @0.1
name shown name string -
maxChargingAirPressure maximum charging pressure number bar [-inf..6.3] @0.1
oilLevel current oil level number percent [-inf..100] @0.1
oilRefillVolume the oil volume to be refilled to reach the reference (nominal) value number [-inf..inf] @0.01
oilRefillVolumeUnit the (variable) volume unit of property 'oilRefillVolume' string liter
gallon_UK
gallon_US
oilTemperature the engines oil temperature; is supported for compustion engines only number [-40..378] @0.1
oilTemperatureUnit current oil temperature string temperature -
relChargingAirPressure relative charging air pressure integer percent [-inf..100]
engergystorage the fuel tank associated with the engine object /car/fueltanks/fueltankObject
injectionType the combustion engines injection type string turbo
aspiration

Resource level access (/car/engines/)

GET

Note: Use a http GET request on /car/engines/ to retrieve a list of available elements of type engineObject

Subscribe to /car/engines/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/engines/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/engines/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/engines/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/engines/:uuid)

GET

Note:

Use a http GET request on /car/engines/:uuid to retrieve a particular engineObject

Subscribe to /car/engines/:uuid to receive updates on element level changes.

Request/response example
GET /car/engines/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/engines/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/consumptions/

Every engine consumes some kind of energy. The consumption endpoint provides access to consumption information per engine. There might be different consumption information per engine, like longterm, shortterm, since last ignition cycle, over life-time etc. The type can be elaborated by checking the distanceObject.period linked to the consumptionObject.

consumptionObject

Properties
name description type format unit(s) value(s)
id identifier uuid string -
name shown name string -
uri object uri string uri -
distance distance object /car/distances/distanceObject
value the actual value number [-inf..inf]
unit consumption unit string l_per_100km
km_per_l
l_per_h
mpg_UK
mpg_US
gallon_per_h
kg_per_100km
km_per_kg
kg_per_h
m3_per_100km
km_per_m3
m3_per_h
miles_per_lbs
lbs_per_h
miles_per_yard3
yard3_per_h
kWh_per_100km
km_per_kWh
kWh_per_mile
miles_per_kWh
kW
miles_per_kg
miles_per_m3
mpge_US
engine the engine that consumed the energy object /car/engines/engineObject

Resource level access (/car/consumptions/)

GET

Note: Use a http GET request on /car/consumptions/ to retrieve a list of available elements of type consumptionObject

Subscribe to /car/consumptions/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/consumptions/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/consumptions/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/consumptions/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/consumptions/:uuid)

GET

Note:

Use a http GET request on /car/consumptions/:uuid to retrieve a particular consumptionObject

Subscribe to /car/consumptions/:uuid to receive updates on element level changes.

Request/response example
GET /car/consumptions/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/consumptions/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/batteries/

All installed traction batteries will provide their information through this endpoint.

batteryObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
soc state of charge number [-inf..inf]
socUnit state of charge unit string kWh
percent
nominalVoltage nominal voltage number V [-inf..inf]
currentVoltage current voltage number V [-inf..inf]
current delivered current number A [-inf..inf]
capacity total capacity integer [-inf..inf]
capacityUnit total capacity unit string kWh

Resource level access (/car/batteries/)

GET

Note: Use a http GET request on /car/batteries/ to retrieve a list of available elements of type batteryObject

Subscribe to /car/batteries/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/batteries/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/batteries/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/batteries/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/batteries/:uuid)

GET

Note:

Use a http GET request on /car/batteries/:uuid to retrieve a particular batteryObject

Subscribe to /car/batteries/:uuid to receive updates on element level changes.

Request/response example
GET /car/batteries/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/batteries/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/fueltanks/

All installed fuel tanks will provide their information through this endpoint.

fueltankObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
fuelWarning indicates fuel tank runing out of fuel if set to 'true' boolean -
level level of tankage number [-inf..inf]
volumeUnit total volume unit string l
gal_UK
gal_US
refillVolume the volume needed to refill the tank to its maximum integer [-inf..inf]
refillVolumeUnit the unit belonging to property 'refillVolume' string l
gal_UK
gal_US
volume the nominal capacity of fueltank string -
levelUnit level unit string l
percent

Resource level access (/car/fueltanks/)

GET

Note: Use a http GET request on /car/fueltanks/ to retrieve a list of available elements of type fueltankObject

Subscribe to /car/fueltanks/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/fueltanks/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/fueltanks/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/fueltanks/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/fueltanks/:uuid)

GET

Note:

Use a http GET request on /car/fueltanks/:uuid to retrieve a particular fueltankObject

Subscribe to /car/fueltanks/:uuid to receive updates on element level changes.

Request/response example
GET /car/fueltanks/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/fueltanks/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/gastanks/

All installed gastanks will provide their information through this endpoint.

gastankObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
level current gas level number [-inf..inf]
levelUnit current gas level unit string kg
percent
type gas type string CNG
LPG
nominalCapacity nominal capacity number kg [-inf..inf]
levelWarning level warning active flag boolean -
refillVolume the volume needed to refill the gastank to its maximum integer [-inf..inf]
refillVolumeUnit the unit belonging to property 'refillVolume' string kg
m^3

Resource level access (/car/gastanks/)

GET

Note: Use a http GET request on /car/gastanks/ to retrieve a list of available elements of type gastankObject

Subscribe to /car/gastanks/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/gastanks/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/gastanks/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/gastanks/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/gastanks/:uuid)

GET

Note:

Use a http GET request on /car/gastanks/:uuid to retrieve a particular gastankObject

Subscribe to /car/gastanks/:uuid to receive updates on element level changes.

Request/response example
GET /car/gastanks/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/gastanks/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/gearboxes/

Information of all gearboxes installed in the vehicle are accessible here.

gearboxObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
currentGear the numeric value of the current gear, value '0' corresponds to 'no gear' integer [-inf..10]
uri object uri string uri -
clutchedIn state of clutch, set to 'true' if clutched-in boolean -
coastingIsActive set to 'true' when car is coasting boolean -
reverseGearIsEngaged Set to'true' if the reverse gear is engaged, else set to 'false'. boolean -
name shown name string -
gearboxOilTemperaturUnit the unit for the oil temperature string temperature -
gearTransmissionMode transmission mode string no_position
position_P
position_R
position_N
position_D
position_S
position_M_tap
position_M_brief
position_E
position_B
position_MS
position_S_plus
position_MS_plus
recommendedGear the recommended gear as shown to the driver string gear1
gear2
gear3
gear4
gear5
gear6
gear7
gear8
gear9
gear10
noRecommendation
gearboxOilTemperature oil temperature in the gearbox number [-73..385] @1

Resource level access (/car/gearboxes/)

GET

Note: Use a http GET request on /car/gearboxes/ to retrieve a list of available elements of type gearboxObject

Subscribe to /car/gearboxes/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/gearboxes/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/gearboxes/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/gearboxes/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/gearboxes/:uuid)

GET

Note:

Use a http GET request on /car/gearboxes/:uuid to retrieve a particular gearboxObject

Subscribe to /car/gearboxes/:uuid to receive updates on element level changes.

Request/response example
GET /car/gearboxes/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/gearboxes/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/distances/

Different odometer information are available on this endpoint.

distanceObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
averageVehicleSpeed average vehicle speed value number [-inf..400] @0.1
value actual distance number [-inf..inf] @0.1
valueUnit unit of distance string distance -
zeDistanceUnit the unit belonging to property 'zeDistance' string distance -
averageVehicleSpeedUnit unit of speed string speed -
period the logical level all the properties within this object apply to string short
long
cycle
current
total
resetTimeStamp date and time when this boardcomputer 'period' was reset the last time string dateTime -
time the time needed to cover this distance / related to this distance integer minute [-inf..inf]
zeDistance the absolute distance covered without any emissions number [-inf..100000] @0.1
zeTime the time traveled without any emissions integer minute [-inf..600000]

Resource level access (/car/distances/)

GET

Note: Use a http GET request on /car/distances/ to retrieve a list of available elements of type distanceObject

Subscribe to /car/distances/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/distances/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/distances/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/distances/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/distances/:uuid)

POST

Note:

Use a http POST request on /car/distances/:uuid to update a particular distanceObject

Subscribe to /car/distances/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
time integer no
value number no
Request/response example
POST /car/distances/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}
GET

Note:

Use a http GET request on /car/distances/:uuid to retrieve a particular distanceObject

Subscribe to /car/distances/:uuid to receive updates on element level changes.

Request/response example
GET /car/distances/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/distances/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/ranges/

This endpoint reflects the range a vehicle can drive in its current state. The range is affected by different parameters such as engine load, battery load, driving style, slopes and curvature of the road etc. Thus, the range will change frequently, a subscription is recommended.

rangeObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name shown name string -
uri object uri string uri -
value actual value number [-inf..inf]
valueUnit unit of range value string km
mi
engergystorage the energy source associated with the range object /car/fueltanks/fueltankObject
/car/batteries/batteryObject
/car/gastanks/gastankObject
engine the engine associated with the range object /car/engines/engineObject

Resource level access (/car/ranges/)

GET

Note: Use a http GET request on /car/ranges/ to retrieve a list of available elements of type rangeObject

Subscribe to /car/ranges/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/ranges/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/ranges/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/ranges/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/ranges/:uuid)

GET

Note:

Use a http GET request on /car/ranges/:uuid to retrieve a particular rangeObject

Subscribe to /car/ranges/:uuid to receive updates on element level changes.

Request/response example
GET /car/ranges/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/ranges/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/services/

This endpoint provides information about customer care / necessary vehicle inspection or oil service.

serviceObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name name, shall be equal to content of property 'typeOfService' string -
uri object uri string uri -
typeOfService The service data are related either to inspection service or to oil service. string inspection
oil
airFilter
oilFilter
distance The distance in miles or kilometers when the service is due or since the service is overdue. If the service is overdue, then distance < 0. If the service is due today, the distance == 0. If the service is due in <x> km or mls, then distance == x. integer [-204700..204700]
distanceunit the variable unit belonging to the property 'distance' string distance -
time The time in days when the service is due or overdue. If the service is overdue, then time < 0. If the service is due today, the time == 0. If the service is due in <x> days, the time == x. integer d [-2048..2048]
intervalReset the interval to be or being reset in a comma separated list array distance
time

Resource level access (/car/services/)

GET

Note: Use a http GET request on /car/services/ to retrieve a list of available elements of type serviceObject

Subscribe to /car/services/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/services/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/services/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/services/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/services/:uuid)

GET

Note:

Use a http GET request on /car/services/:uuid to retrieve a particular serviceObject

Subscribe to /car/services/:uuid to receive updates on element level changes.

Request/response example
GET /car/services/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/services/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}
POST

Note:

Use a http POST request on /car/services/:uuid to update a particular serviceObject

Subscribe to /car/services/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
intervalReset array no
Request/response example
POST /car/services/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}

Events

The following events may be fired by client interaction or system side:

/car/times/

This endpoint provides information about the vehicle clock.

timeObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name name string -
uri object uri string uri -
vehicleDate the vehicles date string date -
vehicleTime the vehicles time string time -
isDaylightSavingAutomaticMode 'true' in case of automatic daylight saving mode activation, else set to 'false'. This property is alternative to property 'isDaylightSavingTime'. boolean -
isDaylightSavingTime true if in case of daylight saving time, otherwise false. This property is alternative to property 'isDaylightSavingAutomaticMode'. boolean -
clockSourcesInstallation comma separated list of the installed clocks. One of them may be set to be the active clock (clock source) array quartz
gps
clockSource the active clock (source) string quartz
gps
utcOffset Contains the offset to UTC. This information corresponds to the time zone. number min [-720..840] @5

Resource level access (/car/times/)

GET

Note: Use a http GET request on /car/times/ to retrieve a list of available elements of type timeObject

Subscribe to /car/times/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/times/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/times/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/times/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/times/:uuid)

GET

Note:

Use a http GET request on /car/times/:uuid to retrieve a particular timeObject

Subscribe to /car/times/:uuid to receive updates on element level changes.

Request/response example
GET /car/times/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/times/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}
POST

Note:

Use a http POST request on /car/times/:uuid to update a particular timeObject

Subscribe to /car/times/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
vehicleTime string no
vehicleDate string no
isDaylightSavingAutomaticMode boolean no
isDaylightSavingTime boolean no
clockSource string no
utcOffset number no
Request/response example
POST /car/times/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}

Events

The following events may be fired by client interaction or system side:

/car/units/

Units are controlled by a dedicated service systemwide. The unit settings are unified for consistent behavior on all user interfaces. If a client like rear seat entertainment units need to display different units, then the conversion from system settings to desired client output is considered a `client issue`.

unitObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
isFactoryDefault Use this property to set the units to their factory default values. boolean -
uri object uri string uri -
pressure global pressure unit string bar
psi
kPa
consumptionGas global gas consumption unit string kg_per_100km
km_per_kg
m3_per_100km
km_per_m3
miles_per_lbs
miles_per_yard3
miles_per_kg
miles_per_m3
mpge_US
consumptionPetrol global petrol consumption unit string l_per_100km
km_per_l
mpg_UK
mpg_US
date global date format w/o time string day_month_year
month_day_year
year_month_day
supportedConsumptionUnits comma separated list of consumption units supported by the system, content depends on engines installed in this car array l_per_100km
km_per_l
mpg_UK
mpg_US
kg_per_100km
km_per_kg
m3_per_100km
km_per_m3
miles_per_lbs
miles_per_yard3
kWh_per_100km
km_per_kWh
kWh_per_mile
miles_per_kWh
miles_per_kg
miles_per_m3
mpge_US
speed global speed unit string speed -
name shown name string -
consumptionElectric global electric consumption unit string kWh_per_100km
km_per_kWh
kWh_per_mile
miles_per_kWh
mpge_US
temperature global temperature unit string temperature -
time global time format string 24h
12h
volume global volume unit string l
gal_UK
gal_US
m^3
yd^3
kWh
supportedVolumeUnits comma separated list of the volume units supported by the system array l
gal_UK
gal_US
m^3
yd^3
kWh
distance global distance unit string mi
km

Resource level access (/car/units/)

GET

Note: Use a http GET request on /car/units/ to retrieve a list of available elements of type unitObject

Subscribe to /car/units/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/units/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/units/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/units/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/units/:uuid)

POST

Note:

Use a http POST request on /car/units/:uuid to update a particular unitObject

Subscribe to /car/units/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
consumptionElectric string no
consumptionGas string no
consumptionPetrol string no
date string no
distance string no
speed string no
isFactoryDefault boolean no
temperature string no
time string no
volume string no
pressure string no
Request/response example
POST /car/units/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}
GET

Note:

Use a http GET request on /car/units/:uuid to retrieve a particular unitObject

Subscribe to /car/units/:uuid to receive updates on element level changes.

Request/response example
GET /car/units/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/units/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side:

/car/doors/

Provides information about each vehicle door including bonnet and boot.

doorObject

Properties
name description type format unit(s) value(s)
id identifier string uuid -
name name string -
uri object uri string uri -
position the vehicle door position string bonnet
front_left
front_right
rear_left
rear_right
boot
isDoorOpen the door state; set to 'true' if the door is open boolean -
isWindowOpen the window state of this door; set to 'true' if window is open; set to JSON-undefined if window state is unknown or invalid boolean -

Resource level access (/car/doors/)

GET

the vehicles doors

Note: Use a http GET request on /car/doors/ to retrieve a list of available elements of type doorObject

Subscribe to /car/doors/ to receive updates for element creations or removals from the collection.

Request/response example
GET /car/doors/ HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6

=>

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840"
    },
    {
      "id": "8901870-b526-11e3-a5e2-0800200c9a66",
      "name": "dolor sit",
      "uri": "/car/doors/8901870-b526-11e3-a5e2-0800200c9a66"
    }
  ]
}

Element level access (/car/doors/:uuid)

POST

Note: the vehicles doors Use a http POST request on /car/doors/:uuid to update a particular doorObject

Subscribe to /car/doors/:uuid to receive updates on element level changes.

Request parameters

The following parameters can be used with the request and subscriptions:

name type mandatory
Request/response example
POST /car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6


{
  "viwi": "rockz.."
}
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok"
}
GET

Note: the vehicles doors Use a http GET request on /car/doors/:uuid to retrieve a particular doorObject

Subscribe to /car/doors/:uuid to receive updates on element level changes.

Request/response example
GET /car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840 HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
Accept: application/json
User-Agent: Chrome/34.0.1847.137 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
ETag: "-32550834"
Content-Encoding: gzip
Date: Tue, 07 Apr 1980 00:00:00 GMT
Connection: keep-alive
Transfer-Encoding: chunked


{
  "status": "ok",
  "data": [
    {
      "id": "3901a278-ba17-44d6-9aef-f7ca67c04840",
      "name": "lorem ipsum",
      "uri": "/car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840"
    }
  ]
}

Events

The following events may be fired by client interaction or system side: