@teslemetry/tesla-protocol 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/charging/charging.cjs +550 -0
  2. package/dist/charging/charging.d.cts +75 -0
  3. package/dist/charging/charging.d.mts +75 -0
  4. package/dist/charging/charging.mjs +543 -0
  5. package/dist/command/universal_message.cjs +5 -0
  6. package/dist/command/universal_message.d.cts +2 -0
  7. package/dist/command/universal_message.d.mts +2 -0
  8. package/dist/command/universal_message.mjs +5 -0
  9. package/dist/command/vcsec.cjs +87 -2
  10. package/dist/command/vcsec.d.cts +11 -1
  11. package/dist/command/vcsec.d.mts +11 -1
  12. package/dist/command/vcsec.mjs +86 -3
  13. package/dist/command/vehicle.cjs +27 -0
  14. package/dist/command/vehicle.d.cts +4 -0
  15. package/dist/command/vehicle.d.mts +4 -0
  16. package/dist/command/vehicle.mjs +27 -0
  17. package/dist/dashcam/dashcam_sei.cjs +263 -0
  18. package/dist/dashcam/dashcam_sei.d.cts +60 -0
  19. package/dist/dashcam/dashcam_sei.d.mts +60 -0
  20. package/dist/dashcam/dashcam_sei.mjs +255 -0
  21. package/dist/energy_device/common_api.cjs +604 -11
  22. package/dist/energy_device/common_api.d.cts +60 -3
  23. package/dist/energy_device/common_api.d.mts +60 -3
  24. package/dist/energy_device/common_api.mjs +596 -12
  25. package/dist/energy_device/device.cjs +129 -0
  26. package/dist/energy_device/device.d.cts +13 -1
  27. package/dist/energy_device/device.d.mts +13 -1
  28. package/dist/energy_device/device.mjs +127 -1
  29. package/dist/energy_device/energy_site_net.cjs +747 -0
  30. package/dist/energy_device/energy_site_net.d.cts +84 -1
  31. package/dist/energy_device/energy_site_net.d.mts +84 -1
  32. package/dist/energy_device/energy_site_net.mjs +736 -1
  33. package/dist/energy_device/filestore_api.cjs +575 -0
  34. package/dist/energy_device/filestore_api.d.cts +81 -0
  35. package/dist/energy_device/filestore_api.d.mts +81 -0
  36. package/dist/energy_device/filestore_api.mjs +563 -0
  37. package/dist/energy_device/google/protobuf/duration.cjs +71 -0
  38. package/dist/energy_device/google/protobuf/duration.d.cts +95 -0
  39. package/dist/energy_device/google/protobuf/duration.d.mts +95 -0
  40. package/dist/energy_device/google/protobuf/duration.mjs +69 -0
  41. package/dist/energy_device/graphql_api.cjs +449 -0
  42. package/dist/energy_device/graphql_api.d.cts +78 -0
  43. package/dist/energy_device/graphql_api.d.mts +78 -0
  44. package/dist/energy_device/graphql_api.mjs +434 -0
  45. package/dist/energy_device/intra_site_api.cjs +1698 -0
  46. package/dist/energy_device/intra_site_api.d.cts +227 -0
  47. package/dist/energy_device/intra_site_api.d.mts +227 -0
  48. package/dist/energy_device/intra_site_api.mjs +1644 -0
  49. package/dist/energy_device/local_auth_api.cjs +505 -0
  50. package/dist/energy_device/local_auth_api.d.cts +73 -0
  51. package/dist/energy_device/local_auth_api.d.mts +73 -0
  52. package/dist/energy_device/local_auth_api.mjs +492 -0
  53. package/dist/energy_device/networking.cjs +20 -2
  54. package/dist/energy_device/networking.d.cts +2 -0
  55. package/dist/energy_device/networking.d.mts +2 -0
  56. package/dist/energy_device/networking.mjs +20 -2
  57. package/dist/energy_device/neurio_meter_api.cjs +1442 -0
  58. package/dist/energy_device/neurio_meter_api.d.cts +202 -0
  59. package/dist/energy_device/neurio_meter_api.d.mts +202 -0
  60. package/dist/energy_device/neurio_meter_api.mjs +1401 -0
  61. package/dist/energy_device/pvi_api.cjs +2954 -0
  62. package/dist/energy_device/pvi_api.d.cts +319 -0
  63. package/dist/energy_device/pvi_api.d.mts +319 -0
  64. package/dist/energy_device/pvi_api.mjs +2892 -0
  65. package/dist/energy_device/teg_api.cjs +5184 -147
  66. package/dist/energy_device/teg_api.d.cts +492 -77
  67. package/dist/energy_device/teg_api.d.mts +492 -77
  68. package/dist/energy_device/teg_api.mjs +5064 -148
  69. package/dist/energy_device/transport.cjs +82 -2
  70. package/dist/energy_device/transport.d.cts +16 -5
  71. package/dist/energy_device/transport.d.mts +16 -5
  72. package/dist/energy_device/transport.mjs +82 -2
  73. package/dist/energy_device/update.cjs +33 -6
  74. package/dist/energy_device/update.d.cts +3 -0
  75. package/dist/energy_device/update.d.mts +3 -0
  76. package/dist/energy_device/update.mjs +33 -6
  77. package/dist/energy_device/wall_connector.cjs +6729 -5
  78. package/dist/energy_device/wall_connector.d.cts +696 -2
  79. package/dist/energy_device/wall_connector.d.mts +696 -2
  80. package/dist/energy_device/wall_connector.mjs +6591 -6
  81. package/package.json +1 -1
@@ -0,0 +1,550 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _bufbuild_protobuf_wire = require("@bufbuild/protobuf/wire");
3
+ //#region src/charging/charging.ts
4
+ const protobufPackage = "com.tesla.proto.charging.v1";
5
+ function createBaseEnergy() {
6
+ return {
7
+ wattHours: 0,
8
+ milliWattHours: 0
9
+ };
10
+ }
11
+ const Energy = {
12
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
13
+ if (message.wattHours !== 0) writer.uint32(8).uint32(message.wattHours);
14
+ if (message.milliWattHours !== 0) writer.uint32(16).uint32(message.milliWattHours);
15
+ return writer;
16
+ },
17
+ decode(input, length) {
18
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
19
+ const end = length === void 0 ? reader.len : reader.pos + length;
20
+ const message = createBaseEnergy();
21
+ while (reader.pos < end) {
22
+ const tag = reader.uint32();
23
+ switch (tag >>> 3) {
24
+ case 1:
25
+ if (tag !== 8) break;
26
+ message.wattHours = reader.uint32();
27
+ continue;
28
+ case 2:
29
+ if (tag !== 16) break;
30
+ message.milliWattHours = reader.uint32();
31
+ continue;
32
+ }
33
+ if ((tag & 7) === 4 || tag === 0) break;
34
+ reader.skip(tag & 7);
35
+ }
36
+ return message;
37
+ },
38
+ fromJSON(object) {
39
+ return {
40
+ wattHours: isSet(object.wattHours) ? globalThis.Number(object.wattHours) : 0,
41
+ milliWattHours: isSet(object.milliWattHours) ? globalThis.Number(object.milliWattHours) : 0
42
+ };
43
+ },
44
+ toJSON(message) {
45
+ const obj = {};
46
+ if (message.wattHours !== void 0) obj.wattHours = Math.round(message.wattHours);
47
+ if (message.milliWattHours !== void 0) obj.milliWattHours = Math.round(message.milliWattHours);
48
+ return obj;
49
+ },
50
+ create(base) {
51
+ return Energy.fromPartial(base ?? {});
52
+ },
53
+ fromPartial(object) {
54
+ const message = createBaseEnergy();
55
+ message.wattHours = object.wattHours ?? 0;
56
+ message.milliWattHours = object.milliWattHours ?? 0;
57
+ return message;
58
+ }
59
+ };
60
+ function createBaseStemInfo() {
61
+ return {
62
+ fwGithash: /* @__PURE__ */ new Uint8Array(0),
63
+ serialNumber: "",
64
+ partNumber: "",
65
+ meterId: ""
66
+ };
67
+ }
68
+ const StemInfo = {
69
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
70
+ if (message.fwGithash.length !== 0) writer.uint32(10).bytes(message.fwGithash);
71
+ if (message.serialNumber !== "") writer.uint32(18).string(message.serialNumber);
72
+ if (message.partNumber !== "") writer.uint32(26).string(message.partNumber);
73
+ if (message.meterId !== "") writer.uint32(34).string(message.meterId);
74
+ return writer;
75
+ },
76
+ decode(input, length) {
77
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
78
+ const end = length === void 0 ? reader.len : reader.pos + length;
79
+ const message = createBaseStemInfo();
80
+ while (reader.pos < end) {
81
+ const tag = reader.uint32();
82
+ switch (tag >>> 3) {
83
+ case 1:
84
+ if (tag !== 10) break;
85
+ message.fwGithash = reader.bytes();
86
+ continue;
87
+ case 2:
88
+ if (tag !== 18) break;
89
+ message.serialNumber = reader.string();
90
+ continue;
91
+ case 3:
92
+ if (tag !== 26) break;
93
+ message.partNumber = reader.string();
94
+ continue;
95
+ case 4:
96
+ if (tag !== 34) break;
97
+ message.meterId = reader.string();
98
+ continue;
99
+ }
100
+ if ((tag & 7) === 4 || tag === 0) break;
101
+ reader.skip(tag & 7);
102
+ }
103
+ return message;
104
+ },
105
+ fromJSON(object) {
106
+ return {
107
+ fwGithash: isSet(object.fwGithash) ? bytesFromBase64(object.fwGithash) : /* @__PURE__ */ new Uint8Array(0),
108
+ serialNumber: isSet(object.serialNumber) ? globalThis.String(object.serialNumber) : "",
109
+ partNumber: isSet(object.partNumber) ? globalThis.String(object.partNumber) : "",
110
+ meterId: isSet(object.meterId) ? globalThis.String(object.meterId) : ""
111
+ };
112
+ },
113
+ toJSON(message) {
114
+ const obj = {};
115
+ if (message.fwGithash !== void 0) obj.fwGithash = base64FromBytes(message.fwGithash);
116
+ if (message.serialNumber !== void 0) obj.serialNumber = message.serialNumber;
117
+ if (message.partNumber !== void 0) obj.partNumber = message.partNumber;
118
+ if (message.meterId !== void 0) obj.meterId = message.meterId;
119
+ return obj;
120
+ },
121
+ create(base) {
122
+ return StemInfo.fromPartial(base ?? {});
123
+ },
124
+ fromPartial(object) {
125
+ const message = createBaseStemInfo();
126
+ message.fwGithash = object.fwGithash ?? /* @__PURE__ */ new Uint8Array(0);
127
+ message.serialNumber = object.serialNumber ?? "";
128
+ message.partNumber = object.partNumber ?? "";
129
+ message.meterId = object.meterId ?? "";
130
+ return message;
131
+ }
132
+ };
133
+ function createBaseStemEventInfo() {
134
+ return {
135
+ eventOccurred: false,
136
+ invalidated: false,
137
+ timeSynchronized: false
138
+ };
139
+ }
140
+ const StemEventInfo = {
141
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
142
+ if (message.eventOccurred !== false) writer.uint32(8).bool(message.eventOccurred);
143
+ if (message.invalidated !== false) writer.uint32(16).bool(message.invalidated);
144
+ if (message.timeSynchronized !== false) writer.uint32(24).bool(message.timeSynchronized);
145
+ return writer;
146
+ },
147
+ decode(input, length) {
148
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
149
+ const end = length === void 0 ? reader.len : reader.pos + length;
150
+ const message = createBaseStemEventInfo();
151
+ while (reader.pos < end) {
152
+ const tag = reader.uint32();
153
+ switch (tag >>> 3) {
154
+ case 1:
155
+ if (tag !== 8) break;
156
+ message.eventOccurred = reader.bool();
157
+ continue;
158
+ case 2:
159
+ if (tag !== 16) break;
160
+ message.invalidated = reader.bool();
161
+ continue;
162
+ case 3:
163
+ if (tag !== 24) break;
164
+ message.timeSynchronized = reader.bool();
165
+ continue;
166
+ }
167
+ if ((tag & 7) === 4 || tag === 0) break;
168
+ reader.skip(tag & 7);
169
+ }
170
+ return message;
171
+ },
172
+ fromJSON(object) {
173
+ return {
174
+ eventOccurred: isSet(object.eventOccurred) ? globalThis.Boolean(object.eventOccurred) : false,
175
+ invalidated: isSet(object.invalidated) ? globalThis.Boolean(object.invalidated) : false,
176
+ timeSynchronized: isSet(object.timeSynchronized) ? globalThis.Boolean(object.timeSynchronized) : false
177
+ };
178
+ },
179
+ toJSON(message) {
180
+ const obj = {};
181
+ if (message.eventOccurred !== void 0) obj.eventOccurred = message.eventOccurred;
182
+ if (message.invalidated !== void 0) obj.invalidated = message.invalidated;
183
+ if (message.timeSynchronized !== void 0) obj.timeSynchronized = message.timeSynchronized;
184
+ return obj;
185
+ },
186
+ create(base) {
187
+ return StemEventInfo.fromPartial(base ?? {});
188
+ },
189
+ fromPartial(object) {
190
+ const message = createBaseStemEventInfo();
191
+ message.eventOccurred = object.eventOccurred ?? false;
192
+ message.invalidated = object.invalidated ?? false;
193
+ message.timeSynchronized = object.timeSynchronized ?? false;
194
+ return message;
195
+ }
196
+ };
197
+ function createBaseChargeSessionTimeSeries() {
198
+ return {
199
+ startTimeEpochS: 0,
200
+ endTimeEpochS: 0,
201
+ totalEnergyVendedWh: 0,
202
+ bucketDurationS: 0,
203
+ firstBucketDurationS: 0,
204
+ bucketEnergyVendedWh: [],
205
+ totalEnergyVended: void 0,
206
+ bucketEnergyVended: []
207
+ };
208
+ }
209
+ const ChargeSessionTimeSeries = {
210
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
211
+ if (message.startTimeEpochS !== 0) writer.uint32(8).uint64(message.startTimeEpochS);
212
+ if (message.endTimeEpochS !== 0) writer.uint32(16).uint64(message.endTimeEpochS);
213
+ if (message.totalEnergyVendedWh !== 0) writer.uint32(24).uint32(message.totalEnergyVendedWh);
214
+ if (message.bucketDurationS !== 0) writer.uint32(32).uint32(message.bucketDurationS);
215
+ if (message.firstBucketDurationS !== 0) writer.uint32(40).uint32(message.firstBucketDurationS);
216
+ writer.uint32(50).fork();
217
+ for (const v of message.bucketEnergyVendedWh) writer.uint32(v);
218
+ writer.join();
219
+ if (message.totalEnergyVended !== void 0) Energy.encode(message.totalEnergyVended, writer.uint32(58).fork()).join();
220
+ for (const v of message.bucketEnergyVended) Energy.encode(v, writer.uint32(66).fork()).join();
221
+ return writer;
222
+ },
223
+ decode(input, length) {
224
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
225
+ const end = length === void 0 ? reader.len : reader.pos + length;
226
+ const message = createBaseChargeSessionTimeSeries();
227
+ while (reader.pos < end) {
228
+ const tag = reader.uint32();
229
+ switch (tag >>> 3) {
230
+ case 1:
231
+ if (tag !== 8) break;
232
+ message.startTimeEpochS = longToNumber(reader.uint64());
233
+ continue;
234
+ case 2:
235
+ if (tag !== 16) break;
236
+ message.endTimeEpochS = longToNumber(reader.uint64());
237
+ continue;
238
+ case 3:
239
+ if (tag !== 24) break;
240
+ message.totalEnergyVendedWh = reader.uint32();
241
+ continue;
242
+ case 4:
243
+ if (tag !== 32) break;
244
+ message.bucketDurationS = reader.uint32();
245
+ continue;
246
+ case 5:
247
+ if (tag !== 40) break;
248
+ message.firstBucketDurationS = reader.uint32();
249
+ continue;
250
+ case 6:
251
+ if (tag === 48) {
252
+ message.bucketEnergyVendedWh.push(reader.uint32());
253
+ continue;
254
+ }
255
+ if (tag === 50) {
256
+ const end2 = reader.uint32() + reader.pos;
257
+ while (reader.pos < end2) message.bucketEnergyVendedWh.push(reader.uint32());
258
+ continue;
259
+ }
260
+ break;
261
+ case 7:
262
+ if (tag !== 58) break;
263
+ message.totalEnergyVended = Energy.decode(reader, reader.uint32());
264
+ continue;
265
+ case 8:
266
+ if (tag !== 66) break;
267
+ message.bucketEnergyVended.push(Energy.decode(reader, reader.uint32()));
268
+ continue;
269
+ }
270
+ if ((tag & 7) === 4 || tag === 0) break;
271
+ reader.skip(tag & 7);
272
+ }
273
+ return message;
274
+ },
275
+ fromJSON(object) {
276
+ return {
277
+ startTimeEpochS: isSet(object.startTimeEpochS) ? globalThis.Number(object.startTimeEpochS) : 0,
278
+ endTimeEpochS: isSet(object.endTimeEpochS) ? globalThis.Number(object.endTimeEpochS) : 0,
279
+ totalEnergyVendedWh: isSet(object.totalEnergyVendedWh) ? globalThis.Number(object.totalEnergyVendedWh) : 0,
280
+ bucketDurationS: isSet(object.bucketDurationS) ? globalThis.Number(object.bucketDurationS) : 0,
281
+ firstBucketDurationS: isSet(object.firstBucketDurationS) ? globalThis.Number(object.firstBucketDurationS) : 0,
282
+ bucketEnergyVendedWh: globalThis.Array.isArray(object?.bucketEnergyVendedWh) ? object.bucketEnergyVendedWh.map((e) => globalThis.Number(e)) : [],
283
+ totalEnergyVended: isSet(object.totalEnergyVended) ? Energy.fromJSON(object.totalEnergyVended) : void 0,
284
+ bucketEnergyVended: globalThis.Array.isArray(object?.bucketEnergyVended) ? object.bucketEnergyVended.map((e) => Energy.fromJSON(e)) : []
285
+ };
286
+ },
287
+ toJSON(message) {
288
+ const obj = {};
289
+ if (message.startTimeEpochS !== void 0) obj.startTimeEpochS = Math.round(message.startTimeEpochS);
290
+ if (message.endTimeEpochS !== void 0) obj.endTimeEpochS = Math.round(message.endTimeEpochS);
291
+ if (message.totalEnergyVendedWh !== void 0) obj.totalEnergyVendedWh = Math.round(message.totalEnergyVendedWh);
292
+ if (message.bucketDurationS !== void 0) obj.bucketDurationS = Math.round(message.bucketDurationS);
293
+ if (message.firstBucketDurationS !== void 0) obj.firstBucketDurationS = Math.round(message.firstBucketDurationS);
294
+ if (message.bucketEnergyVendedWh?.length) obj.bucketEnergyVendedWh = message.bucketEnergyVendedWh.map((e) => Math.round(e));
295
+ if (message.totalEnergyVended !== void 0) obj.totalEnergyVended = Energy.toJSON(message.totalEnergyVended);
296
+ if (message.bucketEnergyVended?.length) obj.bucketEnergyVended = message.bucketEnergyVended.map((e) => Energy.toJSON(e));
297
+ return obj;
298
+ },
299
+ create(base) {
300
+ return ChargeSessionTimeSeries.fromPartial(base ?? {});
301
+ },
302
+ fromPartial(object) {
303
+ const message = createBaseChargeSessionTimeSeries();
304
+ message.startTimeEpochS = object.startTimeEpochS ?? 0;
305
+ message.endTimeEpochS = object.endTimeEpochS ?? 0;
306
+ message.totalEnergyVendedWh = object.totalEnergyVendedWh ?? 0;
307
+ message.bucketDurationS = object.bucketDurationS ?? 0;
308
+ message.firstBucketDurationS = object.firstBucketDurationS ?? 0;
309
+ message.bucketEnergyVendedWh = object.bucketEnergyVendedWh?.map((e) => e) || [];
310
+ message.totalEnergyVended = object.totalEnergyVended !== void 0 && object.totalEnergyVended !== null ? Energy.fromPartial(object.totalEnergyVended) : void 0;
311
+ message.bucketEnergyVended = object.bucketEnergyVended?.map((e) => Energy.fromPartial(e)) || [];
312
+ return message;
313
+ }
314
+ };
315
+ function createBaseStemUi() {
316
+ return {
317
+ stemInfo: void 0,
318
+ sessionId: 0,
319
+ systemTimeEpochS: 0,
320
+ idleTimeS: 0,
321
+ startTimeEpochS: 0,
322
+ stemEventInfo: void 0,
323
+ sessionEnergyKwh: 0
324
+ };
325
+ }
326
+ const StemUi = {
327
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
328
+ if (message.stemInfo !== void 0) StemInfo.encode(message.stemInfo, writer.uint32(10).fork()).join();
329
+ if (message.sessionId !== 0) writer.uint32(16).uint32(message.sessionId);
330
+ if (message.systemTimeEpochS !== 0) writer.uint32(24).uint64(message.systemTimeEpochS);
331
+ if (message.idleTimeS !== 0) writer.uint32(32).uint32(message.idleTimeS);
332
+ if (message.startTimeEpochS !== 0) writer.uint32(40).uint64(message.startTimeEpochS);
333
+ if (message.stemEventInfo !== void 0) StemEventInfo.encode(message.stemEventInfo, writer.uint32(50).fork()).join();
334
+ if (message.sessionEnergyKwh !== 0) writer.uint32(61).float(message.sessionEnergyKwh);
335
+ return writer;
336
+ },
337
+ decode(input, length) {
338
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
339
+ const end = length === void 0 ? reader.len : reader.pos + length;
340
+ const message = createBaseStemUi();
341
+ while (reader.pos < end) {
342
+ const tag = reader.uint32();
343
+ switch (tag >>> 3) {
344
+ case 1:
345
+ if (tag !== 10) break;
346
+ message.stemInfo = StemInfo.decode(reader, reader.uint32());
347
+ continue;
348
+ case 2:
349
+ if (tag !== 16) break;
350
+ message.sessionId = reader.uint32();
351
+ continue;
352
+ case 3:
353
+ if (tag !== 24) break;
354
+ message.systemTimeEpochS = longToNumber(reader.uint64());
355
+ continue;
356
+ case 4:
357
+ if (tag !== 32) break;
358
+ message.idleTimeS = reader.uint32();
359
+ continue;
360
+ case 5:
361
+ if (tag !== 40) break;
362
+ message.startTimeEpochS = longToNumber(reader.uint64());
363
+ continue;
364
+ case 6:
365
+ if (tag !== 50) break;
366
+ message.stemEventInfo = StemEventInfo.decode(reader, reader.uint32());
367
+ continue;
368
+ case 7:
369
+ if (tag !== 61) break;
370
+ message.sessionEnergyKwh = reader.float();
371
+ continue;
372
+ }
373
+ if ((tag & 7) === 4 || tag === 0) break;
374
+ reader.skip(tag & 7);
375
+ }
376
+ return message;
377
+ },
378
+ fromJSON(object) {
379
+ return {
380
+ stemInfo: isSet(object.stemInfo) ? StemInfo.fromJSON(object.stemInfo) : void 0,
381
+ sessionId: isSet(object.sessionId) ? globalThis.Number(object.sessionId) : 0,
382
+ systemTimeEpochS: isSet(object.systemTimeEpochS) ? globalThis.Number(object.systemTimeEpochS) : 0,
383
+ idleTimeS: isSet(object.idleTimeS) ? globalThis.Number(object.idleTimeS) : 0,
384
+ startTimeEpochS: isSet(object.startTimeEpochS) ? globalThis.Number(object.startTimeEpochS) : 0,
385
+ stemEventInfo: isSet(object.stemEventInfo) ? StemEventInfo.fromJSON(object.stemEventInfo) : void 0,
386
+ sessionEnergyKwh: isSet(object.sessionEnergyKwh) ? globalThis.Number(object.sessionEnergyKwh) : 0
387
+ };
388
+ },
389
+ toJSON(message) {
390
+ const obj = {};
391
+ if (message.stemInfo !== void 0) obj.stemInfo = StemInfo.toJSON(message.stemInfo);
392
+ if (message.sessionId !== void 0) obj.sessionId = Math.round(message.sessionId);
393
+ if (message.systemTimeEpochS !== void 0) obj.systemTimeEpochS = Math.round(message.systemTimeEpochS);
394
+ if (message.idleTimeS !== void 0) obj.idleTimeS = Math.round(message.idleTimeS);
395
+ if (message.startTimeEpochS !== void 0) obj.startTimeEpochS = Math.round(message.startTimeEpochS);
396
+ if (message.stemEventInfo !== void 0) obj.stemEventInfo = StemEventInfo.toJSON(message.stemEventInfo);
397
+ if (message.sessionEnergyKwh !== void 0) obj.sessionEnergyKwh = message.sessionEnergyKwh;
398
+ return obj;
399
+ },
400
+ create(base) {
401
+ return StemUi.fromPartial(base ?? {});
402
+ },
403
+ fromPartial(object) {
404
+ const message = createBaseStemUi();
405
+ message.stemInfo = object.stemInfo !== void 0 && object.stemInfo !== null ? StemInfo.fromPartial(object.stemInfo) : void 0;
406
+ message.sessionId = object.sessionId ?? 0;
407
+ message.systemTimeEpochS = object.systemTimeEpochS ?? 0;
408
+ message.idleTimeS = object.idleTimeS ?? 0;
409
+ message.startTimeEpochS = object.startTimeEpochS ?? 0;
410
+ message.stemEventInfo = object.stemEventInfo !== void 0 && object.stemEventInfo !== null ? StemEventInfo.fromPartial(object.stemEventInfo) : void 0;
411
+ message.sessionEnergyKwh = object.sessionEnergyKwh ?? 0;
412
+ return message;
413
+ }
414
+ };
415
+ function createBaseStemBilling() {
416
+ return {
417
+ stemInfo: void 0,
418
+ sessionId: 0,
419
+ stemEventInfo: void 0,
420
+ lifetimeEnergyStartKwh: 0,
421
+ lifetimeEnergyEndKwh: 0,
422
+ idleTimeS: 0,
423
+ chargeSessionTimeSeries: void 0
424
+ };
425
+ }
426
+ const StemBilling = {
427
+ encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
428
+ if (message.stemInfo !== void 0) StemInfo.encode(message.stemInfo, writer.uint32(10).fork()).join();
429
+ if (message.sessionId !== 0) writer.uint32(16).uint32(message.sessionId);
430
+ if (message.stemEventInfo !== void 0) StemEventInfo.encode(message.stemEventInfo, writer.uint32(26).fork()).join();
431
+ if (message.lifetimeEnergyStartKwh !== 0) writer.uint32(37).float(message.lifetimeEnergyStartKwh);
432
+ if (message.lifetimeEnergyEndKwh !== 0) writer.uint32(45).float(message.lifetimeEnergyEndKwh);
433
+ if (message.idleTimeS !== 0) writer.uint32(48).uint32(message.idleTimeS);
434
+ if (message.chargeSessionTimeSeries !== void 0) ChargeSessionTimeSeries.encode(message.chargeSessionTimeSeries, writer.uint32(58).fork()).join();
435
+ return writer;
436
+ },
437
+ decode(input, length) {
438
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
439
+ const end = length === void 0 ? reader.len : reader.pos + length;
440
+ const message = createBaseStemBilling();
441
+ while (reader.pos < end) {
442
+ const tag = reader.uint32();
443
+ switch (tag >>> 3) {
444
+ case 1:
445
+ if (tag !== 10) break;
446
+ message.stemInfo = StemInfo.decode(reader, reader.uint32());
447
+ continue;
448
+ case 2:
449
+ if (tag !== 16) break;
450
+ message.sessionId = reader.uint32();
451
+ continue;
452
+ case 3:
453
+ if (tag !== 26) break;
454
+ message.stemEventInfo = StemEventInfo.decode(reader, reader.uint32());
455
+ continue;
456
+ case 4:
457
+ if (tag !== 37) break;
458
+ message.lifetimeEnergyStartKwh = reader.float();
459
+ continue;
460
+ case 5:
461
+ if (tag !== 45) break;
462
+ message.lifetimeEnergyEndKwh = reader.float();
463
+ continue;
464
+ case 6:
465
+ if (tag !== 48) break;
466
+ message.idleTimeS = reader.uint32();
467
+ continue;
468
+ case 7:
469
+ if (tag !== 58) break;
470
+ message.chargeSessionTimeSeries = ChargeSessionTimeSeries.decode(reader, reader.uint32());
471
+ continue;
472
+ }
473
+ if ((tag & 7) === 4 || tag === 0) break;
474
+ reader.skip(tag & 7);
475
+ }
476
+ return message;
477
+ },
478
+ fromJSON(object) {
479
+ return {
480
+ stemInfo: isSet(object.stemInfo) ? StemInfo.fromJSON(object.stemInfo) : void 0,
481
+ sessionId: isSet(object.sessionId) ? globalThis.Number(object.sessionId) : 0,
482
+ stemEventInfo: isSet(object.stemEventInfo) ? StemEventInfo.fromJSON(object.stemEventInfo) : void 0,
483
+ lifetimeEnergyStartKwh: isSet(object.lifetimeEnergyStartKwh) ? globalThis.Number(object.lifetimeEnergyStartKwh) : 0,
484
+ lifetimeEnergyEndKwh: isSet(object.lifetimeEnergyEndKwh) ? globalThis.Number(object.lifetimeEnergyEndKwh) : 0,
485
+ idleTimeS: isSet(object.idleTimeS) ? globalThis.Number(object.idleTimeS) : 0,
486
+ chargeSessionTimeSeries: isSet(object.chargeSessionTimeSeries) ? ChargeSessionTimeSeries.fromJSON(object.chargeSessionTimeSeries) : void 0
487
+ };
488
+ },
489
+ toJSON(message) {
490
+ const obj = {};
491
+ if (message.stemInfo !== void 0) obj.stemInfo = StemInfo.toJSON(message.stemInfo);
492
+ if (message.sessionId !== void 0) obj.sessionId = Math.round(message.sessionId);
493
+ if (message.stemEventInfo !== void 0) obj.stemEventInfo = StemEventInfo.toJSON(message.stemEventInfo);
494
+ if (message.lifetimeEnergyStartKwh !== void 0) obj.lifetimeEnergyStartKwh = message.lifetimeEnergyStartKwh;
495
+ if (message.lifetimeEnergyEndKwh !== void 0) obj.lifetimeEnergyEndKwh = message.lifetimeEnergyEndKwh;
496
+ if (message.idleTimeS !== void 0) obj.idleTimeS = Math.round(message.idleTimeS);
497
+ if (message.chargeSessionTimeSeries !== void 0) obj.chargeSessionTimeSeries = ChargeSessionTimeSeries.toJSON(message.chargeSessionTimeSeries);
498
+ return obj;
499
+ },
500
+ create(base) {
501
+ return StemBilling.fromPartial(base ?? {});
502
+ },
503
+ fromPartial(object) {
504
+ const message = createBaseStemBilling();
505
+ message.stemInfo = object.stemInfo !== void 0 && object.stemInfo !== null ? StemInfo.fromPartial(object.stemInfo) : void 0;
506
+ message.sessionId = object.sessionId ?? 0;
507
+ message.stemEventInfo = object.stemEventInfo !== void 0 && object.stemEventInfo !== null ? StemEventInfo.fromPartial(object.stemEventInfo) : void 0;
508
+ message.lifetimeEnergyStartKwh = object.lifetimeEnergyStartKwh ?? 0;
509
+ message.lifetimeEnergyEndKwh = object.lifetimeEnergyEndKwh ?? 0;
510
+ message.idleTimeS = object.idleTimeS ?? 0;
511
+ message.chargeSessionTimeSeries = object.chargeSessionTimeSeries !== void 0 && object.chargeSessionTimeSeries !== null ? ChargeSessionTimeSeries.fromPartial(object.chargeSessionTimeSeries) : void 0;
512
+ return message;
513
+ }
514
+ };
515
+ function bytesFromBase64(b64) {
516
+ if (globalThis.Buffer) return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
517
+ else {
518
+ const bin = globalThis.atob(b64);
519
+ const arr = new Uint8Array(bin.length);
520
+ for (let i = 0; i < bin.length; ++i) arr[i] = bin.charCodeAt(i);
521
+ return arr;
522
+ }
523
+ }
524
+ function base64FromBytes(arr) {
525
+ if (globalThis.Buffer) return globalThis.Buffer.from(arr).toString("base64");
526
+ else {
527
+ const bin = [];
528
+ arr.forEach((byte) => {
529
+ bin.push(globalThis.String.fromCharCode(byte));
530
+ });
531
+ return globalThis.btoa(bin.join(""));
532
+ }
533
+ }
534
+ function longToNumber(int64) {
535
+ const num = globalThis.Number(int64.toString());
536
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
537
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
538
+ return num;
539
+ }
540
+ function isSet(value) {
541
+ return value !== null && value !== void 0;
542
+ }
543
+ //#endregion
544
+ exports.ChargeSessionTimeSeries = ChargeSessionTimeSeries;
545
+ exports.Energy = Energy;
546
+ exports.StemBilling = StemBilling;
547
+ exports.StemEventInfo = StemEventInfo;
548
+ exports.StemInfo = StemInfo;
549
+ exports.StemUi = StemUi;
550
+ exports.protobufPackage = protobufPackage;
@@ -0,0 +1,75 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ //#region src/charging/charging.d.ts
3
+ declare const protobufPackage = "com.tesla.proto.charging.v1";
4
+ /**
5
+ * Split integer energy representation: whole watt-hours plus a
6
+ * sub-watt-hour remainder in milli-watt-hours.
7
+ */
8
+ interface Energy {
9
+ wattHours: number;
10
+ milliWattHours: number;
11
+ }
12
+ /** Identity and firmware of the metering device that recorded a charge session. */
13
+ interface StemInfo {
14
+ fwGithash: Uint8Array;
15
+ serialNumber: string;
16
+ partNumber: string;
17
+ meterId: string;
18
+ }
19
+ /** Validity flags for a charge-session metering record. */
20
+ interface StemEventInfo {
21
+ eventOccurred: boolean;
22
+ invalidated: boolean;
23
+ timeSynchronized: boolean;
24
+ }
25
+ /** Bucketed energy vended (delivered) over a charge session. */
26
+ interface ChargeSessionTimeSeries {
27
+ startTimeEpochS: number;
28
+ endTimeEpochS: number;
29
+ totalEnergyVendedWh: number;
30
+ bucketDurationS: number;
31
+ firstBucketDurationS: number;
32
+ bucketEnergyVendedWh: number[];
33
+ totalEnergyVended: Energy | undefined;
34
+ bucketEnergyVended: Energy[];
35
+ }
36
+ /** UI-facing summary of a live or recently completed charge session. */
37
+ interface StemUi {
38
+ stemInfo: StemInfo | undefined;
39
+ sessionId: number;
40
+ systemTimeEpochS: number;
41
+ idleTimeS: number;
42
+ startTimeEpochS: number;
43
+ stemEventInfo: StemEventInfo | undefined;
44
+ sessionEnergyKwh: number;
45
+ }
46
+ /** Billing record for a completed charge session. */
47
+ interface StemBilling {
48
+ stemInfo: StemInfo | undefined;
49
+ sessionId: number;
50
+ stemEventInfo: StemEventInfo | undefined;
51
+ lifetimeEnergyStartKwh: number;
52
+ lifetimeEnergyEndKwh: number;
53
+ idleTimeS: number;
54
+ chargeSessionTimeSeries: ChargeSessionTimeSeries | undefined;
55
+ }
56
+ declare const Energy: MessageFns<Energy>;
57
+ declare const StemInfo: MessageFns<StemInfo>;
58
+ declare const StemEventInfo: MessageFns<StemEventInfo>;
59
+ declare const ChargeSessionTimeSeries: MessageFns<ChargeSessionTimeSeries>;
60
+ declare const StemUi: MessageFns<StemUi>;
61
+ declare const StemBilling: MessageFns<StemBilling>;
62
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
63
+ type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>;
64
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
65
+ type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; };
66
+ interface MessageFns<T> {
67
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
68
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
69
+ fromJSON(object: any): T;
70
+ toJSON(message: T): unknown;
71
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
72
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
73
+ }
74
+ //#endregion
75
+ export { ChargeSessionTimeSeries, DeepPartial, Energy, Exact, MessageFns, StemBilling, StemEventInfo, StemInfo, StemUi, protobufPackage };
@@ -0,0 +1,75 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ //#region src/charging/charging.d.ts
3
+ declare const protobufPackage = "com.tesla.proto.charging.v1";
4
+ /**
5
+ * Split integer energy representation: whole watt-hours plus a
6
+ * sub-watt-hour remainder in milli-watt-hours.
7
+ */
8
+ interface Energy {
9
+ wattHours: number;
10
+ milliWattHours: number;
11
+ }
12
+ /** Identity and firmware of the metering device that recorded a charge session. */
13
+ interface StemInfo {
14
+ fwGithash: Uint8Array;
15
+ serialNumber: string;
16
+ partNumber: string;
17
+ meterId: string;
18
+ }
19
+ /** Validity flags for a charge-session metering record. */
20
+ interface StemEventInfo {
21
+ eventOccurred: boolean;
22
+ invalidated: boolean;
23
+ timeSynchronized: boolean;
24
+ }
25
+ /** Bucketed energy vended (delivered) over a charge session. */
26
+ interface ChargeSessionTimeSeries {
27
+ startTimeEpochS: number;
28
+ endTimeEpochS: number;
29
+ totalEnergyVendedWh: number;
30
+ bucketDurationS: number;
31
+ firstBucketDurationS: number;
32
+ bucketEnergyVendedWh: number[];
33
+ totalEnergyVended: Energy | undefined;
34
+ bucketEnergyVended: Energy[];
35
+ }
36
+ /** UI-facing summary of a live or recently completed charge session. */
37
+ interface StemUi {
38
+ stemInfo: StemInfo | undefined;
39
+ sessionId: number;
40
+ systemTimeEpochS: number;
41
+ idleTimeS: number;
42
+ startTimeEpochS: number;
43
+ stemEventInfo: StemEventInfo | undefined;
44
+ sessionEnergyKwh: number;
45
+ }
46
+ /** Billing record for a completed charge session. */
47
+ interface StemBilling {
48
+ stemInfo: StemInfo | undefined;
49
+ sessionId: number;
50
+ stemEventInfo: StemEventInfo | undefined;
51
+ lifetimeEnergyStartKwh: number;
52
+ lifetimeEnergyEndKwh: number;
53
+ idleTimeS: number;
54
+ chargeSessionTimeSeries: ChargeSessionTimeSeries | undefined;
55
+ }
56
+ declare const Energy: MessageFns<Energy>;
57
+ declare const StemInfo: MessageFns<StemInfo>;
58
+ declare const StemEventInfo: MessageFns<StemEventInfo>;
59
+ declare const ChargeSessionTimeSeries: MessageFns<ChargeSessionTimeSeries>;
60
+ declare const StemUi: MessageFns<StemUi>;
61
+ declare const StemBilling: MessageFns<StemBilling>;
62
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
63
+ type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>;
64
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
65
+ type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; };
66
+ interface MessageFns<T> {
67
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
68
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
69
+ fromJSON(object: any): T;
70
+ toJSON(message: T): unknown;
71
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
72
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
73
+ }
74
+ //#endregion
75
+ export { ChargeSessionTimeSeries, DeepPartial, Energy, Exact, MessageFns, StemBilling, StemEventInfo, StemInfo, StemUi, protobufPackage };