rivian-python-client 2.2.0b3__tar.gz → 2.2.0b4__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.0b4}/PKG-INFO +1 -1
  2. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/__version__.py +1 -1
  3. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/body.py +1 -1
  4. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/charging.py +16 -6
  5. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/device_table.py +1 -1
  6. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/dynamics.py +14 -2
  7. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/holiday_celebration.py +1 -1
  8. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/body.proto +2 -2
  9. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/charging.proto +5 -4
  10. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/charging_pb2.py +12 -12
  11. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/charging_pb2.pyi +6 -6
  12. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/device_table.proto +1 -1
  13. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/dynamics.proto +8 -9
  14. rivian_python_client-2.2.0b4/src/rivian/parallax/proto/dynamics_pb2.py +72 -0
  15. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/dynamics_pb2.pyi +12 -12
  16. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy.proto +1 -1
  17. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy_edge_compute.proto +1 -1
  18. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/geofence.proto +1 -1
  19. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/holiday_celebration.proto +2 -2
  20. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/ota.proto +2 -2
  21. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/vehicle.proto +10 -3
  22. rivian_python_client-2.2.0b4/src/rivian/parallax/proto/vehicle_pb2.py +64 -0
  23. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/vehicle_pb2.pyi +15 -6
  24. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/vehicle.py +20 -1
  25. rivian_python_client-2.2.0b3/src/rivian/parallax/proto/dynamics_pb2.py +0 -72
  26. rivian_python_client-2.2.0b3/src/rivian/parallax/proto/vehicle_pb2.py +0 -62
  27. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/.gitignore +0 -0
  28. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/README.md +0 -0
  29. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/pyproject.toml +0 -0
  30. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/__init__.py +0 -0
  31. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/ble.py +0 -0
  32. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/const.py +0 -0
  33. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/exceptions.py +0 -0
  34. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/__init__.py +0 -0
  35. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/comfort.py +0 -0
  36. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/core.py +0 -0
  37. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/departure.py +0 -0
  38. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/energy.py +0 -0
  39. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/energy_edge_compute.py +0 -0
  40. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/gearguard_streaming.py +0 -0
  41. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/geofence.py +0 -0
  42. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/navigation.py +0 -0
  43. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/ota.py +0 -0
  44. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/parallax.py +0 -0
  45. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/__init__.py +0 -0
  46. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/body_pb2.py +0 -0
  47. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/body_pb2.pyi +0 -0
  48. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/comfort.proto +0 -0
  49. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/comfort_pb2.py +0 -0
  50. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/comfort_pb2.pyi +0 -0
  51. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/departure.proto +0 -0
  52. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/departure_pb2.py +0 -0
  53. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/departure_pb2.pyi +0 -0
  54. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/device_table_pb2.py +0 -0
  55. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/device_table_pb2.pyi +0 -0
  56. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy_edge_compute_pb2.py +0 -0
  57. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy_edge_compute_pb2.pyi +0 -0
  58. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy_pb2.py +0 -0
  59. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/energy_pb2.pyi +0 -0
  60. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/gearguard_streaming.proto +0 -0
  61. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/gearguard_streaming_pb2.py +0 -0
  62. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/gearguard_streaming_pb2.pyi +0 -0
  63. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/geofence_pb2.py +0 -0
  64. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/geofence_pb2.pyi +0 -0
  65. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/holiday_celebration_pb2.py +0 -0
  66. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/holiday_celebration_pb2.pyi +0 -0
  67. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/navigation.proto +0 -0
  68. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/navigation_pb2.py +0 -0
  69. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/navigation_pb2.pyi +0 -0
  70. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/ota_pb2.py +0 -0
  71. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/ota_pb2.pyi +0 -0
  72. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/parallax.proto +0 -0
  73. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/parallax_pb2.py +0 -0
  74. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/parallax_pb2.pyi +0 -0
  75. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/secure_file_transfer.proto +0 -0
  76. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/secure_file_transfer_pb2.py +0 -0
  77. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/secure_file_transfer_pb2.pyi +0 -0
  78. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/security.proto +0 -0
  79. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/security_pb2.py +0 -0
  80. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/security_pb2.pyi +0 -0
  81. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/user_passcodes.proto +0 -0
  82. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/user_passcodes_pb2.py +0 -0
  83. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/user_passcodes_pb2.pyi +0 -0
  84. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/vehicle_access.proto +0 -0
  85. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/vehicle_access_pb2.py +0 -0
  86. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/proto/vehicle_access_pb2.pyi +0 -0
  87. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/secure_file_transfer.py +0 -0
  88. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/security.py +0 -0
  89. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/user_passcodes.py +0 -0
  90. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/parallax/vehicle_access.py +0 -0
  91. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/py.typed +0 -0
  92. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/rivian.py +0 -0
  93. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/schemas/charging.graphql +0 -0
  94. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/schemas/gateway.graphql +0 -0
  95. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/schemas/orders.graphql +0 -0
  96. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/src/rivian/utils.py +0 -0
  97. {rivian_python_client-2.2.0b3 → rivian_python_client-2.2.0b4}/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.0b4
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
@@ -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.0b4'
@@ -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
 
@@ -45,7 +45,7 @@ def decode_vas_keyper_devices(m: device_table_pb2.VasKeyperDevices) -> dict[str,
45
45
  deleted keys
46
46
  infoC: int — 1 while active, 2147483647 while inactive, else the
47
47
  pairing attempt number
48
- infoA, infoB: int — unknown; always equal
48
+ infoA, infoB: int — unknown
49
49
  deviceId: str — hex; for a key card, the GraphQL `devices[].id`
50
50
  phoneId: str — the phone's UUID; phone keys
51
51
  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
  }
@@ -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 {
@@ -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)
@@ -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",)
@@ -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;
@@ -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: 7.35.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
+ 7,
15
+ 35,
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)
@@ -129,28 +129,28 @@ class Gear(_message.Message):
129
129
  def __init__(self, gear: _Optional[_Union[GearValue, str]] = ...) -> None: ...
130
130
 
131
131
  class Gnss(_message.Message):
132
- __slots__ = ("latitude", "longitude", "altitude", "field_4", "bearing", "field_6", "field_7", "field_8", "field_9", "time")
132
+ __slots__ = ("latitude", "longitude", "altitude", "speed", "bearing", "position_horizontal_error", "position_vertical_error", "speed_error", "bearing_error", "time")
133
133
  LATITUDE_FIELD_NUMBER: _ClassVar[int]
134
134
  LONGITUDE_FIELD_NUMBER: _ClassVar[int]
135
135
  ALTITUDE_FIELD_NUMBER: _ClassVar[int]
136
- FIELD_4_FIELD_NUMBER: _ClassVar[int]
136
+ SPEED_FIELD_NUMBER: _ClassVar[int]
137
137
  BEARING_FIELD_NUMBER: _ClassVar[int]
138
- FIELD_6_FIELD_NUMBER: _ClassVar[int]
139
- FIELD_7_FIELD_NUMBER: _ClassVar[int]
140
- FIELD_8_FIELD_NUMBER: _ClassVar[int]
141
- FIELD_9_FIELD_NUMBER: _ClassVar[int]
138
+ POSITION_HORIZONTAL_ERROR_FIELD_NUMBER: _ClassVar[int]
139
+ POSITION_VERTICAL_ERROR_FIELD_NUMBER: _ClassVar[int]
140
+ SPEED_ERROR_FIELD_NUMBER: _ClassVar[int]
141
+ BEARING_ERROR_FIELD_NUMBER: _ClassVar[int]
142
142
  TIME_FIELD_NUMBER: _ClassVar[int]
143
143
  latitude: float
144
144
  longitude: float
145
145
  altitude: float
146
- field_4: float
146
+ speed: float
147
147
  bearing: float
148
- field_6: float
149
- field_7: float
150
- field_8: float
151
- field_9: float
148
+ position_horizontal_error: float
149
+ position_vertical_error: float
150
+ speed_error: float
151
+ bearing_error: float
152
152
  time: int
153
- def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., altitude: _Optional[float] = ..., field_4: _Optional[float] = ..., bearing: _Optional[float] = ..., field_6: _Optional[float] = ..., field_7: _Optional[float] = ..., field_8: _Optional[float] = ..., field_9: _Optional[float] = ..., time: _Optional[int] = ...) -> None: ...
153
+ def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., altitude: _Optional[float] = ..., speed: _Optional[float] = ..., bearing: _Optional[float] = ..., position_horizontal_error: _Optional[float] = ..., position_vertical_error: _Optional[float] = ..., speed_error: _Optional[float] = ..., bearing_error: _Optional[float] = ..., time: _Optional[int] = ...) -> None: ...
154
154
 
155
155
  class KnownLocation(_message.Message):
156
156
  __slots__ = ("location",)
@@ -28,7 +28,7 @@ enum BatteryCellType {
28
28
  message BatteryState {
29
29
  ChargeState charge_state = 1;
30
30
  Temperatures temperatures = 2;
31
- string field_3 = 3; // always empty
31
+ string field_3 = 3; // unknown
32
32
  int32 field_4 = 4;
33
33
  optional int32 bms_state_raw = 6; // 4 idle, 5 discharging, 6 charging, others unnamed
34
34
 
@@ -71,7 +71,7 @@ message ChargingGraphGlobal {
71
71
  int64 start_time = 3; // epoch milliseconds
72
72
  int64 end_time = 4; // epoch milliseconds
73
73
  rivian.parallax.charging.ChargingState state = 6;
74
- int32 field_7 = 7; // unknown
74
+ int32 field_7 = 7; // unknown; 0 while charging, 2 once a segment has ended
75
75
  }
76
76
  repeated Segment segment = 1;
77
77
  }
@@ -9,7 +9,7 @@ message FavoriteGeofences {
9
9
  repeated Geofence geofence = 1;
10
10
 
11
11
  message Geofence {
12
- optional GeofenceType type = 1; // absent on plain addresses so far
12
+ optional GeofenceType type = 1;
13
13
  optional string name = 2; // a name or street address
14
14
  }
15
15
  }
@@ -5,7 +5,7 @@ package rivian.parallax.holiday_celebration;
5
5
  // Reverse-engineered `holiday_celebration.*` RVM payloads; see ../holiday_celebration.py.
6
6
 
7
7
  // holiday_celebration.car_costume.holiday_celebration_enabled
8
- // Unmapped; empty so far.
8
+ // Unmapped.
9
9
  message HolidayCelebrationEnabled {}
10
10
 
11
11
  // holiday_celebration.car_costume.settings
@@ -31,7 +31,7 @@ message CarCostumeState {
31
31
  }
32
32
 
33
33
  // holiday_celebration.mobile_vehicle_settings.halloween_celebration_settings
34
- // Names from the app; most fields have only been sent empty.
34
+ // Names from the app.
35
35
  message HalloweenCelebrationSettings {
36
36
  CostumeTheme costume_theme = 1;
37
37
  Int32Value sound_volume = 2;
@@ -27,7 +27,7 @@ message DeploymentState {
27
27
  Version target_version = 2; // version being installed
28
28
  optional int32 active_flag = 3; // set while an update is active
29
29
  Progress progress = 5;
30
- optional int32 timeout_budget = 7; // constant while active; unit unknown
30
+ optional int32 timeout_budget = 7; // unit unknown
31
31
  optional int32 late_stage_flag = 11; // 1 from SCHEDULED_TO_INSTALL until done
32
32
  }
33
33
 
@@ -39,7 +39,7 @@ message DeploymentState {
39
39
  Progress100 download_progress = 3;
40
40
  Progress100 install_progress = 4;
41
41
 
42
- optional string field_5 = 5; // always empty
42
+ optional string field_5 = 5; // unknown
43
43
  // Seconds; counts down during INSTALL_COUNTDOWN, a static default otherwise.
44
44
  int32 time_remaining = 6;
45
45
  optional int32 field_7 = 7; // unknown
@@ -48,9 +48,10 @@ message VehicleWheels {
48
48
  // vehicle.network.state and vehicle.setting.network (same shape).
49
49
  // Signals are dBm; -255 means no reading.
50
50
  message NetworkState {
51
- int32 field_1 = 1; // 1 on wifi, 2 while it's down; likely the active interface
51
+ ActiveInterface active_interface = 1; // inferred
52
52
  repeated InterfaceStatus interfaces = 2;
53
- int32 field_3 = 3; // 4-5 on wifi, 3 while it's down; likely a ConnectivityLevel
53
+ // Inferred: the active connection's level (wifi bars, else cellular).
54
+ ConnectivityLevel connectivity_level = 3;
54
55
  Wifi wifi = 4;
55
56
  Cellular cellular = 5;
56
57
 
@@ -72,7 +73,7 @@ message NetworkState {
72
73
  int32 freq = 10;
73
74
  WifiSecurity secure_status = 12;
74
75
  int32 field_13 = 13; // unknown; 2 connected, 1 not
75
- int32 field_14 = 14; // unknown; constant
76
+ int32 field_14 = 14; // unknown
76
77
  }
77
78
 
78
79
  message IpAddress {
@@ -88,6 +89,12 @@ message NetworkState {
88
89
  }
89
90
  }
90
91
 
92
+ enum ActiveInterface {
93
+ ACTIVE_INTERFACE_UNSPECIFIED = 0;
94
+ ACTIVE_INTERFACE_WIFI = 1;
95
+ ACTIVE_INTERFACE_CELLULAR = 2;
96
+ }
97
+
91
98
  enum ConnectivityLevel {
92
99
  CONNECTIVITY_LEVEL_UNSPECIFIED = 0;
93
100
  CONNECTIVITY_LEVEL_0 = 1;
@@ -0,0 +1,64 @@
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/vehicle.proto
5
+ # Protobuf Python Version: 7.35.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
+ 7,
15
+ 35,
16
+ 1,
17
+ '',
18
+ 'rivian/parallax/proto/vehicle.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/vehicle.proto\x12\x17rivian.parallax.vehicle\"S\n\x11\x41\x63tiveUserProfile\x12#\n\x16\x61\x63tive_user_profile_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_active_user_profile_id\"V\n\x11VehiclePowerState\x12\x37\n\x05state\x18\x01 \x01(\x0e\x32#.rivian.parallax.vehicle.PowerStateH\x00\x88\x01\x01\x42\x08\n\x06_state\"\xc6\x03\n\rVehicleWheels\x12;\n\x05wheel\x18\x01 \x03(\x0b\x32,.rivian.parallax.vehicle.VehicleWheels.Wheel\x1a\xf7\x02\n\x05Wheel\x12\x15\n\rwheel_package\x18\x01 \x01(\x05\x12\x15\n\rtire_odometer\x18\x02 \x01(\x03\x12!\n\x19saved_tire_odometer_delta\x18\x03 \x01(\x03\x12!\n\x19odometer_at_last_rotation\x18\x04 \x01(\x03\x12-\n%saved_odometer_at_last_rotation_delta\x18\x05 \x01(\x03\x12\"\n\x1arotation_reminder_interval\x18\x06 \x01(\x03\x12\x14\n\x0cis_installed\x18\x07 \x01(\x08\x12J\n\nupdated_at\x18\x08 \x01(\x0b\x32\x36.rivian.parallax.vehicle.VehicleWheels.Wheel.UpdatedAt\x12\r\n\x05tires\x18\t \x01(\x05\x12\x18\n\x10\x63urrent_odometer\x18\n \x01(\x03\x1a\x1c\n\tUpdatedAt\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\"\x85\x08\n\x0cNetworkState\x12\x42\n\x10\x61\x63tive_interface\x18\x01 \x01(\x0e\x32(.rivian.parallax.vehicle.ActiveInterface\x12I\n\ninterfaces\x18\x02 \x03(\x0b\x32\x35.rivian.parallax.vehicle.NetworkState.InterfaceStatus\x12\x46\n\x12\x63onnectivity_level\x18\x03 \x01(\x0e\x32*.rivian.parallax.vehicle.ConnectivityLevel\x12\x38\n\x04wifi\x18\x04 \x01(\x0b\x32*.rivian.parallax.vehicle.NetworkState.Wifi\x12@\n\x08\x63\x65llular\x18\x05 \x01(\x0b\x32..rivian.parallax.vehicle.NetworkState.Cellular\x1a-\n\x0fInterfaceStatus\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x05\x1a\xc2\x03\n\x04Wifi\x12\x36\n\nwpa_status\x18\x01 \x01(\x0e\x32\".rivian.parallax.vehicle.WpaStatus\x12\x0f\n\x07\x66ield_2\x18\x02 \x01(\x05\x12\x0c\n\x04ssid\x18\x03 \x01(\t\x12\x12\n\x05\x62ssid\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bmac_address\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x45\n\x0cip_addresses\x18\x06 \x03(\x0b\x32/.rivian.parallax.vehicle.NetworkState.IpAddress\x12@\n\x0c\x61ntenna_bars\x18\x07 \x01(\x0e\x32*.rivian.parallax.vehicle.ConnectivityLevel\x12\x0e\n\x06signal\x18\x08 \x01(\x05\x12\x12\n\nlink_speed\x18\t \x01(\x05\x12\x0c\n\x04\x66req\x18\n \x01(\x05\x12<\n\rsecure_status\x18\x0c \x01(\x0e\x32%.rivian.parallax.vehicle.WifiSecurity\x12\x10\n\x08\x66ield_13\x18\r \x01(\x05\x12\x10\n\x08\x66ield_14\x18\x0e \x01(\x05\x42\x08\n\x06_bssidB\x0e\n\x0c_mac_address\x1a\'\n\tIpAddress\x12\x0c\n\x04ipv4\x18\x01 \x01(\t\x12\x0c\n\x04ipv6\x18\x02 \x01(\t\x1a\x84\x01\n\x08\x43\x65llular\x12\x0f\n\x07\x63\x61rrier\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\t\x12@\n\x0c\x61ntenna_bars\x18\x03 \x01(\x0e\x32*.rivian.parallax.vehicle.ConnectivityLevel\x12\x17\n\x0fsignal_strength\x18\x04 \x01(\x05*l\n\nPowerState\x12\x1b\n\x17POWER_STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPOWER_SLEEP\x10\x01\x12\x11\n\rPOWER_STANDBY\x10\x02\x12\x0f\n\x0bPOWER_READY\x10\x03\x12\x0c\n\x08POWER_GO\x10\x04*m\n\x0f\x41\x63tiveInterface\x12 \n\x1c\x41\x43TIVE_INTERFACE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41\x43TIVE_INTERFACE_WIFI\x10\x01\x12\x1d\n\x19\x41\x43TIVE_INTERFACE_CELLULAR\x10\x02*\xb9\x01\n\x11\x43onnectivityLevel\x12\"\n\x1e\x43ONNECTIVITY_LEVEL_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_0\x10\x01\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_1\x10\x02\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_2\x10\x03\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_3\x10\x04\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_4\x10\x05*\x9e\x01\n\x0cWifiSecurity\x12\x1d\n\x19WIFI_SECURITY_UNSPECIFIED\x10\x00\x12\r\n\tWIFI_OPEN\x10\x01\x12\x15\n\x11WIFI_WPA_PERSONAL\x10\x02\x12\x17\n\x13WIFI_WPA_ENTERPRISE\x10\x03\x12\x16\n\x12WIFI_WPA2_PERSONAL\x10\x04\x12\x18\n\x14WIFI_WPA2_ENTERPRISE\x10\x05*\x8e\x01\n\tWpaStatus\x12\x1a\n\x16WPA_STATUS_UNSPECIFIED\x10\x00\x12\x15\n\x11WPA_NOT_CONNECTED\x10\x01\x12\x11\n\rWPA_CONNECTED\x10\x02\x12\x10\n\x0cWPA_SCANNING\x10\x03\x12\x12\n\x0eWPA_CONNECTING\x10\x04\x12\x15\n\x11WPA_DISCONNECTING\x10\x05\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.vehicle_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_POWERSTATE']._serialized_start=1726
35
+ _globals['_POWERSTATE']._serialized_end=1834
36
+ _globals['_ACTIVEINTERFACE']._serialized_start=1836
37
+ _globals['_ACTIVEINTERFACE']._serialized_end=1945
38
+ _globals['_CONNECTIVITYLEVEL']._serialized_start=1948
39
+ _globals['_CONNECTIVITYLEVEL']._serialized_end=2133
40
+ _globals['_WIFISECURITY']._serialized_start=2136
41
+ _globals['_WIFISECURITY']._serialized_end=2294
42
+ _globals['_WPASTATUS']._serialized_start=2297
43
+ _globals['_WPASTATUS']._serialized_end=2439
44
+ _globals['_ACTIVEUSERPROFILE']._serialized_start=64
45
+ _globals['_ACTIVEUSERPROFILE']._serialized_end=147
46
+ _globals['_VEHICLEPOWERSTATE']._serialized_start=149
47
+ _globals['_VEHICLEPOWERSTATE']._serialized_end=235
48
+ _globals['_VEHICLEWHEELS']._serialized_start=238
49
+ _globals['_VEHICLEWHEELS']._serialized_end=692
50
+ _globals['_VEHICLEWHEELS_WHEEL']._serialized_start=317
51
+ _globals['_VEHICLEWHEELS_WHEEL']._serialized_end=692
52
+ _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_start=664
53
+ _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_end=692
54
+ _globals['_NETWORKSTATE']._serialized_start=695
55
+ _globals['_NETWORKSTATE']._serialized_end=1724
56
+ _globals['_NETWORKSTATE_INTERFACESTATUS']._serialized_start=1050
57
+ _globals['_NETWORKSTATE_INTERFACESTATUS']._serialized_end=1095
58
+ _globals['_NETWORKSTATE_WIFI']._serialized_start=1098
59
+ _globals['_NETWORKSTATE_WIFI']._serialized_end=1548
60
+ _globals['_NETWORKSTATE_IPADDRESS']._serialized_start=1550
61
+ _globals['_NETWORKSTATE_IPADDRESS']._serialized_end=1589
62
+ _globals['_NETWORKSTATE_CELLULAR']._serialized_start=1592
63
+ _globals['_NETWORKSTATE_CELLULAR']._serialized_end=1724
64
+ # @@protoc_insertion_point(module_scope)
@@ -15,6 +15,12 @@ class PowerState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
15
  POWER_READY: _ClassVar[PowerState]
16
16
  POWER_GO: _ClassVar[PowerState]
17
17
 
18
+ class ActiveInterface(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
19
+ __slots__ = ()
20
+ ACTIVE_INTERFACE_UNSPECIFIED: _ClassVar[ActiveInterface]
21
+ ACTIVE_INTERFACE_WIFI: _ClassVar[ActiveInterface]
22
+ ACTIVE_INTERFACE_CELLULAR: _ClassVar[ActiveInterface]
23
+
18
24
  class ConnectivityLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
19
25
  __slots__ = ()
20
26
  CONNECTIVITY_LEVEL_UNSPECIFIED: _ClassVar[ConnectivityLevel]
@@ -46,6 +52,9 @@ POWER_SLEEP: PowerState
46
52
  POWER_STANDBY: PowerState
47
53
  POWER_READY: PowerState
48
54
  POWER_GO: PowerState
55
+ ACTIVE_INTERFACE_UNSPECIFIED: ActiveInterface
56
+ ACTIVE_INTERFACE_WIFI: ActiveInterface
57
+ ACTIVE_INTERFACE_CELLULAR: ActiveInterface
49
58
  CONNECTIVITY_LEVEL_UNSPECIFIED: ConnectivityLevel
50
59
  CONNECTIVITY_LEVEL_0: ConnectivityLevel
51
60
  CONNECTIVITY_LEVEL_1: ConnectivityLevel
@@ -112,7 +121,7 @@ class VehicleWheels(_message.Message):
112
121
  def __init__(self, wheel: _Optional[_Iterable[_Union[VehicleWheels.Wheel, _Mapping]]] = ...) -> None: ...
113
122
 
114
123
  class NetworkState(_message.Message):
115
- __slots__ = ("field_1", "interfaces", "field_3", "wifi", "cellular")
124
+ __slots__ = ("active_interface", "interfaces", "connectivity_level", "wifi", "cellular")
116
125
  class InterfaceStatus(_message.Message):
117
126
  __slots__ = ("id", "status")
118
127
  ID_FIELD_NUMBER: _ClassVar[int]
@@ -167,14 +176,14 @@ class NetworkState(_message.Message):
167
176
  antenna_bars: ConnectivityLevel
168
177
  signal_strength: int
169
178
  def __init__(self, carrier: _Optional[str] = ..., mode: _Optional[str] = ..., antenna_bars: _Optional[_Union[ConnectivityLevel, str]] = ..., signal_strength: _Optional[int] = ...) -> None: ...
170
- FIELD_1_FIELD_NUMBER: _ClassVar[int]
179
+ ACTIVE_INTERFACE_FIELD_NUMBER: _ClassVar[int]
171
180
  INTERFACES_FIELD_NUMBER: _ClassVar[int]
172
- FIELD_3_FIELD_NUMBER: _ClassVar[int]
181
+ CONNECTIVITY_LEVEL_FIELD_NUMBER: _ClassVar[int]
173
182
  WIFI_FIELD_NUMBER: _ClassVar[int]
174
183
  CELLULAR_FIELD_NUMBER: _ClassVar[int]
175
- field_1: int
184
+ active_interface: ActiveInterface
176
185
  interfaces: _containers.RepeatedCompositeFieldContainer[NetworkState.InterfaceStatus]
177
- field_3: int
186
+ connectivity_level: ConnectivityLevel
178
187
  wifi: NetworkState.Wifi
179
188
  cellular: NetworkState.Cellular
180
- def __init__(self, field_1: _Optional[int] = ..., interfaces: _Optional[_Iterable[_Union[NetworkState.InterfaceStatus, _Mapping]]] = ..., field_3: _Optional[int] = ..., wifi: _Optional[_Union[NetworkState.Wifi, _Mapping]] = ..., cellular: _Optional[_Union[NetworkState.Cellular, _Mapping]] = ...) -> None: ...
189
+ def __init__(self, active_interface: _Optional[_Union[ActiveInterface, str]] = ..., interfaces: _Optional[_Iterable[_Union[NetworkState.InterfaceStatus, _Mapping]]] = ..., connectivity_level: _Optional[_Union[ConnectivityLevel, str]] = ..., wifi: _Optional[_Union[NetworkState.Wifi, _Mapping]] = ..., cellular: _Optional[_Union[NetworkState.Cellular, _Mapping]] = ...) -> None: ...
@@ -88,6 +88,11 @@ _CONNECTIVITY_LEVEL_MAP: Final[dict[int, str]] = {
88
88
  vehicle_pb2.CONNECTIVITY_LEVEL_4: "level_4",
89
89
  }
90
90
 
91
+ _ACTIVE_INTERFACE_MAP: Final[dict[int, str]] = {
92
+ vehicle_pb2.ACTIVE_INTERFACE_WIFI: "wifi",
93
+ vehicle_pb2.ACTIVE_INTERFACE_CELLULAR: "cellular",
94
+ }
95
+
91
96
  _WIFI_SECURITY_MAP: Final[dict[int, str]] = {
92
97
  vehicle_pb2.WIFI_OPEN: "open",
93
98
  vehicle_pb2.WIFI_WPA_PERSONAL: "wpa_personal",
@@ -143,6 +148,9 @@ def decode_network_state(m: vehicle_pb2.NetworkState) -> dict[str, Any]:
143
148
  """vehicle.network.state — wifi and cellular status.
144
149
 
145
150
  Fields:
151
+ networkActiveInterface: str | None ("wifi" | "cellular"); inferred
152
+ networkAntennaBars: str | None — the active connection's level;
153
+ inferred
146
154
  wifiWpaStatus, wifiSsid, wifiAntennaBars, wifiSecureStatus: str
147
155
  wifiSignal: int (dBm; -255 = no reading)
148
156
  wifiLinkSpeed: int (Mbps)
@@ -150,7 +158,18 @@ def decode_network_state(m: vehicle_pb2.NetworkState) -> dict[str, Any]:
150
158
  cellularCarrier, cellularMode, cellularAntennaBars: str
151
159
  cellularSignalStrength: int (dBm; -255 = no reading)
152
160
  """
153
- result: dict[str, Any] = {}
161
+ result: dict[str, Any] = {
162
+ "networkActiveInterface": _enum(
163
+ _ACTIVE_INTERFACE_MAP,
164
+ m.active_interface or None,
165
+ what="active network interface",
166
+ ),
167
+ "networkAntennaBars": _enum(
168
+ _CONNECTIVITY_LEVEL_MAP,
169
+ m.connectivity_level or None,
170
+ what="network antenna bars",
171
+ ),
172
+ }
154
173
  if m.HasField("wifi"):
155
174
  result.update(_decode_wifi(m.wifi))
156
175
  if m.HasField("cellular"):
@@ -1,72 +0,0 @@
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: 7.35.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
- 7,
15
- 35,
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\"\x86\x02\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\x14\n\x07\x66ield_4\x18\x04 \x01(\x02H\x00\x88\x01\x01\x12\x0f\n\x07\x62\x65\x61ring\x18\x05 \x01(\x02\x12\x14\n\x07\x66ield_6\x18\x06 \x01(\x02H\x01\x88\x01\x01\x12\x14\n\x07\x66ield_7\x18\x07 \x01(\x02H\x02\x88\x01\x01\x12\x14\n\x07\x66ield_8\x18\x08 \x01(\x02H\x03\x88\x01\x01\x12\x14\n\x07\x66ield_9\x18\t \x01(\x02H\x04\x88\x01\x01\x12\x0c\n\x04time\x18\n \x01(\x03\x42\n\n\x08_field_4B\n\n\x08_field_6B\n\n\x08_field_7B\n\n\x08_field_8B\n\n\x08_field_9\"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=1487
35
- _globals['_DRIVEMODEVALUE']._serialized_end=1948
36
- _globals['_GEARVALUE']._serialized_start=1950
37
- _globals['_GEARVALUE']._serialized_end=2050
38
- _globals['_KNOWNLOCATIONVALUE']._serialized_start=2053
39
- _globals['_KNOWNLOCATIONVALUE']._serialized_end=2183
40
- _globals['_RANGETHRESHOLD']._serialized_start=2185
41
- _globals['_RANGETHRESHOLD']._serialized_end=2308
42
- _globals['_TEMPERATUREIMPACT']._serialized_start=2311
43
- _globals['_TEMPERATUREIMPACT']._serialized_end=2458
44
- _globals['_TIREPOSITION']._serialized_start=2461
45
- _globals['_TIREPOSITION']._serialized_end=2590
46
- _globals['_TIREPRESSURESTATUS']._serialized_start=2592
47
- _globals['_TIREPRESSURESTATUS']._serialized_end=2699
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=528
54
- _globals['_KNOWNLOCATION']._serialized_start=530
55
- _globals['_KNOWNLOCATION']._serialized_end=627
56
- _globals['_ODOMETER']._serialized_start=629
57
- _globals['_ODOMETER']._serialized_end=675
58
- _globals['_RANGE']._serialized_start=678
59
- _globals['_RANGE']._serialized_end=893
60
- _globals['_TIRESSTATE']._serialized_start=896
61
- _globals['_TIRESSTATE']._serialized_end=1194
62
- _globals['_TIRESSTATE_TIRE']._serialized_start=985
63
- _globals['_TIRESSTATE_TIRE']._serialized_end=1194
64
- _globals['_EFFICIENCY']._serialized_start=1197
65
- _globals['_EFFICIENCY']._serialized_end=1387
66
- _globals['_EFFICIENCY_HISTORY']._serialized_start=1321
67
- _globals['_EFFICIENCY_HISTORY']._serialized_end=1360
68
- _globals['_MASSESTIMATE']._serialized_start=1389
69
- _globals['_MASSESTIMATE']._serialized_end=1431
70
- _globals['_BRAKEFLUIDLEVEL']._serialized_start=1433
71
- _globals['_BRAKEFLUIDLEVEL']._serialized_end=1484
72
- # @@protoc_insertion_point(module_scope)
@@ -1,62 +0,0 @@
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/vehicle.proto
5
- # Protobuf Python Version: 7.35.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
- 7,
15
- 35,
16
- 1,
17
- '',
18
- 'rivian/parallax/proto/vehicle.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/vehicle.proto\x12\x17rivian.parallax.vehicle\"S\n\x11\x41\x63tiveUserProfile\x12#\n\x16\x61\x63tive_user_profile_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_active_user_profile_id\"V\n\x11VehiclePowerState\x12\x37\n\x05state\x18\x01 \x01(\x0e\x32#.rivian.parallax.vehicle.PowerStateH\x00\x88\x01\x01\x42\x08\n\x06_state\"\xc6\x03\n\rVehicleWheels\x12;\n\x05wheel\x18\x01 \x03(\x0b\x32,.rivian.parallax.vehicle.VehicleWheels.Wheel\x1a\xf7\x02\n\x05Wheel\x12\x15\n\rwheel_package\x18\x01 \x01(\x05\x12\x15\n\rtire_odometer\x18\x02 \x01(\x03\x12!\n\x19saved_tire_odometer_delta\x18\x03 \x01(\x03\x12!\n\x19odometer_at_last_rotation\x18\x04 \x01(\x03\x12-\n%saved_odometer_at_last_rotation_delta\x18\x05 \x01(\x03\x12\"\n\x1arotation_reminder_interval\x18\x06 \x01(\x03\x12\x14\n\x0cis_installed\x18\x07 \x01(\x08\x12J\n\nupdated_at\x18\x08 \x01(\x0b\x32\x36.rivian.parallax.vehicle.VehicleWheels.Wheel.UpdatedAt\x12\r\n\x05tires\x18\t \x01(\x05\x12\x18\n\x10\x63urrent_odometer\x18\n \x01(\x03\x1a\x1c\n\tUpdatedAt\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\"\x9b\x07\n\x0cNetworkState\x12\x0f\n\x07\x66ield_1\x18\x01 \x01(\x05\x12I\n\ninterfaces\x18\x02 \x03(\x0b\x32\x35.rivian.parallax.vehicle.NetworkState.InterfaceStatus\x12\x0f\n\x07\x66ield_3\x18\x03 \x01(\x05\x12\x38\n\x04wifi\x18\x04 \x01(\x0b\x32*.rivian.parallax.vehicle.NetworkState.Wifi\x12@\n\x08\x63\x65llular\x18\x05 \x01(\x0b\x32..rivian.parallax.vehicle.NetworkState.Cellular\x1a-\n\x0fInterfaceStatus\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x05\x1a\xc2\x03\n\x04Wifi\x12\x36\n\nwpa_status\x18\x01 \x01(\x0e\x32\".rivian.parallax.vehicle.WpaStatus\x12\x0f\n\x07\x66ield_2\x18\x02 \x01(\x05\x12\x0c\n\x04ssid\x18\x03 \x01(\t\x12\x12\n\x05\x62ssid\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bmac_address\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x45\n\x0cip_addresses\x18\x06 \x03(\x0b\x32/.rivian.parallax.vehicle.NetworkState.IpAddress\x12@\n\x0c\x61ntenna_bars\x18\x07 \x01(\x0e\x32*.rivian.parallax.vehicle.ConnectivityLevel\x12\x0e\n\x06signal\x18\x08 \x01(\x05\x12\x12\n\nlink_speed\x18\t \x01(\x05\x12\x0c\n\x04\x66req\x18\n \x01(\x05\x12<\n\rsecure_status\x18\x0c \x01(\x0e\x32%.rivian.parallax.vehicle.WifiSecurity\x12\x10\n\x08\x66ield_13\x18\r \x01(\x05\x12\x10\n\x08\x66ield_14\x18\x0e \x01(\x05\x42\x08\n\x06_bssidB\x0e\n\x0c_mac_address\x1a\'\n\tIpAddress\x12\x0c\n\x04ipv4\x18\x01 \x01(\t\x12\x0c\n\x04ipv6\x18\x02 \x01(\t\x1a\x84\x01\n\x08\x43\x65llular\x12\x0f\n\x07\x63\x61rrier\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\t\x12@\n\x0c\x61ntenna_bars\x18\x03 \x01(\x0e\x32*.rivian.parallax.vehicle.ConnectivityLevel\x12\x17\n\x0fsignal_strength\x18\x04 \x01(\x05*l\n\nPowerState\x12\x1b\n\x17POWER_STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPOWER_SLEEP\x10\x01\x12\x11\n\rPOWER_STANDBY\x10\x02\x12\x0f\n\x0bPOWER_READY\x10\x03\x12\x0c\n\x08POWER_GO\x10\x04*\xb9\x01\n\x11\x43onnectivityLevel\x12\"\n\x1e\x43ONNECTIVITY_LEVEL_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_0\x10\x01\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_1\x10\x02\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_2\x10\x03\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_3\x10\x04\x12\x18\n\x14\x43ONNECTIVITY_LEVEL_4\x10\x05*\x9e\x01\n\x0cWifiSecurity\x12\x1d\n\x19WIFI_SECURITY_UNSPECIFIED\x10\x00\x12\r\n\tWIFI_OPEN\x10\x01\x12\x15\n\x11WIFI_WPA_PERSONAL\x10\x02\x12\x17\n\x13WIFI_WPA_ENTERPRISE\x10\x03\x12\x16\n\x12WIFI_WPA2_PERSONAL\x10\x04\x12\x18\n\x14WIFI_WPA2_ENTERPRISE\x10\x05*\x8e\x01\n\tWpaStatus\x12\x1a\n\x16WPA_STATUS_UNSPECIFIED\x10\x00\x12\x15\n\x11WPA_NOT_CONNECTED\x10\x01\x12\x11\n\rWPA_CONNECTED\x10\x02\x12\x10\n\x0cWPA_SCANNING\x10\x03\x12\x12\n\x0eWPA_CONNECTING\x10\x04\x12\x15\n\x11WPA_DISCONNECTING\x10\x05\x62\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.vehicle_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- DESCRIPTOR._loaded_options = None
34
- _globals['_POWERSTATE']._serialized_start=1620
35
- _globals['_POWERSTATE']._serialized_end=1728
36
- _globals['_CONNECTIVITYLEVEL']._serialized_start=1731
37
- _globals['_CONNECTIVITYLEVEL']._serialized_end=1916
38
- _globals['_WIFISECURITY']._serialized_start=1919
39
- _globals['_WIFISECURITY']._serialized_end=2077
40
- _globals['_WPASTATUS']._serialized_start=2080
41
- _globals['_WPASTATUS']._serialized_end=2222
42
- _globals['_ACTIVEUSERPROFILE']._serialized_start=64
43
- _globals['_ACTIVEUSERPROFILE']._serialized_end=147
44
- _globals['_VEHICLEPOWERSTATE']._serialized_start=149
45
- _globals['_VEHICLEPOWERSTATE']._serialized_end=235
46
- _globals['_VEHICLEWHEELS']._serialized_start=238
47
- _globals['_VEHICLEWHEELS']._serialized_end=692
48
- _globals['_VEHICLEWHEELS_WHEEL']._serialized_start=317
49
- _globals['_VEHICLEWHEELS_WHEEL']._serialized_end=692
50
- _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_start=664
51
- _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_end=692
52
- _globals['_NETWORKSTATE']._serialized_start=695
53
- _globals['_NETWORKSTATE']._serialized_end=1618
54
- _globals['_NETWORKSTATE_INTERFACESTATUS']._serialized_start=944
55
- _globals['_NETWORKSTATE_INTERFACESTATUS']._serialized_end=989
56
- _globals['_NETWORKSTATE_WIFI']._serialized_start=992
57
- _globals['_NETWORKSTATE_WIFI']._serialized_end=1442
58
- _globals['_NETWORKSTATE_IPADDRESS']._serialized_start=1444
59
- _globals['_NETWORKSTATE_IPADDRESS']._serialized_end=1483
60
- _globals['_NETWORKSTATE_CELLULAR']._serialized_start=1486
61
- _globals['_NETWORKSTATE_CELLULAR']._serialized_end=1618
62
- # @@protoc_insertion_point(module_scope)