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. Possible errors:
116 * "org.automotive.Manager.InvalidZone"
117 * "org.automotive.Manager.ObjectNotFound"
119 method FindObjectForZone {
131 * \brief get a list of zones for a given objectName.
132 * \arg String objectName object name.
133 * \return list of zones for the given objectName (@see Zone)
135 method ZonesForObjectName {
146 * \brief check whether a Property exists.
147 * \arg propertyName name of property of Object
148 * \return true if Property exists
150 method SupportsProperty {
161 /*! org.automotive.VehicleSpeed
162 \brief contains information about VehicleSpeed
165 interface org.automotive.VehicleSpeed extends VehiclePropertyType {
168 * \brief MUST return Vehicle Speed in kilometers per hour.
170 attribute UInt16 Speed readonly
173 /*! org.automotive.EngineSpeed
174 \brief contains information about EngineSpeed
177 interface org.automotive.EngineSpeed extends VehiclePropertyType {
180 * \brief MUST return Engine Speed in rotations per minute.
182 attribute UInt16 Speed readonly
185 enumeration PowerMode {
192 interface org.automotive.VehiclePowerMode extends VehiclePropertyType {
195 * \brief MUST return vehicle power mode
197 attribute PowerMode VehiclePowerMode readonly
200 /*! org.automotive.TripMeter
201 \brief contains information about TripMeter
204 interface org.automotive.TripMeter extends VehiclePropertyType {
207 * \brief MUST return trip meters. Changing any items in the array will reset the item's value to '0'.
209 attribute array TripMeters of UInt16;
212 /*! org.automotive.Acceleration
213 \brief contains information about Acceleration
216 interface org.automotive.Acceleration extends VehiclePropertyType {
219 * \brief return acceleration on the "X" axis (Unit: centimeters per second squared)
221 attribute Int16 X readonly
224 * \brief return acceleration on the "Y" axis (Unit: centimeters per second squared)
226 attribute Int16 Y readonly
229 * \brief return acceleration on the "Z" axis (Unit: centimeters per second squared)
231 attribute Int16 Z readonly
234 enumeration TransmissionMode {
240 overdrive = "overdrive"
243 /*! TransmissionPosition
244 * \brief Describes Transmission Pistion. Deprecated. Will disappear in 0.14
246 enumeration TransmissionPosition {
263 /*! TransmissionGearType
264 * \brief Describes the transmission gearbox type
266 enumeration TransmissionGearType
273 interface org.automotive.Transmission extends VehiclePropertyType {
275 * \brief MUST return transmission gear position (see TRANSMISSIONPOSITION) Deprecated. Replaced with Gear
277 attribute TransmissionPosition GearPosition readonly
279 /*! TransmissionGearType
280 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV).
281 * See TRANSMISSIONGEARTYPE
283 attribute TransmissionGearType Type;
286 * \brief MUST return transmission gear position 1-10
288 attribute UInt8 Gear readonly
291 * \brief MUST return transmission Mode
293 attribute TransmissionMode Mode readonly
297 interface org.automotive.CruiseControlStatus extends VehiclePropertyType {
300 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false). Depricated. Remove in 0.14. Use "Status"
302 attribute Boolean Activated readonly
305 * \brief MUST return target Cruise Control speed in kilometers per hour (kph).
307 attribute UInt16 Speed readonly
310 * \brief MUST return whether or not the Cruise Control system is active (true) or inactive (false).
312 attribute Boolean Status readonly
316 * Deprecated. Use BrakeOperation. Remove in 0.14
318 interface org.automotive.WheelBrake extends VehiclePropertyType {
321 * \brief MUST return Wheel Brake status: Engaged = true, disengaged = false
323 attribute Boolean Engaged readonly
326 interface org.automotive.BrakeOperation extends VehiclePropertyType {
328 /*! BrakePedalDepressed
329 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
331 attribute Boolean BrakePedalDepressed readonly
334 interface org.automotive.LightStatus extends VehiclePropertyType {
337 * \brief MUST return headlight status: on = true, off = false.
339 attribute Boolean Head
342 * \brief MUST return right turn signal status: on = true, off = false.
344 attribute Boolean RightTurn
347 * \brief MUST return left turn signal status: on = true, off = false.
349 attribute Boolean LeftTurn
352 * \brief MUST return brake signal light status: on = true, off = false.
354 attribute Boolean Brake
357 * \brief MUST return fog light status: on = true, off = false.
359 attribute Boolean Fog
362 * \brief MUST return hazard light status: on = true, off = false.
364 attribute Boolean Hazard
367 * \brief MUST return parking light status: on = true, off = false.
369 attribute Boolean Parking
372 * \brief MUST return high beam status: on = true, off = false.
374 attribute Boolean HighBeam
376 /*! AutomaticHeadlights
377 * \brief MUST return automatic headlight status: on = true, off = false.
379 attribute Boolean AutomaticHeadlights
382 * \brief MUST return dynamic high beam status: on = true, off = false.
384 attribute Boolean DynamicHighBeam
388 interface org.automotive.InteriorLightStatus extends VehiclePropertyType {
391 * \brief MUST return passenger interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
393 attribute Boolean Passenger readonly
396 * \brief MUST return driver interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
398 attribute Boolean Driver readonly
401 * \brief MUST return center interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
403 attribute Boolean Center readonly
406 * \brief MUST return interior light status for the zone. on = true, off = false
408 attribute Boolean Status
412 interface org.automotive.Horn extends VehiclePropertyType {
415 * \brief MUST return horn status: on = true, off = false
417 attribute Boolean On readonly
421 interface org.automotive.Fuel extends VehiclePropertyType {
424 * \brief MUST return fuel level as a percentage of fullness.
426 attribute UInt16 Level readonly
429 * \brief MUST return estimated fuel range in meters.
431 attribute UInt32 Range readonly
433 /*! InstantConsumption
434 * \brief MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers).
436 attribute UInt32 InstantConsumption readonly
439 * \brief MUST return instant fuel 'economy' in kilometers per liter of fuel.
441 attribute UInt16 InstantEconomy readonly
444 * \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'
446 attribute UInt16 AverageEconomy;
448 /*! AverageConsumption
449 * \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'
451 attribute UInt32 AverageConsumption;
453 /*! FuelConsumedSinceRestart
454 * \brief MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
456 attribute UInt32 FuelConsumedSinceRestart readonly;
459 * \brief MUST return time elapsed since vehicle restart (Unit: seconds)
461 attribute UInt32 TimeSinceRestart readonly;
465 interface org.automotive.EngineOil extends VehiclePropertyType {
468 * \brief MUST return remaining engine oil as percentage of fullness. Deprecated. Remove in 0.14. Use "Level"
470 attribute UInt16 Remaining readonly
473 * \brief MUST return Engine Oil Temperature in Celcius.
475 attribute long Temperature readonly
478 * \brief MUST return Engine Oil Pressure in kPa.
480 attribute UInt16 Pressure readonly
483 * \brief MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full
485 attribute UInt16 Level readonly
488 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
490 attribute boolean Change readonly
493 * \brief MUST return engine oil change indicator status: change oil (true) or no change (false)
495 attribute boolean LifeRemaining readonly
500 interface org.automotive.Location extends VehiclePropertyType {
503 * \brief MUST return latitude in Deg.Min (-180, +180)
505 attribute Double Latitude readonly
508 * \brief MUST return longitude in Deg.Min (-90, +90)
510 attribute Double Longitude readonly
513 * \brief MUST return altitude in meters above sea-level (0).
515 attribute Double Altitude readonly
518 * \brief MUST return direction in Degrees (0-360)
520 attribute UInt16 Direction readonly
524 interface org.automotive.ExteriorBrightness extends VehiclePropertyType {
526 /*! ExteriorBrightness
527 * \brief MUST return the brightness outside the vehicle in lux.
529 attribute UInt16 ExteriorBrightness readonly
533 interface org.automotive.Temperature extends VehiclePropertyType {
536 * \brief MUST return the temperature of the interior of the vehicle in celcius.
538 /// Deprecated. Use InteriorTemperature. Remove in 0.14
539 attribute signed short Interior readonly
542 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
544 /// Deprecated. Use ExteriorTemperature. Remove in 0.14
545 attribute signed short Exterior readonly
548 * \brief MUST return the temperature of the interior of the vehicle in celcius.
550 attribute signed short InteriorTemperature readonly
553 * \brief MUST return the temperature of the exterior of the vehicle in celcius.
555 attribute signed short ExteriorTemperature readonly
559 interface org.automotive.RainSensor extends VehiclePropertyType {
562 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
563 * Deprecated in 0.14. Use rainIntensity
565 attribute UInt16 RainSensor readonly
568 * \brief MUST return level of rain intensity 0: No Rain - 10: Heaviest Rain.
570 attribute UInt16 RainIntensity readonly
574 /// TODO: Depricated in 0.14 Use WiperStatus
575 interface org.automotive.WindshieldWiper extends VehiclePropertyType {
578 * \brief MUST return Level of windshield whiper speed (0-10)
580 attribute UInt16 WindshieldWiper readonly
595 interface org.automotive.WiperStatus extends VehiclePropertyType {
598 * \brief MUST return current speed interval of wiping windshield
600 attribute WiperControl WiperSpeed readonly
603 * \brief MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
605 attribute WiperControl WiperSetting
608 /*! Deprecated. Use ClimateControl interface. Remove in 0.14
610 interface org.automotive.HVAC extends VehiclePropertyType {
611 const UInt16 AIRFLOWDIRECTION_FRONTPANEL = 0;
612 const UInt16 AIRFLOWDIRECTION_FLOORDUCT= 1;
613 const UInt16 AIRFLOWDIRECTION_FRONT = 0x02;
614 const UInt16 AIRFLOWDIRECTION_DEFROSTER = 0x04;
617 * \brief MUST return airflow direction. See
619 attribute UInt16 AirflowDirection;
622 * \brief MUST return speed of the fan (0-7)
624 attribute UInt16 FanSpeed;
626 /*! TargetTemperature
627 * \brief MUST return target desired temperature in celcius.
629 attribute UInt16 TargetTemperature;
632 * \brief MUST return air conditioning on (true) / off (false).
634 attribute Boolean AirConditioning;
637 * \brief MUST return air recirculation on (true) / off (false).
639 attribute Boolean AirRecirculation;
642 * \brief MUST return heater on (true) / off (false).
644 attribute Boolean Heater;
646 /*! SteeringWheelHeater
647 * \brief MUST return air recirculation on (true) / off (false).
649 attribute Boolean SteeringWheelHeater;
652 * \brief MUST return seat heater status: 0-100%.
654 attribute UInt16 SeatHeater;
657 * \brief MUST return seat heater status: on (true) / off (false).
659 attribute Boolean SeatCooler;
662 enumeration AirflowDirectionType
664 frontpanel = "frontpanel",
665 floorduct = "floorduct",
667 defrostfloor = "defrostfloor"
670 interface org.automotive.ClimateControl extends VehiclePropertyType {
672 * \brief MUST return current status of the direction of the air flow through the ventilation system
674 attribute AirflowDirectionType AirflowDirection;
677 * \brief MUST return seat heater status: on (true) / off (false).
679 attribute UInt8 FanSpeedLevel;
681 /*! TargetTemperature
682 * \brief MUST return current setting of the desired temperature (Unit: celsius)
684 attribute Int8 TargetTemperature;
687 * \brief MUST return current status of the air conditioning system: on (true) or off (false)
689 attribute Boolean AirConditioning;
692 * \brief MUST return current status of the heating system: on (true) or off (false)
694 attribute Boolean Heater;
697 * \brief MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
699 attribute UInt8 SeatHeater;
702 * \brief MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
704 attribute UInt8 SeatCooler;
707 * \brief MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
709 attribute Boolean AirRecirculation;
711 /*! SteeringWheelHeater
712 * \brief MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
714 attribute UInt8 SteeringWheelHeater;
717 /// Deprecated in 0.14. Use SideWindow
718 interface org.automotive.WindowStatus extends VehiclePropertyType {
721 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
722 * for the window location see "zone" attribute
724 attribute UInt16 Openness;
727 * \brief MUST return the defroster status of the window. On = true, Off = false.
728 * Deprecated. Use Defrost interface. Remove in 0.14.
730 attribute Boolean Defrost;
733 interface org.automotive.SideWindow extends VehiclePropertyType {
736 * \brief MUST return window openness percentage (100% fully open, 0% fully closed)
738 attribute UInt16 Openness;
741 * \brief MUST return whether or not the window is locked (true) or unlocked (false)
743 attribute Boolean Lock;
746 interface org.automotive.Defrost extends VehiclePropertyType {
749 * \brief MUST return current status of the defrost switch for mirrors. It can be
750 * used to send user's request for changing setting.
752 attribute Boolean DefrostWindow;
755 * \brief MUST return current status of the defrost switch for window. It can be
756 * used to send user's request for changing setting.
758 attribute Boolean DefrostMirrors;
761 interface org.automotive.Sunroof extends VehiclePropertyType {
764 * \brief MUST return window status for sunroof openness percentage.
766 attribute UInt16 Openness;
769 * \brief MUST return tilt status for sunroof percentage.
771 attribute UInt16 Tilt;
775 enum ConvertibleRoofStatus {
782 interface org.automotive.ConvertibleRoof extends VehiclePropertyType {
784 * \brief MUST return current status of Convertible Roof.
787 attribute ConvertibleRoofStatus Status readonly;
790 * \brief MUST return current setting of Convertible Roof. This is used to open (true) and close (false).
793 attribute Boolean Setting;
797 interface org.automotive.VehicleId extends VehiclePropertyType {
800 * \brief MUST return World Manufacturer Identifier (WMI)
801 * WMI is defined by SAE ISO 3780:2009. 3 characters.
803 attribute String WMI readonly
806 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
808 attribute String VIN readonly
812 interface org.automotive.Size extends VehiclePropertyType {
815 * \brief MUST return width of vehicle in mm
817 attribute UInt16 Width readonly
820 * \brief MUST return height of vehicle in mm
822 attribute UInt16 Height readonly
825 * \brief MUST return length of vehicle in mm
827 attribute UInt16 Length readonly
831 interface org.automotive.FuelInfo extends VehiclePropertyType {
832 const UInt16 FUELTYPE_GASOLINE = 0;
833 const UInt16 FUELTYPE_HIGH_OCTANE= 1;
834 const UInt16 FUELTYPE_DIESEL = 2;
835 const UInt16 FUELTYPE_ELECTRIC = 3;
836 const UInt16 FUELTYPE_HYDROGEN = 4;
837 const UInt16 REFUELPOSITION_LEFT = 0;
838 const UInt16 REFUELPOSITION_RIGHT= 1;
839 const UInt16 REFUELPOSITION_FRONT = 2;
840 const UInt16 REFUELPOSITION_REAR = 3;
843 * \brief MUST return type of fuel. integer 0-4 (see
845 attribute UInt16 Type readonly
848 * \brief MUST return position of refuling (see
850 attribute UInt16 RefuelPosition readonly
854 interface org.automotive.VehicleType extends VehiclePropertyType {
855 const UInt16 VEHICLETYPE_SEDAN = 0;
856 const UInt16 VEHICLETYPE_COUPE= 1;
857 const UInt16 VEHICLETYPE_CABRIOLE = 2;
858 const UInt16 VEHICLETYPE_ROADSTER = 3;
859 const UInt16 VEHICLETYPE_SUV = 4;
860 const UInt16 VEHICLETYPE_TRUCK = 5;
863 * \brief MUST return type of Vehicle. Integer 0-5 (see
865 attribute UInt16 Type readonly
869 interface org.automotive.Doors extends VehiclePropertyType {
872 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
873 * represents the first row, '1' the second row etc.
874 * Example a common mini-van may have Doors[0] = 2 doors,
875 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
877 attribute array DoorsPerRow of UInt16 readonly
881 interface org.automotive.WheelInformation extends VehiclePropertyType {
884 * \brief MUST return Radius of Front Wheel(s) in mm.
886 attribute UInt16 FrontWheelRadius readonly
889 * \brief MUST return Radius of Rear Wheel(s) in mm.
891 attribute UInt16 RearWheelRadius readonly
894 * \brief MUST return Wheel Track in mm.
896 attribute UInt16 WheelTrack readonly
899 * \brief MUST return Antilock Brake System status: on = true, off = false.
901 attribute Boolean ABS readonly
905 interface org.automotive.Odometer extends VehiclePropertyType {
908 * \brief MUST return Distance traveled in km
910 /// Deprecated. Use DistanceTotal. Remove in 0.14
911 attribute UInt32 Odometer readonly
914 * \brief MUST return Distance traveled in m
916 attribute UInt32 DistanceTotal readonly
918 /*! DistanceSinceStart
919 * \brief MUST return Distance traveled since start in m
921 attribute UInt32 DistanceSinceStart readonly
925 interface org.automotive.Fluid extends VehiclePropertyType {
928 * \brief MUST return Transmission fluid level percentage. 0-100.
930 attribute UInt16 Transmission readonly
933 * \brief MUST return Brake fluid level percentage. 0-100.
934 * TODO: Deprecated. use BrakeMaintenance::FluidLevel Remove in 0.14
936 attribute UInt16 Brake readonly
939 * \brief MUST return Washer fluid level percentage. 0-100.
940 * TODO: Deprecated. use WasherFluid::Level. Remove in 0.14
942 attribute UInt16 Washer readonly
945 ///TODO: Deprecated. Use BatteryStatus. Remove in 0.14
946 interface org.automotive.Battery extends VehiclePropertyType {
949 * \brief MUST return battery voltage.
951 attribute Double Voltage readonly
954 * \brief MUST return battery current in Amperes
956 attribute Double Current readonly
959 interface org.automotive.BatteryStatus extends VehiclePropertyType {
962 * \brief MUST return battery voltage.
964 attribute UInt8 Voltage readonly
967 * \brief MUST return battery current in Amperes
969 attribute UInt8 Current readonly
972 * \brief MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
974 attribute UInt8 ChargeLevel readonly
978 interface org.automotive.Tire extends VehiclePropertyType {
981 * \brief MUST return tire pressure in kPa.
983 attribute UInt16 Pressure readonly
986 * \brief MUST return left front tire temperature in Celcius.
988 attribute Int16 Temperature readonly
991 * \brief MUST return true if any tire pressure is low: pressure low (true), pressure not low (false).
993 attribute Boolean PressureLow readonly
997 interface org.automotive.SecurityAlert extends VehiclePropertyType {
1000 * \brief MUST return
1002 attribute Boolean SecurityAlert readonly
1005 interface org.automotive.ParkingBrake extends VehiclePropertyType {
1008 * MUST return status of parking brake: Engaged = true, Disengaged = false.
1009 TODO: Deprecated in 0.14. Use Status
1011 attribute Boolean ParkingBrake readonly
1014 * \brief MUST return the current status of parking brake.
1016 attribute ParkingBrakeStatus Status;
1019 /// Deprecated. Use LightStatus. remove in 0.14
1020 interface org.automotive.ParkingLight extends VehiclePropertyType {
1023 * MUST return status of parking light: Engaged = true, Disengaged = false.
1025 attribute Boolean ParkingLight readonly
1028 /// Deprecated. Use LightStatus. remove in 0.14
1029 interface org.automotive.HazardLight extends VehiclePropertyType {
1032 * MUST return status of hazard light: Engaged = true, Disengaged = false.
1034 attribute Boolean HazardLight readonly
1038 interface org.automotive.AntilockBrakingSystem extends VehiclePropertyType {
1040 /*! AntilockBrakingSystem
1041 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
1042 * TODO: Deprecated. Use Engaged. Remove in 0.14
1044 attribute Boolean AntilockBrakingSystem readonly
1047 * \brief MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)
1049 attribute Boolean Enabled readonly;
1052 * \brief MUST return whether or not the ABS is engaged: engaged (true) or idle (false)
1054 attribute Boolean Engaged readonly;
1058 interface org.automotive.TractionControlSystem extends VehiclePropertyType {
1060 /*! TractionControlSystem
1061 * \brief MUST return whether Traction Control System is Off (false) or On (true)
1062 * TODO: Deprecated. Use Engaged. Remove in 0.14
1064 attribute Boolean TractionControlSystem readonly
1067 * \brief MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)
1069 attribute Boolean Enabled readonly;
1072 * \brief MUST return whether or not the TCS is engaged: engaged (true) or idle (false)
1074 attribute Boolean Engaged readonly;
1078 interface org.automotive.VehicleTopSpeedLimit extends VehiclePropertyType {
1080 /*! VehicleTopSpeedLimit
1081 * \brief MUST return top rated speed in km/h. 0 = no limit
1083 attribute UInt16 VehicleTopSpeedLimit readonly
1087 interface org.automotive.AirbagStatus extends VehiclePropertyType {
1090 * \brief MUST return Airbag status (byte) (see AIRBAGSTATUS_*)
1091 * TODO: deprecated. Remove in 0.14
1093 attribute UInt16 AirbagStatus readonly
1096 * \brief MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)
1098 attribute Boolean Activated readonly;
1101 * \brief MUST return whether the airbag is deployed: deployed (true) or not (false)
1103 attribute Boolean Deployed readonly;
1106 /// TODO: deprecated. Remove in 0.14
1107 enumeration AirbagStatus {
1114 * Deprecated. Use "Door". Remove in 0.14
1116 interface org.automotive.DoorStatus extends VehiclePropertyType {
1119 * \brief MUST return Door status (byte).
1124 attribute UInt16 DoorStatus readonly
1127 * \brief MUST return Door status (bool locked = true, unlocked = false).
1129 attribute Boolean DoorLockStatus;
1132 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1133 * Setting this to 'true' will prevent the rear doors from being opened
1136 ///TODO: Deprecated in 0.14. Use org.automotive.ChildLockStatus
1137 attribute Boolean ChildLockStatus;
1140 enumeration DoorStatus {
1146 interface org.automotive.Door extends VehiclePropertyType {
1149 * \brief MUST return Door status (byte). See DOORSTATUS_*
1151 attribute DoorStatus Status readonly
1154 * \brief MUST return Door status (bool locked = true, unlocked = false).
1156 attribute Boolean Lock;
1159 * \brief MUST return Child lock status of rear doors. active = true, inactive = false.
1160 * Setting this to 'true' will prevent the rear doors from being opened
1163 attribute Boolean ChildLock;
1166 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1167 interface org.automotive.SeatBelt extends VehiclePropertyType {
1170 * \brief MUST return Seat Belt Status (bool: Fasten = true, Unfastened = false)
1172 attribute Boolean Status readonly
1175 ///TODO: Deprecated in 0.14. Use org.automotive.Seat
1176 interface org.automotive.OccupantStatus extends VehiclePropertyType {
1179 * \brief MUST return status of Occupant (byte, see
1181 attribute UInt16 OccupantStatus readonly
1185 interface org.automotive.ObstacleDistance extends VehiclePropertyType {
1187 /*! ObstacleDistance
1188 * \brief MUST return Distance Sensor distance (Double) in m.
1190 attribute Double ObstacleDistance readonly
1194 interface org.automotive.NightMode extends VehiclePropertyType {
1197 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1198 * Deprecated. Will be removed in 0.14. Use "Mode"
1200 attribute Boolean NightMode readonly
1203 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1205 attribute Boolean Mode readonly
1209 interface org.automotive.DrivingMode extends VehiclePropertyType {
1212 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
1214 attribute UInt16 DrivingMode readonly
1217 * \brief MUST return true if vehicle is in driving mode
1219 attribute Boolean Mode readonly
1223 interface org.automotive.KeyId extends VehiclePropertyType {
1226 * \brief MUST return
1228 attribute String KeyId readonly
1231 interface org.automotive.Language extends VehiclePropertyType {
1234 * \brief MUST return
1236 attribute String Language readonly
1240 interface org.automotive.MeasurementSystem extends VehiclePropertyType {
1243 * \brief MUST return 0 = Metric, 1 = ImperialUS, 2 = ImperialUK
1245 attribute UInt16 MeasurementSystem readonly
1249 ///TODO Deprecated. Use org.automotive.Mirror. Remove in 0.14
1250 interface org.automotive.MirrorSetting extends VehiclePropertyType {
1253 * \brief MUST return
1255 attribute UInt8 Pan readonly
1256 attribute UInt8 Tilt readonly
1260 ///TODO Deprecated. Use org.automotive.SeadAdjustment. Remove in 0.14
1261 interface org.automotive.SeatPosition extends VehiclePropertyType {
1264 * \brief MUST return
1266 attribute UInt16 Recline readonly
1269 * \brief MUST return
1271 attribute UInt16 Slide readonly
1274 * \brief MUST return
1276 attribute UInt16 CushionHeight readonly
1279 * \brief MUST return
1281 attribute UInt16 Headrest readonly
1284 * \brief MUST return
1286 attribute UInt16 BackCushion readonly
1289 * \brief MUST return
1291 attribute UInt16 SideCushion readonly
1295 interface org.automotive.SteeringWheelPosition extends VehiclePropertyType {
1298 * \brief MUST return
1300 attribute UInt16 Tilt readonly
1303 * \brief MUST return
1305 attribute UInt16 Slide readonly
1309 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1312 * \brief MUST return
1314 attribute UInt16 DashboardIllumination readonly
1317 ///TODO Deprecated. Use org.automotive.VehicleSound. Remove in 0.14
1318 interface org.automotive.GeneratedVehicleSoundMode extends VehiclePropertyType {
1321 * \brief MUST return Sound Mode: 0 = Normal, 1 = Quiet, 2 = Sportive
1323 attribute UInt16 GeneratedVehicleSoundMode readonly
1327 /*! SteeringWheelAngle
1329 * Deprecated. Use SteeringWheel
1331 interface org.automotive.SteeringWheelAngle extends VehiclePropertyType {
1334 * \brief MUST return angle of the steering wheel. 0-359 degrees.
1336 attribute UInt16 SteeringWheelAngle readonly
1339 interface org.automotive.SteeringWheel extends VehiclePropertyType {
1342 * \brief MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)
1344 attribute Int16 Angle readonly
1348 interface org.automotive.ButtoneEvent extends VehiclePropertyType {
1351 * \brief MUST return button event:
1354 * SkipButton = 1 << 1,
1355 * PrevButton = 1 << 2,
1356 * PauseButton = 1 << 3,
1357 * Preset1Button = 1 << 4,
1358 * Preset2Button = 1 << 5,
1359 * Preset3Button = 1 << 6,
1360 * Preset4Button = 1 << 7,
1361 * StopButton = 1 << 8,
1362 * NavigateUpButton = 1 << 9,
1363 * NavigateDownButton = 1 << 10,
1364 * NavigateLeftButton = 1 << 11,
1365 * NavigateRightButton = 1 << 12
1367 attribute UInt32 ButtonEvent readonly
1371 interface org.automotive.DriverId extends VehiclePropertyType {
1374 * \brief MUST return driver ID. Driver Id is an abstract and can be determined
1375 * from multiple sources including bluetooth, key, key fob, etc.
1377 attribute String DriverId readonly
1380 interface org.automotive.ThrottlePosition extends VehiclePropertyType {
1383 * \brief MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)
1385 attribute Uint8 Value readonly
1388 interface org.automotive.EngineCoolant extends VehiclePropertyType {
1391 * \brief MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
1393 attribute Uint16 Level readonly
1396 * \brief MUST return engine coolant temperature (Unit: celcius)
1398 attribute Int16 Temperature readonly
1401 interface org.automotive.PowertrainTorque extends VehiclePropertyType {
1404 * \brief MUST return powertrain torque (Unit: newton meters)
1406 attribute UInt16 Value readonly
1409 interface org.automotive.AcceleratorPedalPosition extends VehiclePropertyType {
1412 * \brief MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)
1414 attribute UInt8 Value readonly
1417 interface org.automotive.WheelTick extends VehiclePropertyType {
1420 * \brief MUST return number of ticks per second (Unit: ticks per second)
1422 attribute UInt8 Value readonly
1425 interface IgnitionTime : VehicleCommonDataType {
1427 * \brief MUST return time at ignition on
1429 attribute UInt64 ignitionOnTime readonly
1432 * \brief MUST return time at ignition off
1434 attribute UInt64 ignitionOffTime readonly
1437 interface org.automotive.YawRate extends VehiclePropertyType {
1440 * \brief MUST return yaw rate of vehicle. (Unit: degrees per second)
1442 attribute Int16 Value readonly
1445 interface org.automotive.BrakeOperation extends VehiclePropertyType {
1448 * \brief MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
1450 attribute Boolean BrakePedalDepressed readonly
1458 end_call = "end_call",
1459 media_play = "media_play",
1460 media_next = "media_next",
1461 media_previous = "media_previous",
1462 media_pause = "media_pause",
1463 voice_recognize = "voice_recognize",
1471 enum ButtonEventType {
1473 long_press = "long_press",
1477 interface VehicleButton {
1479 * \brief MUST return the button corresponding to the event.
1481 attribute Button button readonly;
1484 * \brief MUST return the type of event
1486 attribute ButtonEventType state readonly;
1489 interface org.automotive.ButtonEvent extends VehiclePropertyType {
1492 * \brief MUST return the button events that occured. This supports multiple simultanious button events.
1494 attribute array Button of VehicleButton readonly;
1497 interface org.automotive.TransmissionOil extends VehiclePropertyType {
1500 * \brief MUST return current temperature of the transmission oil(Unit: celsius).
1502 attribute Int8 Temperature readonly;
1505 * \brief MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).
1507 attribute UInt8 Wear readonly;
1510 interface org.automotive.TransmissionClutch extends VehiclePropertyType {
1513 * \brief MUST return transmission clutch wear (Unit: percentage, 0: no wear, 100: completely worn).
1515 attribute UInt8 Wear readonly;
1518 interface org.automotive.BrakeMaintenance extends VehiclePropertyType {
1521 * \brief MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).
1523 attribute UInt8 PadWear readonly;
1526 * \brief MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).
1528 attribute UInt8 FluidLevel readonly;
1531 * \brief MUST return true if brake fluid level: low (true), not low (false)
1533 attribute Boolean FluidLevelLow readonly;
1536 * \brief MUST return true if brakes are worn: worn (true), not worn (false)
1538 attribute Boolean BrakesWorn readonly;
1541 interface org.automotive.WasherFluid extends VehiclePropertyType {
1544 * \brief MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).
1546 attribute UInt8 Level readonly;
1549 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1551 attribute Boolean LevelLow readonly;
1554 interface org.automotive.MalfunctionIndicator extends VehiclePropertyType {
1557 * \brief MUST return true if washer fluid level is low: low (true), not low: (false)
1559 attribute Boolean On readonly;
1562 interface org.automotive.Diagnostic extends VehiclePropertyType {
1565 * \brief MUST return engine runtime (Unit: seconds)
1567 attribute UInt32 AccumulatedEngineRuntime readonly;
1570 * \brief MUST return distance travelled since the codes were last cleared (Unit: meters)
1572 attribute UInt32 DistanceSinceCodeCleared readonly;
1575 * \brief MUST return distance travelled with the malfunction indicator light on (Unit: meters)
1577 attribute UInt32 DistanceWithMILOn readonly;
1580 * \brief MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
1582 attribute UInt32 TimeRunMILOn readonly;
1585 * \brief MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)
1587 attribute UInt32 TimeTroubleCodeClear readonly;
1590 interface org.automotive.Mirror extends VehiclePropertyType {
1593 * \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)
1595 attribute UInt8 MirrorPan;
1598 * \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)
1600 attribute UInt8 MirrorTilt;
1603 interface org.automotive.SeatAdjustment extends VehiclePropertyType {
1606 * \brief MUST return seat back recline position as percent to completely reclined (Unit: percentage, 0%: fully forward, 100%: fully reclined)
1608 attribute UInt8 ReclineSeatBack;
1611 * \brief MUST return seat slide position as percentage of distance travelled away from forwardmost position (Unit: percentage, 0%: farthest forward, 100%: farthest back)
1613 attribute UInt8 SeatSlide;
1616 * \brief MUST return seat cushion height position as a percentage of upward distance travelled (Unit: percentage, 0%:lowest. 100%:highest)
1618 attribute UInt8 SeatCushionHeight;
1621 * \brief MUST return headrest position as a percentage of upward distance travelled (Unit: percentage, 0%: lowest, 100%: highest)
1623 attribute UInt8 SeatHeadrest;
1626 * \brief MUST return back cushion position as a percentage of lumbar curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1628 attribute UInt8 SeatBackCushion;
1631 * \brief MUST return sides of back cushion position as a percentage of curvature (Unit: percentage, 0%: flat, 100%: maximum curvature)
1633 attribute UInt8 SeatSideCushion;
1636 enum DriveModeType {
1637 comfort = "comfort",
1645 interface org.automotive.DriveMode extends VehiclePropertyType {
1647 * \brief MUST return vehicle drive mode. See http://w3c.github.io/automotive-bg/data_spec.html#idl-def-DriveModeEnum
1649 attribute DriveModeType DriveMode;
1652 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1654 * \brief MUST return illumination of dashboard as a percentage (Unit: percentage, 0%: none, 100%: maximum illumination)
1656 attribute UInt8 DashboardIllumination;
1659 interface org.automotive.VehicleSound extends VehiclePropertyType {
1661 * \brief MUST return active noise control status: not-activated (false), activated (true)
1663 attribute Boolean ActiveNoiseControlMode;
1666 * \brief MUST return active noise control status: not-activated (false), activated (true)
1668 attribute Boolean EngineSoundEnhancementMode;
1671 * \brief MUST return array of available sounds. See EngineSoundEnhancementMode
1673 attribute array EngineSoundEnhancementMode of String readonly;
1676 interface org.automotive.ElectronicStabilityControl extends VehiclePropertyType {
1678 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1680 attribute Boolean Enabled readonly;
1683 * \brief MUST return whether or not the ESC is engaged: engaged (true) or idle (false)
1685 attribute Boolean Engaged readonly;
1688 interface org.automotive.TopSpeedLimit extends VehiclePropertyType {
1690 * \brief MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
1692 attribute UInt16 Speed readonly;
1695 interface org.automotive.ChildSafetyLock extends VehiclePropertyType {
1697 * \brief MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)
1699 attribute Boolean Lock;
1702 enum OccupantStatus {
1708 enum IdentificationTypeEnum {
1711 Bluetooth = "Bluetooth",
1713 fingerprint = "fingerprint",
1718 interface org.automotive.Seat extends VehiclePropertyType {
1720 * \brief MUST return the status of seat occupant
1722 attribute OccupantStatus Occupant;
1725 * \brief MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
1727 attribute Boolean SeatBelt;
1730 * \brief MUST return occupant identifier
1732 attribute String OccupantName;
1735 * \brief MUST return identification type
1737 attribute IdentificationTypeEnum IdentificationType;
1740 interface org.automotive.AtmosphericPressure extends VehiclePropertyType {
1742 * \brief MUST return the current atmospheric pressure outside of the vehicle (Unit: hectopascal)
1744 attribute UInt16 Pressure;
1747 enum LaneDepartureStatus {
1753 interface org.automotive.LaneDepartureDetection extends VehiclePropertyType {
1755 * \brief MUST return current status of Lane departure warning function.
1757 attribute LaneDepartureStatus Status readonly;
1761 disarmed = "disarmed",
1762 prearmed = "prearmed",
1767 interface org.automotive.Alarm extends VehiclePropertyType {
1769 * \brief MUST return the current status of vehicle Alarm System.
1771 attribute AlarmStatus Status;
1774 enum ParkingBrakeStatus {
1775 inactive = "inactive",