Updating a navigation session
Once a navigation session has been created and a subscription is running, more data can be provided to update the navigation session. Based on locations and telemetry data, Chargetrip optimizes the route.
Mutation
To update a navigation session an id and array of location_data
need to be provided. The telemetry
input is optional but including it will result in better consumption predictions and more accurate routing. If the mutation executed succesfully, OK
will be returned on the data object. The updates itself will be reflected on the navigationUpdatedById
subscription or the navigation
query. When using a query, please be aware that changes can take a little while to process.
Locations data heartbeat
The location_data
array requires at least one location. If Mapbox is used as a data provider, periodical updates are received that can be stored in a local cache. Alternatively, location can be stored every 5 or 10 seconds depending on the vehicle speed.
Sending the vehicle location at least every 5 minutes is recommended.
Telemetry data
Next to location data, telemetry data is accepted. This is real-time data coming directly from the vehicle. Obtaining this data can be done via the Connect platform as described here.
Telemetry data might include the current heading
of the vehicle, state_of_charge
, tire_pressure
or is_charging
state of the vehicle. The state_of_charge
can be used for sending a new state of charge value after charging at the station or to confirm rolling predictions by sending intermittend state of charge values. Tire pressure can be used to more accurately do range predictions and by using the charging state of the vehicle, visual updates can be presented.
An overview of accepted / recommended telemetry fields is displayed here. Chargetrip can easily add additional custom telemetry inputs such as; heat pumps, active weight, refrigeration, PV etc. To learn more, contact sales@chargetrip.com or your customer success representative.
Arguments
input • NavigationUpdateInput
• Required
Navigation update input
Response
A response can either contain a data
or an
errors
object. The response header will always return
200
as a status code.
Data object
When successful, a data
object will be returned with the
requested fields. If there are no fields present the
data
object will return the operation name with the
appropriate return type. If the operation was a query, this output
will be an object of the schema’s query root type; if the operation
was a mutation, this output will be an object of the schema’s mutation
root type.
Error object
If unsuccessful, an errors
object will be returned with
more details in the extensions
object. The error object
can contain any of the following objects.
EMPTY_ARRAY_NOT_ALLOWED
Array $NAME should have at least one value
INVALID_COORDINATES
Coordinates provided for $LOCATION are not valid.
INVALID_UNIT
Provided unit type $TYPE for $LOCATION is not valid.
INVALID_VALUE
Provided value $VALUE for $LOCATION is not valid. Expected value of type $EXPECTEDTYPE.
NAVIGATION_HEADING_INVALID
Heading should be a value between 0 and 360
NAVIGATION_LOCATION_INVALID
One or more locations sent are invalid
NAVIGATION_LOCATIONS_MINIMUM_LENGTH
You should send us at least one location
NAVIGATION_TELEMETRY_INVALID
Field $TELEMETRYTYPE cannot be negative
NEGATIVE_VALUE_NOT_ALLOWED
Negative value for $LOCATION is not allowed.
OCCUPANTS_BELOW_ALLOWED
Provided number of occupants for $LOCATION is not valid. The value must be at least 1.
TIRE_PRESSURE_BELOW_ALLOWED
Provided tire pressure is not valid. The value must be at least 1.
ZERO_OR_NEGATIVE_VALUE_NOT_ALLOWED
Zero or negative value for $LOCATION is not allowed.