-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathcharge_point_gateway_format.proto
136 lines (119 loc) · 3.63 KB
/
charge_point_gateway_format.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
syntax = "proto3";
package gateway;
option go_package = "github.com/peaqnetwork/peaq-network-ev-charging-message-format/golang/gateway;gateway";
message BootNotificationRequestData {
string charge_box_serial_number = 1;
string charge_point_model = 2;
string Charge_point_serial_number = 3;
string Charge_point_vendor = 4;
string firmware_version = 5;
string iccid = 6;
string imsi = 7;
string meter_serial_number = 8;
string meter_type = 9;
}
message LogData {
string current_time = 1;
Response resp = 2;
}
message AuthorizeRequestData {
string charge_point_client_id = 1;
string consumer_public_key = 2;
}
message AuthorizeResponseData {
string consumer_public_key = 1;
Response resp = 2;
}
message CheckAvailabilityRequestData {
string charge_point_client_id = 1;
int32 connector_id = 2;
}
message CheckAvailabilityResponseData { Response resp = 1; }
message StartTransactionRequestData {
string charge_point_client_id = 1;
int32 connector_id = 2;
string consumer_public_key = 3;
}
message StartTransactionResponseData {
string consumer_public_key = 1;
Response resp = 2;
}
message NotifyChargePointStateChangeData { string charge_point_client_id = 1; }
message Response {
bool error = 1;
string message = 2;
}
// EVChargingStatusData contains status of the current ongoing charging
message EVChargingStatusData {
// the electrical current offered to EV
float current_offered = 1;
// the current offered value unit - A
string current_unit = 2;
// the electrical voltage offered to EV
float voltage_offered = 3;
// the voltage offered value unit - V
string voltage_unit = 4;
}
message StopTransactionRequestData {
string charge_point_client_id = 1;
int32 connector_id = 2;
string consumer_public_key = 3;
}
message StopTransactionResponseData {
string consumer_public_key = 1;
TransactionInfo transaction_info = 2;
Response resp = 3;
}
// ChargePointState defined connected charge point state data
message ChargePointState {
string id = 1;
string status = 2;
// Charge point connector data using connector Id as key
map<int32, ConnectorInfo> connectors = 3;
// Charge point transactions data using transaction Id as key
map<int32, TransactionInfo> transactions = 4;
// current auth data using IdTag as key
map<string, ConsumerAuthData> auth_list = 5;
// used to inncrement local auth list version
// ocpp requires SendLocalAuthList request to contain new version
int32 current_auth_list_version = 6;
// used to inncrement transacton Ids by keep the last transaction Id
int32 current_transaction_id = 7;
}
// ConnectorInfo contains status and ongoing transaction ID for a connector
message ConnectorInfo {
int32 id = 1;
// status of the connector e.g AVAILABLE, PREPARING, CHARGING
string status = 2;
// holds the current Id of ongoing transacton
int32 current_transaction = 3;
}
// TransactionInfo contains info about a transaction
message TransactionInfo {
int32 id = 1;
string id_tag = 2;
int32 connector_id = 3;
string start_time = 4;
string end_time = 5;
int32 start_meter = 6;
int32 end_meter = 7;
EVChargingStatusData progress = 8;
}
// ConsumerAuthData contains the consumer public key assigned to the local
// authorized data. This keeps track of consumer auth ownership.
message ConsumerAuthData {
// consumer of the service public key
string public_key = 1;
int32 transaction_id = 2;
// local charge point auth data assigned to consumer
LocalAuthorizationData auth_data = 3;
}
message LocalAuthorizationData {
string idTag = 1;
IdTagInfo idTagInfo = 2;
}
message IdTagInfo {
string expiryDate = 1;
string parentIdTag = 2;
string status = 3;
}