mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 23:22:02 +01:00
612 lines
19 KiB
Protocol Buffer
612 lines
19 KiB
Protocol Buffer
|
syntax = "proto3";
|
|||
|
package proto;
|
|||
|
//import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|||
|
import "gogo.proto";
|
|||
|
import "google/protobuf/wrappers.proto";
|
|||
|
|
|||
|
option (gogoproto.goproto_enum_prefix_all) = true;
|
|||
|
option java_package = "com.daimler.mbcarkit.proto";
|
|||
|
|
|||
|
// Acknowledge the CommandRequest reached the apptwin actor
|
|||
|
// Websocket <- Apptwin
|
|||
|
message AcknowledgeCommandRequest {
|
|||
|
string request_id = 1;
|
|||
|
}
|
|||
|
|
|||
|
// After the command was issued at VVA based on this
|
|||
|
// command request the call will get a command request
|
|||
|
// correlation message which matches the request id
|
|||
|
// with the process id.
|
|||
|
// Sending direction: App - BFF -> AppTwin
|
|||
|
message CommandRequest {
|
|||
|
string vin = 1;
|
|||
|
|
|||
|
// Set this id to correlate a CommandStatus
|
|||
|
// with this command request.
|
|||
|
string request_id = 7;
|
|||
|
|
|||
|
// Temporary backend switch field. Will be removed as soon as all commands are migrated to the VehicleAPI
|
|||
|
// This field only needs to be set if the command is supported by both API from our backend. If this field is removed
|
|||
|
// don't forget to set the field 36 to reserved.
|
|||
|
enum Backend {
|
|||
|
VVA = 0; // default value
|
|||
|
VehicleAPI = 1;
|
|||
|
}
|
|||
|
Backend backend = 36;
|
|||
|
|
|||
|
oneof command {
|
|||
|
AuxheatStart auxheat_start = 2;
|
|||
|
AuxheatStop auxheat_stop = 3;
|
|||
|
AuxheatConfigure auxheat_configure = 4;
|
|||
|
|
|||
|
DoorsLock doors_lock = 5;
|
|||
|
DoorsUnlock doors_unlock = 6;
|
|||
|
|
|||
|
SunroofOpen sunroof_open = 9;
|
|||
|
SunroofClose sunroof_close = 10;
|
|||
|
SunroofLift sunroof_lift = 11;
|
|||
|
SunroofMove sunroof_move = 47;
|
|||
|
|
|||
|
WindowsOpen windows_open = 12;
|
|||
|
WindowsClose windows_close = 13;
|
|||
|
WindowsVentilate windows_ventilate = 43;
|
|||
|
WindowsMove windows_move = 44;
|
|||
|
|
|||
|
EngineStart engine_start = 19;
|
|||
|
EngineStop engine_stop = 20;
|
|||
|
|
|||
|
ZEVPreconditioningStart zev_preconditioning_start = 21;
|
|||
|
ZEVPreconditioningStop zev_preconditioning_stop = 22;
|
|||
|
ZEVPreconditioningConfigure zev_precondition_configure = 25;
|
|||
|
ZEVPreconditioningConfigureSeats zev_precondition_configure_seats = 26;
|
|||
|
|
|||
|
SpeedalertStart speedalert_start = 23;
|
|||
|
SpeedalertStop speedalert_stop = 24;
|
|||
|
|
|||
|
BatteryChargeProgramConfigure battery_charge_program = 27;
|
|||
|
BatteryMaxSocConfigure battery_max_soc = 28;
|
|||
|
|
|||
|
ChargeProgramConfigure charge_program_configure = 34;
|
|||
|
ChargeControlConfigure charge_control_configure = 40;
|
|||
|
|
|||
|
ChargeOptConfigure charge_opt_configure = 29;
|
|||
|
ChargeOptStart charge_opt_start = 30;
|
|||
|
ChargeOptStop charge_opt_stop = 31;
|
|||
|
|
|||
|
TemperatureConfigure temperature_configure = 32;
|
|||
|
|
|||
|
WeekProfileConfigure week_profile_configure = 33;
|
|||
|
WeekProfileConfigureV2 week_profile_configure_v2 = 41;
|
|||
|
|
|||
|
SigPosStart sigpos_start = 35;
|
|||
|
|
|||
|
TheftalarmConfirmDamagedetection theftalarm_confirm_damagedetection = 8;
|
|||
|
TheftalarmDeselectDamagedetection theftalarm_deselect_damagedetection= 14;
|
|||
|
TheftalarmDeselectInterior theftalarm_deselect_interior = 15;
|
|||
|
TheftalarmDeselectTow theftalarm_deselect_tow = 16;
|
|||
|
TheftalarmSelectDamagedetection theftalarm_select_damagedetection = 17;
|
|||
|
TheftalarmSelectInterior theftalarm_select_interior = 18;
|
|||
|
TheftalarmSelectTow theftalarm_select_tow = 37;
|
|||
|
TheftalarmStart theftalarm_start = 38;
|
|||
|
TheftalarmStop theftalarm_stop = 39;
|
|||
|
|
|||
|
AutomaticValetParkingActivate automatic_valet_parking_activate = 42;
|
|||
|
|
|||
|
ChargeFlapUnlock charge_flap_unlock = 45;
|
|||
|
ChargeCouplerUnlock charge_coupler_unlock = 46;
|
|||
|
|
|||
|
DeactivateVehicleKeys deactivate_vehicle_keys = 48;
|
|||
|
ActivateVehicleKeys activate_vehicle_keys = 49;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
message DeactivateVehicleKeys {
|
|||
|
string pin = 1;
|
|||
|
|
|||
|
int64 expiration_unix = 2;
|
|||
|
|
|||
|
string expiration_seconds = 3 [ json_name = "expirationSeconds" ];
|
|||
|
string expiration_milliseconds = 4 [ json_name = "expirationMilliseconds" ];
|
|||
|
}
|
|||
|
|
|||
|
message ActivateVehicleKeys {
|
|||
|
string pin = 1;
|
|||
|
|
|||
|
int64 expiration_unix = 2;
|
|||
|
|
|||
|
string expiration_seconds = 3 [ json_name = "expirationSeconds" ];
|
|||
|
string expiration_milliseconds = 4 [ json_name = "expirationMilliseconds" ];
|
|||
|
}
|
|||
|
|
|||
|
message AuxheatStart {}
|
|||
|
message AuxheatStop {}
|
|||
|
message AuxheatConfigure {
|
|||
|
|
|||
|
enum Selection {
|
|||
|
NO_SELECTION = 0;
|
|||
|
TIME_1 = 1;
|
|||
|
TIME_2 = 2;
|
|||
|
TIME_3 = 3;
|
|||
|
}
|
|||
|
|
|||
|
Selection time_selection = 1 [ json_name = "auxheattimeselection" ];
|
|||
|
|
|||
|
// Minutes from midnight.
|
|||
|
int32 time_1 = 2 [ json_name = "auxheattime1" ];
|
|||
|
|
|||
|
// Minutes from midnight.
|
|||
|
int32 time_2 = 3 [ json_name = "auxheattime2" ];
|
|||
|
|
|||
|
// Minutes from midnight.
|
|||
|
int32 time_3 = 4 [ json_name = "auxheattime3" ];
|
|||
|
}
|
|||
|
|
|||
|
enum Door {
|
|||
|
// the JSON enum values are lowercase, but lowercase values are not exported in golang, so
|
|||
|
// we allow aliasing all values.
|
|||
|
option allow_alias = true;
|
|||
|
|
|||
|
// the lowercase versions are for json (de)serialization purposes only. The upper case version should be the preferred
|
|||
|
// enum values to be used in code.
|
|||
|
// These definitions need to come before upper case versions
|
|||
|
unknown_door = 0;
|
|||
|
frontleft = 1;
|
|||
|
frontright = 2;
|
|||
|
rearleft = 3;
|
|||
|
rearright = 4;
|
|||
|
trunk = 5;
|
|||
|
fuelflap = 6;
|
|||
|
chargeflap = 7;
|
|||
|
chargecoupler = 8;
|
|||
|
|
|||
|
UNKNOWN_DOOR = 0;
|
|||
|
FRONT_LEFT = 1;
|
|||
|
FRONT_RIGHT = 2;
|
|||
|
REAR_LEFT = 3;
|
|||
|
REAR_RIGHT = 4;
|
|||
|
TRUNK = 5;
|
|||
|
FUEL_FLAP = 6;
|
|||
|
CHARGE_FLAP = 7;
|
|||
|
CHARGE_COUPLER = 8;
|
|||
|
}
|
|||
|
|
|||
|
message DoorsLock {
|
|||
|
// doors / flaps to unlock (only supported by TCU type RAMSES)
|
|||
|
// leave empty to target all doors
|
|||
|
repeated Door doors = 1;
|
|||
|
}
|
|||
|
|
|||
|
message DoorsUnlock {
|
|||
|
string pin = 1;
|
|||
|
// doors / flaps to unlock (only supported by TCU type RAMSES)
|
|||
|
// leave empty to target all doors
|
|||
|
repeated Door doors = 2;
|
|||
|
}
|
|||
|
|
|||
|
message EngineStart {
|
|||
|
string pin = 1;
|
|||
|
}
|
|||
|
|
|||
|
message EngineStop {}
|
|||
|
|
|||
|
message SunroofOpen {
|
|||
|
string pin = 1;
|
|||
|
}
|
|||
|
message SunroofClose {}
|
|||
|
message SunroofLift {
|
|||
|
string pin = 1;
|
|||
|
}
|
|||
|
|
|||
|
message SunroofMove {
|
|||
|
string pin = 1;
|
|||
|
google.protobuf.Int32Value sunroof = 2 [ json_name = "sunroof" ];
|
|||
|
google.protobuf.Int32Value sunroof_blind_front = 3 [ json_name = "sunroofblindfront" ];
|
|||
|
google.protobuf.Int32Value sunroof_blind_rear = 4 [ json_name = "sunroofblindrear" ];
|
|||
|
}
|
|||
|
|
|||
|
message WindowsOpen {
|
|||
|
string pin = 1;
|
|||
|
}
|
|||
|
message WindowsClose {}
|
|||
|
|
|||
|
message WindowsVentilate {
|
|||
|
string pin = 1;
|
|||
|
}
|
|||
|
|
|||
|
message WindowsMove {
|
|||
|
string pin = 1;
|
|||
|
google.protobuf.Int32Value front_left = 2 [ json_name = "windowfrontleft" ];
|
|||
|
google.protobuf.Int32Value front_right = 3 [ json_name = "windowfrontright" ];
|
|||
|
google.protobuf.Int32Value rear_blind = 4 [ json_name = "windowrearblind" ];
|
|||
|
google.protobuf.Int32Value rear_left = 5 [ json_name = "windowrearleft" ];
|
|||
|
google.protobuf.Int32Value rear_left_blind = 6 [ json_name = "windowrearleftblind" ];
|
|||
|
google.protobuf.Int32Value rear_right = 7 [ json_name = "windowrearright" ];
|
|||
|
google.protobuf.Int32Value rear_right_blind = 8 [ json_name = "windowrearrightblind" ];
|
|||
|
}
|
|||
|
|
|||
|
message SpeedalertStart {
|
|||
|
int32 threshold = 1 [ json_name = "speedAlertThreshold" ];
|
|||
|
int64 alert_end_time = 2 [ json_name = "speedAlertEndTime" ];
|
|||
|
}
|
|||
|
message SpeedalertStop {}
|
|||
|
|
|||
|
// --- Vehicle API commands
|
|||
|
|
|||
|
enum ZEVPreconditioningType {
|
|||
|
// the JSON enum values are lowercase, but lowercase values are not exported in golang, so
|
|||
|
// we allow aliasing all values.
|
|||
|
option allow_alias = true;
|
|||
|
|
|||
|
// the lowercase versions are for json parsing purposes only. The upper case version should be the preferred
|
|||
|
// enum values to be used in code.
|
|||
|
// These definitions need to come before upper case versions
|
|||
|
unknown_zev_preconditioning_command_type = 0;
|
|||
|
immediate = 1;
|
|||
|
departure = 2;
|
|||
|
now = 3;
|
|||
|
departureWeekly = 4;
|
|||
|
|
|||
|
// the uppercase versions are here to have exported values
|
|||
|
// The given preconditioning command type is unknown
|
|||
|
UNKNOWN_ZEV_PRECONDITIONING_COMMAND_TYPE = 0;
|
|||
|
|
|||
|
// starts immediate preconditioning
|
|||
|
IMMEDIATE = 1;
|
|||
|
|
|||
|
// starts preconditioning at departure time (requires a departure time to be provided in ZEVPreconditioningStart)
|
|||
|
DEPARTURE = 2;
|
|||
|
|
|||
|
// start right away (departure time is ignored)
|
|||
|
NOW = 3;
|
|||
|
|
|||
|
// starts preconditioning for a configured weekly profile (does NOT require a departure time to be provided)
|
|||
|
DEPARTURE_WEEKLY = 4;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
message ZEVPreconditioningStart {
|
|||
|
int32 departure_time = 1 [ json_name = "departuretime" ];
|
|||
|
ZEVPreconditioningType type = 2 [ json_name = "type" ];
|
|||
|
}
|
|||
|
|
|||
|
message ZEVPreconditioningStop { ZEVPreconditioningType type = 2 [ json_name = "type" ]; }
|
|||
|
|
|||
|
// Configure preconditioning
|
|||
|
message ZEVPreconditioningConfigure {
|
|||
|
enum DepartureTimeMode {
|
|||
|
DISABLED = 0;
|
|||
|
SINGLE_DEPARTURE = 1;
|
|||
|
WEEKLY_DEPARTURE = 2;
|
|||
|
}
|
|||
|
DepartureTimeMode departure_time_mode = 1 [ json_name = "departureTimeMode" ];
|
|||
|
|
|||
|
int32 departure_time = 3 [ json_name = "departuretime" ];
|
|||
|
}
|
|||
|
|
|||
|
// Configure which seats should be preconditioned.
|
|||
|
// Currently, the only available options are to precondition all seats or only the front-left seat
|
|||
|
message ZEVPreconditioningConfigureSeats {
|
|||
|
bool front_left = 1 [ json_name = "precondSeatFrontLeft" ];
|
|||
|
bool front_right = 2 [ json_name = "precondSeatFrontRight" ];
|
|||
|
bool rear_left = 3 [ json_name = "precondSeatRearLeft" ];
|
|||
|
bool rear_right = 4 [ json_name = "precondSeatRearRight" ];
|
|||
|
}
|
|||
|
|
|||
|
// Configure the charge program
|
|||
|
message BatteryChargeProgramConfigure {
|
|||
|
enum ChargeProgram {
|
|||
|
DEFAULT = 0;
|
|||
|
INSTANT = 1;
|
|||
|
}
|
|||
|
ChargeProgram charge_program = 1 [ json_name = "chargeprogram" ];
|
|||
|
}
|
|||
|
|
|||
|
// Configure the maximum value for the state of charge of the HV battery
|
|||
|
message BatteryMaxSocConfigure {
|
|||
|
// Values need to be between 50 and 100 and divisible by ten
|
|||
|
int32 max_soc = 1 [ json_name = "maxsoc" ];
|
|||
|
}
|
|||
|
|
|||
|
// Select the given charge program and enables the consumer to configure it.
|
|||
|
message ChargeProgramConfigure {
|
|||
|
enum ChargeProgram {
|
|||
|
DEFAULT_CHARGE_PROGRAM = 0;
|
|||
|
// Instant charge program should not be used
|
|||
|
// INSTANT_CHARGE_PROGRAM = 1;
|
|||
|
HOME_CHARGE_PROGRAM = 2;
|
|||
|
WORK_CHARGE_PROGRAM = 3;
|
|||
|
}
|
|||
|
ChargeProgram charge_program = 1 [ json_name = "chargeprogram" ];
|
|||
|
|
|||
|
// Values need to be between 50 and 100 and divisible by ten
|
|||
|
// Maximum value for the state of charge of the HV battery [in %].
|
|||
|
// Valid value range = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
|
|||
|
google.protobuf.Int32Value max_soc = 2 [ json_name = "maxsoc" ];
|
|||
|
|
|||
|
// unlock the plug after charging is finished
|
|||
|
// Denotes whether the charge cable should be unlocked automatically if the HV battery is fully charged resp. charged til Max. SoC value.
|
|||
|
// true - unlock automatically, false - do not unlock automatically
|
|||
|
// can only be used if chargeprogram is set to home or work. Otherwise it will be ignored.
|
|||
|
google.protobuf.BoolValue auto_unlock = 3 [ json_name = "autounlock" ];
|
|||
|
|
|||
|
// automatically switch between home and work program, based on the location of the car
|
|||
|
// Denotes whether location based charging should be used.
|
|||
|
// true - use location based charging, false - do not use location based charging
|
|||
|
// can only be used if chargeprogram is set to home or work. Otherwise it will be ignored.
|
|||
|
google.protobuf.BoolValue location_based_charging = 4 [ json_name = "locationbasedcharging" ];
|
|||
|
|
|||
|
// enable or disable week-profile
|
|||
|
// Denotes whether weekly profile (aka. weekprofile) should be used.
|
|||
|
// true - use weekly profile, false - do not use weekly profile
|
|||
|
// The parameter weekprofile should not be used.
|
|||
|
// google.protobuf.BoolValue weekly_profile = 5 [ json_name = "weeklyprofile" ];
|
|||
|
|
|||
|
// enable or disable clocktimer
|
|||
|
google.protobuf.BoolValue clock_timer = 6 [ json_name = "clocktimer" ];
|
|||
|
|
|||
|
// enable or disable ecocharging
|
|||
|
google.protobuf.BoolValue eco_charging = 7 [ json_name = "ecocharging" ];
|
|||
|
}
|
|||
|
|
|||
|
// This is an experimental command
|
|||
|
message ChargeControlConfigure {
|
|||
|
// Enables/Disables bidrectional charging
|
|||
|
google.protobuf.BoolValue bi_charging_enabled = 1 [ json_name = "bidichargingenabled" ];
|
|||
|
|
|||
|
// Sets the charging power in kW with a resolution of 0.1 kW. The value has an offset of -100 kW. So
|
|||
|
// a value of 0 is equivalent to -100 kW.
|
|||
|
google.protobuf.FloatValue charging_power = 2 [ json_name = "chargingpower" ];
|
|||
|
|
|||
|
// must not be above max_soc
|
|||
|
google.protobuf.Int32Value min_soc = 3 [ json_name = "minsoc" ];
|
|||
|
}
|
|||
|
|
|||
|
// Provide functionality to initiate a charge optimization configuration
|
|||
|
message ChargeOptConfigure {
|
|||
|
message Tariff {
|
|||
|
enum Rate {
|
|||
|
INVALID_PRICE = 0;
|
|||
|
LOW_PRICE = 33;
|
|||
|
NORMAL_PRICE = 44;
|
|||
|
HIGH_PRICE = 66;
|
|||
|
}
|
|||
|
Rate rate = 1 [ json_name = "rate" ];
|
|||
|
// Time in seconds after 00:00
|
|||
|
int32 time = 2 [ json_name = "time" ];
|
|||
|
}
|
|||
|
|
|||
|
repeated Tariff weekday_tariff = 1 [ json_name = "weekdaytariff" ];
|
|||
|
repeated Tariff weekend_tariff = 2 [ json_name = "weekendtariff" ];
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to start the charge optimization function in the vehicle
|
|||
|
message ChargeOptStart {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to stop the charge optimization function in the vehicle
|
|||
|
message ChargeOptStop {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Set the temperature points of the vehicle
|
|||
|
message TemperatureConfigure {
|
|||
|
message TemperaturePoint {
|
|||
|
reserved 2;
|
|||
|
|
|||
|
enum Zone {
|
|||
|
// the JSON enum values are lowercase, but lowercase values are not exported in golang, so
|
|||
|
// we allow aliasing all values.
|
|||
|
option allow_alias = true;
|
|||
|
|
|||
|
// the lowercase versions are for json parsing purposes only. The upper case version should be the preferred
|
|||
|
// enum values to be used in code.
|
|||
|
// These definitions need to come before upper case versions
|
|||
|
unknown = 0;
|
|||
|
frontLeft = 1;
|
|||
|
frontRight = 2;
|
|||
|
frontCenter = 3;
|
|||
|
rearLeft = 4;
|
|||
|
rearRight = 5;
|
|||
|
rearCenter = 6;
|
|||
|
rear2Left = 7;
|
|||
|
rear2Right = 8;
|
|||
|
rear2Center = 9;
|
|||
|
// PLEASE BE AWARE OF THE FOLLOWING BEFORE ADDING NEW ZONES:
|
|||
|
// Currently there is a bug in vehicle API, that we need to send the zones in the correct order. Otherwise the request will be rejected.
|
|||
|
// The order needs to be like the following:
|
|||
|
// Front before rear before rear2
|
|||
|
// Left before right - There is no center zone if there are left and right zones in this row
|
|||
|
// As this is already the order like specified here, this needs to be considered on adding new zones.
|
|||
|
|
|||
|
UNKNOWN_ZONE = 0;
|
|||
|
FRONT_LEFT = 1;
|
|||
|
FRONT_RIGHT = 2;
|
|||
|
FRONT_CENTER = 3;
|
|||
|
REAR_LEFT = 4;
|
|||
|
REAR_RIGHT = 5;
|
|||
|
REAR_CENTER = 6;
|
|||
|
REAR_2_LEFT = 7;
|
|||
|
REAR_2_RIGHT = 8;
|
|||
|
REAR_2_CENTER = 9;
|
|||
|
// PLEASE BE AWARE OF THE FOLLOWING BEFORE ADDING NEW ZONES:
|
|||
|
// Currently there is a bug in vehicle API, that we need to send the zones in the correct order. Otherwise the request will be rejected.
|
|||
|
// The order needs to be like the following:
|
|||
|
// Front before rear before rear2
|
|||
|
// Left before right - There is no center zone if there are left and right zones in this row
|
|||
|
// As this is already the order like specified here, this needs to be considered on adding new zones.
|
|||
|
}
|
|||
|
Zone zone = 1 [ json_name = "zone" ];
|
|||
|
|
|||
|
double temperature_in_celsius = 3 [ json_name = "temp" ];
|
|||
|
}
|
|||
|
|
|||
|
repeated TemperaturePoint temperature_points = 1 [ json_name = "temperaturePoints" ];
|
|||
|
}
|
|||
|
|
|||
|
// Set the weekprofile for the weekly departure time settings
|
|||
|
message WeekProfileConfigure {
|
|||
|
message WeeklySetHU {
|
|||
|
enum Day {
|
|||
|
MONDAY = 0;
|
|||
|
TUESDAY = 1;
|
|||
|
WEDNESDAY = 2;
|
|||
|
THURSDAY = 3;
|
|||
|
FRIDAY = 4;
|
|||
|
SATURDAY = 5;
|
|||
|
SUNDAY = 6;
|
|||
|
}
|
|||
|
Day day = 1 [ json_name = "day" ];
|
|||
|
// Time in minutes after 00:00
|
|||
|
int32 time = 2 [ json_name = "time" ];
|
|||
|
}
|
|||
|
|
|||
|
repeated WeeklySetHU weekly_set_hu = 1 [ json_name = "weeklySetHU" ];
|
|||
|
}
|
|||
|
|
|||
|
// Set the week profile for the weekly departure time settings version 2
|
|||
|
message WeekProfileConfigureV2 {
|
|||
|
// * The whole list of timeProfiles must always be provided
|
|||
|
repeated TimeProfile time_profiles = 1 [ json_name = "timeprofiles" ];
|
|||
|
}
|
|||
|
|
|||
|
message TimeProfile {
|
|||
|
//=> only if time profile entry is unchanged, do not provide attribute "id" if new profile entry shall be added
|
|||
|
// If a new time profile shall be added: do not provide the ID => ID will be set by MIC / vehicle
|
|||
|
google.protobuf.Int32Value identifier = 1 [ json_name = "id" ];
|
|||
|
|
|||
|
// Hour after midnight range [0, 23]
|
|||
|
google.protobuf.Int32Value hour = 2 [json_name = "hour" ];
|
|||
|
|
|||
|
// Minute after full hour range [0, 59]
|
|||
|
google.protobuf.Int32Value minute = 3 [json_name = "min" ];
|
|||
|
|
|||
|
// Days for which the above time should be applied
|
|||
|
repeated TimeProfileDay days = 4 [json_name = "day" ];
|
|||
|
|
|||
|
// Whether this profile entry is active or not
|
|||
|
google.protobuf.BoolValue active = 5 [json_name = "active" ];
|
|||
|
|
|||
|
// If a timeProfile is changed or added the respective applicationId must be provided by the SDK
|
|||
|
// 11 = Internal Apps
|
|||
|
// 12 = External Apps
|
|||
|
int32 application_identifier = 6 [ json_name = "applicationId" ];
|
|||
|
}
|
|||
|
|
|||
|
enum TimeProfileDay {
|
|||
|
option allow_alias = true;
|
|||
|
// the short versions are for json (en)coding purposes only. The upper case version should be the preferred
|
|||
|
// enum values to be used in code.
|
|||
|
// These definitions need to come before upper case versions
|
|||
|
Mo = 0;
|
|||
|
Tu = 1;
|
|||
|
We = 2;
|
|||
|
Th = 3;
|
|||
|
Fr = 4;
|
|||
|
Sa = 5;
|
|||
|
Su = 6;
|
|||
|
|
|||
|
MONDAY = 0;
|
|||
|
TUESDAY = 1;
|
|||
|
WEDNESDAY = 2;
|
|||
|
THURSDAY = 3;
|
|||
|
FRIDAY = 4;
|
|||
|
SATURDAY = 5;
|
|||
|
SUNDAY = 6;
|
|||
|
}
|
|||
|
|
|||
|
// Invoke the Remote Vehicle Finder for signalling the vehicle’s position with lights, horn or panic alarm.
|
|||
|
message SigPosStart {
|
|||
|
// Value needs to be between 0 and 30. The default is 0.
|
|||
|
// Only allowed for RAMSES
|
|||
|
int32 horn_repeat = 1 [ json_name = "hornRepeat" ];
|
|||
|
|
|||
|
// Only allowed for RAMSES
|
|||
|
enum HornType {
|
|||
|
HORN_OFF = 0;
|
|||
|
HORN_LOW_VOLUME = 1;
|
|||
|
HORN_HIGH_VOLUME = 2;
|
|||
|
}
|
|||
|
HornType horn_type = 2 [ json_name = "hornType" ];
|
|||
|
|
|||
|
// Only allowed for RAMSES
|
|||
|
enum LightType {
|
|||
|
LIGHT_OFF = 0;
|
|||
|
DIPPED_HEAD_LIGHT = 1;
|
|||
|
WARNING_LIGHT = 2;
|
|||
|
}
|
|||
|
LightType light_type = 3 [ json_name = "lightType" ];
|
|||
|
|
|||
|
// Value needs to be between 0 and 10. It indicates how long the light should be switched on.
|
|||
|
int32 sigpos_duration = 4 [ json_name = "sigposDuration" ];
|
|||
|
|
|||
|
enum SigposType {
|
|||
|
LIGHT_ONLY = 0;
|
|||
|
HORN_ONLY = 1; // Only allowed for RAMSES
|
|||
|
LIGHT_AND_HORN = 2; // Only allowed for RAMSES
|
|||
|
PANIC_ALARM = 3; // Only allowed for HERMES
|
|||
|
}
|
|||
|
SigposType sigpos_type = 5 [ json_name = "sigposType" ];
|
|||
|
}
|
|||
|
|
|||
|
// Confirm the detected parking bump
|
|||
|
message TheftalarmConfirmDamagedetection {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to deselect the parking damage detection sensor
|
|||
|
message TheftalarmDeselectDamagedetection {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to deselect the interior protection sensor
|
|||
|
message TheftalarmDeselectInterior {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to deselect the tow protection sensor
|
|||
|
message TheftalarmDeselectTow {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to select the parking damage detection sensor
|
|||
|
message TheftalarmSelectDamagedetection {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to select the interior protection sensor
|
|||
|
message TheftalarmSelectInterior {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to select the tow protection sensor
|
|||
|
message TheftalarmSelectTow {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to trigger an alarm that lasts for "alarm_duration" seconds
|
|||
|
message TheftalarmStart {
|
|||
|
// Specify how many seconds the alarm should be switched on
|
|||
|
int32 alarm_duration_in_seconds = 1 [ json_name = "alarmduration" ];
|
|||
|
}
|
|||
|
|
|||
|
// Provide the functionality to deactivate an active/ongoing alarm
|
|||
|
message TheftalarmStop {
|
|||
|
// empty
|
|||
|
}
|
|||
|
|
|||
|
enum DriveType {
|
|||
|
UNKNOWN_DRIVE_TYPE = 0;
|
|||
|
PICK_UP = 1;
|
|||
|
DROP_OFF = 2;
|
|||
|
}
|
|||
|
|
|||
|
message AutomaticValetParkingActivate {
|
|||
|
string booking_id = 1 [ json_name = "bookingId" ];
|
|||
|
DriveType drive_type = 2 [ json_name = "driveType" ];
|
|||
|
}
|
|||
|
|
|||
|
message ChargeFlapUnlock {}
|
|||
|
|
|||
|
message ChargeCouplerUnlock {}
|