3 * \version @PROJECT_VERSION@
4 * \brief This document describes the DBus interfaces and data types for the
5 * Automotive Message Broker API. The data types are intended to as-close-as-
6 * possible be compatible with the W3C vehicle <a href="https://rawgit.com/w3c/automotive-bg/master/data_spec.html>data spec</a>.
38 * \brief VehiclePropertyType is the base class for all Data types.
40 interface VehiclePropertyType {
43 * \brief time stamp marking the last time a property in the interface updated
45 attribute Double Time readonly
48 * \brief Zone in which the interface is situated.
50 attribute Zone Zone readonly
53 * \brief return dictionary of objectName and values for data between
54 * 'beginTime' and 'endTime'
55 * \arg beginTime time stamp in Seconds since Unix Epoc
56 * \arg endTime time stamp in Seconds since Unix Epoc
58 method GetHistory(Double beginTime, Double endTime) {
59 out{ Dictionary result}
73 /*! org.automotive.Manager
74 * \brief Manager is a helper interface for discovering and finding available objects
75 * Manager is a helper interface that helps inform of supported data types and find
76 * specified data type objects' path on DBus
79 interface org.automotive.Manager {
82 * \brief return supported properties
90 * \brief find the DBus object path matching the given "objectName" (ie "VehicleSpeed" is the object name for
91 * the DBus object at path: "/path/to/VehicleSpeed") or org.automotive.Manager.ObjectNotFound if the object
92 * name is not supported.
94 * If the object path does not exist, it will be created. The object path will be removed
95 * when the last proccess that calls Find* disconnects from DBus.
97 * \arg String objectName to find
98 * \return list of object paths that provide the given object Name.
111 * \brief find the DBus object path which matches "objectName" and "zone". This has the same behavior as FindObject
112 * except that it takes an addition zone argument and only return the path for that zone.
113 * \arg String property is the requested property to be retrieved.
114 * \arg Zone zone is the zone which the object
115 * \return string representing the DBus Object path.
117 * "org.automotive.Manager.InvalidZone"
118 * "org.automotive.Manager.ObjectNotFound"
120 method FindObjectForZone {
132 * \brief get a list of zones for a given objectName.
133 * \arg String objectName object name.
134 * \return list of zones for the given objectName (@see Zone)
136 method ZonesForObjectName {
147 * \brief check whether a Property exists.
148 * \arg propertyName name of property of Object
149 * \return true if Property exists
151 method SupportsProperty {
162 /*! org.automotive.VehicleSpeed
163 \brief contains information about VehicleSpeed
166 interface org.automotive.VehicleSpeed extends VehiclePropertyType {
169 * \brief MUST return Vehicle Speed in kilometers per hour.
171 attribute UInt16 Speed readonly
174 /*! org.automotive.EngineSpeed
175 \brief contains information about EngineSpeed
178 interface org.automotive.EngineSpeed extends VehiclePropertyType {
181 * \brief MUST return Engine Speed in rotations per minute.
183 attribute UInt16 Speed readonly
186 enumeration PowerMode {
193 interface org.automotive.VehiclePowerMode extends VehiclePropertyType {
196 * \brief MUST return vehicle power mode
198 attribute PowerMode VehiclePowerMode readonly
201 /*! org.automotive.TripMeter
202 \brief contains information about TripMeter
205 interface org.automotive.TripMeter extends VehiclePropertyType {
208 * \brief MUST return trip meters. Changing any items in the array will reset the item's value to '0'.
210 attribute array TripMeters of UInt16;
213 /*! org.automotive.Acceleration
214 \brief contains information about Acceleration
217 interface org.automotive.Acceleration extends VehiclePropertyType {
220 * \brief return acceleration on the "X" axis (Unit: centimeters per second squared)
222 attribute Int16 X readonly
225 * \brief return acceleration on the "Y" axis (Unit: centimeters per second squared)
227 attribute Int16 Y readonly
230 * \brief return acceleration on the "Z" axis (Unit: centimeters per second squared)
232 attribute Int16 Z readonly
235 enumeration TransmissionMode {
241 overdrive = "overdrive"
244 /*! TransmissionPosition
245 * \brief Describes Transmission Pistion. Deprecated. Will disappear in 0.14
247 enumeration TransmissionPosition {
264 /*! TransmissionGearType
265 * \brief Describes the transmission gearbox type
267 enumeration TransmissionGearType
274 interface org.automotive.Transmission extends VehiclePropertyType {
276 * \brief MUST return transmission gear position (see TRANSMISSIONPOSITION) Deprecated. Replaced with Gear
278 attribute TransmissionPosition GearPosition readonly
280 /*! TransmissionGearType
281 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV).
282 * See TRANSMISSIONGEARTYPE
284 attribute TransmissionGearType Type;
287 * \brief MUST return transmission gear position 1-10
289 attribute UInt8 Gear readonly
292 * \brief MUST return transmission Mode
294 attribute TransmissionMode Mode readonly
298 interface org.automotive.CruiseControlStatus extends VehiclePropertyType {
301 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false). Depricated. Remove in 0.14. Use "Status"
303 attribute Boolean Activated readonly
306 * \brief MUST return target Cruise Control speed in kilometers per hour (kph).
308 attribute UInt16 Speed readonly
311 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false).
313 attribute Boolean Status readonly
317 * Deprecated. Use BrakeOperation. Remove in 0.14
319 interface org.automotive.WheelBrake extends VehiclePropertyType {
322 * \brief MUST return Wheel Brake status: Engaged = true, disengaged = false
324 attribute Boolean Engaged readonly
327 interface org.automotive.BrakeOperation extends VehiclePropertyType {
329 /*! BrakePedalDepressed
330 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
332 attribute Boolean BrakePedalDepressed readonly
335 interface org.automotive.LightStatus extends VehiclePropertyType {
338 * \brief MUST return headlight status: on = true, off = false.
340 attribute Boolean Head
343 * \brief MUST return right turn signal status: on = true, off = false.
345 attribute Boolean RightTurn
348 * \brief MUST return left turn signal status: on = true, off = false.
350 attribute Boolean LeftTurn
353 * \brief MUST return brake signal light status: on = true, off = false.
355 attribute Boolean Brake
358 * \brief MUST return fog light status: on = true, off = false.
360 attribute Boolean Fog
363 * \brief MUST return hazard light status: on = true, off = false.
365 attribute Boolean Hazard
368 * \brief MUST return parking light status: on = true, off = false.
370 attribute Boolean Parking
373 * \brief MUST return high beam status: on = true, off = false.
375 attribute Boolean HighBeam
377 /*! AutomaticHeadlights
378 * \brief MUST return automatic headlight status: on = true, off = false.
380 attribute Boolean AutomaticHeadlights
383 * \brief MUST return dynamic high beam status: on = true, off = false.
385 attribute Boolean DynamicHighBeam
389 interface org.automotive.InteriorLightStatus extends VehiclePropertyType {
392 * \brief MUST return passenger interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
394 attribute Boolean Passenger readonly
397 * \brief MUST return driver interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
399 attribute Boolean Driver readonly
402 * \brief MUST return center interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
404 attribute Boolean Center readonly
407 * \brief MUST return interior light status for the zone. on = true, off = false
409 attribute Boolean Status
413 interface org.automotive.Horn extends VehiclePropertyType {
416 * \brief MUST return horn status: on = true, off = false
418 attribute Boolean On readonly
422 interface org.automotive.Fuel extends VehiclePropertyType {
425 * \brief MUST return fuel level as a percentage of fullness.
427 attribute UInt16 Level readonly
430 * \brief MUST return estimated fuel range in meters.
432 attribute UInt32 Range readonly
434 /*! InstantConsumption
435 * \brief MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers).
437 attribute UInt32 InstantConsumption readonly
440 * \brief MUST return instant fuel 'economy' in kilometers per liter of fuel.
442 attribute UInt16 InstantEconomy readonly
445 * \brief MUST return average fuel 'economy' in kilometers per liter of fuel since last reset. Setting this to any value should reset the counter to '0'
447 attribute UInt16 AverageEconomy;
449 /*! AverageConsumption
450 * \brief 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'
452 attribute UInt32 AverageConsumption;
454 /*! FuelConsumedSinceRestart
455 * \brief MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
457 attribute UInt32 FuelConsumedSinceRestart readonly;
460 * \brief MUST return time elapsed since vehicle restart (Unit: seconds)
462 attribute UInt32 TimeSinceRestart readonly;
466 interface org.automotive.EngineOil extends VehiclePropertyType {
469 * \brief MUST return remaining engine oil as percentage of fullness. Deprecated. Remove in 0.14. Use "Level"
471 attribute UInt16 Remaining readonly
474 * \brief MUST return Engine Oil Temperature in Celcius.
476 attribute long Temperature readonly
479 * \brief MUST return Engine Oil Pressure in kPa.
481 attribute UInt16 Pressure readonly
484 * \brief MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full
486 attribute UInt16 Level readonly
489 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
491 attribute boolean Change readonly
494 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
496 attribute boolean LifeRemaining readonly
501 interface org.automotive.Location extends VehiclePropertyType {
504 * \brief MUST return latitude in Deg.Min (-180, +180)
506 attribute Double Latitude readonly
509 * \brief MUST return longitude in Deg.Min (-90, +90)
511 attribute Double Longitude readonly
514 * \brief MUST return altitude in meters above sea-level (0).
516 attribute Double Altitude readonly
519 * \brief MUST return direction in Degrees (0-360)
521 attribute UInt16 Direction readonly
525 interface org.automotive.ExteriorBrightness extends VehiclePropertyType {
527 /*! ExteriorBrightness
528 * \brief MUST return the brightness outside the vehicle in lux.
530 attribute UInt16 ExteriorBrightness readonly
534 interface org.automotive.Temperature extends VehiclePropertyType {
537 * \brief MUST return the temperature of the interior of the vehicle in celcius.
539 /// Deprecated. Use InteriorTemperature. Remove in 0.14
540 attribute signed short Interior readonly
543 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
545 /// Deprecated. Use ExteriorTemperature. Remove in 0.14
546 attribute signed short Exterior readonly
549 * \brief MUST return the temperature of the interior of the vehicle in celcius.
551 attribute signed short InteriorTemperature readonly
554 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
556 attribute signed short ExteriorTemperature readonly
560 interface org.automotive.RainSensor extends VehiclePropertyType {
563 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
564 * Deprecated in 0.14. Use rainIntensity
566 attribute UInt16 RainSensor readonly
569 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
571 attribute UInt16 RainIntensity readonly
575 /// TODO: Depricated in 0.14 Use WiperStatus
576 interface org.automotive.WindshieldWiper extends VehiclePropertyType {
579 * \brief MUST return Level of windshield whiper speed (0-10)
581 attribute UInt16 WindshieldWiper readonly
585 enumeration WiperControl {
596 interface org.automotive.WiperStatus extends VehiclePropertyType {
599 * \brief MUST return current speed interval of wiping windshield
601 attribute WiperControl WiperSpeed readonly
604 * \brief MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
606 attribute WiperControl WiperSetting
609 /*! Deprecated. Use ClimateControl interface. Remove in 0.14
611 interface org.automotive.HVAC extends VehiclePropertyType {
612 const UInt16 AIRFLOWDIRECTION_FRONTPANEL = 0;
613 const UInt16 AIRFLOWDIRECTION_FLOORDUCT= 1;
614 const UInt16 AIRFLOWDIRECTION_FRONT = 0x02;
615 const UInt16 AIRFLOWDIRECTION_DEFROSTER = 0x04;
618 * \brief MUST return airflow direction. See
620 attribute UInt16 AirflowDirection;
623 * \brief MUST return speed of the fan (0-7)
625 attribute UInt16 FanSpeed;
627 /*! TargetTemperature
628 * \brief MUST return target desired temperature in celcius.
630 attribute UInt16 TargetTemperature;
633 * \brief MUST return air conditioning on (true) / off (false).
635 attribute Boolean AirConditioning;
638 * \brief MUST return air recirculation on (true) / off (false).
640 attribute Boolean AirRecirculation;
643 * \brief MUST return heater on (true) / off (false).
645 attribute Boolean Heater;
647 /*! SteeringWheelHeater
648 * \brief MUST return air recirculation on (true) / off (false).
650 attribute Boolean SteeringWheelHeater;
653 * \brief MUST return seat heater status: 0-100%.
655 attribute UInt16 SeatHeater;
658 * \brief MUST return seat heater status: on (true) / off (false).
660 attribute Boolean SeatCooler;
663 enumeration AirflowDirectionType
665 frontpanel = "frontpanel",
666 floorduct = "floorduct",
668 defrostfloor = "defrostfloor"
671 interface org.automotive.ClimateControl extends VehiclePropertyType {
673 * \brief MUST return current status of the direction of the air flow through the ventilation system
675 attribute AirflowDirectionType AirflowDirection;
678 * \brief MUST return seat heater status: on (true) / off (false).
680 attribute UInt8 FanSpeedLevel;
682 /*! TargetTemperature
683 * \brief MUST return current setting of the desired temperature (Unit: celsius)
685 attribute Int8 TargetTemperature;
688 * \brief MUST return current status of the air conditioning system: on (true) or off (false)
690 attribute Boolean AirConditioning;
693 * \brief MUST return current status of the heating system: on (true) or off (false)
695 attribute Boolean Heater;
698 * \brief MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
700 attribute UInt8 SeatHeater;
703 * \brief MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
705 attribute UInt8 SeatCooler;
708 * \brief MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
710 attribute Boolean AirRecirculation;
712 /*! SteeringWheelHeater
713 * \brief MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
715 attribute UInt8 SteeringWheelHeater;
718 /// Deprecated in 0.14. Use SideWindow
719 interface org.automotive.WindowStatus extends VehiclePropertyType {
722 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
723 * for the window location see "zone" attribute
725 attribute UInt16 Openness;
728 * \brief MUST return the defroster status of the window. On = true, Off = false.
729 * Deprecated. Use Defrost interface. Remove in 0.14.
731 attribute Boolean Defrost;
734 interface org.automotive.SideWindow extends VehiclePropertyType {
737 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
739 attribute UInt16 Openness;
742 * \brief MUST return whether or not the window is locked (true) or unlocked (false)
744 attribute Boolean Lock;
747 interface org.automotive.Defrost extends VehiclePropertyType {
750 * \brief MUST return current status of the defrost switch for mirrors. It can be
751 * used to send user's request for changing setting.
753 attribute Boolean DefrostWindow;
756 * \brief MUST return current status of the defrost switch for window. It can be
757 * used to send user's request for changing setting.
759 attribute Boolean DefrostMirrors;
762 interface org.automotive.Sunroof extends VehiclePropertyType {
765 * \brief MUST return window status for sunroof openness percentage.
767 attribute UInt16 Openness;
770 * \brief MUST return tilt status for sunroof percentage.
772 attribute UInt16 Tilt;
776 enumeration ConvertibleRoofStatus {
783 interface org.automotive.ConvertibleRoof extends VehiclePropertyType {
785 * \brief MUST return current status of Convertible Roof.
788 attribute ConvertibleRoofStatus Status readonly;
791 * \brief MUST return current setting of Convertible Roof. This is used to open (true) and close (false).
794 attribute Boolean Setting;
798 interface org.automotive.VehicleId extends VehiclePropertyType {
801 * \brief MUST return World Manufacturer Identifier (WMI)
802 * WMI is defined by SAE ISO 3780:2009. 3 characters.
804 attribute String WMI readonly
807 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
809 attribute String VIN readonly
813 interface org.automotive.Size extends VehiclePropertyType {
816 * \brief MUST return width of vehicle in mm
818 attribute UInt16 Width readonly
821 * \brief MUST return height of vehicle in mm
823 attribute UInt16 Height readonly
826 * \brief MUST return length of vehicle in mm
828 attribute UInt16 Length readonly
832 interface org.automotive.FuelInfo extends VehiclePropertyType {
833 const UInt16 FUELTYPE_GASOLINE = 0;
834 const UInt16 FUELTYPE_HIGH_OCTANE= 1;
835 const UInt16 FUELTYPE_DIESEL = 2;
836 const UInt16 FUELTYPE_ELECTRIC = 3;
837 const UInt16 FUELTYPE_HYDROGEN = 4;
838 const UInt16 REFUELPOSITION_LEFT = 0;
839 const UInt16 REFUELPOSITION_RIGHT= 1;
840 const UInt16 REFUELPOSITION_FRONT = 2;
841 const UInt16 REFUELPOSITION_REAR = 3;
844 * \brief MUST return type of fuel. integer 0-4 (see
846 attribute UInt16 Type readonly
849 * \brief MUST return position of refuling (see
851 attribute UInt16 RefuelPosition readonly
855 interface org.automotive.VehicleType extends VehiclePropertyType {
856 const UInt16 VEHICLETYPE_SEDAN = 0;
857 const UInt16 VEHICLETYPE_COUPE= 1;
858 const UInt16 VEHICLETYPE_CABRIOLE = 2;
859 const UInt16 VEHICLETYPE_ROADSTER = 3;
860 const UInt16 VEHICLETYPE_SUV = 4;
861 const UInt16 VEHICLETYPE_TRUCK = 5;
864 * \brief MUST return type of Vehicle. Integer 0-5 (see
866 attribute UInt16 Type readonly
870 interface org.automotive.Doors extends VehiclePropertyType {
873 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
874 * represents the first row, '1' the second row etc.
875 * Example a common mini-van may have Doors[0] = 2 doors,
876 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
878 attribute array DoorsPerRow of UInt16 readonly
882 interface org.automotive.WheelInformation extends VehiclePropertyType {
885 * \brief MUST return Radius of Front Wheel(s) in mm.
887 attribute UInt16 FrontWheelRadius readonly
890 * \brief MUST return Radius of Rear Wheel(s) in mm.
892 attribute UInt16 RearWheelRadius readonly
895 * \brief MUST return Wheel Track in mm.
897 attribute UInt16 WheelTrack readonly
900 * \brief MUST return Antilock Brake System status: on = true, off = false.
902 attribute Boolean ABS readonly
906 interface org.automotive.Odometer extends VehiclePropertyType {
909 * \brief MUST return Distance traveled in km
911 /// Deprecated. Use DistanceTotal. Remove in 0.14
912 attribute UInt32 Odometer readonly
915 * \brief MUST return Distance traveled in m
917 attribute UInt32 DistanceTotal readonly
919 /*! DistanceSinceStart
920 * \brief MUST return Distance traveled since start in m
922 attribute UInt32 DistanceSinceStart readonly
926 interface org.automotive.Fluid extends VehiclePropertyType {
929 * \brief MUST return Transmission fluid level percentage. 0-100.
931 attribute UInt16 Transmission readonly
934 * \brief MUST return Brake fluid level percentage. 0-100.
935 * TODO: Deprecated. use BrakeMaintenance::FluidLevel Remove in 0.14
937 attribute UInt16 Brake readonly
940 * \brief MUST return Washer fluid level percentage. 0-100.
941 * TODO: Deprecated. use WasherFluid::Level. Remove in 0.14
943 attribute UInt16 Washer readonly
946 ///TODO: Deprecated. Use BatteryStatus. Remove in 0.14
947 interface org.automotive.Battery extends VehiclePropertyType {
950 * \brief MUST return battery voltage.
952 attribute Double Voltage readonly
955 * \brief MUST return battery current in Amperes
957 attribute Double Current readonly
960 interface org.automotive.BatteryStatus extends VehiclePropertyType {
963 * \brief MUST return battery voltage.
965 attribute UInt8 Voltage readonly
968 * \brief MUST return battery current in Amperes
970 attribute UInt8 Current readonly
973 * \brief MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
975 attribute UInt8 ChargeLevel readonly
979 interface org.automotive.Tire extends VehiclePropertyType {
982 * \brief MUST return tire pressure in kPa.
984 attribute UInt16 Pressure readonly
987 * \brief MUST return left front tire temperature in Celcius.
989 attribute Int16 Temperature readonly
992 * \brief MUST return true if any tire pressure is low: pressure low (true), pressure not low (false).
994 attribute Boolean PressureLow readonly
998 interface org.automotive.SecurityAlert extends VehiclePropertyType {
1001 * \brief MUST return
1003 attribute Boolean SecurityAlert readonly
1006 interface org.automotive.ParkingBrake extends VehiclePropertyType {
1009 * MUST return status of parking brake: Engaged = true, Disengaged = false.
1010 TODO: Deprecated in 0.14. Use Status
1012 attribute Boolean ParkingBrake readonly
1015 * \brief MUST return the current status of parking brake.
1017 attribute ParkingBrakeStatus Status;
1020 /// Deprecated. Use LightStatus. remove in 0.14
1021 interface org.automotive.ParkingLight extends VehiclePropertyType {
1024 * MUST return status of parking light: Engaged = true, Disengaged = false.
1026 attribute Boolean ParkingLight readonly
1029 /// Deprecated. Use LightStatus. remove in 0.14
1030 interface org.automotive.HazardLight extends VehiclePropertyType {
1033 * MUST return status of hazard light: Engaged = true, Disengaged = false.
1035 attribute Boolean HazardLight readonly
1039 interface org.automotive.AntilockBrakingSystem extends VehiclePropertyType {
1041 /*! AntilockBrakingSystem
1042 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
1043 * TODO: Deprecated. Use Engaged. Remove in 0.14
1045 attribute Boolean AntilockBrakingSystem readonly
1048 * \brief MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)
1050 attribute Boolean Enabled readonly;
1053 * \brief MUST return whether or not the ABS is engaged: engaged (true) or idle (false)
1055 attribute Boolean Engaged readonly;
1059 interface org.automotive.TractionControlSystem extends VehiclePropertyType {
1061 /*! TractionControlSystem
1062 * \brief MUST return whether Traction Control System is Off (false) or On (true)
1063 * TODO: Deprecated. Use Engaged. Remove in 0.14
1065 attribute Boolean TractionControlSystem readonly
1068 * \brief MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)
1070 attribute Boolean Enabled readonly;
1073 * \brief MUST return whether or not the TCS is engaged: engaged (true) or idle (false)
1075 attribute Boolean Engaged readonly;
1079 interface org.automotive.VehicleTopSpeedLimit extends VehiclePropertyType {
1081 /*! VehicleTopSpeedLimit
1082 * \brief MUST return top rated speed in km/h. 0 = no limit
1084 attribute UInt16 VehicleTopSpeedLimit readonly
1088 interface org.automotive.AirbagStatus extends VehiclePropertyType {
1091 * \brief MUST return Airbag status (byte) (see AIRBAGSTATUS_*)
1092 * TODO: deprecated. Remove in 0.14
1094 attribute UInt16 AirbagStatus readonly
1097 * \brief MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)
1099 attribute Boolean Activated readonly;
1102 * \brief MUST return whether the airbag is deployed: deployed (true) or not (false)
1104 attribute Boolean Deployed readonly;
1107 /// TODO: deprecated. Remove in 0.14
1108 enumeration AirbagStatus {
1115 * Deprecated. Use "Door". Remove in 0.14
1117 interface org.automotive.DoorStatus extends VehiclePropertyType {
1120 * \brief MUST return Door status (byte).
1125 attribute UInt16 DoorStatus readonly
1128 * \brief MUST return Door status (bool locked = true, unlocked = false).
1130 attribute Boolean DoorLockStatus;
1133 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1134 * Setting this to 'true' will prevent the rear doors from being opened
1137 ///TODO: Deprecated in 0.14. Use org.automotive.ChildLockStatus
1138 attribute Boolean ChildLockStatus;
1141 enumeration DoorStatus {
1147 interface org.automotive.Door extends VehiclePropertyType {
1150 * \brief MUST return Door status (byte). See DOORSTATUS_*
1152 attribute DoorStatus Status readonly
1155 * \brief MUST return Door status (bool locked = true, unlocked = false).
1157 attribute Boolean Lock;
1160 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1161 * Setting this to 'true' will prevent the rear doors from being opened
1164 attribute Boolean ChildLock;
1167 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1168 interface org.automotive.SeatBelt extends VehiclePropertyType {
1171 * \brief MUST return Seat Belt Status (bool: Fasten = true, Unfastened = false)
1173 attribute Boolean Status readonly
1176 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1177 interface org.automotive.OccupantStatus extends VehiclePropertyType {
1180 * \brief MUST return status of Occupant (byte, see
1182 attribute UInt16 OccupantStatus readonly
1186 interface org.automotive.ObstacleDistance extends VehiclePropertyType {
1188 /*! ObstacleDistance
1189 * \brief MUST return Distance Sensor distance (Double) in m.
1191 attribute Double ObstacleDistance readonly
1195 interface org.automotive.NightMode extends VehiclePropertyType {
1198 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1199 * Deprecated. Will be removed in 0.14. Use "Mode"
1201 attribute Boolean NightMode readonly
1204 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1206 attribute Boolean Mode readonly
1210 interface org.automotive.DrivingMode extends VehiclePropertyType {
1213 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
1215 attribute UInt16 DrivingMode readonly
1218 * \brief MUST return true if vehicle is in driving mode
1220 attribute Boolean Mode readonly
1224 interface org.automotive.KeyId extends VehiclePropertyType {
1227 * \brief MUST return
1229 attribute String KeyId readonly
1232 interface org.automotive.Language extends VehiclePropertyType {
1235 * \brief MUST return
1237 attribute String Language readonly
1241 interface org.automotive.MeasurementSystem extends VehiclePropertyType {
1244 * \brief MUST return 0 = Metric, 1 = ImperialUS, 2 = ImperialUK
1246 attribute UInt16 MeasurementSystem readonly
1250 ///TODO Deprecated. Use org.automotive.Mirror. Remove in 0.14
1251 interface org.automotive.MirrorSetting extends VehiclePropertyType {
1254 * \brief MUST return
1256 attribute UInt8 Pan readonly
1257 attribute UInt8 Tilt readonly
1261 ///TODO Deprecated. Use org.automotive.SeadAdjustment. Remove in 0.14
1262 interface org.automotive.SeatPosition extends VehiclePropertyType {
1265 * \brief MUST return
1267 attribute UInt16 Recline readonly
1270 * \brief MUST return
1272 attribute UInt16 Slide readonly
1275 * \brief MUST return
1277 attribute UInt16 CushionHeight readonly
1280 * \brief MUST return
1282 attribute UInt16 Headrest readonly
1285 * \brief MUST return
1287 attribute UInt16 BackCushion readonly
1290 * \brief MUST return
1292 attribute UInt16 SideCushion readonly
1296 interface org.automotive.SteeringWheelPosition extends VehiclePropertyType {
1299 * \brief MUST return
1301 attribute UInt16 Tilt readonly
1304 * \brief MUST return
1306 attribute UInt16 Slide readonly
1310 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1313 * \brief MUST return
1315 attribute UInt16 DashboardIllumination readonly
1318 ///TODO Deprecated. Use org.automotive.VehicleSound. Remove in 0.14
1319 interface org.automotive.GeneratedVehicleSoundMode extends VehiclePropertyType {
1322 * \brief MUST return Sound Mode: 0 = Normal, 1 = Quiet, 2 = Sportive
1324 attribute UInt16 GeneratedVehicleSoundMode readonly
1328 /*! SteeringWheelAngle
1330 * Deprecated. Use SteeringWheel
1332 interface org.automotive.SteeringWheelAngle extends VehiclePropertyType {
1335 * \brief MUST return angle of the steering wheel. 0-359 degrees.
1337 attribute UInt16 SteeringWheelAngle readonly
1340 interface org.automotive.SteeringWheel extends VehiclePropertyType {
1343 * \brief MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)
1345 attribute Int16 Angle readonly
1349 interface org.automotive.ButtoneEvent extends VehiclePropertyType {
1352 * \brief MUST return button event:
1355 * SkipButton = 1 << 1,
1356 * PrevButton = 1 << 2,
1357 * PauseButton = 1 << 3,
1358 * Preset1Button = 1 << 4,
1359 * Preset2Button = 1 << 5,
1360 * Preset3Button = 1 << 6,
1361 * Preset4Button = 1 << 7,
1362 * StopButton = 1 << 8,
1363 * NavigateUpButton = 1 << 9,
1364 * NavigateDownButton = 1 << 10,
1365 * NavigateLeftButton = 1 << 11,
1366 * NavigateRightButton = 1 << 12
1368 attribute UInt32 ButtonEvent readonly
1372 interface org.automotive.DriverId extends VehiclePropertyType {
1375 * \brief MUST return driver ID. Driver Id is an abstract and can be determined
1376 * from multiple sources including bluetooth, key, key fob, etc.
1378 attribute String DriverId readonly
1381 interface org.automotive.ThrottlePosition extends VehiclePropertyType {
1384 * \brief MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)
1386 attribute Uint8 Value readonly
1389 interface org.automotive.EngineCoolant extends VehiclePropertyType {
1392 * \brief MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
1394 attribute Uint16 Level readonly
1397 * \brief MUST return engine coolant temperature (Unit: celcius)
1399 attribute Int16 Temperature readonly
1402 interface org.automotive.PowertrainTorque extends VehiclePropertyType {
1405 * \brief MUST return powertrain torque (Unit: newton meters)
1407 attribute UInt16 Value readonly
1410 interface org.automotive.AcceleratorPedalPosition extends VehiclePropertyType {
1413 * \brief MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)
1415 attribute UInt8 Value readonly
1418 interface org.automotive.WheelTick extends VehiclePropertyType {
1421 * \brief MUST return number of ticks per second (Unit: ticks per second)
1423 attribute UInt8 Value readonly
1426 interface IgnitionTime : VehicleCommonDataType {
1428 * \brief MUST return time at ignition on
1430 attribute UInt64 ignitionOnTime readonly
1433 * \brief MUST return time at ignition off
1435 attribute UInt64 ignitionOffTime readonly
1438 interface org.automotive.YawRate extends VehiclePropertyType {
1441 * \brief MUST return yaw rate of vehicle. (Unit: degrees per second)
1443 attribute Int16 Value readonly
1446 interface org.automotive.BrakeOperation extends VehiclePropertyType {
1449 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
1451 attribute Boolean BrakePedalDepressed readonly
1454 enumeration Button {
1459 end_call = "end_call",
1460 media_play = "media_play",
1461 media_next = "media_next",
1462 media_previous = "media_previous",
1463 media_pause = "media_pause",
1464 voice_recognize = "voice_recognize",
1472 enumeration ButtonEventType {
1474 long_press = "long_press",
1478 interface VehicleButton {
1480 * \brief MUST return the button corresponding to the event.
1482 attribute Button button readonly;
1485 * \brief MUST return the type of event
1487 attribute ButtonEventType state readonly;
1490 interface org.automotive.ButtonEvent extends VehiclePropertyType {
1493 * \brief MUST return the button events that occured. This supports multiple simultanious button events.
1495 attribute array Button of VehicleButton readonly;
1498 interface org.automotive.TransmissionOil extends VehiclePropertyType {
1501 * \brief MUST return current temperature of the transmission oil(Unit: celsius).
1503 attribute Int8 Temperature readonly;
1506 * \brief MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).
1508 attribute UInt8 Wear readonly;
1511 interface org.automotive.TransmissionClutch extends VehiclePropertyType {
1514 * \brief MUST return transmission clutch wear (Unit: percentage, 0: no wear, 100: completely worn).
1516 attribute UInt8 Wear readonly;
1519 interface org.automotive.BrakeMaintenance extends VehiclePropertyType {
1522 * \brief MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).
1524 attribute UInt8 PadWear readonly;
1527 * \brief MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).
1529 attribute UInt8 FluidLevel readonly;
1532 * \brief MUST return true if brake fluid level: low (true), not low (false)
1534 attribute Boolean FluidLevelLow readonly;
1537 * \brief MUST return true if brakes are worn: worn (true), not worn (false)
1539 attribute Boolean BrakesWorn readonly;
1542 interface org.automotive.WasherFluid extends VehiclePropertyType {
1545 * \brief MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).
1547 attribute UInt8 Level readonly;
1550 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1552 attribute Boolean LevelLow readonly;
1555 interface org.automotive.MalfunctionIndicator extends VehiclePropertyType {
1558 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1560 attribute Boolean On readonly;
1563 interface org.automotive.Diagnostic extends VehiclePropertyType {
1566 * \brief MUST return engine runtime (Unit: seconds)
1568 attribute UInt32 AccumulatedEngineRuntime readonly;
1571 * \brief MUST return distance travelled since the codes were last cleared (Unit: meters)
1573 attribute UInt32 DistanceSinceCodeCleared readonly;
1576 * \brief MUST return distance travelled with the malfunction indicator light on (Unit: meters)
1578 attribute UInt32 DistanceWithMILOn readonly;
1581 * \brief MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
1583 attribute UInt32 TimeRunMILOn readonly;
1586 * \brief MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)
1588 attribute UInt32 TimeTroubleCodeClear readonly;
1591 interface org.automotive.Mirror extends VehiclePropertyType {
1594 * \brief 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)
1596 attribute UInt8 MirrorPan;
1599 * \brief 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)
1601 attribute UInt8 MirrorTilt;
1604 interface org.automotive.SeatAdjustment extends VehiclePropertyType {
1607 * \brief MUST return seat back recline position as percent to completely reclined (Unit: percentage, 0%: fully forward, 100%: fully reclined)
1609 attribute UInt8 ReclineSeatBack;
1612 * \brief MUST return seat slide position as percentage of distance travelled away from forwardmost position (Unit: percentage, 0%: farthest forward, 100%: farthest back)
1614 attribute UInt8 SeatSlide;
1617 * \brief MUST return seat cushion height position as a percentage of upward distance travelled (Unit: percentage, 0%:lowest. 100%:highest)
1619 attribute UInt8 SeatCushionHeight;
1622 * \brief MUST return headrest position as a percentage of upward distance travelled (Unit: percentage, 0%: lowest, 100%: highest)
1624 attribute UInt8 SeatHeadrest;
1627 * \brief MUST return back cushion position as a percentage of lumbar curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1629 attribute UInt8 SeatBackCushion;
1632 * \brief MUST return sides of back cushion position as a percentage of curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1634 attribute UInt8 SeatSideCushion;
1637 enumeration DriveModeType {
1638 comfort = "comfort",
1646 interface org.automotive.DriveMode extends VehiclePropertyType {
1648 * \brief MUST return vehicle drive mode. See http://w3c.github.io/automotive-bg/data_spec.html#idl-def-DriveModeEnum
1650 attribute DriveModeType DriveMode;
1653 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1655 * \brief MUST return illumination of dashboard as a percentage (Unit: percentage, 0%: none, 100%: maximum illumination)
1657 attribute UInt8 DashboardIllumination;
1660 interface org.automotive.VehicleSound extends VehiclePropertyType {
1662 * \brief MUST return active noise control status: not-activated (false), activated (true)
1664 attribute Boolean ActiveNoiseControlMode;
1667 * \brief MUST return active noise control status: not-activated (false), activated (true)
1669 attribute Boolean EngineSoundEnhancementMode;
1672 * \brief MUST return array of available sounds. See EngineSoundEnhancementMode
1674 attribute array EngineSoundEnhancementMode of String readonly;
1677 interface org.automotive.ElectronicStabilityControl extends VehiclePropertyType {
1679 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1681 attribute Boolean Enabled readonly;
1684 * \brief MUST return whether or not the ESC is engaged: engaged (true) or idle (false)
1686 attribute Boolean Engaged readonly;
1689 interface org.automotive.TopSpeedLimit extends VehiclePropertyType {
1691 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1693 attribute UInt16 Speed readonly;
1696 interface org.automotive.ChildSafetyLock extends VehiclePropertyType {
1698 * \brief MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)
1700 attribute Boolean Lock;
1703 enumeration OccupantStatus {
1709 enumeration IdentificationTypeEnum {
1712 Bluetooth = "Bluetooth",
1714 fingerprint = "fingerprint",
1719 interface org.automotive.Seat extends VehiclePropertyType {
1721 * \brief MUST return the status of seat occupant
1723 attribute OccupantStatus Occupant;
1726 * \brief MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
1728 attribute Boolean SeatBelt;
1731 * \brief MUST return occupant identifier
1733 attribute String OccupantName;
1736 * \brief MUST return identification type
1738 attribute IdentificationTypeEnum IdentificationType;
1741 interface org.automotive.AtmosphericPressure extends VehiclePropertyType {
1743 * \brief MUST return the current atmospheric pressure outside of the vehicle (Unit: hectopascal)
1745 attribute UInt16 Pressure;
1748 enumeration LaneDepartureStatus {
1754 interface org.automotive.LaneDepartureDetection extends VehiclePropertyType {
1756 * \brief MUST return current status of Lane departure warning function.
1758 attribute LaneDepartureStatus Status readonly;
1761 enumeration AlarmStatus {
1762 disarmed = "disarmed",
1763 prearmed = "prearmed",
1768 interface org.automotive.Alarm extends VehiclePropertyType {
1770 * \brief MUST return the current status of vehicle Alarm System.
1772 attribute AlarmStatus Status;
1775 enumeration ParkingBrakeStatus {
1776 inactive = "inactive",
1781 interface org.automotive.ParkingBrake extends VehiclePropertyType {
1783 * \brief MUST return the current status of vehicle Alarm System.
1785 attribute ParkingBrakeStatus Status readonly;