rivian-python-client 2.2.0b3__tar.gz → 2.2.0b5__tar.gz

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 (97) hide show
  1. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/PKG-INFO +2 -2
  2. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/pyproject.toml +3 -3
  3. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/__version__.py +1 -1
  4. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/body.py +1 -1
  5. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/charging.py +20 -7
  6. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/device_table.py +3 -2
  7. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/dynamics.py +14 -2
  8. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/holiday_celebration.py +1 -1
  9. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/body.proto +2 -2
  10. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/body_pb2.py +3 -3
  11. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/charging.proto +5 -4
  12. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/charging_pb2.py +15 -15
  13. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/charging_pb2.pyi +8 -8
  14. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/comfort_pb2.py +3 -3
  15. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/comfort_pb2.pyi +1 -1
  16. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/departure_pb2.py +3 -3
  17. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/departure_pb2.pyi +3 -3
  18. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/device_table.proto +1 -1
  19. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/device_table_pb2.py +3 -3
  20. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/device_table_pb2.pyi +1 -1
  21. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/dynamics.proto +8 -9
  22. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/dynamics_pb2.py +72 -0
  23. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/dynamics_pb2.pyi +13 -13
  24. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy.proto +1 -1
  25. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy_edge_compute.proto +1 -1
  26. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy_edge_compute_pb2.py +3 -3
  27. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy_edge_compute_pb2.pyi +1 -1
  28. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy_pb2.py +3 -3
  29. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/gearguard_streaming_pb2.py +3 -3
  30. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/geofence.proto +1 -1
  31. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/geofence_pb2.py +3 -3
  32. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/holiday_celebration.proto +2 -2
  33. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/holiday_celebration_pb2.py +3 -3
  34. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/holiday_celebration_pb2.pyi +2 -2
  35. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/navigation_pb2.py +3 -3
  36. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/navigation_pb2.pyi +1 -1
  37. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/ota.proto +2 -2
  38. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/ota_pb2.py +3 -3
  39. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/ota_pb2.pyi +1 -1
  40. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/parallax_pb2.py +3 -3
  41. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/secure_file_transfer_pb2.py +3 -3
  42. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/security_pb2.py +3 -3
  43. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/user_passcodes_pb2.py +3 -3
  44. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/vehicle.proto +12 -5
  45. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/vehicle_access_pb2.py +3 -3
  46. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/vehicle_access_pb2.pyi +1 -1
  47. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/vehicle_pb2.py +64 -0
  48. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/vehicle_pb2.pyi +16 -7
  49. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/vehicle.py +23 -4
  50. rivian_python_client-2.2.0b3/src/rivian/parallax/proto/dynamics_pb2.py +0 -72
  51. rivian_python_client-2.2.0b3/src/rivian/parallax/proto/vehicle_pb2.py +0 -62
  52. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/.gitignore +0 -0
  53. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/README.md +0 -0
  54. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/__init__.py +0 -0
  55. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/ble.py +0 -0
  56. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/const.py +0 -0
  57. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/exceptions.py +0 -0
  58. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/__init__.py +0 -0
  59. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/comfort.py +0 -0
  60. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/core.py +0 -0
  61. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/departure.py +0 -0
  62. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/energy.py +0 -0
  63. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/energy_edge_compute.py +0 -0
  64. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/gearguard_streaming.py +0 -0
  65. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/geofence.py +0 -0
  66. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/navigation.py +0 -0
  67. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/ota.py +0 -0
  68. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/parallax.py +0 -0
  69. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/__init__.py +0 -0
  70. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/body_pb2.pyi +0 -0
  71. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/comfort.proto +0 -0
  72. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/departure.proto +0 -0
  73. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/energy_pb2.pyi +0 -0
  74. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/gearguard_streaming.proto +0 -0
  75. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/gearguard_streaming_pb2.pyi +0 -0
  76. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/geofence_pb2.pyi +0 -0
  77. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/navigation.proto +0 -0
  78. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/parallax.proto +0 -0
  79. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/parallax_pb2.pyi +0 -0
  80. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/secure_file_transfer.proto +0 -0
  81. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/secure_file_transfer_pb2.pyi +0 -0
  82. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/security.proto +0 -0
  83. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/security_pb2.pyi +0 -0
  84. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/user_passcodes.proto +0 -0
  85. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/user_passcodes_pb2.pyi +0 -0
  86. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/proto/vehicle_access.proto +0 -0
  87. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/secure_file_transfer.py +0 -0
  88. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/security.py +0 -0
  89. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/user_passcodes.py +0 -0
  90. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/parallax/vehicle_access.py +0 -0
  91. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/py.typed +0 -0
  92. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/rivian.py +0 -0
  93. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/schemas/charging.graphql +0 -0
  94. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/schemas/gateway.graphql +0 -0
  95. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/schemas/orders.graphql +0 -0
  96. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/utils.py +0 -0
  97. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b5}/src/rivian/ws_monitor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rivian-python-client
3
- Version: 2.2.0b3
3
+ Version: 2.2.0b5
4
4
  Summary: Rivian API Client (Unofficial)
5
5
  Author-email: Brian Retterer <bretterer@gmail.com>, "J.R. Gutierrez" <jrgutier@gmail.com>, Nathan Spencer <natekspencer@gmail.com>, Trevor Mack <drummer8001@gmail.com>
6
6
  License-Expression: MIT
@@ -8,7 +8,7 @@ Requires-Python: >=3.10
8
8
  Requires-Dist: aiohttp>=3.0.0
9
9
  Requires-Dist: backports-strenum>=1.2.4; python_version < '3.11'
10
10
  Requires-Dist: cryptography>=41.0.1
11
- Requires-Dist: protobuf<8,>=7.35.1
11
+ Requires-Dist: protobuf<8,>=6.31.1
12
12
  Requires-Dist: typing-extensions>=4.14.1; python_version < '3.11'
13
13
  Provides-Extra: ble
14
14
  Requires-Dist: bleak>=0.21; extra == 'ble'
@@ -15,7 +15,7 @@ dependencies = [
15
15
  "cryptography (>=41.0.1)",
16
16
  "backports-strenum (>=1.2.4) ; python_version < '3.11'",
17
17
  "typing_extensions (>=4.14.1) ; python_version < '3.11'",
18
- "protobuf>=7.35.1,<8",
18
+ "protobuf>=6.31.1,<8",
19
19
  ]
20
20
  dynamic = ["version"]
21
21
 
@@ -34,8 +34,8 @@ dev = [
34
34
  "mypy>=1.7,<3.0",
35
35
  "ruff>=0.16,<0.17",
36
36
  "pre-commit>=4.6.1,<5",
37
- "types-protobuf>=7.35.1.20260906",
38
- "grpcio-tools==1.84.0",
37
+ "types-protobuf>=6.32.1.20260221",
38
+ "grpcio-tools==1.80.0",
39
39
  "pytest-cov>=7.0,<8",
40
40
  ]
41
41
 
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '2.2.0b3'
4
+ __version__ = VERSION = '2.2.0b5'
@@ -196,7 +196,7 @@ def decode_wiper_fluid_level(m: body_pb2.WiperFluidLevel) -> dict[str, Any]:
196
196
  """body.wipers.fluid_level — washer fluid level.
197
197
 
198
198
  Fields:
199
- _wiperFluidLevel: int — raw (1 so far, presumably normal)
199
+ _wiperFluidLevel: int — raw
200
200
  """
201
201
  if (v := _present(m, "field_2")) is None:
202
202
  return {}
@@ -219,20 +219,30 @@ _CHARGER_STATUS_MAP: Final[dict[int, str]] = {
219
219
 
220
220
  @RVMDecoder.register("charging.energy.state", charging_pb2.EnergyState)
221
221
  def decode_energy_state(m: charging_pb2.EnergyState) -> dict[str, Any]:
222
- """charging.energy.state — charger connection status.
222
+ """charging.energy.state — charger connection and charging state.
223
223
 
224
224
  Fields:
225
225
  chargerStatus: str — GraphQL chargerStatus values
226
226
  ("chrgr_sts_not_connected" | "chrgr_sts_connected_no_chrg" |
227
227
  "chrgr_sts_connected_charging"); inferred
228
- _field1, _field3, _field11: int — raw
228
+ chargerState, connectionState: str | None — as in
229
+ charging.session.status
230
+ _field3: int — raw
229
231
  """
230
- result: dict[str, Any] = {}
232
+ result: dict[str, Any] = {
233
+ "chargerState": _enum(
234
+ _CHARGING_STATE_MAP, m.charging_state or None, what="charging state"
235
+ ),
236
+ "connectionState": _enum(
237
+ _CONNECTION_STATE_MAP,
238
+ m.connection_state or None,
239
+ what="charging connection state",
240
+ ),
241
+ }
231
242
  if (v := _present(m, "charger_status")) is not None:
232
243
  result["chargerStatus"] = _enum(_CHARGER_STATUS_MAP, v, what="charger status")
233
- for num in (1, 3, 11):
234
- if (v := _present(m, f"field_{num}")) is not None:
235
- result[f"_field{num}"] = v
244
+ if (v := _present(m, "field_3")) is not None:
245
+ result["_field3"] = v
236
246
  return result
237
247
 
238
248
 
@@ -241,6 +251,9 @@ def decode_session_power(m: charging_pb2.SessionPower) -> dict[str, Any]:
241
251
  """charging.session.power — live charging power, about every 5 seconds.
242
252
 
243
253
  Fields:
244
- power: float (kW; 0 when not charging)
254
+ power: float (kW)
255
+
256
+ Isn't resent as 0 when a charge completes, so gate on
257
+ charging.session.status rather than treating the last value as live.
245
258
  """
246
259
  return {"power": round(m.power, 2)}
@@ -37,7 +37,8 @@ def decode_vas_keyper_devices(m: device_table_pb2.VasKeyperDevices) -> dict[str,
37
37
  keyType: str ("phone" | "key_card" | "key_fob"; key_fob inferred)
38
38
  mappedIdentityId: str — the GraphQL device's `mappedIdentityId`
39
39
  hrid: str — short human-readable id (key card)
40
- profileId: str — the driver profile the key belongs to
40
+ profileId: str — the driver profile the key belongs to (as in
41
+ vehicle.profiles.active_user)
41
42
  publicKey: str — hex; phone keys
42
43
  keyRevision: int — key table revision when the entry was last written
43
44
  keyStatus: str ("active" | "inactive" | "waiting_to_pair" |
@@ -45,7 +46,7 @@ def decode_vas_keyper_devices(m: device_table_pb2.VasKeyperDevices) -> dict[str,
45
46
  deleted keys
46
47
  infoC: int — 1 while active, 2147483647 while inactive, else the
47
48
  pairing attempt number
48
- infoA, infoB: int — unknown; always equal
49
+ infoA, infoB: int — unknown
49
50
  deviceId: str — hex; for a key card, the GraphQL `devices[].id`
50
51
  phoneId: str — the phone's UUID; phone keys
51
52
  credentialHex: str — hex; likely key material
@@ -88,7 +88,7 @@ def decode_gear(m: dynamics_pb2.Gear) -> dict[str, Any]:
88
88
 
89
89
  @RVMDecoder.register("dynamics.vehicle.gnss", dynamics_pb2.Gnss)
90
90
  def decode_gnss(m: dynamics_pb2.Gnss) -> dict[str, Any]:
91
- """dynamics.vehicle.gnss — GPS position, altitude and bearing.
91
+ """dynamics.vehicle.gnss — GPS position, altitude, bearing and speed.
92
92
 
93
93
  Fields:
94
94
  gnssTimeStamp: datetime — time of the fix
@@ -96,6 +96,10 @@ def decode_gnss(m: dynamics_pb2.Gnss) -> dict[str, Any]:
96
96
  (the gateway's VehicleLocation shape)
97
97
  gnssAltitude: float (meters)
98
98
  gnssBearing: float (degrees)
99
+ gnssSpeed: float (m/s)
100
+ gnssError: {"timeStamp": datetime, "positionVertical": float (m),
101
+ "positionHorizontal": float (m), "speed": float (m/s),
102
+ "bearing": float} (the gateway's gnssError shape)
99
103
  """
100
104
  if not m.ByteSize():
101
105
  return {}
@@ -109,6 +113,14 @@ def decode_gnss(m: dynamics_pb2.Gnss) -> dict[str, Any]:
109
113
  },
110
114
  "gnssAltitude": round(m.altitude, 1),
111
115
  "gnssBearing": round(m.bearing, 1),
116
+ "gnssSpeed": round(m.speed, 2),
117
+ "gnssError": {
118
+ "timeStamp": fix_time,
119
+ "positionVertical": round(m.position_vertical_error, 1),
120
+ "positionHorizontal": round(m.position_horizontal_error, 1),
121
+ "speed": round(m.speed_error, 1),
122
+ "bearing": round(m.bearing_error, 1),
123
+ },
112
124
  }
113
125
 
114
126
 
@@ -228,7 +240,7 @@ def decode_brake_fluid_level(m: dynamics_pb2.BrakeFluidLevel) -> dict[str, Any]:
228
240
  """dynamics.brakes.fluid_level — brake fluid level.
229
241
 
230
242
  Fields:
231
- _brakeFluidLevel: int — raw (1 so far, presumably normal)
243
+ _brakeFluidLevel: int — raw
232
244
  """
233
245
  if (v := _present(m, "field_1")) is None:
234
246
  return {}
@@ -72,7 +72,7 @@ def decode_halloween_celebration_settings(
72
72
  ) -> dict[str, Any]:
73
73
  """holiday_celebration.mobile_vehicle_settings.halloween_celebration_settings.
74
74
 
75
- Names come from the app; most fields have only been sent empty.
75
+ Names come from the app.
76
76
 
77
77
  Fields (each only when set):
78
78
  halloweenCostumeTheme: str
@@ -100,7 +100,7 @@ enum LockFault {
100
100
  // body.trailer.state
101
101
  message TrailerState {
102
102
  optional TrailerPresence presence = 1;
103
- int32 field_2 = 2; // unknown; constant
103
+ int32 field_2 = 2; // unknown
104
104
  }
105
105
 
106
106
  enum ClosureFault {
@@ -218,5 +218,5 @@ enum WindowsNextAction {
218
218
 
219
219
  // body.wipers.fluid_level
220
220
  message WiperFluidLevel {
221
- optional int32 field_2 = 2; // unknown; 1 so far
221
+ optional int32 field_2 = 2; // unknown
222
222
  }
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: rivian/parallax/proto/body.proto
5
- # Protobuf Python Version: 7.35.1
5
+ # Protobuf Python Version: 6.31.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,8 +11,8 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 7,
15
- 35,
14
+ 6,
15
+ 31,
16
16
  1,
17
17
  '',
18
18
  'rivian/parallax/proto/body.proto'
@@ -123,12 +123,13 @@ message TimeEstimation {
123
123
  }
124
124
 
125
125
  // charging.energy.state
126
+ // The states match charging.session.status, give or take a message.
126
127
  message EnergyState {
127
- optional int32 field_1 = 1; // inferred: ChargingState (1 ready ... 4 complete)
128
+ ChargingState charging_state = 1;
128
129
  optional ChargerStatus charger_status = 2; // inferred
129
- optional int32 field_3 = 3; // unknown; 1 so far
130
- string field_10 = 10; // always empty so far
131
- optional int32 field_11 = 11; // unknown; 1 or 2
130
+ optional int32 field_3 = 3; // unknown
131
+ string field_10 = 10; // unknown
132
+ ConnectionState connection_state = 11;
132
133
  }
133
134
 
134
135
  enum ChargerStatus {
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: rivian/parallax/proto/charging.proto
5
- # Protobuf Python Version: 7.35.1
5
+ # Protobuf Python Version: 6.31.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,8 +11,8 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 7,
15
- 35,
14
+ 6,
15
+ 31,
16
16
  1,
17
17
  '',
18
18
  'rivian/parallax/proto/charging.proto'
@@ -24,21 +24,21 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$rivian/parallax/proto/charging.proto\x12\x18rivian.parallax.charging\"\xe8\x04\n\x12ScheduleTimeWindow\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x43\n\x06window\x18\x02 \x01(\x0b\x32\x33.rivian.parallax.charging.ScheduleTimeWindow.Window\x1a\xbe\x02\n\x06Window\x12\x12\n\nstart_time\x18\x01 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x05\x12\x10\n\x08\x64uration\x18\x03 \x01(\x05\x12\x11\n\x04\x61mps\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12L\n\x08location\x18\x05 \x01(\x0b\x32:.rivian.parallax.charging.ScheduleTimeWindow.GeoCoordinate\x12I\n\tstart_day\x18\x06 \x01(\x0e\x32\x36.rivian.parallax.charging.ScheduleTimeWindow.DayOfWeek\x12G\n\x07\x65nd_day\x18\x07 \x01(\x0e\x32\x36.rivian.parallax.charging.ScheduleTimeWindow.DayOfWeekB\x07\n\x05_amps\x1a\x34\n\rGeoCoordinate\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\"\x84\x01\n\tDayOfWeek\x12\x1b\n\x17\x44\x41Y_OF_WEEK_UNSPECIFIED\x10\x00\x12\n\n\x06SUNDAY\x10\x01\x12\n\n\x06MONDAY\x10\x02\x12\x0b\n\x07TUESDAY\x10\x03\x12\r\n\tWEDNESDAY\x10\x04\x12\x0c\n\x08THURSDAY\x10\x05\x12\n\n\x06\x46RIDAY\x10\x06\x12\x0c\n\x08SATURDAY\x10\x07\"5\n\x13SessionNotification\x12\x13\n\x06\x66ield1\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\t\n\x07_field1\"a\n\x14SessionRemoteCommand\x12=\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\'.rivian.parallax.charging.RemoteCommandH\x00\x88\x01\x01\x42\n\n\x08_command\"1\n\tSocSlider\x12\x16\n\tsoc_limit\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x0c\n\n_soc_limit\",\n\nTripTarget\x12\x13\n\x06\x66ield2\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\t\n\x07_field2\"\x17\n\x15SmartChargingSettings\"\x13\n\x11SmartChargingInfo\"\x1a\n\x18WeightedChargingForecast\"\xda\x01\n\rSessionStatus\x12H\n\x10\x63onnection_state\x18\x01 \x01(\x0e\x32).rivian.parallax.charging.ConnectionStateH\x00\x88\x01\x01\x12\x44\n\x0e\x63harging_state\x18\x02 \x01(\x0e\x32\'.rivian.parallax.charging.ChargingStateH\x01\x88\x01\x01\x12\x11\n\tis_active\x18\x03 \x01(\x08\x42\x13\n\x11_connection_stateB\x11\n\x0f_charging_state\"2\n\x0eTimeEstimation\x12 \n\x18\x65stimated_time_remaining\x18\x02 \x01(\x05\"\xe0\x01\n\x0b\x45nergyState\x12\x14\n\x07\x66ield_1\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x44\n\x0e\x63harger_status\x18\x02 \x01(\x0e\x32\'.rivian.parallax.charging.ChargerStatusH\x01\x88\x01\x01\x12\x14\n\x07\x66ield_3\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12\x10\n\x08\x66ield_10\x18\n \x01(\t\x12\x15\n\x08\x66ield_11\x18\x0b \x01(\x05H\x03\x88\x01\x01\x42\n\n\x08_field_1B\x11\n\x0f_charger_statusB\n\n\x08_field_3B\x0b\n\t_field_11\"\x1d\n\x0cSessionPower\x12\r\n\x05power\x18\x01 \x01(\x02*b\n\rRemoteCommand\x12\x1e\n\x1aREMOTE_COMMAND_UNSPECIFIED\x10\x00\x12\x18\n\x14REMOTE_COMMAND_START\x10\x01\x12\x17\n\x13REMOTE_COMMAND_STOP\x10\x02*v\n\x0f\x43onnectionState\x12 \n\x1c\x43ONNECTION_STATE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43ONNECTION_STATE_DISCONNECTED\x10\x01\x12\x1e\n\x1a\x43ONNECTION_STATE_CONNECTED\x10\x02*\xfc\x05\n\rChargingState\x12\x1e\n\x1a\x43HARGING_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HARGING_READY\x10\x01\x12\x17\n\x13\x43HARGING_CONNECTING\x10\x02\x12\x13\n\x0f\x43HARGING_ACTIVE\x10\x03\x12\x15\n\x11\x43HARGING_COMPLETE\x10\x04\x12\x16\n\x12\x43HARGING_SCHEDULED\x10\x05\x12\x1a\n\x16\x43HARGING_VEHICLE_ERROR\x10\x06\x12\x1a\n\x16\x43HARGING_STATION_ERROR\x10\x07\x12\x19\n\x15\x43HARGING_USER_STOPPED\x10\x08\x12\x1c\n\x18\x43HARGING_STATION_STOPPED\x10\t\x12\x1a\n\x16\x43HARGING_PAYMENT_ERROR\x10\n\x12\x17\n\x13\x43HARGING_CERT_ERROR\x10\x0b\x12\x16\n\x12\x43HARGING_TLS_ERROR\x10\x0c\x12(\n$CHARGING_ERROR_AC_ADAPTER_USED_ON_DC\x10\r\x12(\n$CHARGING_ERROR_DC_ADAPTER_USED_ON_AC\x10\x0e\x12\'\n#CHARGING_ERROR_INCOMPATIBLE_CHARGER\x10\x0f\x12\x1c\n\x18\x43HARGING_SD_COMPENSATION\x10\x10\x12\x16\n\x12WAITING_ON_CHARGER\x10\x11\x12%\n!CHARGER_NOT_READY_OR_INCOMPATIBLE\x10\x12\x12\x1c\n\x18\x43HARGING_VEHICLE_STOPPED\x10\x13\x12+\n\'CHARGING_PAYMENT_ERROR_START_RIVIAN_APP\x10\x14\x12&\n\"CHARGING_TLS_ERROR_UNKNOWN_CHARGER\x10\x15\x12&\n\"CHARGING_TLS_ERROR_UNEXPECTED_FAIL\x10\x16\x12\'\n#CHARGING_TLS_ERROR_START_RIVIAN_APP\x10\x17*\xa0\x01\n\rChargerStatus\x12\x1e\n\x1a\x43HARGER_STATUS_UNSPECIFIED\x10\x00\x12 \n\x1c\x43HARGER_STATUS_NOT_CONNECTED\x10\x01\x12&\n\"CHARGER_STATUS_CONNECTED_NO_CHARGE\x10\x02\x12%\n!CHARGER_STATUS_CONNECTED_CHARGING\x10\x03\x62\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$rivian/parallax/proto/charging.proto\x12\x18rivian.parallax.charging\"\xe8\x04\n\x12ScheduleTimeWindow\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x43\n\x06window\x18\x02 \x01(\x0b\x32\x33.rivian.parallax.charging.ScheduleTimeWindow.Window\x1a\xbe\x02\n\x06Window\x12\x12\n\nstart_time\x18\x01 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x05\x12\x10\n\x08\x64uration\x18\x03 \x01(\x05\x12\x11\n\x04\x61mps\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12L\n\x08location\x18\x05 \x01(\x0b\x32:.rivian.parallax.charging.ScheduleTimeWindow.GeoCoordinate\x12I\n\tstart_day\x18\x06 \x01(\x0e\x32\x36.rivian.parallax.charging.ScheduleTimeWindow.DayOfWeek\x12G\n\x07\x65nd_day\x18\x07 \x01(\x0e\x32\x36.rivian.parallax.charging.ScheduleTimeWindow.DayOfWeekB\x07\n\x05_amps\x1a\x34\n\rGeoCoordinate\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\"\x84\x01\n\tDayOfWeek\x12\x1b\n\x17\x44\x41Y_OF_WEEK_UNSPECIFIED\x10\x00\x12\n\n\x06SUNDAY\x10\x01\x12\n\n\x06MONDAY\x10\x02\x12\x0b\n\x07TUESDAY\x10\x03\x12\r\n\tWEDNESDAY\x10\x04\x12\x0c\n\x08THURSDAY\x10\x05\x12\n\n\x06\x46RIDAY\x10\x06\x12\x0c\n\x08SATURDAY\x10\x07\"5\n\x13SessionNotification\x12\x13\n\x06\x66ield1\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\t\n\x07_field1\"a\n\x14SessionRemoteCommand\x12=\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\'.rivian.parallax.charging.RemoteCommandH\x00\x88\x01\x01\x42\n\n\x08_command\"1\n\tSocSlider\x12\x16\n\tsoc_limit\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x0c\n\n_soc_limit\",\n\nTripTarget\x12\x13\n\x06\x66ield2\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\t\n\x07_field2\"\x17\n\x15SmartChargingSettings\"\x13\n\x11SmartChargingInfo\"\x1a\n\x18WeightedChargingForecast\"\xda\x01\n\rSessionStatus\x12H\n\x10\x63onnection_state\x18\x01 \x01(\x0e\x32).rivian.parallax.charging.ConnectionStateH\x00\x88\x01\x01\x12\x44\n\x0e\x63harging_state\x18\x02 \x01(\x0e\x32\'.rivian.parallax.charging.ChargingStateH\x01\x88\x01\x01\x12\x11\n\tis_active\x18\x03 \x01(\x08\x42\x13\n\x11_connection_stateB\x11\n\x0f_charging_state\"2\n\x0eTimeEstimation\x12 \n\x18\x65stimated_time_remaining\x18\x02 \x01(\x05\"\xa0\x02\n\x0b\x45nergyState\x12?\n\x0e\x63harging_state\x18\x01 \x01(\x0e\x32\'.rivian.parallax.charging.ChargingState\x12\x44\n\x0e\x63harger_status\x18\x02 \x01(\x0e\x32\'.rivian.parallax.charging.ChargerStatusH\x00\x88\x01\x01\x12\x14\n\x07\x66ield_3\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x08\x66ield_10\x18\n \x01(\t\x12\x43\n\x10\x63onnection_state\x18\x0b \x01(\x0e\x32).rivian.parallax.charging.ConnectionStateB\x11\n\x0f_charger_statusB\n\n\x08_field_3\"\x1d\n\x0cSessionPower\x12\r\n\x05power\x18\x01 \x01(\x02*b\n\rRemoteCommand\x12\x1e\n\x1aREMOTE_COMMAND_UNSPECIFIED\x10\x00\x12\x18\n\x14REMOTE_COMMAND_START\x10\x01\x12\x17\n\x13REMOTE_COMMAND_STOP\x10\x02*v\n\x0f\x43onnectionState\x12 \n\x1c\x43ONNECTION_STATE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43ONNECTION_STATE_DISCONNECTED\x10\x01\x12\x1e\n\x1a\x43ONNECTION_STATE_CONNECTED\x10\x02*\xfc\x05\n\rChargingState\x12\x1e\n\x1a\x43HARGING_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HARGING_READY\x10\x01\x12\x17\n\x13\x43HARGING_CONNECTING\x10\x02\x12\x13\n\x0f\x43HARGING_ACTIVE\x10\x03\x12\x15\n\x11\x43HARGING_COMPLETE\x10\x04\x12\x16\n\x12\x43HARGING_SCHEDULED\x10\x05\x12\x1a\n\x16\x43HARGING_VEHICLE_ERROR\x10\x06\x12\x1a\n\x16\x43HARGING_STATION_ERROR\x10\x07\x12\x19\n\x15\x43HARGING_USER_STOPPED\x10\x08\x12\x1c\n\x18\x43HARGING_STATION_STOPPED\x10\t\x12\x1a\n\x16\x43HARGING_PAYMENT_ERROR\x10\n\x12\x17\n\x13\x43HARGING_CERT_ERROR\x10\x0b\x12\x16\n\x12\x43HARGING_TLS_ERROR\x10\x0c\x12(\n$CHARGING_ERROR_AC_ADAPTER_USED_ON_DC\x10\r\x12(\n$CHARGING_ERROR_DC_ADAPTER_USED_ON_AC\x10\x0e\x12\'\n#CHARGING_ERROR_INCOMPATIBLE_CHARGER\x10\x0f\x12\x1c\n\x18\x43HARGING_SD_COMPENSATION\x10\x10\x12\x16\n\x12WAITING_ON_CHARGER\x10\x11\x12%\n!CHARGER_NOT_READY_OR_INCOMPATIBLE\x10\x12\x12\x1c\n\x18\x43HARGING_VEHICLE_STOPPED\x10\x13\x12+\n\'CHARGING_PAYMENT_ERROR_START_RIVIAN_APP\x10\x14\x12&\n\"CHARGING_TLS_ERROR_UNKNOWN_CHARGER\x10\x15\x12&\n\"CHARGING_TLS_ERROR_UNEXPECTED_FAIL\x10\x16\x12\'\n#CHARGING_TLS_ERROR_START_RIVIAN_APP\x10\x17*\xa0\x01\n\rChargerStatus\x12\x1e\n\x1a\x43HARGER_STATUS_UNSPECIFIED\x10\x00\x12 \n\x1c\x43HARGER_STATUS_NOT_CONNECTED\x10\x01\x12&\n\"CHARGER_STATUS_CONNECTED_NO_CHARGE\x10\x02\x12%\n!CHARGER_STATUS_CONNECTED_CHARGING\x10\x03\x62\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.charging_pb2', _globals)
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
- _globals['_REMOTECOMMAND']._serialized_start=1541
35
- _globals['_REMOTECOMMAND']._serialized_end=1639
36
- _globals['_CONNECTIONSTATE']._serialized_start=1641
37
- _globals['_CONNECTIONSTATE']._serialized_end=1759
38
- _globals['_CHARGINGSTATE']._serialized_start=1762
39
- _globals['_CHARGINGSTATE']._serialized_end=2526
40
- _globals['_CHARGERSTATUS']._serialized_start=2529
41
- _globals['_CHARGERSTATUS']._serialized_end=2689
34
+ _globals['_REMOTECOMMAND']._serialized_start=1605
35
+ _globals['_REMOTECOMMAND']._serialized_end=1703
36
+ _globals['_CONNECTIONSTATE']._serialized_start=1705
37
+ _globals['_CONNECTIONSTATE']._serialized_end=1823
38
+ _globals['_CHARGINGSTATE']._serialized_start=1826
39
+ _globals['_CHARGINGSTATE']._serialized_end=2590
40
+ _globals['_CHARGERSTATUS']._serialized_start=2593
41
+ _globals['_CHARGERSTATUS']._serialized_end=2753
42
42
  _globals['_SCHEDULETIMEWINDOW']._serialized_start=67
43
43
  _globals['_SCHEDULETIMEWINDOW']._serialized_end=683
44
44
  _globals['_SCHEDULETIMEWINDOW_WINDOW']._serialized_start=176
@@ -66,7 +66,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
66
66
  _globals['_TIMEESTIMATION']._serialized_start=1231
67
67
  _globals['_TIMEESTIMATION']._serialized_end=1281
68
68
  _globals['_ENERGYSTATE']._serialized_start=1284
69
- _globals['_ENERGYSTATE']._serialized_end=1508
70
- _globals['_SESSIONPOWER']._serialized_start=1510
71
- _globals['_SESSIONPOWER']._serialized_end=1539
69
+ _globals['_ENERGYSTATE']._serialized_end=1572
70
+ _globals['_SESSIONPOWER']._serialized_start=1574
71
+ _globals['_SESSIONPOWER']._serialized_end=1603
72
72
  # @@protoc_insertion_point(module_scope)
@@ -134,7 +134,7 @@ class ScheduleTimeWindow(_message.Message):
134
134
  WINDOW_FIELD_NUMBER: _ClassVar[int]
135
135
  enabled: bool
136
136
  window: ScheduleTimeWindow.Window
137
- def __init__(self, enabled: _Optional[bool] = ..., window: _Optional[_Union[ScheduleTimeWindow.Window, _Mapping]] = ...) -> None: ...
137
+ def __init__(self, enabled: bool = ..., window: _Optional[_Union[ScheduleTimeWindow.Window, _Mapping]] = ...) -> None: ...
138
138
 
139
139
  class SessionNotification(_message.Message):
140
140
  __slots__ = ("field1",)
@@ -180,7 +180,7 @@ class SessionStatus(_message.Message):
180
180
  connection_state: ConnectionState
181
181
  charging_state: ChargingState
182
182
  is_active: bool
183
- def __init__(self, connection_state: _Optional[_Union[ConnectionState, str]] = ..., charging_state: _Optional[_Union[ChargingState, str]] = ..., is_active: _Optional[bool] = ...) -> None: ...
183
+ def __init__(self, connection_state: _Optional[_Union[ConnectionState, str]] = ..., charging_state: _Optional[_Union[ChargingState, str]] = ..., is_active: bool = ...) -> None: ...
184
184
 
185
185
  class TimeEstimation(_message.Message):
186
186
  __slots__ = ("estimated_time_remaining",)
@@ -189,18 +189,18 @@ class TimeEstimation(_message.Message):
189
189
  def __init__(self, estimated_time_remaining: _Optional[int] = ...) -> None: ...
190
190
 
191
191
  class EnergyState(_message.Message):
192
- __slots__ = ("field_1", "charger_status", "field_3", "field_10", "field_11")
193
- FIELD_1_FIELD_NUMBER: _ClassVar[int]
192
+ __slots__ = ("charging_state", "charger_status", "field_3", "field_10", "connection_state")
193
+ CHARGING_STATE_FIELD_NUMBER: _ClassVar[int]
194
194
  CHARGER_STATUS_FIELD_NUMBER: _ClassVar[int]
195
195
  FIELD_3_FIELD_NUMBER: _ClassVar[int]
196
196
  FIELD_10_FIELD_NUMBER: _ClassVar[int]
197
- FIELD_11_FIELD_NUMBER: _ClassVar[int]
198
- field_1: int
197
+ CONNECTION_STATE_FIELD_NUMBER: _ClassVar[int]
198
+ charging_state: ChargingState
199
199
  charger_status: ChargerStatus
200
200
  field_3: int
201
201
  field_10: str
202
- field_11: int
203
- def __init__(self, field_1: _Optional[int] = ..., charger_status: _Optional[_Union[ChargerStatus, str]] = ..., field_3: _Optional[int] = ..., field_10: _Optional[str] = ..., field_11: _Optional[int] = ...) -> None: ...
202
+ connection_state: ConnectionState
203
+ def __init__(self, charging_state: _Optional[_Union[ChargingState, str]] = ..., charger_status: _Optional[_Union[ChargerStatus, str]] = ..., field_3: _Optional[int] = ..., field_10: _Optional[str] = ..., connection_state: _Optional[_Union[ConnectionState, str]] = ...) -> None: ...
204
204
 
205
205
  class SessionPower(_message.Message):
206
206
  __slots__ = ("power",)
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: rivian/parallax/proto/comfort.proto
5
- # Protobuf Python Version: 7.35.1
5
+ # Protobuf Python Version: 6.31.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,8 +11,8 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 7,
15
- 35,
14
+ 6,
15
+ 31,
16
16
  1,
17
17
  '',
18
18
  'rivian/parallax/proto/comfort.proto'
@@ -179,7 +179,7 @@ class CabinVentilationSetting(_message.Message):
179
179
  windows_position: int
180
180
  sunroof_position: int
181
181
  duration: int
182
- def __init__(self, enabled: _Optional[bool] = ..., mode: _Optional[str] = ..., windows_position: _Optional[int] = ..., sunroof_position: _Optional[int] = ..., duration: _Optional[int] = ...) -> None: ...
182
+ def __init__(self, enabled: bool = ..., mode: _Optional[str] = ..., windows_position: _Optional[int] = ..., sunroof_position: _Optional[int] = ..., duration: _Optional[int] = ...) -> None: ...
183
183
 
184
184
  class ClimateHoldSetting(_message.Message):
185
185
  __slots__ = ("duration",)
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: rivian/parallax/proto/departure.proto
5
- # Protobuf Python Version: 7.35.1
5
+ # Protobuf Python Version: 6.31.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,8 +11,8 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 7,
15
- 35,
14
+ 6,
15
+ 31,
16
16
  1,
17
17
  '',
18
18
  'rivian/parallax/proto/departure.proto'
@@ -47,7 +47,7 @@ class DepartureSchedules(_message.Message):
47
47
  is_enabled: bool
48
48
  occurrence: DepartureSchedules.Occurrence
49
49
  departure_settings: DepartureSchedules.DepartureSettings
50
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., is_enabled: _Optional[bool] = ..., occurrence: _Optional[_Union[DepartureSchedules.Occurrence, _Mapping]] = ..., departure_settings: _Optional[_Union[DepartureSchedules.DepartureSettings, _Mapping]] = ...) -> None: ...
50
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., is_enabled: bool = ..., occurrence: _Optional[_Union[DepartureSchedules.Occurrence, _Mapping]] = ..., departure_settings: _Optional[_Union[DepartureSchedules.DepartureSettings, _Mapping]] = ...) -> None: ...
51
51
  class Occurrence(_message.Message):
52
52
  __slots__ = ("days", "starts_at")
53
53
  DAYS_FIELD_NUMBER: _ClassVar[int]
@@ -71,14 +71,14 @@ class DepartureSchedules(_message.Message):
71
71
  friday: bool
72
72
  saturday: bool
73
73
  sunday: bool
74
- def __init__(self, monday: _Optional[bool] = ..., tuesday: _Optional[bool] = ..., wednesday: _Optional[bool] = ..., thursday: _Optional[bool] = ..., friday: _Optional[bool] = ..., saturday: _Optional[bool] = ..., sunday: _Optional[bool] = ...) -> None: ...
74
+ def __init__(self, monday: bool = ..., tuesday: bool = ..., wednesday: bool = ..., thursday: bool = ..., friday: bool = ..., saturday: bool = ..., sunday: bool = ...) -> None: ...
75
75
  class DepartureSettings(_message.Message):
76
76
  __slots__ = ("comfort_settings", "should_override_charge_schedule")
77
77
  COMFORT_SETTINGS_FIELD_NUMBER: _ClassVar[int]
78
78
  SHOULD_OVERRIDE_CHARGE_SCHEDULE_FIELD_NUMBER: _ClassVar[int]
79
79
  comfort_settings: DepartureSchedules.ComfortSettings
80
80
  should_override_charge_schedule: bool
81
- def __init__(self, comfort_settings: _Optional[_Union[DepartureSchedules.ComfortSettings, _Mapping]] = ..., should_override_charge_schedule: _Optional[bool] = ...) -> None: ...
81
+ def __init__(self, comfort_settings: _Optional[_Union[DepartureSchedules.ComfortSettings, _Mapping]] = ..., should_override_charge_schedule: bool = ...) -> None: ...
82
82
  class ComfortSettings(_message.Message):
83
83
  __slots__ = ("cabin_temperature", "front_defog_defrost", "surface_heat_vent_levels")
84
84
  CABIN_TEMPERATURE_FIELD_NUMBER: _ClassVar[int]
@@ -34,7 +34,7 @@ message VasKeyperDevices {
34
34
  optional bool active = 10;
35
35
 
36
36
  message Info {
37
- optional int32 a = 1; // unknown; always equal to b
37
+ optional int32 a = 1; // unknown
38
38
  // 1 while active, INT32_MAX while inactive, else the pairing attempt.
39
39
  optional int32 c = 4;
40
40
  optional KeyStatus status = 5;
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: rivian/parallax/proto/device_table.proto
5
- # Protobuf Python Version: 7.35.1
5
+ # Protobuf Python Version: 6.31.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,8 +11,8 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 7,
15
- 35,
14
+ 6,
15
+ 31,
16
16
  1,
17
17
  '',
18
18
  'rivian/parallax/proto/device_table.proto'
@@ -75,7 +75,7 @@ class VasKeyperDevices(_message.Message):
75
75
  phone: VasKeyperDevices.KeyMaterial
76
76
  key_type: VasKeyperDevices.KeyType
77
77
  active: bool
78
- def __init__(self, info: _Optional[_Union[VasKeyperDevices.Credentials.Info, _Mapping]] = ..., card: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., fob: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., phone: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., key_type: _Optional[_Union[VasKeyperDevices.KeyType, str]] = ..., active: _Optional[bool] = ...) -> None: ...
78
+ def __init__(self, info: _Optional[_Union[VasKeyperDevices.Credentials.Info, _Mapping]] = ..., card: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., fob: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., phone: _Optional[_Union[VasKeyperDevices.KeyMaterial, _Mapping]] = ..., key_type: _Optional[_Union[VasKeyperDevices.KeyType, str]] = ..., active: bool = ...) -> None: ...
79
79
  class KeyMaterial(_message.Message):
80
80
  __slots__ = ("id", "credential")
81
81
  ID_FIELD_NUMBER: _ClassVar[int]
@@ -48,14 +48,13 @@ message Gnss {
48
48
  double latitude = 1;
49
49
  double longitude = 2;
50
50
  double altitude = 3; // meters
51
- optional float field_4 = 4; // unmapped; possibly speed (m/s)
51
+ float speed = 4; // m/s
52
52
  float bearing = 5; // degrees
53
- // Unmapped. 6 and 7 grow while parked, like position uncertainty; 8 and 9
54
- // barely move. Possibly the gateway's gnssError fields.
55
- optional float field_6 = 6;
56
- optional float field_7 = 7;
57
- optional float field_8 = 8;
58
- optional float field_9 = 9;
53
+ // Errors for the fields above, in the same order (the gateway's gnssError).
54
+ float position_horizontal_error = 6; // meters
55
+ float position_vertical_error = 7; // meters
56
+ float speed_error = 8; // m/s
57
+ float bearing_error = 9;
59
58
  int64 time = 10; // epoch milliseconds; time of the whole fix
60
59
  }
61
60
 
@@ -100,7 +99,7 @@ enum TemperatureImpact {
100
99
 
101
100
  // dynamics.tires.state
102
101
  message TiresState {
103
- int32 field_1 = 1; // unknown; constant
102
+ int32 field_1 = 1; // unknown
104
103
 
105
104
  message Tire {
106
105
  TirePosition pos = 1;
@@ -145,5 +144,5 @@ message MassEstimate {
145
144
 
146
145
  // dynamics.brakes.fluid_level
147
146
  message BrakeFluidLevel {
148
- optional int32 field_1 = 1; // unknown; 1 so far
147
+ optional int32 field_1 = 1; // unknown
149
148
  }
@@ -0,0 +1,72 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: rivian/parallax/proto/dynamics.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'rivian/parallax/proto/dynamics.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$rivian/parallax/proto/dynamics.proto\x12\x18rivian.parallax.dynamics\"\x89\x01\n\tDriveMode\x12;\n\x04mode\x18\x01 \x01(\x0e\x32(.rivian.parallax.dynamics.DriveModeValueH\x00\x88\x01\x01\x12\x1a\n\x12limited_accel_cold\x18\x08 \x01(\x05\x12\x1a\n\x12limited_regen_cold\x18\t \x01(\x05\x42\x07\n\x05_mode\"9\n\x04Gear\x12\x31\n\x04gear\x18\x01 \x01(\x0e\x32#.rivian.parallax.dynamics.GearValue\"\xdb\x01\n\x04Gnss\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\r\n\x05speed\x18\x04 \x01(\x02\x12\x0f\n\x07\x62\x65\x61ring\x18\x05 \x01(\x02\x12!\n\x19position_horizontal_error\x18\x06 \x01(\x02\x12\x1f\n\x17position_vertical_error\x18\x07 \x01(\x02\x12\x13\n\x0bspeed_error\x18\x08 \x01(\x02\x12\x15\n\rbearing_error\x18\t \x01(\x02\x12\x0c\n\x04time\x18\n \x01(\x03\"a\n\rKnownLocation\x12\x43\n\x08location\x18\x01 \x01(\x0e\x32,.rivian.parallax.dynamics.KnownLocationValueH\x00\x88\x01\x01\x42\x0b\n\t_location\".\n\x08Odometer\x12\x15\n\x08\x64istance\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"\xd7\x01\n\x05Range\x12\x19\n\x11\x64istance_to_empty\x18\x01 \x01(\x05\x12@\n\tthreshold\x18\x02 \x01(\x0e\x32(.rivian.parallax.dynamics.RangeThresholdH\x00\x88\x01\x01\x12L\n\x12temperature_impact\x18\x03 \x01(\x0e\x32+.rivian.parallax.dynamics.TemperatureImpactH\x01\x88\x01\x01\x42\x0c\n\n_thresholdB\x15\n\x13_temperature_impact\"\xaa\x02\n\nTiresState\x12\x0f\n\x07\x66ield_1\x18\x01 \x01(\x05\x12\x37\n\x04tire\x18\x02 \x03(\x0b\x32).rivian.parallax.dynamics.TiresState.Tire\x1a\xd1\x01\n\x04Tire\x12\x33\n\x03pos\x18\x01 \x01(\x0e\x32&.rivian.parallax.dynamics.TirePosition\x12\x41\n\x06status\x18\x02 \x01(\x0e\x32,.rivian.parallax.dynamics.TirePressureStatusH\x00\x88\x01\x01\x12\x15\n\x08pressure\x18\x03 \x01(\x01H\x01\x88\x01\x01\x12\x0f\n\x07invalid\x18\x04 \x01(\x08\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x42\t\n\x07_statusB\x0b\n\t_pressure\"\xbe\x01\n\nEfficiency\x12\x17\n\nefficiency\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07\x66ield_2\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12=\n\x07history\x18\x03 \x03(\x0b\x32,.rivian.parallax.dynamics.Efficiency.History\x1a\'\n\x07History\x12\r\n\x05index\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x42\r\n\x0b_efficiencyB\n\n\x08_field_2\"*\n\x0cMassEstimate\x12\x11\n\x04mass\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x07\n\x05_mass\"3\n\x0f\x42rakeFluidLevel\x12\x14\n\x07\x66ield_1\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\n\n\x08_field_1*\xcd\x03\n\x0e\x44riveModeValue\x12\x1a\n\x16\x44RIVE_MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44RIVE_MODE_INIT\x10\x01\x12\x17\n\x13\x44RIVE_MODE_EVERYDAY\x10\x02\x12 \n\x1c\x44RIVE_MODE_OFF_ROAD_SNOW_ICE\x10\x03\x12\"\n\x1e\x44RIVE_MODE_OFF_ROAD_SPORT_AUTO\x10\x04\x12#\n\x1f\x44RIVE_MODE_OFF_ROAD_SPORT_DRIFT\x10\x05\x12\x1b\n\x17\x44RIVE_MODE_SPORT_LAUNCH\x10\x06\x12\x14\n\x10\x44RIVE_MODE_FAULT\x10\x07\x12\x14\n\x10\x44RIVE_MODE_SPORT\x10\x08\x12\x17\n\x13\x44RIVE_MODE_DISTANCE\x10\t\x12\x15\n\x11\x44RIVE_MODE_TOWING\x10\n\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_AUTO\x10\x0b\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_SAND\x10\x0c\x12\x1d\n\x19\x44RIVE_MODE_OFF_ROAD_ROCKS\x10\r\x12\x1b\n\x17\x44RIVE_MODE_OFF_ROAD_MUD\x10\x0e\x12\x15\n\x11\x44RIVE_MODE_WINTER\x10\x0f*d\n\tGearValue\x12\x14\n\x10GEAR_NOT_DEFINED\x10\x00\x12\r\n\tGEAR_PARK\x10\x01\x12\x10\n\x0cGEAR_REVERSE\x10\x02\x12\x10\n\x0cGEAR_NEUTRAL\x10\x03\x12\x0e\n\nGEAR_DRIVE\x10\x04*\x82\x01\n\x12KnownLocationValue\x12\x1e\n\x1aKNOWN_LOCATION_UNSPECIFIED\x10\x00\x12\x1a\n\x16KNOWN_LOCATION_UNKNOWN\x10\x01\x12\x17\n\x13KNOWN_LOCATION_HOME\x10\x02\x12\x17\n\x13KNOWN_LOCATION_WORK\x10\x03*{\n\x0eRangeThreshold\x12\x1f\n\x1bRANGE_THRESHOLD_UNSPECIFIED\x10\x00\x12\x10\n\x0cRANGE_NORMAL\x10\x01\x12\r\n\tRANGE_LOW\x10\x02\x12\r\n\tRANGE_RED\x10\x03\x12\x18\n\x14RANGE_CRITICALLY_LOW\x10\x04*\x93\x01\n\x11TemperatureImpact\x12\"\n\x1eTEMPERATURE_IMPACT_UNSPECIFIED\x10\x00\x12\x1c\n\x18TEMPERATURE_NORMAL_RANGE\x10\x01\x12\x1f\n\x1bTEMPERATURE_COLD_MAY_IMPACT\x10\x02\x12\x1b\n\x17TEMPERATURE_COLD_IMPACT\x10\x03*\x81\x01\n\x0cTirePosition\x12\x1d\n\x19TIRE_POSITION_UNSPECIFIED\x10\x00\x12\x13\n\x0fTIRE_FRONT_LEFT\x10\x01\x12\x14\n\x10TIRE_FRONT_RIGHT\x10\x02\x12\x12\n\x0eTIRE_REAR_LEFT\x10\x03\x12\x13\n\x0fTIRE_REAR_RIGHT\x10\x04*k\n\x12TirePressureStatus\x12$\n TIRE_PRESSURE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10TIRE_PRESSURE_OK\x10\x01\x12\x19\n\x15TIRE_PRESSURE_WARNING\x10\x02\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.dynamics_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_DRIVEMODEVALUE']._serialized_start=1444
35
+ _globals['_DRIVEMODEVALUE']._serialized_end=1905
36
+ _globals['_GEARVALUE']._serialized_start=1907
37
+ _globals['_GEARVALUE']._serialized_end=2007
38
+ _globals['_KNOWNLOCATIONVALUE']._serialized_start=2010
39
+ _globals['_KNOWNLOCATIONVALUE']._serialized_end=2140
40
+ _globals['_RANGETHRESHOLD']._serialized_start=2142
41
+ _globals['_RANGETHRESHOLD']._serialized_end=2265
42
+ _globals['_TEMPERATUREIMPACT']._serialized_start=2268
43
+ _globals['_TEMPERATUREIMPACT']._serialized_end=2415
44
+ _globals['_TIREPOSITION']._serialized_start=2418
45
+ _globals['_TIREPOSITION']._serialized_end=2547
46
+ _globals['_TIREPRESSURESTATUS']._serialized_start=2549
47
+ _globals['_TIREPRESSURESTATUS']._serialized_end=2656
48
+ _globals['_DRIVEMODE']._serialized_start=67
49
+ _globals['_DRIVEMODE']._serialized_end=204
50
+ _globals['_GEAR']._serialized_start=206
51
+ _globals['_GEAR']._serialized_end=263
52
+ _globals['_GNSS']._serialized_start=266
53
+ _globals['_GNSS']._serialized_end=485
54
+ _globals['_KNOWNLOCATION']._serialized_start=487
55
+ _globals['_KNOWNLOCATION']._serialized_end=584
56
+ _globals['_ODOMETER']._serialized_start=586
57
+ _globals['_ODOMETER']._serialized_end=632
58
+ _globals['_RANGE']._serialized_start=635
59
+ _globals['_RANGE']._serialized_end=850
60
+ _globals['_TIRESSTATE']._serialized_start=853
61
+ _globals['_TIRESSTATE']._serialized_end=1151
62
+ _globals['_TIRESSTATE_TIRE']._serialized_start=942
63
+ _globals['_TIRESSTATE_TIRE']._serialized_end=1151
64
+ _globals['_EFFICIENCY']._serialized_start=1154
65
+ _globals['_EFFICIENCY']._serialized_end=1344
66
+ _globals['_EFFICIENCY_HISTORY']._serialized_start=1278
67
+ _globals['_EFFICIENCY_HISTORY']._serialized_end=1317
68
+ _globals['_MASSESTIMATE']._serialized_start=1346
69
+ _globals['_MASSESTIMATE']._serialized_end=1388
70
+ _globals['_BRAKEFLUIDLEVEL']._serialized_start=1390
71
+ _globals['_BRAKEFLUIDLEVEL']._serialized_end=1441
72
+ # @@protoc_insertion_point(module_scope)