Skip to content

Latest commit

 

History

History
81 lines (46 loc) · 3.72 KB

README.md

File metadata and controls

81 lines (46 loc) · 3.72 KB

AutoAPI

Auto API The Auto API specification is an open source vehicle data model built for the purpose of providing a consistent data protocol for communication between cars and external 3rd party services.

Table of contents

Overview

Capabilities

The API is divided into capabilities that group together APIs with similar semantics.
The .yml spec files define each capability (API).

A capability could have:

  • state - transmitted from the vehicle to a connected device
  • getters - requesting information from the vehicle
  • setters - sending commands to the vehicle

Every capability defines a set of properties that are grouped together to create the API components (commands) above.

Properties

Properties are used as the basic building blocks to transmit data and can additionally consist of failure and/or timestamp components.

Each property defines itself with:

  • identifier - property ID that's unique in a capability (also used to request specific data from the vehicle)
  • size - size of the components
  • components... - like data and timestamp

Please find more info about the properties in the spec.

Features

Generatable: From version L11, the spec is written to encourage automatic generation of platform native libs (by creating a parser for that).

Dynamic: The definitions can be easily updated and dependent libs regenerated. When only adding capabilities and properties - older libs-parsers work as before.

Modular: The data flow is designed to be modular, while still trying to keep the package size small for the benefit of low-bandwith connections.

Getting started

Check out the spec for more details on the structure and logic, or some libs generatated on this spec: iOS, Android, Elixir.

Documentation

Documentation at high-mobility.com is also generated based on this spec and combines all the information into a more readable form.
When not implementing this spec directly, the site above is recommended as the main reference point to the API.

Some capabilities to check out from there: Charging, Doors, Vehicle Location and Vehicle Status.

Contributing

We would love to accept your patches and contributions to this project. Before getting to work, please first discuss the changes that you wish to make with us via GitHub Issues, Spectrum or Slack.

See more in CONTRIBUTING.md

License

This repository is using MIT license. See more in LICENSE