This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Use Cases
Is Velocitas for me? How does Velocitas help?
Velocitas offers a scalable and modular development toolchain for creating containerized Vehicle Applications that offers a easy to use, fast and efficient development experience to increase the velocity of your development team.
This Vehicle Apps are implemented on top of a Vehicle Model (which is generated from the underlying semantic models like VSS for a concrete programming language) and its underlying language-specific SDK to provide headless comfort functions or connected application functions like Seat Adjuster, Dog Mode, Trunk Delivery or Data Logging & triggering.

Examples
1 - Seat Adjuster
Provides option to request a new seat position and to publish the current seat position
Imagine a car sharing company that wants to offer its customers the functionality that the driver seat automatically moves to the right position, when the driver enters the rented car. The car sharing company knows the driver and has stored the preferred seat position of the driver in its driver profile. The car gets unlocked by the driver and a request for the preferred seat position of the driver will be sent to the vehicle. That’s where your implementation starts.
The Seat Adjuster Vehicle App receives the seat position as an MQTT message and triggers a seat adjustment command of the Seat Service that changes the seat position. Of course, the driver of a rented car would like the position, that he may have set himself, to be saved by the car sharing company and used for the next trip. As a result, the Seat Adjuster Vehicle App subscribes to the seat position and receives the new seat position from the Data Broker that streams the data from the Seat Service.
Requesting new seat position

- The Customer requests the change of the seat position as MQTT message on the topic
seatadjuster/setPosition/request
with the payload:
{"requestId": 42, "position": 300}
- The Seat Adjuster Vehicle App that has subscribed to this topic, receives the request to change the seat position as a MQTT message.
- The Seat Adjuster Vehicle App gets the current vehicle speed from the data broker, which is fed by the CAN Feeder (KUKSA DBC Feeder).
- With the support of the Vehicle App SDK, the Seat Adjuster Vehicle App triggers a seat adjustment command of the Seat Service via gRPC in the event that the speed is equal to zero. Hint: This is a helpful convenience check but not a safety check.
- The Seat Service moves the seat to the new position via CAN messages.
- The Seat Service returns OK or an error code as grpc status to the Seat Adjuster Vehicle App.
- If everything went well, the Seat Adjuster Vehicle App returns a success message for the topic
seatadjuster/setPosition/response
with the payload:
{"requestId": 42, "status": 0 }
Otherwise, an error message will be returned:
{"requestId": 42, "status": 1, "message": "<error message>" }
- This success or error message will be returned to the Customer.
Publishing current seat position

- If the seat position will be changed by the driver, the new seat position will be sent to the Seat Service via CAN.
- The Seat Service streams the seat position via gRPC to the KUKSA Data Broker since it was registered beforehand.
- The Seat Adjuster Vehicle App that subscribed to the seat position receives the new seat position from the KUKSA Data Broker as a result.
- The Seat Adjuster Vehicle App publishes this on topic
seatadjuster/currentPosition
with the payload:
- The Customer who has subscribed to this topic retrieves the new seat position and can store this position to use it for the next trip.
Example Code
You can find an example implementation of a Seat Adjuster vehicle application here:
Seat Adjuster
2 - Dog Mode
Climate control app that allows drivers to leave their vehicles while keeping the air conditioning system of the vehicle active for their pets.
The Dog Mode Vehicle App consists of the following key features:
- Request the vehicle’s Heating, Ventilation, and Air Conditioning (HVAC) service to turn the Air Conditioning (AC) ON/OFF
- The driver can adjust the temperature for a specific degree
- The Vehicle App observe the current temperature and the battery’s state of charge and react accordingly
- The driver/owner will be notified whenever the state of the charge drops below a certain value
Example Code
You can find an example implementation of a dog mode vehicle application here:
Dog Mode