rivian-python-client 2.2.0b5__tar.gz → 2.2.0b7__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 (98) hide show
  1. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/PKG-INFO +1 -1
  2. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/__version__.py +1 -1
  3. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/body.py +6 -0
  4. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/charging.py +2 -0
  5. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/comfort.py +7 -2
  6. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/dynamics.py +16 -7
  7. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/ota.py +11 -3
  8. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/body.proto +6 -1
  9. rivian_python_client-2.2.0b7/src/rivian/parallax/proto/body_pb2.py +74 -0
  10. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/body_pb2.pyi +4 -0
  11. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/charging.proto +25 -0
  12. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/charging_pb2.py +6 -4
  13. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/charging_pb2.pyi +43 -0
  14. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/comfort.proto +2 -1
  15. rivian_python_client-2.2.0b7/src/rivian/parallax/proto/comfort_pb2.py +78 -0
  16. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/comfort_pb2.pyi +4 -2
  17. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/dynamics.proto +13 -9
  18. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/dynamics_pb2.py +9 -9
  19. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/dynamics_pb2.pyi +16 -12
  20. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/ota.proto +9 -6
  21. rivian_python_client-2.2.0b7/src/rivian/parallax/proto/ota_pb2.py +66 -0
  22. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/ota_pb2.pyi +12 -0
  23. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/security.proto +1 -0
  24. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/security_pb2.py +6 -6
  25. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/security_pb2.pyi +2 -0
  26. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle_access.proto +4 -0
  27. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle_access_pb2.py +7 -5
  28. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle_access_pb2.pyi +4 -0
  29. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/security.py +2 -1
  30. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/vehicle_access.py +11 -0
  31. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/body_pb2.py +0 -72
  32. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/comfort_pb2.py +0 -78
  33. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/ota_pb2.py +0 -66
  34. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/.gitignore +0 -0
  35. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/README.md +0 -0
  36. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/pyproject.toml +0 -0
  37. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/__init__.py +0 -0
  38. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/ble.py +0 -0
  39. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/const.py +0 -0
  40. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/exceptions.py +0 -0
  41. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/__init__.py +0 -0
  42. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/core.py +0 -0
  43. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/departure.py +0 -0
  44. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/device_table.py +0 -0
  45. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/energy.py +0 -0
  46. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/energy_edge_compute.py +0 -0
  47. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/gearguard_streaming.py +0 -0
  48. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/geofence.py +0 -0
  49. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/holiday_celebration.py +0 -0
  50. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/navigation.py +0 -0
  51. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/parallax.py +0 -0
  52. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/__init__.py +0 -0
  53. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/departure.proto +0 -0
  54. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/departure_pb2.py +0 -0
  55. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/departure_pb2.pyi +0 -0
  56. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/device_table.proto +0 -0
  57. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/device_table_pb2.py +0 -0
  58. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/device_table_pb2.pyi +0 -0
  59. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy.proto +0 -0
  60. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy_edge_compute.proto +0 -0
  61. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy_edge_compute_pb2.py +0 -0
  62. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy_edge_compute_pb2.pyi +0 -0
  63. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy_pb2.py +0 -0
  64. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/energy_pb2.pyi +0 -0
  65. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/gearguard_streaming.proto +0 -0
  66. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/gearguard_streaming_pb2.py +0 -0
  67. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/gearguard_streaming_pb2.pyi +0 -0
  68. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/geofence.proto +0 -0
  69. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/geofence_pb2.py +0 -0
  70. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/geofence_pb2.pyi +0 -0
  71. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/holiday_celebration.proto +0 -0
  72. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/holiday_celebration_pb2.py +0 -0
  73. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/holiday_celebration_pb2.pyi +0 -0
  74. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/navigation.proto +0 -0
  75. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/navigation_pb2.py +0 -0
  76. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/navigation_pb2.pyi +0 -0
  77. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/parallax.proto +0 -0
  78. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/parallax_pb2.py +0 -0
  79. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/parallax_pb2.pyi +0 -0
  80. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/secure_file_transfer.proto +0 -0
  81. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/secure_file_transfer_pb2.py +0 -0
  82. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/secure_file_transfer_pb2.pyi +0 -0
  83. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/user_passcodes.proto +0 -0
  84. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/user_passcodes_pb2.py +0 -0
  85. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/user_passcodes_pb2.pyi +0 -0
  86. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle.proto +0 -0
  87. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle_pb2.py +0 -0
  88. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/proto/vehicle_pb2.pyi +0 -0
  89. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/secure_file_transfer.py +0 -0
  90. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/user_passcodes.py +0 -0
  91. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/parallax/vehicle.py +0 -0
  92. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/py.typed +0 -0
  93. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/rivian.py +0 -0
  94. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/schemas/charging.graphql +0 -0
  95. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/schemas/gateway.graphql +0 -0
  96. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/schemas/orders.graphql +0 -0
  97. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/src/rivian/utils.py +0 -0
  98. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b7}/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.0b5
3
+ Version: 2.2.0b7
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.0b5'
4
+ __version__ = VERSION = '2.2.0b7'
@@ -175,6 +175,12 @@ def decode_locks(m: body_pb2.LocksState) -> dict[str, Any]:
175
175
  return result
176
176
 
177
177
 
178
+ @RVMDecoder.register("body.windows.states", body_pb2.WindowsState)
179
+ def decode_windows(_m: body_pb2.WindowsState) -> dict[str, Any]:
180
+ """body.windows.states — unmapped."""
181
+ return {}
182
+
183
+
178
184
  @RVMDecoder.register("body.trailer.state", body_pb2.TrailerState)
179
185
  def decode_trailer_state(m: body_pb2.TrailerState) -> dict[str, Any]:
180
186
  """body.trailer.state — trailer presence, with or without brakes.
@@ -172,6 +172,8 @@ _CHARGING_STATE_MAP: Final[dict[int, str]] = {
172
172
  charging_pb2.CHARGING_TLS_ERROR_UNKNOWN_CHARGER: "charging_tls_error_unknown_charger",
173
173
  charging_pb2.CHARGING_TLS_ERROR_UNEXPECTED_FAIL: "charging_tls_error_unexpected_fail",
174
174
  charging_pb2.CHARGING_TLS_ERROR_START_RIVIAN_APP: "charging_tls_error_start_rivian_app",
175
+ charging_pb2.CHARGING_SMART_CHARGING_PAUSED: "smart_charging_paused",
176
+ charging_pb2.CHARGING_SMART_CHARGING_ACTIVE: "smart_charging_active",
175
177
  }
176
178
 
177
179
 
@@ -22,8 +22,13 @@ def decode_hvac_settings_status(m: comfort_pb2.HvacSettingsStatus) -> dict[str,
22
22
 
23
23
  @RVMDecoder.register("comfort.user_modes.state", comfort_pb2.UserModesState)
24
24
  def decode_user_modes_state(m: comfort_pb2.UserModesState) -> dict[str, Any]:
25
- """comfort.user_modes.state — unmapped; fields 4 and 7 as `_field4`/`_field7`."""
26
- result: dict[str, Any] = {}
25
+ """comfort.user_modes.state — user modes.
26
+
27
+ Fields:
28
+ carWashMode: str ("on" | "off")
29
+ _field4, _field7: int — raw
30
+ """
31
+ result: dict[str, Any] = {"carWashMode": "on" if m.car_wash_mode else "off"}
27
32
  if (v := _present(m, "field4")) is not None:
28
33
  result["_field4"] = v
29
34
  if (v := _present(m, "field7")) is not None:
@@ -41,10 +41,10 @@ _KNOWN_LOCATION_MAP: Final[dict[int, str]] = {
41
41
  }
42
42
 
43
43
  _RANGE_THRESHOLD_MAP: Final[dict[int, str]] = {
44
- dynamics_pb2.RANGE_NORMAL: "normal",
45
- dynamics_pb2.RANGE_LOW: "low",
46
- dynamics_pb2.RANGE_RED: "red",
47
- dynamics_pb2.RANGE_CRITICALLY_LOW: "critically_low",
44
+ dynamics_pb2.RANGE_THRESHOLD_NORMAL: "normal",
45
+ dynamics_pb2.RANGE_THRESHOLD_LOW: "low",
46
+ dynamics_pb2.RANGE_THRESHOLD_RED: "red",
47
+ dynamics_pb2.RANGE_THRESHOLD_CRITICALLY_LOW: "critically_low",
48
48
  }
49
49
 
50
50
  _TEMPERATURE_IMPACT_MAP: Final[dict[int, str]] = {
@@ -53,6 +53,14 @@ _TEMPERATURE_IMPACT_MAP: Final[dict[int, str]] = {
53
53
  dynamics_pb2.TEMPERATURE_COLD_IMPACT: "cold_impact",
54
54
  }
55
55
 
56
+ # "OK" is the GraphQL value for normal.
57
+ _TIRE_PRESSURE_STATUS_MAP: Final[dict[int, str]] = {
58
+ dynamics_pb2.TIRE_PRESSURE_STATUS_NORMAL: "OK",
59
+ dynamics_pb2.TIRE_PRESSURE_STATUS_WARNING_HARD: "warning_hard",
60
+ dynamics_pb2.TIRE_PRESSURE_STATUS_WARNING_SOFT: "warning_soft",
61
+ dynamics_pb2.TIRE_PRESSURE_STATUS_WARNING_PUNCTURE: "warning_puncture",
62
+ }
63
+
56
64
  _TIRE_POSITION_MAP: Final[dict[int, str]] = {
57
65
  dynamics_pb2.TIRE_FRONT_LEFT: "FrontLeft",
58
66
  dynamics_pb2.TIRE_FRONT_RIGHT: "FrontRight",
@@ -178,7 +186,8 @@ def decode_tires(m: dynamics_pb2.TiresState) -> dict[str, Any]:
178
186
 
179
187
  Fields:
180
188
  tirePressureFrontLeft, tirePressureFrontRight, etc.: float (bar)
181
- tirePressureStatusFrontLeft, etc.: str ("OK" | "Warning")
189
+ tirePressureStatusFrontLeft, etc.: str ("OK" | "warning_hard" |
190
+ "warning_soft" | "warning_puncture")
182
191
  tirePressureStatusValidFrontLeft, etc.: str ("valid" | "invalid")
183
192
  """
184
193
  result: dict[str, Any] = {}
@@ -197,8 +206,8 @@ def decode_tires(m: dynamics_pb2.TiresState) -> dict[str, Any]:
197
206
  if (pressure := _present(s, "pressure")) is not None:
198
207
  result[f"tirePressure{suffix}"] = pressure
199
208
  if (status_val := _present(s, "status")) is not None:
200
- result[f"tirePressureStatus{suffix}"] = (
201
- "OK" if status_val == dynamics_pb2.TIRE_PRESSURE_OK else "Warning"
209
+ result[f"tirePressureStatus{suffix}"] = _enum(
210
+ _TIRE_PRESSURE_STATUS_MAP, status_val, what="tire pressure status"
202
211
  )
203
212
  return result
204
213
 
@@ -10,13 +10,19 @@ from .proto import ota_pb2
10
10
 
11
11
  _OTA_STATUS_MAP: Final[dict[int, str]] = {
12
12
  ota_pb2.DeploymentState.OTA_PHASE_IDLE: "idle",
13
+ ota_pb2.DeploymentState.OTA_PHASE_READY_TO_DOWNLOAD: "ready_to_download",
14
+ ota_pb2.DeploymentState.OTA_PHASE_FAULT: "fault",
15
+ ota_pb2.DeploymentState.OTA_PHASE_CONNECTION_LOST: "connection_lost",
13
16
  ota_pb2.DeploymentState.OTA_PHASE_INSTALL_COUNTDOWN: "install_countdown",
14
17
  ota_pb2.DeploymentState.OTA_PHASE_PREPARING: "preparing",
15
18
  ota_pb2.DeploymentState.OTA_PHASE_DOWNLOADING: "downloading",
19
+ ota_pb2.DeploymentState.OTA_PHASE_READY_TO_INSTALL: "ready_to_install",
16
20
  ota_pb2.DeploymentState.OTA_PHASE_SCHEDULED_TO_INSTALL: "scheduled_to_install",
17
21
  ota_pb2.DeploymentState.OTA_PHASE_AWAITING_INSTALL: "awaiting_install",
18
22
  ota_pb2.DeploymentState.OTA_PHASE_INSTALLING: "installing",
19
23
  ota_pb2.DeploymentState.OTA_PHASE_INSTALL_SUCCESS: "install_success",
24
+ ota_pb2.DeploymentState.OTA_PHASE_DOWNLOAD_FAILED: "download_failed",
25
+ ota_pb2.DeploymentState.OTA_PHASE_INSTALL_FAILED: "install_failed",
20
26
  }
21
27
 
22
28
 
@@ -58,9 +64,11 @@ def decode_deployment_state(m: ota_pb2.DeploymentState) -> dict[str, Any]:
58
64
  otaAvailableVersion, otaAvailableVersionYear,
59
65
  otaAvailableVersionWeek, otaAvailableVersionNumber,
60
66
  otaAvailableVersionGitHash — the version being installed
61
- otaStatus: str — "idle" | "downloading" | "preparing" |
62
- "scheduled_to_install" | "install_countdown" |
63
- "awaiting_install" | "installing" | "install_success"
67
+ otaStatus: str — "idle" | "ready_to_download" | "downloading" |
68
+ "preparing" | "ready_to_install" | "scheduled_to_install" |
69
+ "install_countdown" | "awaiting_install" | "installing" |
70
+ "install_success" | "fault" | "connection_lost" |
71
+ "download_failed" | "install_failed"
64
72
  otaDownloadProgress, otaInstallProgress: int (0-100)
65
73
  otaTimeRemaining: int (seconds; counts down during
66
74
  "install_countdown", a static default otherwise)
@@ -97,6 +97,9 @@ enum LockFault {
97
97
  LOCK_FAULT_FAULTED = 1;
98
98
  }
99
99
 
100
+ // body.windows.states -- unmapped.
101
+ message WindowsState {}
102
+
100
103
  // body.trailer.state
101
104
  message TrailerState {
102
105
  optional TrailerPresence presence = 1;
@@ -218,5 +221,7 @@ enum WindowsNextAction {
218
221
 
219
222
  // body.wipers.fluid_level
220
223
  message WiperFluidLevel {
221
- optional int32 field_2 = 2; // unknown
224
+ // Likely the app's FluidLevelState (normal | low | empty, i.e. the
225
+ // gateway's wiperFluidState); its numbers are unknown.
226
+ optional int32 field_2 = 2;
222
227
  }
@@ -0,0 +1,74 @@
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/body.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'rivian/parallax/proto/body.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/body.proto\x12\x14rivian.parallax.body\"\xe8\x06\n\rClosuresState\x12<\n\x07\x63losure\x18\x01 \x03(\x0b\x32+.rivian.parallax.body.ClosuresState.Closure\x1a\x98\x06\n\x07\x43losure\x12+\n\x02id\x18\x01 \x01(\x0e\x32\x1f.rivian.parallax.body.ClosureId\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32\".rivian.parallax.body.ClosureStateH\x00\x88\x01\x01\x12\x31\n\x05\x66\x61ult\x18\x04 \x01(\x0e\x32\".rivian.parallax.body.ClosureFault\x12I\n\x13windows_next_action\x18\x05 \x01(\x0e\x32\'.rivian.parallax.body.WindowsNextActionH\x01\x88\x01\x01\x12\x45\n\x11\x66runk_next_action\x18\x06 \x01(\x0e\x32%.rivian.parallax.body.FrunkNextActionH\x02\x88\x01\x01\x12K\n\x14liftgate_next_action\x18\x07 \x01(\x0e\x32(.rivian.parallax.body.LiftgateNextActionH\x03\x88\x01\x01\x12J\n\x14side_bin_next_action\x18\x08 \x01(\x0e\x32\'.rivian.parallax.body.SideBinNextActionH\x04\x88\x01\x01\x12K\n\x14tailgate_next_action\x18\t \x01(\x0e\x32(.rivian.parallax.body.TailgateNextActionH\x05\x88\x01\x01\x12Y\n\x1c\x63harge_port_door_next_action\x18\n \x01(\x0e\x32..rivian.parallax.body.ChargePortDoorNextActionH\x06\x88\x01\x01\x42\x08\n\x06_stateB\x16\n\x14_windows_next_actionB\x14\n\x12_frunk_next_actionB\x17\n\x15_liftgate_next_actionB\x17\n\x15_side_bin_next_actionB\x17\n\x15_tailgate_next_actionB\x1f\n\x1d_charge_port_door_next_action\"\xe3\x01\n\nLocksState\x12\x33\n\x04lock\x18\x01 \x03(\x0b\x32%.rivian.parallax.body.LocksState.Lock\x1a\x9f\x01\n\x04Lock\x12(\n\x02id\x18\x01 \x01(\x0e\x32\x1c.rivian.parallax.body.LockId\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32\x1f.rivian.parallax.body.LockStateH\x00\x88\x01\x01\x12.\n\x05\x66\x61ult\x18\x03 \x01(\x0e\x32\x1f.rivian.parallax.body.LockFaultB\x08\n\x06_state\"\x0e\n\x0cWindowsState\"j\n\x0cTrailerState\x12<\n\x08presence\x18\x01 \x01(\x0e\x32%.rivian.parallax.body.TrailerPresenceH\x00\x88\x01\x01\x12\x0f\n\x07\x66ield_2\x18\x02 \x01(\x05\x42\x0b\n\t_presence\"3\n\x0fWiperFluidLevel\x12\x14\n\x07\x66ield_2\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\n\n\x08_field_2*\xe8\x02\n\tClosureId\x12\x1a\n\x16\x43LOSURE_ID_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44OOR_FRONT_LEFT\x10\x01\x12\x14\n\x10\x44OOR_FRONT_RIGHT\x10\x02\x12\x12\n\x0e\x44OOR_REAR_LEFT\x10\x03\x12\x13\n\x0f\x44OOR_REAR_RIGHT\x10\x04\x12\t\n\x05\x46RUNK\x10\x05\x12\x0c\n\x08TAILGATE\x10\x06\x12\x0c\n\x08LIFTGATE\x10\x07\x12\x11\n\rSIDE_BIN_LEFT\x10\x08\x12\x12\n\x0eSIDE_BIN_RIGHT\x10\t\x12\x0f\n\x0b\x43HARGE_PORT\x10\n\x12\x0b\n\x07TONNEAU\x10\x0b\x12\x15\n\x11WINDOW_FRONT_LEFT\x10\x0c\x12\x16\n\x12WINDOW_FRONT_RIGHT\x10\r\x12\x14\n\x10WINDOW_REAR_LEFT\x10\x0e\x12\x15\n\x11WINDOW_REAR_RIGHT\x10\x0f\x12\x0f\n\x0bWINDOW_REAR\x10\x10\x12\x12\n\rGROUP_WINDOWS\x10\x90N*\xad\x01\n\x0c\x43losureState\x12\x1d\n\x19\x43LOSURE_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43LOSURE_STATE_OPEN\x10\x01\x12\x18\n\x14\x43LOSURE_STATE_CLOSED\x10\x02\x12\x16\n\x12\x43LOSURE_STATE_AJAR\x10\x03\x12\x19\n\x15\x43LOSURE_STATE_OPENING\x10\x04\x12\x19\n\x15\x43LOSURE_STATE_CLOSING\x10\x05*\xf3\x02\n\x06LockId\x12\x17\n\x13LOCK_ID_UNSPECIFIED\x10\x00\x12\x18\n\x14LOCK_DOOR_FRONT_LEFT\x10\x01\x12\x19\n\x15LOCK_DOOR_FRONT_RIGHT\x10\x02\x12\x17\n\x13LOCK_DOOR_REAR_LEFT\x10\x03\x12\x18\n\x14LOCK_DOOR_REAR_RIGHT\x10\x04\x12\x0e\n\nLOCK_FRUNK\x10\x05\x12\x11\n\rLOCK_TAILGATE\x10\x06\x12\x11\n\rLOCK_LIFTGATE\x10\x07\x12\x16\n\x12LOCK_SIDE_BIN_LEFT\x10\x08\x12\x17\n\x13LOCK_SIDE_BIN_RIGHT\x10\t\x12\x14\n\x10LOCK_CHARGE_PORT\x10\n\x12\x17\n\x13LOCK_TRUNK_SECURITY\x10\x0b\x12\x17\n\x13LOCK_CENTER_CONSOLE\x10\x0c\x12\x12\n\x0eLOCK_GLOVE_BOX\x10\r\x12\x13\n\x0fLOCK_GEAR_GUARD\x10\x0e\x12\x10\n\x0cLOCK_TONNEAU\x10\x0f*z\n\tLockState\x12\x1a\n\x16LOCK_STATE_UNSPECIFIED\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12!\n\x1dLOCK_STATE_PARTIALLY_UNLOCKED\x10\x03*?\n\tLockFault\x12\x1a\n\x16LOCK_FAULT_UNSPECIFIED\x10\x00\x12\x16\n\x12LOCK_FAULT_FAULTED\x10\x01*\xaa\x01\n\x0c\x43losureFault\x12\x1d\n\x19\x43LOSURE_FAULT_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43LOSURE_FAULT_NO_FAULT\x10\x01\x12\x19\n\x15\x43LOSURE_FAULT_GENERAL\x10\x02\x12&\n\"CLOSURE_FAULT_NO_POWERED_OPERATION\x10\x03\x12\x1c\n\x18\x43LOSURE_FAULT_OBSTRUCTED\x10\x04*\x97\x01\n\x0fTrailerPresence\x12 \n\x1cTRAILER_PRESENCE_UNSPECIFIED\x10\x00\x12\x17\n\x13TRAILER_NOT_PRESENT\x10\x01\x12\x13\n\x0fTRAILER_PRESENT\x10\x02\x12\x1f\n\x1bTRAILER_PRESENT_WITH_BRAKES\x10\x03\x12\x13\n\x0fTRAILER_INVALID\x10\x04*\x9f\x04\n\x18\x43hargePortDoorNextAction\x12\x18\n\x14\x43HARGE_PORT_DOOR_SNA\x10\x00\x12!\n\x1d\x43HARGE_PORT_DOOR_OPEN_ALLOWED\x10\x01\x12\'\n#CHARGE_PORT_DOOR_OPEN_NOT_AVAILABLE\x10\x02\x12-\n)CHARGE_PORT_DOOR_OPEN_NOT_ALLOWED_FAULTED\x10\x03\x12\x1c\n\x18\x43HARGE_PORT_DOOR_OPENING\x10\x04\x12\"\n\x1e\x43HARGE_PORT_DOOR_CLOSE_ALLOWED\x10\x05\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_CLOSE_ALLOWED\x10\x06\x12:\n6CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_OPEN_ALLOWED\x10\x07\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\x08\x12(\n$CHARGE_PORT_DOOR_CLOSE_NOT_AVAILABLE\x10\t\x12.\n*CHARGE_PORT_DOOR_CLOSE_NOT_ALLOWED_FAULTED\x10\n\x12\x1c\n\x18\x43HARGE_PORT_DOOR_CLOSING\x10\x0b*\xb0\x03\n\x0f\x46runkNextAction\x12\r\n\tFRUNK_SNA\x10\x00\x12\x16\n\x12\x46RUNK_OPEN_ALLOWED\x10\x01\x12\x17\n\x13\x46RUNK_CLOSE_ALLOWED\x10\x02\x12\x11\n\rFRUNK_OPENING\x10\x03\x12\x11\n\rFRUNK_CLOSING\x10\x04\x12\x1c\n\x18\x46RUNK_OPEN_NOT_AVAILABLE\x10\x05\x12\x1d\n\x19\x46RUNK_CLOSE_NOT_AVAILABLE\x10\x06\x12\"\n\x1e\x46RUNK_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12#\n\x1f\x46RUNK_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12)\n%FRUNK_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12.\n*FRUNK_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12*\n&FRUNK_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12*\n&FRUNK_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c*\xa7\x06\n\x12LiftgateNextAction\x12\x10\n\x0cLIFTGATE_SNA\x10\x00\x12\x19\n\x15LIFTGATE_OPEN_ALLOWED\x10\x01\x12\x1a\n\x16LIFTGATE_CLOSE_ALLOWED\x10\x02\x12\x14\n\x10LIFTGATE_OPENING\x10\x03\x12\x14\n\x10LIFTGATE_CLOSING\x10\x04\x12\x1f\n\x1bLIFTGATE_OPEN_NOT_AVAILABLE\x10\x05\x12 \n\x1cLIFTGATE_CLOSE_NOT_AVAILABLE\x10\x06\x12%\n!LIFTGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12&\n\"LIFTGATE_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12,\n(LIFTGATE_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12\x31\n-LIFTGATE_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12-\n)LIFTGATE_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12-\n)LIFTGATE_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c\x12.\n*LIFTGATE_LOWER_GATE_OPEN_CLOSE_NOT_ALLOWED\x10\r\x12&\n\"LIFTGATE_OPENING_PAUSE_NOT_ALLOWED\x10\x0e\x12&\n\"LIFTGATE_CLOSING_PAUSE_NOT_ALLOWED\x10\x0f\x12+\n\'LIFTGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x10\x12*\n&LIFTGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\x11\x12,\n(LIFTGATE_CLOSE_ALLOWED_OBSTACLE_DETECTED\x10\x12\x12+\n\'LIFTGATE_CLOSE_ALLOWED_TRAILER_DETECTED\x10\x13\x12\x17\n\x13LIFTGATE_PROCESSING\x10\x14*\xb2\x02\n\x11SideBinNextAction\x12\x10\n\x0cSIDE_BIN_SNA\x10\x00\x12\x19\n\x15SIDE_BIN_OPEN_ALLOWED\x10\x01\x12\x14\n\x10SIDE_BIN_OPENING\x10\x02\x12\x1f\n\x1bSIDE_BIN_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!SIDE_BIN_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.SIDE_BIN_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)SIDE_BIN_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+SIDE_BIN_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07*\x8c\x03\n\x12TailgateNextAction\x12\x10\n\x0cTAILGATE_SNA\x10\x00\x12\x19\n\x15TAILGATE_OPEN_ALLOWED\x10\x01\x12\x14\n\x10TAILGATE_OPENING\x10\x02\x12\x1f\n\x1bTAILGATE_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!TAILGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.TAILGATE_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)TAILGATE_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+TAILGATE_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07\x12+\n\'TAILGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x08\x12*\n&TAILGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\t*\xb0\x03\n\x11WindowsNextAction\x12\x0f\n\x0bWINDOWS_SNA\x10\x00\x12\x18\n\x14WINDOWS_OPEN_ALLOWED\x10\x01\x12\x19\n\x15WINDOWS_CLOSE_ALLOWED\x10\x02\x12\x13\n\x0fWINDOWS_OPENING\x10\x03\x12\x13\n\x0fWINDOWS_CLOSING\x10\x04\x12\x12\n\x0eWINDOWS_MOVING\x10\x05\x12\x1e\n\x1aWINDOWS_OPEN_NOT_AVAILABLE\x10\x06\x12\x1f\n\x1bWINDOWS_CLOSE_NOT_AVAILABLE\x10\x07\x12$\n WINDOWS_OPEN_NOT_ALLOWED_FAULTED\x10\x08\x12%\n!WINDOWS_CLOSE_NOT_ALLOWED_FAULTED\x10\t\x12\x32\n.WINDOWS_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\n\x12*\n&WINDOWS_CLOSE_NOT_ALLOWED_UNCALIBRATED\x10\x0b\x12)\n%WINDOWS_OPEN_NOT_ALLOWED_UNCALIBRATED\x10\x0c\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.body_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_CLOSUREID']._serialized_start=1341
35
+ _globals['_CLOSUREID']._serialized_end=1701
36
+ _globals['_CLOSURESTATE']._serialized_start=1704
37
+ _globals['_CLOSURESTATE']._serialized_end=1877
38
+ _globals['_LOCKID']._serialized_start=1880
39
+ _globals['_LOCKID']._serialized_end=2251
40
+ _globals['_LOCKSTATE']._serialized_start=2253
41
+ _globals['_LOCKSTATE']._serialized_end=2375
42
+ _globals['_LOCKFAULT']._serialized_start=2377
43
+ _globals['_LOCKFAULT']._serialized_end=2440
44
+ _globals['_CLOSUREFAULT']._serialized_start=2443
45
+ _globals['_CLOSUREFAULT']._serialized_end=2613
46
+ _globals['_TRAILERPRESENCE']._serialized_start=2616
47
+ _globals['_TRAILERPRESENCE']._serialized_end=2767
48
+ _globals['_CHARGEPORTDOORNEXTACTION']._serialized_start=2770
49
+ _globals['_CHARGEPORTDOORNEXTACTION']._serialized_end=3313
50
+ _globals['_FRUNKNEXTACTION']._serialized_start=3316
51
+ _globals['_FRUNKNEXTACTION']._serialized_end=3748
52
+ _globals['_LIFTGATENEXTACTION']._serialized_start=3751
53
+ _globals['_LIFTGATENEXTACTION']._serialized_end=4558
54
+ _globals['_SIDEBINNEXTACTION']._serialized_start=4561
55
+ _globals['_SIDEBINNEXTACTION']._serialized_end=4867
56
+ _globals['_TAILGATENEXTACTION']._serialized_start=4870
57
+ _globals['_TAILGATENEXTACTION']._serialized_end=5266
58
+ _globals['_WINDOWSNEXTACTION']._serialized_start=5269
59
+ _globals['_WINDOWSNEXTACTION']._serialized_end=5701
60
+ _globals['_CLOSURESSTATE']._serialized_start=59
61
+ _globals['_CLOSURESSTATE']._serialized_end=931
62
+ _globals['_CLOSURESSTATE_CLOSURE']._serialized_start=139
63
+ _globals['_CLOSURESSTATE_CLOSURE']._serialized_end=931
64
+ _globals['_LOCKSSTATE']._serialized_start=934
65
+ _globals['_LOCKSSTATE']._serialized_end=1161
66
+ _globals['_LOCKSSTATE_LOCK']._serialized_start=1002
67
+ _globals['_LOCKSSTATE_LOCK']._serialized_end=1161
68
+ _globals['_WINDOWSSTATE']._serialized_start=1163
69
+ _globals['_WINDOWSSTATE']._serialized_end=1177
70
+ _globals['_TRAILERSTATE']._serialized_start=1179
71
+ _globals['_TRAILERSTATE']._serialized_end=1285
72
+ _globals['_WIPERFLUIDLEVEL']._serialized_start=1287
73
+ _globals['_WIPERFLUIDLEVEL']._serialized_end=1338
74
+ # @@protoc_insertion_point(module_scope)
@@ -354,6 +354,10 @@ class LocksState(_message.Message):
354
354
  lock: _containers.RepeatedCompositeFieldContainer[LocksState.Lock]
355
355
  def __init__(self, lock: _Optional[_Iterable[_Union[LocksState.Lock, _Mapping]]] = ...) -> None: ...
356
356
 
357
+ class WindowsState(_message.Message):
358
+ __slots__ = ()
359
+ def __init__(self) -> None: ...
360
+
357
361
  class TrailerState(_message.Message):
358
362
  __slots__ = ("presence", "field_2")
359
363
  PRESENCE_FIELD_NUMBER: _ClassVar[int]
@@ -114,6 +114,31 @@ enum ChargingState {
114
114
  CHARGING_TLS_ERROR_UNKNOWN_CHARGER = 21;
115
115
  CHARGING_TLS_ERROR_UNEXPECTED_FAIL = 22;
116
116
  CHARGING_TLS_ERROR_START_RIVIAN_APP = 23;
117
+ CHARGING_SMART_CHARGING_PAUSED = 24;
118
+ CHARGING_SMART_CHARGING_ACTIVE = 25;
119
+ }
120
+
121
+ // Charger derate reasons (the gateway's chargerDerateStatus); the field
122
+ // that carries it hasn't been identified yet.
123
+ enum ChargerDerateStatus {
124
+ DERATE_STATUS_NONE = 0;
125
+ DERATE_STATUS_WARM_ADAPTER = 1;
126
+ DERATE_STATUS_DC_WARM_PLUG = 2;
127
+ DERATE_STATUS_AC_WARM_PLUG = 3;
128
+ DERATE_STATUS_EVSE_DERATING = 4;
129
+ DERATE_STATUS_NEARING_TOC = 5;
130
+ DERATE_STATUS_NEAR_TOC_LFP_BATT_CALIBRATING = 6;
131
+ DERATE_STATUS_HVAC_PRIORITIZED = 7;
132
+ DERATE_STATUS_BATTERY_HEATING = 8;
133
+ DERATE_STATUS_BATTERY_COOLING = 9;
134
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD_NO_CURRENT = 10;
135
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT_NO_CURRENT = 11;
136
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD = 12;
137
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT = 13;
138
+ DERATE_STATUS_PACK_HARDWARE_THERMAL_LIM = 14;
139
+ DERATE_STATUS_HIGH_SOC_SIGMA = 15;
140
+ DERATE_STATUS_HV_BATTERY_FAULT = 16;
141
+ DERATE_STATUS_DCAC_EXPORT = 17;
117
142
  }
118
143
 
119
144
  // charging.session.time_estimation
@@ -24,7 +24,7 @@ _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\"\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')
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*\xc4\x06\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\x12\"\n\x1e\x43HARGING_SMART_CHARGING_PAUSED\x10\x18\x12\"\n\x1e\x43HARGING_SMART_CHARGING_ACTIVE\x10\x19*\xb2\x05\n\x13\x43hargerDerateStatus\x12\x16\n\x12\x44\x45RATE_STATUS_NONE\x10\x00\x12\x1e\n\x1a\x44\x45RATE_STATUS_WARM_ADAPTER\x10\x01\x12\x1e\n\x1a\x44\x45RATE_STATUS_DC_WARM_PLUG\x10\x02\x12\x1e\n\x1a\x44\x45RATE_STATUS_AC_WARM_PLUG\x10\x03\x12\x1f\n\x1b\x44\x45RATE_STATUS_EVSE_DERATING\x10\x04\x12\x1d\n\x19\x44\x45RATE_STATUS_NEARING_TOC\x10\x05\x12/\n+DERATE_STATUS_NEAR_TOC_LFP_BATT_CALIBRATING\x10\x06\x12\"\n\x1e\x44\x45RATE_STATUS_HVAC_PRIORITIZED\x10\x07\x12!\n\x1d\x44\x45RATE_STATUS_BATTERY_HEATING\x10\x08\x12!\n\x1d\x44\x45RATE_STATUS_BATTERY_COOLING\x10\t\x12\x32\n.DERATE_STATUS_CELL_THERMAL_LIM_COLD_NO_CURRENT\x10\n\x12\x31\n-DERATE_STATUS_CELL_THERMAL_LIM_HOT_NO_CURRENT\x10\x0b\x12\'\n#DERATE_STATUS_CELL_THERMAL_LIM_COLD\x10\x0c\x12&\n\"DERATE_STATUS_CELL_THERMAL_LIM_HOT\x10\r\x12+\n\'DERATE_STATUS_PACK_HARDWARE_THERMAL_LIM\x10\x0e\x12 \n\x1c\x44\x45RATE_STATUS_HIGH_SOC_SIGMA\x10\x0f\x12\"\n\x1e\x44\x45RATE_STATUS_HV_BATTERY_FAULT\x10\x10\x12\x1d\n\x19\x44\x45RATE_STATUS_DCAC_EXPORT\x10\x11*\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)
@@ -36,9 +36,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
36
36
  _globals['_CONNECTIONSTATE']._serialized_start=1705
37
37
  _globals['_CONNECTIONSTATE']._serialized_end=1823
38
38
  _globals['_CHARGINGSTATE']._serialized_start=1826
39
- _globals['_CHARGINGSTATE']._serialized_end=2590
40
- _globals['_CHARGERSTATUS']._serialized_start=2593
41
- _globals['_CHARGERSTATUS']._serialized_end=2753
39
+ _globals['_CHARGINGSTATE']._serialized_end=2662
40
+ _globals['_CHARGERDERATESTATUS']._serialized_start=2665
41
+ _globals['_CHARGERDERATESTATUS']._serialized_end=3355
42
+ _globals['_CHARGERSTATUS']._serialized_start=3358
43
+ _globals['_CHARGERSTATUS']._serialized_end=3518
42
44
  _globals['_SCHEDULETIMEWINDOW']._serialized_start=67
43
45
  _globals['_SCHEDULETIMEWINDOW']._serialized_end=683
44
46
  _globals['_SCHEDULETIMEWINDOW_WINDOW']._serialized_start=176
@@ -44,6 +44,29 @@ class ChargingState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
44
44
  CHARGING_TLS_ERROR_UNKNOWN_CHARGER: _ClassVar[ChargingState]
45
45
  CHARGING_TLS_ERROR_UNEXPECTED_FAIL: _ClassVar[ChargingState]
46
46
  CHARGING_TLS_ERROR_START_RIVIAN_APP: _ClassVar[ChargingState]
47
+ CHARGING_SMART_CHARGING_PAUSED: _ClassVar[ChargingState]
48
+ CHARGING_SMART_CHARGING_ACTIVE: _ClassVar[ChargingState]
49
+
50
+ class ChargerDerateStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
51
+ __slots__ = ()
52
+ DERATE_STATUS_NONE: _ClassVar[ChargerDerateStatus]
53
+ DERATE_STATUS_WARM_ADAPTER: _ClassVar[ChargerDerateStatus]
54
+ DERATE_STATUS_DC_WARM_PLUG: _ClassVar[ChargerDerateStatus]
55
+ DERATE_STATUS_AC_WARM_PLUG: _ClassVar[ChargerDerateStatus]
56
+ DERATE_STATUS_EVSE_DERATING: _ClassVar[ChargerDerateStatus]
57
+ DERATE_STATUS_NEARING_TOC: _ClassVar[ChargerDerateStatus]
58
+ DERATE_STATUS_NEAR_TOC_LFP_BATT_CALIBRATING: _ClassVar[ChargerDerateStatus]
59
+ DERATE_STATUS_HVAC_PRIORITIZED: _ClassVar[ChargerDerateStatus]
60
+ DERATE_STATUS_BATTERY_HEATING: _ClassVar[ChargerDerateStatus]
61
+ DERATE_STATUS_BATTERY_COOLING: _ClassVar[ChargerDerateStatus]
62
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD_NO_CURRENT: _ClassVar[ChargerDerateStatus]
63
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT_NO_CURRENT: _ClassVar[ChargerDerateStatus]
64
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD: _ClassVar[ChargerDerateStatus]
65
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT: _ClassVar[ChargerDerateStatus]
66
+ DERATE_STATUS_PACK_HARDWARE_THERMAL_LIM: _ClassVar[ChargerDerateStatus]
67
+ DERATE_STATUS_HIGH_SOC_SIGMA: _ClassVar[ChargerDerateStatus]
68
+ DERATE_STATUS_HV_BATTERY_FAULT: _ClassVar[ChargerDerateStatus]
69
+ DERATE_STATUS_DCAC_EXPORT: _ClassVar[ChargerDerateStatus]
47
70
 
48
71
  class ChargerStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
49
72
  __slots__ = ()
@@ -81,6 +104,26 @@ CHARGING_PAYMENT_ERROR_START_RIVIAN_APP: ChargingState
81
104
  CHARGING_TLS_ERROR_UNKNOWN_CHARGER: ChargingState
82
105
  CHARGING_TLS_ERROR_UNEXPECTED_FAIL: ChargingState
83
106
  CHARGING_TLS_ERROR_START_RIVIAN_APP: ChargingState
107
+ CHARGING_SMART_CHARGING_PAUSED: ChargingState
108
+ CHARGING_SMART_CHARGING_ACTIVE: ChargingState
109
+ DERATE_STATUS_NONE: ChargerDerateStatus
110
+ DERATE_STATUS_WARM_ADAPTER: ChargerDerateStatus
111
+ DERATE_STATUS_DC_WARM_PLUG: ChargerDerateStatus
112
+ DERATE_STATUS_AC_WARM_PLUG: ChargerDerateStatus
113
+ DERATE_STATUS_EVSE_DERATING: ChargerDerateStatus
114
+ DERATE_STATUS_NEARING_TOC: ChargerDerateStatus
115
+ DERATE_STATUS_NEAR_TOC_LFP_BATT_CALIBRATING: ChargerDerateStatus
116
+ DERATE_STATUS_HVAC_PRIORITIZED: ChargerDerateStatus
117
+ DERATE_STATUS_BATTERY_HEATING: ChargerDerateStatus
118
+ DERATE_STATUS_BATTERY_COOLING: ChargerDerateStatus
119
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD_NO_CURRENT: ChargerDerateStatus
120
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT_NO_CURRENT: ChargerDerateStatus
121
+ DERATE_STATUS_CELL_THERMAL_LIM_COLD: ChargerDerateStatus
122
+ DERATE_STATUS_CELL_THERMAL_LIM_HOT: ChargerDerateStatus
123
+ DERATE_STATUS_PACK_HARDWARE_THERMAL_LIM: ChargerDerateStatus
124
+ DERATE_STATUS_HIGH_SOC_SIGMA: ChargerDerateStatus
125
+ DERATE_STATUS_HV_BATTERY_FAULT: ChargerDerateStatus
126
+ DERATE_STATUS_DCAC_EXPORT: ChargerDerateStatus
84
127
  CHARGER_STATUS_UNSPECIFIED: ChargerStatus
85
128
  CHARGER_STATUS_NOT_CONNECTED: ChargerStatus
86
129
  CHARGER_STATUS_CONNECTED_NO_CHARGE: ChargerStatus
@@ -10,8 +10,9 @@ message HvacSettingsStatus {
10
10
  float target_temperature = 1; // °C
11
11
  }
12
12
 
13
- // comfort.user_modes.state -- unmapped.
13
+ // comfort.user_modes.state
14
14
  message UserModesState {
15
+ bool car_wash_mode = 2;
15
16
  optional int32 field4 = 4; // unknown
16
17
  optional int32 field7 = 7; // unknown
17
18
  }
@@ -0,0 +1,78 @@
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/comfort.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'rivian/parallax/proto/comfort.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/comfort.proto\x12\x17rivian.parallax.comfort\"0\n\x12HvacSettingsStatus\x12\x1a\n\x12target_temperature\x18\x01 \x01(\x02\"g\n\x0eUserModesState\x12\x15\n\rcar_wash_mode\x18\x02 \x01(\x08\x12\x13\n\x06\x66ield4\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x13\n\x06\x66ield7\x18\x07 \x01(\x05H\x01\x88\x01\x01\x42\t\n\x07_field4B\t\n\x07_field7\"m\n\x1a\x43\x61\x62inPreconditioningStatus\x12>\n\x06status\x18\x01 \x01(\x0e\x32..rivian.parallax.comfort.PreconditioningStatus\x12\x0f\n\x07\x66ield_2\x18\x02 \x01(\x05\"K\n\x11\x43\x61\x62inTemperatures\x12\x1c\n\x14interior_temperature\x18\x03 \x01(\x02\x12\x18\n\x10\x64river_set_point\x18\x04 \x01(\x02\"~\n\x17\x43\x61\x62inVentilationSetting\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0c\n\x04mode\x18\x02 \x01(\t\x12\x18\n\x10windows_position\x18\x03 \x01(\x05\x12\x18\n\x10sunroof_position\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x05\"&\n\x12\x43limateHoldSetting\x12\x10\n\x08\x64uration\x18\x01 \x01(\x05\"\xd7\x02\n\x11\x43limateHoldStatus\x12?\n\x06status\x18\x01 \x01(\x0e\x32/.rivian.parallax.comfort.ClimateHoldStatusValue\x12\x46\n\x0c\x61vailability\x18\x02 \x01(\x0e\x32\x30.rivian.parallax.comfort.ClimateHoldAvailability\x12W\n\x15unavailability_reason\x18\x03 \x01(\x0e\x32\x38.rivian.parallax.comfort.ClimateHoldUnavailabilityReason\x12\x44\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x32.rivian.parallax.comfort.ClimateHoldStatus.EndTime\x1a\x1a\n\x07\x45ndTime\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\"L\n\x12\x44\x65\x66rostDefogStatus\x12\x36\n\x06status\x18\x01 \x01(\x0e\x32&.rivian.parallax.comfort.DefrostStatus\"\x95\x01\n\rPetModeStatus\x12\x35\n\x06status\x18\x01 \x01(\x0e\x32%.rivian.parallax.comfort.PetModeState\x12M\n\x12temperature_status\x18\x02 \x01(\x0e\x32\x31.rivian.parallax.comfort.PetModeTemperatureStatus\"\xa4\x02\n\x16SeatConditioningStatus\x12H\n\x07surface\x18\x01 \x03(\x0b\x32\x37.rivian.parallax.comfort.SeatConditioningStatus.Surface\x1a\xbf\x01\n\x07Surface\x12\x31\n\x02id\x18\x01 \x01(\x0e\x32%.rivian.parallax.comfort.CabinSurface\x12\x37\n\x04type\x18\x02 \x01(\x0e\x32).rivian.parallax.comfort.ConditioningType\x12>\n\x05state\x18\x03 \x01(\x0e\x32*.rivian.parallax.comfort.ConditioningLevelH\x00\x88\x01\x01\x42\x08\n\x06_state*\xad\x01\n\x15PreconditioningStatus\x12\x17\n\x13PRECONDITIONING_OFF\x10\x00\x12\x1e\n\x1aPRECONDITIONING_INITIATE_1\x10\x01\x12\x1e\n\x1aPRECONDITIONING_INITIATE_2\x10\x02\x12\x1a\n\x16PRECONDITIONING_ACTIVE\x10\x04\x12\x1f\n\x1bPRECONDITIONING_PET_COMFORT\x10\x08*\xba\x01\n\x16\x43limateHoldStatusValue\x12#\n\x1f\x43LIMATE_HOLD_STATUS_UNSPECIFIED\x10\x00\x12#\n\x1f\x43LIMATE_HOLD_STATUS_UNAVAILABLE\x10\x01\x12\x1b\n\x17\x43LIMATE_HOLD_STATUS_OFF\x10\x02\x12\x1a\n\x16\x43LIMATE_HOLD_STATUS_ON\x10\x03\x12\x1d\n\x19\x43LIMATE_HOLD_STATUS_FAULT\x10\x04*\x9d\x01\n\x17\x43limateHoldAvailability\x12)\n%CLIMATE_HOLD_AVAILABILITY_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43LIMATE_HOLD_AVAILABLE\x10\x01\x12\x1d\n\x19\x43LIMATE_HOLD_CONTROLLABLE\x10\x02\x12\x1c\n\x18\x43LIMATE_HOLD_UNAVAILABLE\x10\x03*\xa0\x01\n\x1f\x43limateHoldUnavailabilityReason\x12+\n\'CLIMATE_HOLD_UNAVAILABILITY_UNSPECIFIED\x10\x00\x12\'\n#CLIMATE_HOLD_UNAVAILABILITY_UNKNOWN\x10\x01\x12\'\n#CLIMATE_HOLD_UNAVAILABILITY_LOW_SOC\x10\x02*T\n\rDefrostStatus\x12\x1e\n\x1a\x44\x45\x46ROST_STATUS_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x44\x45\x46ROST_ACTIVE\x10\x02\x12\x0f\n\x0b\x44\x45\x46ROST_OFF\x10\x04*]\n\x0cPetModeState\x12\x10\n\x0cPET_MODE_OFF\x10\x00\x12\x0f\n\x0bPET_MODE_ON\x10\x01\x12\x15\n\x11PET_MODE_DISABLED\x10\x02\x12\x13\n\x0fPET_MODE_FAULTY\x10\x03*\x9a\x01\n\x18PetModeTemperatureStatus\x12 \n\x1cPET_MODE_TEMPERATURE_DEFAULT\x10\x00\x12\x1d\n\x19PET_MODE_TEMPERATURE_COLD\x10\x01\x12\x1c\n\x18PET_MODE_TEMPERATURE_HOT\x10\x02\x12\x1f\n\x1bPET_MODE_TEMPERATURE_FAULTY\x10\x03*\xce\x02\n\x0c\x43\x61\x62inSurface\x12\x1d\n\x19\x43\x41\x42IN_SURFACE_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTEERING_WHEEL\x10\x01\x12\x0e\n\nREAR_GLASS\x10\x02\x12\x0f\n\x0b\x46RONT_GLASS\x10\x03\x12\x14\n\x10SIDEVIEW_MIRRORS\x10\x04\x12\x13\n\x0fSEAT_ROW_1_LEFT\x10\x05\x12\x15\n\x11SEAT_ROW_1_MIDDLE\x10\x06\x12\x14\n\x10SEAT_ROW_1_RIGHT\x10\x07\x12\x13\n\x0fSEAT_ROW_2_LEFT\x10\x08\x12\x15\n\x11SEAT_ROW_2_MIDDLE\x10\t\x12\x14\n\x10SEAT_ROW_2_RIGHT\x10\n\x12\x13\n\x0fSEAT_ROW_3_LEFT\x10\x0b\x12\x15\n\x11SEAT_ROW_3_MIDDLE\x10\x0c\x12\x14\n\x10SEAT_ROW_3_RIGHT\x10\r\x12\x0e\n\nWIPER_AREA\x10\x0e*c\n\x10\x43onditioningType\x12!\n\x1d\x43ONDITIONING_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x43ONDITIONING_HEAT\x10\x01\x12\x15\n\x11\x43ONDITIONING_VENT\x10\x02*\x85\x01\n\x11\x43onditioningLevel\x12\"\n\x1e\x43ONDITIONING_LEVEL_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43ONDITIONING_LEVEL_1\x10\x01\x12\x18\n\x14\x43ONDITIONING_LEVEL_2\x10\x02\x12\x18\n\x14\x43ONDITIONING_LEVEL_3\x10\x03\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.comfort_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_PRECONDITIONINGSTATUS']._serialized_start=1447
35
+ _globals['_PRECONDITIONINGSTATUS']._serialized_end=1620
36
+ _globals['_CLIMATEHOLDSTATUSVALUE']._serialized_start=1623
37
+ _globals['_CLIMATEHOLDSTATUSVALUE']._serialized_end=1809
38
+ _globals['_CLIMATEHOLDAVAILABILITY']._serialized_start=1812
39
+ _globals['_CLIMATEHOLDAVAILABILITY']._serialized_end=1969
40
+ _globals['_CLIMATEHOLDUNAVAILABILITYREASON']._serialized_start=1972
41
+ _globals['_CLIMATEHOLDUNAVAILABILITYREASON']._serialized_end=2132
42
+ _globals['_DEFROSTSTATUS']._serialized_start=2134
43
+ _globals['_DEFROSTSTATUS']._serialized_end=2218
44
+ _globals['_PETMODESTATE']._serialized_start=2220
45
+ _globals['_PETMODESTATE']._serialized_end=2313
46
+ _globals['_PETMODETEMPERATURESTATUS']._serialized_start=2316
47
+ _globals['_PETMODETEMPERATURESTATUS']._serialized_end=2470
48
+ _globals['_CABINSURFACE']._serialized_start=2473
49
+ _globals['_CABINSURFACE']._serialized_end=2807
50
+ _globals['_CONDITIONINGTYPE']._serialized_start=2809
51
+ _globals['_CONDITIONINGTYPE']._serialized_end=2908
52
+ _globals['_CONDITIONINGLEVEL']._serialized_start=2911
53
+ _globals['_CONDITIONINGLEVEL']._serialized_end=3044
54
+ _globals['_HVACSETTINGSSTATUS']._serialized_start=64
55
+ _globals['_HVACSETTINGSSTATUS']._serialized_end=112
56
+ _globals['_USERMODESSTATE']._serialized_start=114
57
+ _globals['_USERMODESSTATE']._serialized_end=217
58
+ _globals['_CABINPRECONDITIONINGSTATUS']._serialized_start=219
59
+ _globals['_CABINPRECONDITIONINGSTATUS']._serialized_end=328
60
+ _globals['_CABINTEMPERATURES']._serialized_start=330
61
+ _globals['_CABINTEMPERATURES']._serialized_end=405
62
+ _globals['_CABINVENTILATIONSETTING']._serialized_start=407
63
+ _globals['_CABINVENTILATIONSETTING']._serialized_end=533
64
+ _globals['_CLIMATEHOLDSETTING']._serialized_start=535
65
+ _globals['_CLIMATEHOLDSETTING']._serialized_end=573
66
+ _globals['_CLIMATEHOLDSTATUS']._serialized_start=576
67
+ _globals['_CLIMATEHOLDSTATUS']._serialized_end=919
68
+ _globals['_CLIMATEHOLDSTATUS_ENDTIME']._serialized_start=893
69
+ _globals['_CLIMATEHOLDSTATUS_ENDTIME']._serialized_end=919
70
+ _globals['_DEFROSTDEFOGSTATUS']._serialized_start=921
71
+ _globals['_DEFROSTDEFOGSTATUS']._serialized_end=997
72
+ _globals['_PETMODESTATUS']._serialized_start=1000
73
+ _globals['_PETMODESTATUS']._serialized_end=1149
74
+ _globals['_SEATCONDITIONINGSTATUS']._serialized_start=1152
75
+ _globals['_SEATCONDITIONINGSTATUS']._serialized_end=1444
76
+ _globals['_SEATCONDITIONINGSTATUS_SURFACE']._serialized_start=1253
77
+ _globals['_SEATCONDITIONINGSTATUS_SURFACE']._serialized_end=1444
78
+ # @@protoc_insertion_point(module_scope)
@@ -144,12 +144,14 @@ class HvacSettingsStatus(_message.Message):
144
144
  def __init__(self, target_temperature: _Optional[float] = ...) -> None: ...
145
145
 
146
146
  class UserModesState(_message.Message):
147
- __slots__ = ("field4", "field7")
147
+ __slots__ = ("car_wash_mode", "field4", "field7")
148
+ CAR_WASH_MODE_FIELD_NUMBER: _ClassVar[int]
148
149
  FIELD4_FIELD_NUMBER: _ClassVar[int]
149
150
  FIELD7_FIELD_NUMBER: _ClassVar[int]
151
+ car_wash_mode: bool
150
152
  field4: int
151
153
  field7: int
152
- def __init__(self, field4: _Optional[int] = ..., field7: _Optional[int] = ...) -> None: ...
154
+ def __init__(self, car_wash_mode: bool = ..., field4: _Optional[int] = ..., field7: _Optional[int] = ...) -> None: ...
153
155
 
154
156
  class CabinPreconditioningStatus(_message.Message):
155
157
  __slots__ = ("status", "field_2")
@@ -50,11 +50,11 @@ message Gnss {
50
50
  double altitude = 3; // meters
51
51
  float speed = 4; // m/s
52
52
  float bearing = 5; // degrees
53
- // Errors for the fields above, in the same order (the gateway's gnssError).
53
+ // The gateway's gnssError, in the same units.
54
54
  float position_horizontal_error = 6; // meters
55
55
  float position_vertical_error = 7; // meters
56
56
  float speed_error = 8; // m/s
57
- float bearing_error = 9;
57
+ float bearing_error = 9; // degrees
58
58
  int64 time = 10; // epoch milliseconds; time of the whole fix
59
59
  }
60
60
 
@@ -84,10 +84,10 @@ message Range {
84
84
 
85
85
  enum RangeThreshold {
86
86
  RANGE_THRESHOLD_UNSPECIFIED = 0;
87
- RANGE_NORMAL = 1;
88
- RANGE_LOW = 2;
89
- RANGE_RED = 3;
90
- RANGE_CRITICALLY_LOW = 4;
87
+ RANGE_THRESHOLD_NORMAL = 1;
88
+ RANGE_THRESHOLD_LOW = 2;
89
+ RANGE_THRESHOLD_RED = 3;
90
+ RANGE_THRESHOLD_CRITICALLY_LOW = 4;
91
91
  }
92
92
 
93
93
  enum TemperatureImpact {
@@ -121,8 +121,10 @@ enum TirePosition {
121
121
 
122
122
  enum TirePressureStatus {
123
123
  TIRE_PRESSURE_STATUS_UNSPECIFIED = 0;
124
- TIRE_PRESSURE_OK = 1;
125
- TIRE_PRESSURE_WARNING = 2;
124
+ TIRE_PRESSURE_STATUS_NORMAL = 1;
125
+ TIRE_PRESSURE_STATUS_WARNING_HARD = 2;
126
+ TIRE_PRESSURE_STATUS_WARNING_SOFT = 3;
127
+ TIRE_PRESSURE_STATUS_WARNING_PUNCTURE = 4;
126
128
  }
127
129
 
128
130
  // dynamics.vehicle.efficiency
@@ -144,5 +146,7 @@ message MassEstimate {
144
146
 
145
147
  // dynamics.brakes.fluid_level
146
148
  message BrakeFluidLevel {
147
- optional int32 field_1 = 1; // unknown
149
+ // Likely the app's FluidLevelLow (inactive | active | signal not
150
+ // available, i.e. the gateway's brakeFluidLow); its numbers are unknown.
151
+ optional int32 field_1 = 1;
148
152
  }
@@ -24,7 +24,7 @@ _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\"\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')
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*\xa3\x01\n\x0eRangeThreshold\x12\x1f\n\x1bRANGE_THRESHOLD_UNSPECIFIED\x10\x00\x12\x1a\n\x16RANGE_THRESHOLD_NORMAL\x10\x01\x12\x17\n\x13RANGE_THRESHOLD_LOW\x10\x02\x12\x17\n\x13RANGE_THRESHOLD_RED\x10\x03\x12\"\n\x1eRANGE_THRESHOLD_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*\xd4\x01\n\x12TirePressureStatus\x12$\n TIRE_PRESSURE_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTIRE_PRESSURE_STATUS_NORMAL\x10\x01\x12%\n!TIRE_PRESSURE_STATUS_WARNING_HARD\x10\x02\x12%\n!TIRE_PRESSURE_STATUS_WARNING_SOFT\x10\x03\x12)\n%TIRE_PRESSURE_STATUS_WARNING_PUNCTURE\x10\x04\x62\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,14 +37,14 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['_GEARVALUE']._serialized_end=2007
38
38
  _globals['_KNOWNLOCATIONVALUE']._serialized_start=2010
39
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
40
+ _globals['_RANGETHRESHOLD']._serialized_start=2143
41
+ _globals['_RANGETHRESHOLD']._serialized_end=2306
42
+ _globals['_TEMPERATUREIMPACT']._serialized_start=2309
43
+ _globals['_TEMPERATUREIMPACT']._serialized_end=2456
44
+ _globals['_TIREPOSITION']._serialized_start=2459
45
+ _globals['_TIREPOSITION']._serialized_end=2588
46
+ _globals['_TIREPRESSURESTATUS']._serialized_start=2591
47
+ _globals['_TIREPRESSURESTATUS']._serialized_end=2803
48
48
  _globals['_DRIVEMODE']._serialized_start=67
49
49
  _globals['_DRIVEMODE']._serialized_end=204
50
50
  _globals['_GEAR']._serialized_start=206