/home-assistant-rivian

Rivian (Unofficial) Integration for Home Assistant

Primary LanguagePythonApache License 2.0Apache-2.0

Home Assistant integration for Rivian (Unofficial)

GitHub Release GitHub all releases GitHub release (latest by SemVer) GitHub Activity

An unofficial Rivian integration for Home Assistant, installed through HACS.

To use this extension, you'll need the following information

  • Rivian Username
  • Rivian Password
  • (optional) Rivian Account's MFA/OTP Device

Your vehicle must be in delivered status and possession for this integration to function.

Disclaimer

This Home Assistant integration is not affiliated, associated, nor sponsored by Rivian Automotive, Inc.

Any use of this integration is at the sole discretion and risk of the Rivian vehicle owner integrating it into their Home Assistant installation. This owner takes full responsibility for protecting their local Home Assistant installation.

This integration is provided out of love and passion towards the Rivian ownership community. It focuses on building insights and awareness into the state of one's vehicle for use by the owner and the owner alone.

This integration will not share user or vehicle data outside Home Assistant, a single-user environment hosted and running within an owner's private network and hardware systems.

Home Assistant Rivian Card

Installation

  1. Use HACS. In HACS add a custom repository by going to HACS > Integrations > 3 dots > custom repositories and adding this github repo https://github.com/bretterer/home-assistant-rivian. Now skip to 7.
  2. If no HACS, use the tool of choice to open the directory (folder) for your HA configuration (where you find configuration.yaml).
  3. If you do not have a custom_components directory (folder) there, you need to create it.
  4. In the custom_components directory (folder) create a new folder called rivian.
  5. Download all the files from the custom_components/rivian/ directory (folder) in this repository.
  6. Place the files you downloaded in the new directory (folder) you created.
  7. Restart Home Assistant.
  8. Add Integration or in the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Rivian (Unofficial)".

Configuration

To connect your newly installed integration to pull available sensor data (see the below example) for your Rivian vehicle, you should follow the following configuration recommendations. Not doing so could put your main Rivian account at risk of being locked and available.

  • One Time Password (recommended) - It is best security practice always to enable One Time Password / Multi-Factor Authentication. This way, your credentials (username + password) can not be used without your explicit consent through the personal device configured on your Rivian account.
  • No Account Reuse* (recommended) - Another best security practice is not to reuse accounts or credentials across different integrations (e.g., sharing credentials between HA and your everyday account). We highly recommend the owner invite a new driver, for example, user+<purpose>@domain.com, and use only this profile for configuration within HA.

The configuration flow is as follows:

  1. Username and Password (required)
    • For the integration to work, we require a username and password to a Rivian account with an active driver profile for the vehicle you wish to monitor remotely.
  2. OTP/MFA (optional)
    • If OTP is enabled on the account provided, you will receive a text from Rivian with a one-time use passcode entered at this step.

*Developers and Maintainers of this project take no personal responsibility for misconfiguration or misuse of the code provided by this integration. Account security is entirely the sole responsibility of the owner configuring this integration. Accounts may become locked/quarantined due to this unofficial integration.

Available Sensors

Sensor ID Description
Global Closure Locked State sensor.rivian_body_closure_global_closure_locked_state Doors and windows locked status (Locked|Unlocked|
Global Closure State sensor.rivian_body_closure_global_closure_state Doors and windows closure state (Closed|Open)
Power State sensor.rivian_core_power_modes_power_state Determines the Power State (sleep|go)
Odometer sensor.rivian_dynamics_odometer_value Odometer Reading (in miles)
Gear Selector sensor.rivian_dynamics_propulsion_status_prndl Current Gear Selection
Front Left Tire Pressure sensor.rivian_dynamics_tires_tire_fl_pressure Front left tire pressure in PSI (will display -- when parked)
Front Right Tire Pressure sensor.rivian_dynamics_tires_tire_fr_pressure Front right tire pressure in PSI (will display -- when parked)
Rear Left Tire Pressure sensor.rivian_dynamics_tires_tire_rl_pressure Rear left tire pressure in PSI (will display -- when parked)
Rear Right Tire Pressure sensor.rivian_dynamics_tires_tire_rr_pressure Rear Right tire pressure in PSI (will display -- when parked)
Current Charge sensor.rivian_energy_storage_charger_adjusted_soc Percentage of charge
Max Charge Setting sensor.rivian_energy_storage_charger_stored_user_range_select Current charge setting (Daily, Extended, Full)
Charging Status sensor.rivian_energy_storage_charger_vehicle_charger_state Current charging status
Estimated Vehicle Range sensor.rivian_energy_storage_vehicle_energy_vehicle_range Estimated range based on current drive mode
Cabin Temperature sensor.rivian_thermal_hvac_cabin_control_cabin_temperature Current temperature of cabin in TEMP_FAHRENHEIT

Location tracking

This integration uses the Rivian's GNSS sensors for device tracking. View the location on the map in Home Assistant.

Special Thanks

  • jrgutier - Helped with getting information on the Rivian API
  • tmack8001 - Helping with Development and Testing

Sponsors

  • 74656b Thank you for the sponsorship!