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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/PKG-INFO +1 -1
  2. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/__version__.py +1 -1
  3. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/body.py +6 -0
  4. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/charging.py +2 -0
  5. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/dynamics.py +16 -7
  6. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/ota.py +11 -3
  7. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/body.proto +6 -1
  8. rivian_python_client-2.2.0b6/src/rivian/parallax/proto/body_pb2.py +74 -0
  9. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/body_pb2.pyi +4 -0
  10. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/charging.proto +25 -0
  11. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/charging_pb2.py +6 -4
  12. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/charging_pb2.pyi +43 -0
  13. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/dynamics.proto +13 -9
  14. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/dynamics_pb2.py +9 -9
  15. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/dynamics_pb2.pyi +16 -12
  16. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/ota.proto +9 -6
  17. rivian_python_client-2.2.0b6/src/rivian/parallax/proto/ota_pb2.py +66 -0
  18. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/ota_pb2.pyi +12 -0
  19. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/security.proto +1 -0
  20. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/security_pb2.py +6 -6
  21. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/security_pb2.pyi +2 -0
  22. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle_access.proto +4 -0
  23. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle_access_pb2.py +7 -5
  24. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle_access_pb2.pyi +4 -0
  25. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/security.py +2 -1
  26. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/vehicle_access.py +11 -0
  27. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/body_pb2.py +0 -72
  28. rivian_python_client-2.2.0b5/src/rivian/parallax/proto/ota_pb2.py +0 -66
  29. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/.gitignore +0 -0
  30. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/README.md +0 -0
  31. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/pyproject.toml +0 -0
  32. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/__init__.py +0 -0
  33. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/ble.py +0 -0
  34. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/const.py +0 -0
  35. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/exceptions.py +0 -0
  36. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/__init__.py +0 -0
  37. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/comfort.py +0 -0
  38. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/core.py +0 -0
  39. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/departure.py +0 -0
  40. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/device_table.py +0 -0
  41. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/energy.py +0 -0
  42. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/energy_edge_compute.py +0 -0
  43. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/gearguard_streaming.py +0 -0
  44. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/geofence.py +0 -0
  45. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/holiday_celebration.py +0 -0
  46. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/navigation.py +0 -0
  47. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/parallax.py +0 -0
  48. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/__init__.py +0 -0
  49. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/comfort.proto +0 -0
  50. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/comfort_pb2.py +0 -0
  51. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/comfort_pb2.pyi +0 -0
  52. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/departure.proto +0 -0
  53. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/departure_pb2.py +0 -0
  54. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/departure_pb2.pyi +0 -0
  55. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/device_table.proto +0 -0
  56. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/device_table_pb2.py +0 -0
  57. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/device_table_pb2.pyi +0 -0
  58. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy.proto +0 -0
  59. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy_edge_compute.proto +0 -0
  60. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy_edge_compute_pb2.py +0 -0
  61. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy_edge_compute_pb2.pyi +0 -0
  62. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy_pb2.py +0 -0
  63. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/energy_pb2.pyi +0 -0
  64. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/gearguard_streaming.proto +0 -0
  65. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/gearguard_streaming_pb2.py +0 -0
  66. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/gearguard_streaming_pb2.pyi +0 -0
  67. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/geofence.proto +0 -0
  68. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/geofence_pb2.py +0 -0
  69. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/geofence_pb2.pyi +0 -0
  70. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/holiday_celebration.proto +0 -0
  71. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/holiday_celebration_pb2.py +0 -0
  72. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/holiday_celebration_pb2.pyi +0 -0
  73. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/navigation.proto +0 -0
  74. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/navigation_pb2.py +0 -0
  75. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/navigation_pb2.pyi +0 -0
  76. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/parallax.proto +0 -0
  77. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/parallax_pb2.py +0 -0
  78. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/parallax_pb2.pyi +0 -0
  79. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/secure_file_transfer.proto +0 -0
  80. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/secure_file_transfer_pb2.py +0 -0
  81. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/secure_file_transfer_pb2.pyi +0 -0
  82. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/user_passcodes.proto +0 -0
  83. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/user_passcodes_pb2.py +0 -0
  84. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/user_passcodes_pb2.pyi +0 -0
  85. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle.proto +0 -0
  86. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle_pb2.py +0 -0
  87. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/proto/vehicle_pb2.pyi +0 -0
  88. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/secure_file_transfer.py +0 -0
  89. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/user_passcodes.py +0 -0
  90. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/parallax/vehicle.py +0 -0
  91. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/py.typed +0 -0
  92. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/rivian.py +0 -0
  93. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/schemas/charging.graphql +0 -0
  94. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/schemas/gateway.graphql +0 -0
  95. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/schemas/orders.graphql +0 -0
  96. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/src/rivian/utils.py +0 -0
  97. {rivian_python_client-2.2.0b5 → rivian_python_client-2.2.0b6}/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.0b6
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.0b6'
@@ -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
 
@@ -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
@@ -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
@@ -44,10 +44,10 @@ class KnownLocationValue(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
44
44
  class RangeThreshold(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
45
45
  __slots__ = ()
46
46
  RANGE_THRESHOLD_UNSPECIFIED: _ClassVar[RangeThreshold]
47
- RANGE_NORMAL: _ClassVar[RangeThreshold]
48
- RANGE_LOW: _ClassVar[RangeThreshold]
49
- RANGE_RED: _ClassVar[RangeThreshold]
50
- RANGE_CRITICALLY_LOW: _ClassVar[RangeThreshold]
47
+ RANGE_THRESHOLD_NORMAL: _ClassVar[RangeThreshold]
48
+ RANGE_THRESHOLD_LOW: _ClassVar[RangeThreshold]
49
+ RANGE_THRESHOLD_RED: _ClassVar[RangeThreshold]
50
+ RANGE_THRESHOLD_CRITICALLY_LOW: _ClassVar[RangeThreshold]
51
51
 
52
52
  class TemperatureImpact(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
53
53
  __slots__ = ()
@@ -67,8 +67,10 @@ class TirePosition(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
67
67
  class TirePressureStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
68
68
  __slots__ = ()
69
69
  TIRE_PRESSURE_STATUS_UNSPECIFIED: _ClassVar[TirePressureStatus]
70
- TIRE_PRESSURE_OK: _ClassVar[TirePressureStatus]
71
- TIRE_PRESSURE_WARNING: _ClassVar[TirePressureStatus]
70
+ TIRE_PRESSURE_STATUS_NORMAL: _ClassVar[TirePressureStatus]
71
+ TIRE_PRESSURE_STATUS_WARNING_HARD: _ClassVar[TirePressureStatus]
72
+ TIRE_PRESSURE_STATUS_WARNING_SOFT: _ClassVar[TirePressureStatus]
73
+ TIRE_PRESSURE_STATUS_WARNING_PUNCTURE: _ClassVar[TirePressureStatus]
72
74
  DRIVE_MODE_UNSPECIFIED: DriveModeValue
73
75
  DRIVE_MODE_INIT: DriveModeValue
74
76
  DRIVE_MODE_EVERYDAY: DriveModeValue
@@ -95,10 +97,10 @@ KNOWN_LOCATION_UNKNOWN: KnownLocationValue
95
97
  KNOWN_LOCATION_HOME: KnownLocationValue
96
98
  KNOWN_LOCATION_WORK: KnownLocationValue
97
99
  RANGE_THRESHOLD_UNSPECIFIED: RangeThreshold
98
- RANGE_NORMAL: RangeThreshold
99
- RANGE_LOW: RangeThreshold
100
- RANGE_RED: RangeThreshold
101
- RANGE_CRITICALLY_LOW: RangeThreshold
100
+ RANGE_THRESHOLD_NORMAL: RangeThreshold
101
+ RANGE_THRESHOLD_LOW: RangeThreshold
102
+ RANGE_THRESHOLD_RED: RangeThreshold
103
+ RANGE_THRESHOLD_CRITICALLY_LOW: RangeThreshold
102
104
  TEMPERATURE_IMPACT_UNSPECIFIED: TemperatureImpact
103
105
  TEMPERATURE_NORMAL_RANGE: TemperatureImpact
104
106
  TEMPERATURE_COLD_MAY_IMPACT: TemperatureImpact
@@ -109,8 +111,10 @@ TIRE_FRONT_RIGHT: TirePosition
109
111
  TIRE_REAR_LEFT: TirePosition
110
112
  TIRE_REAR_RIGHT: TirePosition
111
113
  TIRE_PRESSURE_STATUS_UNSPECIFIED: TirePressureStatus
112
- TIRE_PRESSURE_OK: TirePressureStatus
113
- TIRE_PRESSURE_WARNING: TirePressureStatus
114
+ TIRE_PRESSURE_STATUS_NORMAL: TirePressureStatus
115
+ TIRE_PRESSURE_STATUS_WARNING_HARD: TirePressureStatus
116
+ TIRE_PRESSURE_STATUS_WARNING_SOFT: TirePressureStatus
117
+ TIRE_PRESSURE_STATUS_WARNING_PUNCTURE: TirePressureStatus
114
118
 
115
119
  class DriveMode(_message.Message):
116
120
  __slots__ = ("mode", "limited_accel_cold", "limited_regen_cold")
@@ -28,7 +28,7 @@ message DeploymentState {
28
28
  optional int32 active_flag = 3; // set while an update is active
29
29
  Progress progress = 5;
30
30
  optional int32 timeout_budget = 7; // unit unknown
31
- optional int32 late_stage_flag = 11; // 1 from SCHEDULED_TO_INSTALL until done
31
+ optional int32 late_stage_flag = 11;
32
32
  }
33
33
 
34
34
  message Progress {
@@ -44,26 +44,29 @@ message DeploymentState {
44
44
  int32 time_remaining = 6;
45
45
  optional int32 field_7 = 7; // unknown
46
46
  int32 update_cycle_count = 8; // increments when an update completes
47
- optional int32 field_9 = 9; // unknown; set from SCHEDULED_TO_INSTALL until done
47
+ optional int32 field_9 = 9; // unknown
48
48
 
49
49
  message Progress100 {
50
50
  optional int32 field_2 = 2; // 0-100
51
51
  }
52
52
  }
53
53
 
54
- // Update order: IDLE -> DOWNLOADING -> PREPARING -> SCHEDULED_TO_INSTALL
55
- // -> INSTALL_COUNTDOWN -> AWAITING_INSTALL -> INSTALLING ->
56
- // INSTALL_SUCCESS -> IDLE.
57
54
  enum OtaPhase {
58
55
  OTA_PHASE_UNSPECIFIED = 0;
59
56
  OTA_PHASE_IDLE = 1;
57
+ OTA_PHASE_READY_TO_DOWNLOAD = 2;
58
+ OTA_PHASE_FAULT = 3;
59
+ OTA_PHASE_CONNECTION_LOST = 4;
60
60
  OTA_PHASE_INSTALL_COUNTDOWN = 5;
61
61
  OTA_PHASE_PREPARING = 6;
62
62
  OTA_PHASE_DOWNLOADING = 7;
63
- OTA_PHASE_SCHEDULED_TO_INSTALL = 8;
63
+ OTA_PHASE_READY_TO_INSTALL = 8;
64
+ OTA_PHASE_SCHEDULED_TO_INSTALL = 9;
64
65
  OTA_PHASE_AWAITING_INSTALL = 10;
65
66
  OTA_PHASE_INSTALLING = 11;
66
67
  OTA_PHASE_INSTALL_SUCCESS = 12;
68
+ OTA_PHASE_DOWNLOAD_FAILED = 13;
69
+ OTA_PHASE_INSTALL_FAILED = 14;
67
70
  }
68
71
  }
69
72