rivian-python-client 2.2.0b3__py3-none-any.whl → 2.2.0b4__py3-none-any.whl

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.
rivian/__version__.py CHANGED
@@ -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'
rivian/parallax/body.py CHANGED
@@ -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
  }
@@ -24,49 +24,49 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
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')
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
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.dynamics_pb2', _globals)
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
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
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
48
  _globals['_DRIVEMODE']._serialized_start=67
49
49
  _globals['_DRIVEMODE']._serialized_end=204
50
50
  _globals['_GEAR']._serialized_start=206
51
51
  _globals['_GEAR']._serialized_end=263
52
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
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
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;
@@ -24,21 +24,23 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
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')
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
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.vehicle_pb2', _globals)
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
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
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
42
44
  _globals['_ACTIVEUSERPROFILE']._serialized_start=64
43
45
  _globals['_ACTIVEUSERPROFILE']._serialized_end=147
44
46
  _globals['_VEHICLEPOWERSTATE']._serialized_start=149
@@ -50,13 +52,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
50
52
  _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_start=664
51
53
  _globals['_VEHICLEWHEELS_WHEEL_UPDATEDAT']._serialized_end=692
52
54
  _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
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
62
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,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,5 +1,5 @@
1
1
  rivian/__init__.py,sha256=m1arAfL3-WG5NQDkraIni2h-tGr-2nmltIabQetCFw8,207
2
- rivian/__version__.py,sha256=v6VvwZGzc2PYENIfdCbrkBWB3rM45g16vlepzy2RNB8,173
2
+ rivian/__version__.py,sha256=xFvsOB8jB2bQiqk97uAjQDBphX7i06DEO9SxkjKqqo8,173
3
3
  rivian/ble.py,sha256=isTZQHRzINhEE7_fsrP8Z3YRfvC67SN1-EeXphBa8gc,5880
4
4
  rivian/const.py,sha256=U92kBZFcOgMf5ALIh6g7Ju95v_Vmt8yiALDEkokMTNM,7642
5
5
  rivian/exceptions.py,sha256=JVSOTzbfbIp4pobx9mFQm12m_qgVNV2p-Zp34m590Uw,969
@@ -8,47 +8,47 @@ rivian/rivian.py,sha256=jE4PnX6Jx4kj67KCN6ie-wktnyk14D26teXRLsXSsPk,32529
8
8
  rivian/utils.py,sha256=7uNd4X2Kq1kxWqJt_5P7cfBfsvIQCmiFomkublJVRc0,3921
9
9
  rivian/ws_monitor.py,sha256=EWVmHfbCiuzOS2CHMLvbYNhMIrBOgDniJ6sJy6_Cl2c,9149
10
10
  rivian/parallax/__init__.py,sha256=Xwow2h9wTlJckccZhScKgWhLRI8v6-GGu7WIE8m2d3g,2028
11
- rivian/parallax/body.py,sha256=2hIy9T_zCZkfSvBukHZ1wCYgxb7-cyQtHKsGKNtLMLA,7552
12
- rivian/parallax/charging.py,sha256=tmt4F3nuxGpsCs2M6mlZhY0hIJcR9p5uchiRBl5uBYQ,9868
11
+ rivian/parallax/body.py,sha256=lBLd4RnxrACyOownav7l3-aZ-TTbYF_TmugOW1Vu108,7522
12
+ rivian/parallax/charging.py,sha256=gQWmF1_4m7xq_btETP7wWafZLKcuwXn7znyyB_44XvI,10206
13
13
  rivian/parallax/comfort.py,sha256=9zXAoAAHa8W9YBAshCR7lY3HA5f1JtHhENQ3q4JH3Wc,10137
14
14
  rivian/parallax/core.py,sha256=9dFAxtfNo93HO8Da1qlGknQ6G60K_r3xMFRrtwXRm1A,5737
15
15
  rivian/parallax/departure.py,sha256=820NeyvkyO3yDC9TYu4NwAUrJONjc5gfdwTibWiR3y4,3808
16
- rivian/parallax/device_table.py,sha256=fQFi21vnKHw-tvfaH92YfeHWcecsaBoOfBStvdJ6EwI,3973
17
- rivian/parallax/dynamics.py,sha256=ObNHvpPbVxgd150IDt4KoXEwSLB8b5zfKHCGF7TZ9RA,8323
16
+ rivian/parallax/device_table.py,sha256=uy-817lyElTgMBVOOzhtmx8jadneU6Z2enRcoQY-FNo,3959
17
+ rivian/parallax/dynamics.py,sha256=m8Yax693gDYc8KBfHhiZwPwlCeeFrPbr8RI3XOTFleU,8881
18
18
  rivian/parallax/energy.py,sha256=lX7XPMsLLdRsUKtLCMHhsX4lRa6d-xGLPoguLCItQPs,2898
19
19
  rivian/parallax/energy_edge_compute.py,sha256=1MsRF08B2SE1WQQ_mtdVXYhwT90dOd7VoYbpUmhpj8o,6436
20
20
  rivian/parallax/gearguard_streaming.py,sha256=UNMY9hD8w5ERvcIYkbTNcpmjwxmMAv0ESmcaIf4YbHA,2556
21
21
  rivian/parallax/geofence.py,sha256=qAmnm_ngP7uEphr0SHfTnhDPvUmeS-FU0SCUDNJXnrw,1204
22
- rivian/parallax/holiday_celebration.py,sha256=SYTpjuHGDvRJ3T6i3wV2wkVPRA6ayecMkbNVJiK2ABY,3819
22
+ rivian/parallax/holiday_celebration.py,sha256=f96jZKg4w2UIEcS-_A0qhP-GS02ykT2FbRsj_3xUE4o,3780
23
23
  rivian/parallax/navigation.py,sha256=l3P642drkddYEHYSyiNrsddcDRFvK3r01pnGUG2o670,11964
24
24
  rivian/parallax/ota.py,sha256=3N6ZzZCi_Dp2Hkc76iJ_A2eqGA4BFhMlIIFeGapBgI0,7351
25
25
  rivian/parallax/parallax.py,sha256=Db3FBI6bcmIR6wj7d6_ltMQh7sK0LdZ8GSyze-tIlvg,1075
26
26
  rivian/parallax/secure_file_transfer.py,sha256=McNiLcF2FoMTW60I2sqmXvpv52pfo4qElO9iWUzAPAU,519
27
27
  rivian/parallax/security.py,sha256=zoKUBswt6R7o4NH-NqPSC5Vfm1Sxe0eO-JDBXQ39M_k,7331
28
28
  rivian/parallax/user_passcodes.py,sha256=VFCCF5IwxchK1XNohk-axiDfjz5KoETzYhYqSD7DlCw,996
29
- rivian/parallax/vehicle.py,sha256=7eg4TO_csWbI6x3-P80DB8IlUEA7OcgD_8mMKz5R_V0,6535
29
+ rivian/parallax/vehicle.py,sha256=J9QZVQoS9biWBMvVsrTOVEmo0tJdou7zLqIT9aqO7s0,7204
30
30
  rivian/parallax/vehicle_access.py,sha256=yi4KM_WfjX0MKdluCsskCaXXOi6bPRxMHY2AabtnNzs,1401
31
31
  rivian/parallax/proto/__init__.py,sha256=zK8ZbnfFPlrZtz4ehFVqCYig4fPsSO-AQ-cPo7LB3LA,331
32
- rivian/parallax/proto/body.proto,sha256=xdu_0a04dh3PFymMkNPC4LT1SteYBAEk7Eldrwzqp_Q,6374
32
+ rivian/parallax/proto/body.proto,sha256=BulDLhUtsFI7krNQpaCjqX9GkN6l21NnMYJ2gnW1YZU,6354
33
33
  rivian/parallax/proto/body_pb2.py,sha256=lAhoVwhMVFT_MjATUASXeg3bp71eBFCDktBM4SMuVmk,11530
34
34
  rivian/parallax/proto/body_pb2.pyi,sha256=i13-MnNY23Eqv-mo5eETpBCRSPeUso2AYKVzhN924Fw,18180
35
- rivian/parallax/proto/charging.proto,sha256=35M21_7QFUgHGbJS9wzUNJHP_1SC5lSLekGWfvw8qjM,4147
36
- rivian/parallax/proto/charging_pb2.py,sha256=W60KT7ZrxzR_qTS7pxL1JHLdvmV89Mwg7YNL-0HjhV8,7542
37
- rivian/parallax/proto/charging_pb2.pyi,sha256=Y1GKkYD-pdkozq67umshrUTJ0PAasFGuTvqbFL9FHWg,9542
35
+ rivian/parallax/proto/charging.proto,sha256=MsvKIo5SgfbYdvMtBAm67RrR6d5cihNbpk3YPoSIW3o,4138
36
+ rivian/parallax/proto/charging_pb2.py,sha256=mrbZTtHSp2WgFeCuljrghZpZ5BbRvHg-FsuqP3IzdT8,7573
37
+ rivian/parallax/proto/charging_pb2.pyi,sha256=nNn0VuPH_Ejwz0rgG0RxZae2PrvIIzMEjmaKdhbzFuM,9672
38
38
  rivian/parallax/proto/comfort.proto,sha256=g61U33GXWfaIxAYpWYP01HplUqlLREimAdt_fQw8Nc8,3886
39
39
  rivian/parallax/proto/comfort_pb2.py,sha256=9L52rjXr1UAdm1ewJkmeho2D9_0F4CVpaI1LF97hrrk,8438
40
40
  rivian/parallax/proto/comfort_pb2.pyi,sha256=XBiQJrrF1aclSGBIDeU14HyLG--OHkVLHBRhW7I4BmA,10982
41
41
  rivian/parallax/proto/departure.proto,sha256=dsLmpss3o0y3nuq-fvIhHtdlhcaW3udEUxzm82e1ewE,1898
42
42
  rivian/parallax/proto/departure_pb2.py,sha256=rnR6bx7DR_nJcsI706fUu6w7hay4TS_3l_R4zx-8qww,5294
43
43
  rivian/parallax/proto/departure_pb2.pyi,sha256=a-K59qi8BVG0NOKAjYwp67WG9XYlzG_u8nqU8D59Xmo,6712
44
- rivian/parallax/proto/device_table.proto,sha256=rGACMCOBI6ZwqYTYhv3TjZohguI2pbLC6bcGizefeF4,2084
44
+ rivian/parallax/proto/device_table.proto,sha256=8crQm0cfHGTV6pKLdR91CoTCTQLDCu33zXxR60Z9rpg,2065
45
45
  rivian/parallax/proto/device_table_pb2.py,sha256=5-kvvpMyCbFrb4FZkMGjpKIty0Tk7e5zyrHYQJQw1rA,4793
46
46
  rivian/parallax/proto/device_table_pb2.pyi,sha256=JWF4ijxeMt86LxrfftDRRNtStDmX4fVlXg0Imkm7h0M,5138
47
- rivian/parallax/proto/dynamics.proto,sha256=AWmxnLhgjDZ9eTtzsojte9epcOoRKYq2ha75VXSYhGw,3476
48
- rivian/parallax/proto/dynamics_pb2.py,sha256=uHtBN088naRzIacBepDLOxOXO6aeE1A021hYrQ3OaQI,7641
49
- rivian/parallax/proto/dynamics_pb2.pyi,sha256=CeksAMGE0JnWXbrR4pic_EAOxqnPeVTUrYvQ4fGMawU,9888
50
- rivian/parallax/proto/energy.proto,sha256=ttDBFYq2Xjj2hs6sqp7gtm0pqV-c-HhM2Sl5ULG4aYY,1432
51
- rivian/parallax/proto/energy_edge_compute.proto,sha256=Mk5HEddpsIcAhMPnjsdNSlaBcR3hr_tGNUgl79QB0bM,2670
47
+ rivian/parallax/proto/dynamics.proto,sha256=ese3oBf1j5Pz1yn7CM6cmEMVP0l0t00uJqaj0kF5fqw,3412
48
+ rivian/parallax/proto/dynamics_pb2.py,sha256=EKg96SEqF2SwLvGVwVYMemA6b27iFJ-68y2k5LWIt7E,7488
49
+ rivian/parallax/proto/dynamics_pb2.pyi,sha256=f67PWte4ldZgvJ9OJOgFc8uTlmNlBh1DpoFG2tFBzMs,10056
50
+ rivian/parallax/proto/energy.proto,sha256=Ss_SeF7FusRamCnVd-tygVoQTUV4tIg21joc5BZO_xw,1427
51
+ rivian/parallax/proto/energy_edge_compute.proto,sha256=hF3aB40Mka13VN8rIpED5i-_uB5tSJHLYZhScw3zjqM,2716
52
52
  rivian/parallax/proto/energy_edge_compute_pb2.py,sha256=nIiQYUKtZOx7YeHb9DY4k6G6AYoArIIzq1dVLcrdO5Q,4738
53
53
  rivian/parallax/proto/energy_edge_compute_pb2.pyi,sha256=clsYC1JuXcUtenIWLKW5QA6iquLDWwzcrDHDOBPT9c8,6496
54
54
  rivian/parallax/proto/energy_pb2.py,sha256=apS9dd9W9mopcktLdjBEWL2if9Sl5TJIUCFcKqj9swY,3708
@@ -56,16 +56,16 @@ rivian/parallax/proto/energy_pb2.pyi,sha256=pCUh9SmqpRPeCKqxZCnX49-ln-qhPIfSwf_R
56
56
  rivian/parallax/proto/gearguard_streaming.proto,sha256=KM9oWSC5iSPnkuQR12lgw3Gdwvy4YXxS2oKHtnPGbNg,827
57
57
  rivian/parallax/proto/gearguard_streaming_pb2.py,sha256=Pn809UM3DHZIS-tR15XKpy9b7ePDvbLJw7raHi3STFY,2636
58
58
  rivian/parallax/proto/gearguard_streaming_pb2.pyi,sha256=ILRQOBMvA5cGtbv9aVVisaknl1XDIZrhlLv4q7YIqkA,1872
59
- rivian/parallax/proto/geofence.proto,sha256=NxNpM1wcets4AX1D2OUFeFK66ZcZSvEmJByB_YfVfzs,551
59
+ rivian/parallax/proto/geofence.proto,sha256=XSw0bvXVHOCE3gDyzypGI7IT0L6X7y99hrovVrlIh6w,515
60
60
  rivian/parallax/proto/geofence_pb2.py,sha256=G7Khu1PUdGlhtqAkT2FYLY-FBTibIaTB9iZc-7zx0NM,2084
61
61
  rivian/parallax/proto/geofence_pb2.pyi,sha256=yCT8U79jNUqJt85l3f3Y4FE_m5HYoPLES2YY5iq_CoQ,1511
62
- rivian/parallax/proto/holiday_celebration.proto,sha256=aHzO9fBd9mSsusFp1urP0RL5RMGDhX9YZKcQc9bFs7U,1796
62
+ rivian/parallax/proto/holiday_celebration.proto,sha256=r-TIgmmuY6EV-dXd2uuxur2SPMmHJLTSBoM-wtQts6A,1743
63
63
  rivian/parallax/proto/holiday_celebration_pb2.py,sha256=C4rSQlZYF4Ttvg5RiCJ1-CaIm9InOEFDd2rXODloVUo,5420
64
64
  rivian/parallax/proto/holiday_celebration_pb2.pyi,sha256=4TIvHui5xtBMUSOfLhuX06Nz0kLUjgGGwUdz47_MbuM,5623
65
65
  rivian/parallax/proto/navigation.proto,sha256=lAS7_sTk9i5OgDPtetGX2wGYV5Q9xx9XP42-0hiTrg0,5464
66
66
  rivian/parallax/proto/navigation_pb2.py,sha256=l8QVTsC_RnjybntxLLUWXMEcFFPogbCRDWDtCFI1WEw,11160
67
67
  rivian/parallax/proto/navigation_pb2.pyi,sha256=JMAgA8rVGuBq3ubT2AnMSJUvpiLP6i6w9wYq7S6NajA,14699
68
- rivian/parallax/proto/ota.proto,sha256=Ej4J9umW-NlZr3TwqhWYYVSv0k-TrEisC5RA0Rq0RDw,3529
68
+ rivian/parallax/proto/ota.proto,sha256=7BwjMztTFkBLgw_pOcgPxDQOZAqH-QaHUghtYU4PUQY,3501
69
69
  rivian/parallax/proto/ota_pb2.py,sha256=w5rpQ7AMAVSYjvMdXIG8078StUaWWraLBjyd4IKV1S4,7199
70
70
  rivian/parallax/proto/ota_pb2.pyi,sha256=Z7p3h6rMYrEBnjtCEQvePom8hVQIA98LX5_GYBDdYNA,8947
71
71
  rivian/parallax/proto/parallax.proto,sha256=1yUjI6mj733vhOaAnLELIK0H9G57F1CjOTx9mZdPOCc,396
@@ -80,15 +80,15 @@ rivian/parallax/proto/security_pb2.pyi,sha256=e6uqDmisoU6bhVkb8qmW1_Y3haw6VUa_HO
80
80
  rivian/parallax/proto/user_passcodes.proto,sha256=BGH2dnlcfPNcIWG4nFhx1UbS10HFMxo3NICn15IBlpc,428
81
81
  rivian/parallax/proto/user_passcodes_pb2.py,sha256=1emtUWLZVSRAYPHrAQBTHt4IeBaskDNKkws5UEcvlDw,1779
82
82
  rivian/parallax/proto/user_passcodes_pb2.pyi,sha256=0qnE1-Wk-WVaWACdnKalkuX42_AOiRuEv2dgYGLvXw4,895
83
- rivian/parallax/proto/vehicle.proto,sha256=NqAnUzfrfzW_QNpP315HibkndJKOkPdoP7iw8wiDPtA,3055
83
+ rivian/parallax/proto/vehicle.proto,sha256=hmrKbywkpB-8tMiGvuR9dGzLBnt_MPHLMvyYYSPXttc,3173
84
84
  rivian/parallax/proto/vehicle_access.proto,sha256=DE4imEDS0OGmkEWYzCgAjrqGHA7MlgfFds28lppMo7U,592
85
85
  rivian/parallax/proto/vehicle_access_pb2.py,sha256=xv8z6M4jq9ZC7zWXv-4moBtO6ksRvtoVwelxlFKodV0,2069
86
86
  rivian/parallax/proto/vehicle_access_pb2.pyi,sha256=KSfN23ue7PM-4ungYKuSzTUs4AOcdg1xbbDOxFxxg34,1375
87
- rivian/parallax/proto/vehicle_pb2.py,sha256=t0zAjIvNuKFikBBDldBn3d-q0NziQZ8IeiD-SE_MyOk,6396
88
- rivian/parallax/proto/vehicle_pb2.pyi,sha256=2kWP2DrEt_uBeCrXYmdimDjnPJqCrGdUmeORkRIPsx8,9133
87
+ rivian/parallax/proto/vehicle_pb2.py,sha256=kxNz4fhB0Una2MTx0yctRpo9STx5gdrjzXN1vdLUf4Y,6804
88
+ rivian/parallax/proto/vehicle_pb2.pyi,sha256=wzOaSnZY_Q6tC6QBTxhUAUHh0NbI6twa_QZ-paqCW18,9686
89
89
  rivian/schemas/charging.graphql,sha256=vAxAJNiKhXzQSQHByOkk3AlAsHWQa_0_P8QPz1u9VFA,3636
90
90
  rivian/schemas/gateway.graphql,sha256=0ZJX5_bKHqLmk3rtpp9to9GwrdCxyTasMhxAPwEhsqI,17865
91
91
  rivian/schemas/orders.graphql,sha256=goM4x7gbkFHvpMf7XUv2cTkTKMaIicrT4JbIi07F_Do,4290
92
- rivian_python_client-2.2.0b3.dist-info/METADATA,sha256=zsxSrdhj0X1pzLh9Y6S2i056OILxharba8ppHqE1P18,1080
93
- rivian_python_client-2.2.0b3.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
94
- rivian_python_client-2.2.0b3.dist-info/RECORD,,
92
+ rivian_python_client-2.2.0b4.dist-info/METADATA,sha256=_lPauNnVQlL0kvTIlpHJf7ldIStim2nIKAorq0kbjto,1080
93
+ rivian_python_client-2.2.0b4.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
94
+ rivian_python_client-2.2.0b4.dist-info/RECORD,,