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 in seconds since system start when 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 * Objects represent interfaces to data types.
77 interface org.automotive.Manager {
80 * \brief return supported properties
83 out {array of String objectNames}
88 * \brief find the DBus object path matching the given "objectName" (ie "VehicleSpeed" is the object name for
89 * the DBus object at path: "/path/to/VehicleSpeed") or org.automotive.Manager.ObjectNotFound if the object
90 * name is not supported.
92 * If the object path does not exist, it will be created. The object path will be removed
93 * when the last proccess that calls Find* disconnects from DBus.
95 * \arg String objectName to find
96 * \return list of object paths that provide the given object Name.
103 array of String objectPaths
109 * \brief find the DBus object path which matches "objectName" and "zone". This has the same behavior as FindObject
110 * except that it takes an addition zone argument and only return the path for that zone.
111 * \arg String property is the requested property to be retrieved.
112 * \arg Zone zone is the zone which the object
113 * \return string representing the DBus Object path.
115 * "org.automotive.Manager.InvalidZone"
116 * "org.automotive.Manager.ObjectNotFound"
118 method FindObjectForZone {
130 * \brief get a list of zones for a given objectName.
131 * \arg String objectName object name.
132 * \return list of zones for the given objectName (@see Zone)
134 method ZonesForObjectName {
139 array of UInt32 zones
145 * \brief check whether a Property exists.
146 * \arg propertyName name of property of Object
147 * \return true if Property exists
149 method SupportsProperty {
160 /*! org.automotive.VehicleSpeed
161 \brief contains information about VehicleSpeed
164 interface org.automotive.VehicleSpeed extends VehiclePropertyType {
167 * \brief MUST return Vehicle Speed in kilometers per hour.
169 attribute UInt16 Speed readonly
172 /*! org.automotive.EngineSpeed
173 \brief contains information about EngineSpeed
176 interface org.automotive.EngineSpeed extends VehiclePropertyType {
179 * \brief MUST return Engine Speed in rotations per minute.
181 attribute UInt16 Speed readonly
184 enumeration PowerMode {
191 interface org.automotive.VehiclePowerMode extends VehiclePropertyType {
194 * \brief MUST return vehicle power mode
196 attribute PowerMode VehiclePowerMode readonly
199 /*! org.automotive.TripMeter
200 \brief contains information about TripMeter
203 interface org.automotive.TripMeter extends VehiclePropertyType {
206 * \brief MUST return trip meters. Changing any items in the array will reset the item's value to '0'.
208 attribute array TripMeters of UInt16
211 /*! org.automotive.Acceleration
212 \brief contains information about Acceleration
215 interface org.automotive.Acceleration extends VehiclePropertyType {
218 * \brief return acceleration on the "X" axis (Unit: centimeters per second squared)
220 attribute Int16 X readonly
223 * \brief return acceleration on the "Y" axis (Unit: centimeters per second squared)
225 attribute Int16 Y readonly
228 * \brief return acceleration on the "Z" axis (Unit: centimeters per second squared)
230 attribute Int16 Z readonly
233 enumeration TransmissionMode {
239 overdrive = "overdrive"
242 /*! TransmissionPosition
243 * \brief Describes Transmission Pistion. Deprecated. Will disappear in 0.14
245 enumeration TransmissionPosition {
262 /*! TransmissionGearType
263 * \brief Describes the transmission gearbox type
265 enumeration TransmissionGearType
272 interface org.automotive.Transmission extends VehiclePropertyType {
274 * \brief MUST return transmission gear position (see TRANSMISSIONPOSITION) Deprecated. Replaced with Gear
276 attribute TransmissionPosition GearPosition readonly
278 /*! TransmissionGearType
279 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV).
280 * See TRANSMISSIONGEARTYPE
282 attribute TransmissionGearType Type
285 * \brief MUST return transmission gear position 1-10
287 attribute UInt8 Gear readonly
290 * \brief MUST return transmission Mode
292 attribute TransmissionMode Mode readonly
296 interface org.automotive.CruiseControlStatus extends VehiclePropertyType {
299 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false). Depricated. Remove in 0.14. Use "Status"
301 attribute Boolean Activated readonly
304 * \brief MUST return target Cruise Control speed in kilometers per hour (kph).
306 attribute UInt16 Speed readonly
309 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false).
311 attribute Boolean Status readonly
315 * Deprecated. Use BrakeOperation. Remove in 0.14
317 interface org.automotive.WheelBrake extends VehiclePropertyType {
320 * \brief MUST return Wheel Brake status: Engaged = true, disengaged = false
322 attribute Boolean Engaged readonly
325 interface org.automotive.BrakeOperation extends VehiclePropertyType {
327 /*! BrakePedalDepressed
328 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
330 attribute Boolean BrakePedalDepressed readonly
333 interface org.automotive.LightStatus extends VehiclePropertyType {
336 * \brief MUST return headlight status: on = true, off = false.
338 attribute Boolean Head
341 * \brief MUST return right turn signal status: on = true, off = false.
343 attribute Boolean RightTurn
346 * \brief MUST return left turn signal status: on = true, off = false.
348 attribute Boolean LeftTurn
351 * \brief MUST return brake signal light status: on = true, off = false.
353 attribute Boolean Brake
356 * \brief MUST return fog light status: on = true, off = false.
358 attribute Boolean Fog
361 * \brief MUST return hazard light status: on = true, off = false.
363 attribute Boolean Hazard
366 * \brief MUST return parking light status: on = true, off = false.
368 attribute Boolean Parking
371 * \brief MUST return high beam status: on = true, off = false.
373 attribute Boolean HighBeam
375 /*! AutomaticHeadlights
376 * \brief MUST return automatic headlight status: on = true, off = false.
378 attribute Boolean AutomaticHeadlights
381 * \brief MUST return dynamic high beam status: on = true, off = false.
383 attribute Boolean DynamicHighBeam
387 interface org.automotive.InteriorLightStatus extends VehiclePropertyType {
390 * \brief MUST return passenger interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
392 attribute Boolean Passenger readonly
395 * \brief MUST return driver interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
397 attribute Boolean Driver readonly
400 * \brief MUST return center interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
402 attribute Boolean Center readonly
405 * \brief MUST return interior light status for the zone. on = true, off = false
407 attribute Boolean Status
411 interface org.automotive.Horn extends VehiclePropertyType {
414 * \brief MUST return horn status: on = true, off = false
416 attribute Boolean On readonly
420 interface org.automotive.Fuel extends VehiclePropertyType {
423 * \brief MUST return fuel level as a percentage of fullness.
425 attribute UInt16 Level readonly
428 * \brief MUST return estimated fuel range in meters.
430 attribute UInt32 Range readonly
432 /*! InstantConsumption
433 * \brief MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers).
435 attribute UInt32 InstantConsumption readonly
438 * \brief MUST return instant fuel 'economy' in kilometers per liter of fuel.
440 attribute UInt16 InstantEconomy readonly
443 * \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'
445 attribute UInt16 AverageEconomy
447 /*! AverageConsumption
448 * \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'
450 attribute UInt32 AverageConsumption
452 /*! FuelConsumedSinceRestart
453 * \brief MUST return fuel consumed since engine start (Unit: milliliters per 100 kilometers) resets to 0 each restart
455 attribute UInt32 FuelConsumedSinceRestart readonly
458 * \brief MUST return time elapsed since vehicle restart (Unit: seconds)
460 attribute UInt32 TimeSinceRestart readonly
464 interface org.automotive.EngineOil extends VehiclePropertyType {
467 * \brief MUST return remaining engine oil as percentage of fullness. Deprecated. Remove in 0.14. Use "Level"
469 attribute UInt16 Remaining readonly
472 * \brief MUST return Engine Oil Temperature in Celcius.
474 attribute long Temperature readonly
477 * \brief MUST return Engine Oil Pressure in kPa.
479 attribute UInt16 Pressure readonly
482 * \brief MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full
484 attribute UInt16 Level readonly
487 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
489 attribute boolean Change readonly
492 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
494 attribute boolean LifeRemaining readonly
499 interface org.automotive.Location extends VehiclePropertyType {
502 * \brief MUST return latitude in Deg.Min (-180, +180)
504 attribute Double Latitude readonly
507 * \brief MUST return longitude in Deg.Min (-90, +90)
509 attribute Double Longitude readonly
512 * \brief MUST return altitude in meters above sea-level (0).
514 attribute Double Altitude readonly
517 * \brief MUST return direction in Degrees (0-360)
519 attribute UInt16 Direction readonly
523 interface org.automotive.ExteriorBrightness extends VehiclePropertyType {
525 /*! ExteriorBrightness
526 * \brief MUST return the brightness outside the vehicle in lux.
528 attribute UInt16 ExteriorBrightness readonly
532 interface org.automotive.Temperature extends VehiclePropertyType {
535 * \brief MUST return the temperature of the interior of the vehicle in celcius.
537 /// Deprecated. Use InteriorTemperature. Remove in 0.14
538 attribute signed short Interior readonly
541 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
543 /// Deprecated. Use ExteriorTemperature. Remove in 0.14
544 attribute signed short Exterior readonly
547 * \brief MUST return the temperature of the interior of the vehicle in celcius.
549 attribute signed short InteriorTemperature readonly
552 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
554 attribute signed short ExteriorTemperature readonly
558 interface org.automotive.RainSensor extends VehiclePropertyType {
561 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
562 * Deprecated in 0.14. Use rainIntensity
564 attribute UInt16 RainSensor readonly
567 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
569 attribute UInt16 RainIntensity readonly
573 /// TODO: Depricated in 0.14 Use WiperStatus
574 interface org.automotive.WindshieldWiper extends VehiclePropertyType {
577 * \brief MUST return Level of windshield whiper speed (0-10)
579 attribute UInt16 WindshieldWiper readonly
583 enumeration WiperControl {
594 interface org.automotive.WiperStatus extends VehiclePropertyType {
597 * \brief MUST return current speed interval of wiping windshield
599 attribute WiperControl WiperSpeed readonly
602 * \brief MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
604 attribute WiperControl WiperSetting
607 /*! Deprecated. Use ClimateControl interface. Remove in 0.14
609 interface org.automotive.HVAC extends VehiclePropertyType {
610 const UInt16 AIRFLOWDIRECTION_FRONTPANEL = 0
611 const UInt16 AIRFLOWDIRECTION_FLOORDUCT= 1
612 const UInt16 AIRFLOWDIRECTION_FRONT = 0x02
613 const UInt16 AIRFLOWDIRECTION_DEFROSTER = 0x04
616 * \brief MUST return airflow direction. See
618 attribute UInt16 AirflowDirection
621 * \brief MUST return speed of the fan (0-7)
623 attribute UInt16 FanSpeed
625 /*! TargetTemperature
626 * \brief MUST return target desired temperature in celcius.
628 attribute UInt16 TargetTemperature
631 * \brief MUST return air conditioning on (true) / off (false).
633 attribute Boolean AirConditioning
636 * \brief MUST return air recirculation on (true) / off (false).
638 attribute Boolean AirRecirculation
641 * \brief MUST return heater on (true) / off (false).
643 attribute Boolean Heater
645 /*! SteeringWheelHeater
646 * \brief MUST return air recirculation on (true) / off (false).
648 attribute Boolean SteeringWheelHeater
651 * \brief MUST return seat heater status: 0-100%.
653 attribute UInt16 SeatHeater
656 * \brief MUST return seat heater status: on (true) / off (false).
658 attribute Boolean SeatCooler
661 enumeration AirflowDirectionType
663 frontpanel = "frontpanel",
664 floorduct = "floorduct",
666 defrostfloor = "defrostfloor"
669 interface org.automotive.ClimateControl extends VehiclePropertyType {
671 * \brief MUST return current status of the direction of the air flow through the ventilation system
673 attribute AirflowDirectionType AirflowDirection
676 * \brief MUST return seat heater status: on (true) / off (false).
678 attribute UInt8 FanSpeedLevel
680 /*! TargetTemperature
681 * \brief MUST return current setting of the desired temperature (Unit: celsius)
683 attribute Int8 TargetTemperature
686 * \brief MUST return current status of the air conditioning system: on (true) or off (false)
688 attribute Boolean AirConditioning
691 * \brief MUST return current status of the heating system: on (true) or off (false)
693 attribute Boolean Heater
696 * \brief MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
698 attribute UInt8 SeatHeater
701 * \brief MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
703 attribute UInt8 SeatCooler
706 * \brief MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
708 attribute Boolean AirRecirculation
710 /*! SteeringWheelHeater
711 * \brief MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
713 attribute UInt8 SteeringWheelHeater
716 /// Deprecated in 0.14. Use SideWindow
717 interface org.automotive.WindowStatus extends VehiclePropertyType {
720 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
721 * for the window location see "zone" attribute
723 attribute UInt16 Openness
726 * \brief MUST return the defroster status of the window. On = true, Off = false.
727 * Deprecated. Use Defrost interface. Remove in 0.14.
729 attribute Boolean Defrost
732 interface org.automotive.SideWindow extends VehiclePropertyType {
735 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
737 attribute UInt16 Openness
740 * \brief MUST return whether or not the window is locked (true) or unlocked (false)
742 attribute Boolean Lock
745 interface org.automotive.Defrost extends VehiclePropertyType {
748 * \brief MUST return current status of the defrost switch for mirrors. It can be
749 * used to send user's request for changing setting.
751 attribute Boolean DefrostWindow
754 * \brief MUST return current status of the defrost switch for window. It can be
755 * used to send user's request for changing setting.
757 attribute Boolean DefrostMirrors
760 interface org.automotive.Sunroof extends VehiclePropertyType {
763 * \brief MUST return window status for sunroof openness percentage.
765 attribute UInt16 Openness
768 * \brief MUST return tilt status for sunroof percentage.
770 attribute UInt16 Tilt
774 enumeration ConvertibleRoofStatus {
781 interface org.automotive.ConvertibleRoof extends VehiclePropertyType {
783 * \brief MUST return current status of Convertible Roof.
786 attribute ConvertibleRoofStatus Status readonly
789 * \brief MUST return current setting of Convertible Roof. This is used to open (true) and close (false).
792 attribute Boolean Setting
796 interface org.automotive.VehicleId extends VehiclePropertyType {
799 * \brief MUST return World Manufacturer Identifier (WMI)
800 * WMI is defined by SAE ISO 3780:2009. 3 characters.
802 attribute String WMI readonly
805 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
807 attribute String VIN readonly
811 interface org.automotive.Size extends VehiclePropertyType {
814 * \brief MUST return width of vehicle in mm
816 attribute UInt16 Width readonly
819 * \brief MUST return height of vehicle in mm
821 attribute UInt16 Height readonly
824 * \brief MUST return length of vehicle in mm
826 attribute UInt16 Length readonly
830 interface org.automotive.FuelInfo extends VehiclePropertyType {
831 const UInt16 FUELTYPE_GASOLINE = 0
832 const UInt16 FUELTYPE_HIGH_OCTANE= 1
833 const UInt16 FUELTYPE_DIESEL = 2
834 const UInt16 FUELTYPE_ELECTRIC = 3
835 const UInt16 FUELTYPE_HYDROGEN = 4
836 const UInt16 REFUELPOSITION_LEFT = 0
837 const UInt16 REFUELPOSITION_RIGHT= 1
838 const UInt16 REFUELPOSITION_FRONT = 2
839 const UInt16 REFUELPOSITION_REAR = 3
842 * \brief MUST return type of fuel. integer 0-4 (see
844 attribute UInt16 Type readonly
847 * \brief MUST return position of refuling (see
849 attribute UInt16 RefuelPosition readonly
853 interface org.automotive.VehicleType extends VehiclePropertyType {
854 const UInt16 VEHICLETYPE_SEDAN = 0
855 const UInt16 VEHICLETYPE_COUPE= 1
856 const UInt16 VEHICLETYPE_CABRIOLE = 2
857 const UInt16 VEHICLETYPE_ROADSTER = 3
858 const UInt16 VEHICLETYPE_SUV = 4
859 const UInt16 VEHICLETYPE_TRUCK = 5
862 * \brief MUST return type of Vehicle. Integer 0-5 (see
864 attribute UInt16 Type readonly
868 interface org.automotive.Doors extends VehiclePropertyType {
871 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
872 * represents the first row, '1' the second row etc.
873 * Example a common mini-van may have Doors[0] = 2 doors,
874 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
876 attribute array DoorsPerRow of UInt16 readonly
880 interface org.automotive.WheelInformation extends VehiclePropertyType {
883 * \brief MUST return Radius of Front Wheel(s) in mm.
885 attribute UInt16 FrontWheelRadius readonly
888 * \brief MUST return Radius of Rear Wheel(s) in mm.
890 attribute UInt16 RearWheelRadius readonly
893 * \brief MUST return Wheel Track in mm.
895 attribute UInt16 WheelTrack readonly
898 * \brief MUST return Antilock Brake System status: on = true, off = false.
900 attribute Boolean ABS readonly
904 interface org.automotive.Odometer extends VehiclePropertyType {
907 * \brief MUST return Distance traveled in km
909 /// Deprecated. Use DistanceTotal. Remove in 0.14
910 attribute UInt32 Odometer readonly
913 * \brief MUST return Distance traveled in m
915 attribute UInt32 DistanceTotal readonly
917 /*! DistanceSinceStart
918 * \brief MUST return Distance traveled since start in m
920 attribute UInt32 DistanceSinceStart readonly
924 interface org.automotive.Fluid extends VehiclePropertyType {
927 * \brief MUST return Transmission fluid level percentage. 0-100.
929 attribute UInt16 Transmission readonly
932 * \brief MUST return Brake fluid level percentage. 0-100.
933 * TODO: Deprecated. use BrakeMaintenance::FluidLevel Remove in 0.14
935 attribute UInt16 Brake readonly
938 * \brief MUST return Washer fluid level percentage. 0-100.
939 * TODO: Deprecated. use WasherFluid::Level. Remove in 0.14
941 attribute UInt16 Washer readonly
944 ///TODO: Deprecated. Use BatteryStatus. Remove in 0.14
945 interface org.automotive.Battery extends VehiclePropertyType {
948 * \brief MUST return battery voltage.
950 attribute Double Voltage readonly
953 * \brief MUST return battery current in Amperes
955 attribute Double Current readonly
958 interface org.automotive.BatteryStatus extends VehiclePropertyType {
961 * \brief MUST return battery voltage.
963 attribute UInt8 Voltage readonly
966 * \brief MUST return battery current in Amperes
968 attribute UInt8 Current readonly
971 * \brief MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
973 attribute UInt8 ChargeLevel readonly
977 interface org.automotive.Tire extends VehiclePropertyType {
980 * \brief MUST return tire pressure in kPa.
982 attribute UInt16 Pressure readonly
985 * \brief MUST return left front tire temperature in Celcius.
987 attribute Int16 Temperature readonly
990 * \brief MUST return true if any tire pressure is low: pressure low (true), pressure not low (false).
992 attribute Boolean PressureLow readonly
996 interface org.automotive.SecurityAlert extends VehiclePropertyType {
1001 attribute Boolean SecurityAlert readonly
1004 interface org.automotive.ParkingBrake extends VehiclePropertyType {
1007 * MUST return status of parking brake: Engaged = true, Disengaged = false.
1008 TODO: Deprecated in 0.14. Use Status
1010 attribute Boolean ParkingBrake readonly
1013 * \brief MUST return the current status of parking brake.
1015 attribute ParkingBrakeStatus Status
1018 /// Deprecated. Use LightStatus. remove in 0.14
1019 interface org.automotive.ParkingLight extends VehiclePropertyType {
1022 * MUST return status of parking light: Engaged = true, Disengaged = false.
1024 attribute Boolean ParkingLight readonly
1027 /// Deprecated. Use LightStatus. remove in 0.14
1028 interface org.automotive.HazardLight extends VehiclePropertyType {
1031 * MUST return status of hazard light: Engaged = true, Disengaged = false.
1033 attribute Boolean HazardLight readonly
1037 interface org.automotive.AntilockBrakingSystem extends VehiclePropertyType {
1039 /*! AntilockBrakingSystem
1040 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
1041 * TODO: Deprecated. Use Engaged. Remove in 0.14
1043 attribute Boolean AntilockBrakingSystem readonly
1046 * \brief MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)
1048 attribute Boolean Enabled readonly
1051 * \brief MUST return whether or not the ABS is engaged: engaged (true) or idle (false)
1053 attribute Boolean Engaged readonly
1057 interface org.automotive.TractionControlSystem extends VehiclePropertyType {
1059 /*! TractionControlSystem
1060 * \brief MUST return whether Traction Control System is Off (false) or On (true)
1061 * TODO: Deprecated. Use Engaged. Remove in 0.14
1063 attribute Boolean TractionControlSystem readonly
1066 * \brief MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)
1068 attribute Boolean Enabled readonly
1071 * \brief MUST return whether or not the TCS is engaged: engaged (true) or idle (false)
1073 attribute Boolean Engaged readonly
1077 interface org.automotive.VehicleTopSpeedLimit extends VehiclePropertyType {
1079 /*! VehicleTopSpeedLimit
1080 * \brief MUST return top rated speed in km/h. 0 = no limit
1082 attribute UInt16 VehicleTopSpeedLimit readonly
1086 interface org.automotive.AirbagStatus extends VehiclePropertyType {
1089 * \brief MUST return Airbag status (byte) (see AIRBAGSTATUS_*)
1090 * TODO: deprecated. Remove in 0.14
1092 attribute UInt16 AirbagStatus readonly
1095 * \brief MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)
1097 attribute Boolean Activated readonly
1100 * \brief MUST return whether the airbag is deployed: deployed (true) or not (false)
1102 attribute Boolean Deployed readonly
1105 /// TODO: deprecated. Remove in 0.14
1106 enumeration AirbagStatus {
1113 * Deprecated. Use "Door". Remove in 0.14
1115 interface org.automotive.DoorStatus extends VehiclePropertyType {
1118 * \brief MUST return Door status (byte).
1123 attribute UInt16 DoorStatus readonly
1126 * \brief MUST return Door status (bool locked = true, unlocked = false).
1128 attribute Boolean DoorLockStatus
1131 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1132 * Setting this to 'true' will prevent the rear doors from being opened
1135 ///TODO: Deprecated in 0.14. Use org.automotive.ChildLockStatus
1136 attribute Boolean ChildLockStatus
1139 enumeration DoorStatus {
1145 interface org.automotive.Door extends VehiclePropertyType {
1148 * \brief MUST return Door status (byte). See DOORSTATUS_*
1150 attribute DoorStatus Status readonly
1153 * \brief MUST return Door status (bool locked = true, unlocked = false).
1155 attribute Boolean Lock
1158 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1159 * Setting this to 'true' will prevent the rear doors from being opened
1162 attribute Boolean ChildLock
1165 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1166 interface org.automotive.SeatBelt extends VehiclePropertyType {
1169 * \brief MUST return Seat Belt Status (bool: Fasten = true, Unfastened = false)
1171 attribute Boolean Status readonly
1174 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1175 interface org.automotive.OccupantStatus extends VehiclePropertyType {
1178 * \brief MUST return status of Occupant (byte, see
1180 attribute UInt16 OccupantStatus readonly
1184 interface org.automotive.ObstacleDistance extends VehiclePropertyType {
1186 /*! ObstacleDistance
1187 * \brief MUST return Distance Sensor distance (Double) in m.
1189 attribute Double ObstacleDistance readonly
1193 interface org.automotive.NightMode extends VehiclePropertyType {
1196 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1197 * Deprecated. Will be removed in 0.14. Use "Mode"
1199 attribute Boolean NightMode readonly
1202 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1204 attribute Boolean Mode readonly
1208 interface org.automotive.DrivingMode extends VehiclePropertyType {
1211 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
1213 attribute UInt16 DrivingMode readonly
1216 * \brief MUST return true if vehicle is in driving mode
1218 attribute Boolean Mode readonly
1222 interface org.automotive.KeyId extends VehiclePropertyType {
1225 * \brief MUST return
1227 attribute String KeyId readonly
1230 interface org.automotive.Language extends VehiclePropertyType {
1233 * \brief MUST return
1235 attribute String Language readonly
1239 interface org.automotive.MeasurementSystem extends VehiclePropertyType {
1242 * \brief MUST return 0 = Metric, 1 = ImperialUS, 2 = ImperialUK
1244 attribute UInt16 MeasurementSystem readonly
1248 ///TODO Deprecated. Use org.automotive.Mirror. Remove in 0.14
1249 interface org.automotive.MirrorSetting extends VehiclePropertyType {
1252 * \brief MUST return
1254 attribute UInt8 Pan readonly
1255 attribute UInt8 Tilt readonly
1259 ///TODO Deprecated. Use org.automotive.SeadAdjustment. Remove in 0.14
1260 interface org.automotive.SeatPosition extends VehiclePropertyType {
1263 * \brief MUST return
1265 attribute UInt16 Recline readonly
1268 * \brief MUST return
1270 attribute UInt16 Slide readonly
1273 * \brief MUST return
1275 attribute UInt16 CushionHeight readonly
1278 * \brief MUST return
1280 attribute UInt16 Headrest readonly
1283 * \brief MUST return
1285 attribute UInt16 BackCushion readonly
1288 * \brief MUST return
1290 attribute UInt16 SideCushion readonly
1294 interface org.automotive.SteeringWheelPosition extends VehiclePropertyType {
1297 * \brief MUST return
1299 attribute UInt16 Tilt readonly
1302 * \brief MUST return
1304 attribute UInt16 Slide readonly
1308 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1311 * \brief MUST return
1313 attribute UInt16 DashboardIllumination readonly
1316 ///TODO Deprecated. Use org.automotive.VehicleSound. Remove in 0.14
1317 interface org.automotive.GeneratedVehicleSoundMode extends VehiclePropertyType {
1320 * \brief MUST return Sound Mode: 0 = Normal, 1 = Quiet, 2 = Sportive
1322 attribute UInt16 GeneratedVehicleSoundMode readonly
1326 /*! SteeringWheelAngle
1328 * Deprecated. Use SteeringWheel
1330 interface org.automotive.SteeringWheelAngle extends VehiclePropertyType {
1333 * \brief MUST return angle of the steering wheel. 0-359 degrees.
1335 attribute UInt16 SteeringWheelAngle readonly
1338 interface org.automotive.SteeringWheel extends VehiclePropertyType {
1341 * \brief MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)
1343 attribute Int16 Angle readonly
1346 interface org.automotive.DriverId extends VehiclePropertyType {
1349 * \brief MUST return driver ID. Driver Id is an abstract and can be determined
1350 * from multiple sources including bluetooth, key, key fob, etc.
1352 attribute String DriverId readonly
1355 interface org.automotive.ThrottlePosition extends VehiclePropertyType {
1358 * \brief MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)
1360 attribute Uint8 Value readonly
1363 interface org.automotive.EngineCoolant extends VehiclePropertyType {
1366 * \brief MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
1368 attribute Uint16 Level readonly
1371 * \brief MUST return engine coolant temperature (Unit: celcius)
1373 attribute Int16 Temperature readonly
1376 interface org.automotive.PowertrainTorque extends VehiclePropertyType {
1379 * \brief MUST return powertrain torque (Unit: newton meters)
1381 attribute UInt16 Value readonly
1384 interface org.automotive.AcceleratorPedalPosition extends VehiclePropertyType {
1387 * \brief MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)
1389 attribute UInt8 Value readonly
1392 interface org.automotive.WheelTick extends VehiclePropertyType {
1395 * \brief MUST return number of ticks per second (Unit: ticks per second)
1397 attribute UInt8 Value readonly
1400 interface IgnitionTime : VehicleCommonDataType {
1402 * \brief MUST return time at ignition on
1404 attribute UInt64 ignitionOnTime readonly
1407 * \brief MUST return time at ignition off
1409 attribute UInt64 ignitionOffTime readonly
1412 interface org.automotive.YawRate extends VehiclePropertyType {
1415 * \brief MUST return yaw rate of vehicle. (Unit: degrees per second)
1417 attribute Int16 Value readonly
1420 interface org.automotive.BrakeOperation extends VehiclePropertyType {
1423 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
1425 attribute Boolean BrakePedalDepressed readonly
1428 enumeration Button {
1433 end_call = "end_call",
1434 media_play = "media_play",
1435 media_next = "media_next",
1436 media_previous = "media_previous",
1437 media_pause = "media_pause",
1438 voice_recognize = "voice_recognize",
1446 enumeration ButtonEventType {
1448 long_press = "long_press",
1452 interface VehicleButton {
1454 * \brief MUST return the button corresponding to the event.
1456 attribute Button button readonly
1459 * \brief MUST return the type of event
1461 attribute ButtonEventType state readonly
1464 interface org.automotive.ButtonEvent extends VehiclePropertyType {
1467 * \brief MUST return the button events that occured. This supports multiple simultanious button events.
1469 attribute array Button of VehicleButton readonly
1472 interface org.automotive.TransmissionOil extends VehiclePropertyType {
1475 * \brief MUST return current temperature of the transmission oil(Unit: celsius).
1477 attribute Int8 Temperature readonly
1480 * \brief MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).
1482 attribute UInt8 Wear readonly
1485 interface org.automotive.TransmissionClutch extends VehiclePropertyType {
1488 * \brief MUST return transmission clutch wear (Unit: percentage, 0: no wear, 100: completely worn).
1490 attribute UInt8 Wear readonly
1493 interface org.automotive.BrakeMaintenance extends VehiclePropertyType {
1496 * \brief MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).
1498 attribute UInt8 PadWear readonly
1501 * \brief MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).
1503 attribute UInt8 FluidLevel readonly
1506 * \brief MUST return true if brake fluid level: low (true), not low (false)
1508 attribute Boolean FluidLevelLow readonly
1511 * \brief MUST return true if brakes are worn: worn (true), not worn (false)
1513 attribute Boolean BrakesWorn readonly
1516 interface org.automotive.WasherFluid extends VehiclePropertyType {
1519 * \brief MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).
1521 attribute UInt8 Level readonly
1524 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1526 attribute Boolean LevelLow readonly
1529 interface org.automotive.MalfunctionIndicator extends VehiclePropertyType {
1532 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1534 attribute Boolean On readonly
1537 interface org.automotive.Diagnostic extends VehiclePropertyType {
1540 * \brief MUST return engine runtime (Unit: seconds)
1542 attribute UInt32 AccumulatedEngineRuntime readonly
1545 * \brief MUST return distance travelled since the codes were last cleared (Unit: meters)
1547 attribute UInt32 DistanceSinceCodeCleared readonly
1550 * \brief MUST return distance travelled with the malfunction indicator light on (Unit: meters)
1552 attribute UInt32 DistanceWithMILOn readonly
1555 * \brief MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
1557 attribute UInt32 TimeRunMILOn readonly
1560 * \brief MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)
1562 attribute UInt32 TimeTroubleCodeClear readonly
1565 interface org.automotive.Mirror extends VehiclePropertyType {
1568 * \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)
1570 attribute UInt8 MirrorPan
1573 * \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)
1575 attribute UInt8 MirrorTilt
1578 interface org.automotive.SeatAdjustment extends VehiclePropertyType {
1581 * \brief MUST return seat back recline position as percent to completely reclined (Unit: percentage, 0%: fully forward, 100%: fully reclined)
1583 attribute UInt8 ReclineSeatBack
1586 * \brief MUST return seat slide position as percentage of distance travelled away from forwardmost position (Unit: percentage, 0%: farthest forward, 100%: farthest back)
1588 attribute UInt8 SeatSlide
1591 * \brief MUST return seat cushion height position as a percentage of upward distance travelled (Unit: percentage, 0%:lowest. 100%:highest)
1593 attribute UInt8 SeatCushionHeight
1596 * \brief MUST return headrest position as a percentage of upward distance travelled (Unit: percentage, 0%: lowest, 100%: highest)
1598 attribute UInt8 SeatHeadrest
1601 * \brief MUST return back cushion position as a percentage of lumbar curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1603 attribute UInt8 SeatBackCushion
1606 * \brief MUST return sides of back cushion position as a percentage of curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1608 attribute UInt8 SeatSideCushion
1611 enumeration DriveModeType {
1612 comfort = "comfort",
1620 interface org.automotive.DriveMode extends VehiclePropertyType {
1622 * \brief MUST return vehicle drive mode. See http://w3c.github.io/automotive-bg/data_spec.html#idl-def-DriveModeEnum
1624 attribute DriveModeType DriveMode
1627 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1629 * \brief MUST return illumination of dashboard as a percentage (Unit: percentage, 0%: none, 100%: maximum illumination)
1631 attribute UInt8 DashboardIllumination
1634 interface org.automotive.VehicleSound extends VehiclePropertyType {
1636 * \brief MUST return active noise control status: not-activated (false), activated (true)
1638 attribute Boolean ActiveNoiseControlMode
1641 * \brief MUST return active noise control status: not-activated (false), activated (true)
1643 attribute Boolean EngineSoundEnhancementMode
1646 * \brief MUST return array of available sounds. See EngineSoundEnhancementMode
1648 attribute array EngineSoundEnhancementMode of String readonly
1651 interface org.automotive.ElectronicStabilityControl extends VehiclePropertyType {
1653 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1655 attribute Boolean Enabled readonly
1658 * \brief MUST return whether or not the ESC is engaged: engaged (true) or idle (false)
1660 attribute Boolean Engaged readonly
1663 interface org.automotive.TopSpeedLimit extends VehiclePropertyType {
1665 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1667 attribute UInt16 Speed readonly
1670 interface org.automotive.ChildSafetyLock extends VehiclePropertyType {
1672 * \brief MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)
1674 attribute Boolean Lock
1677 enumeration OccupantStatus {
1683 enumeration IdentificationTypeEnum {
1686 Bluetooth = "Bluetooth",
1688 fingerprint = "fingerprint",
1693 interface org.automotive.Seat extends VehiclePropertyType {
1695 * \brief MUST return the status of seat occupant
1697 attribute OccupantStatus Occupant
1700 * \brief MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
1702 attribute Boolean SeatBelt
1705 * \brief MUST return occupant identifier
1707 attribute String OccupantName
1710 * \brief MUST return identification type
1712 attribute IdentificationTypeEnum IdentificationType
1715 interface org.automotive.AtmosphericPressure extends VehiclePropertyType {
1717 * \brief MUST return the current atmospheric pressure outside of the vehicle (Unit: hectopascal)
1719 attribute UInt16 Pressure
1722 enumeration LaneDepartureStatus {
1728 interface org.automotive.LaneDepartureDetection extends VehiclePropertyType {
1730 * \brief MUST return current status of Lane departure warning function.
1732 attribute LaneDepartureStatus Status readonly
1735 enumeration AlarmStatus {
1736 disarmed = "disarmed",
1737 prearmed = "prearmed",
1742 interface org.automotive.Alarm extends VehiclePropertyType {
1744 * \brief MUST return the current status of vehicle Alarm System.
1746 attribute AlarmStatus Status
1749 enumeration ParkingBrakeStatus {
1750 inactive = "inactive",
1755 interface org.automotive.ParkingBrake extends VehiclePropertyType {
1757 * \brief MUST return the current status of vehicle Alarm System.
1759 attribute ParkingBrakeStatus Status readonly