This custom integration allows you to monitor your comma.ai devices (EON, comma three, etc.) in Home Assistant.
- Device Tracking: Track the GPS location of your comma.ai device on the map
- Sensor Entities: Monitor various device statistics and usage data (see below for full list)
- Open HACS store
- If you don't have HACS installed, follow these instructions
- In the top right, click the three dots, and click "Custom Repositories"
- Add
https://github.com/bscholer/home-assistant-comma-ai, then close the modal - Search for
comma.aiin the HACS store. Opencomma.ai, and click "Download" - Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration
- Search for "comma.ai"
- Enter your JWT token (get it from jwt.comma.ai)
The integration is configured through the UI. You only need to provide your JWT token from comma.ai.
- Get your JWT token from jwt.comma.ai
- Add the integration in Settings → Devices & Services
- Enter your JWT token
- If you only want devices owned by you to show up, enable "Ignore devices you don't own".
- This is primarily helpful for people who have had users share their devices with them for debugging purposes. These shared devices will be filtered out.
JWT tokens expire after 90 days. To update your token:
- Go to Settings → Devices & Services
- Find the comma.ai integration
- Click the ⋮ menu → "Reconfigure"
- Enter your new JWT token from jwt.comma.ai
- Click Submit
The integration will reload with the new token while preserving all your data and configuration.
Once configured, the integration will:
- Create a device for each comma.ai device in your account
- Add sensor entities for various device statistics
- Add a device tracker entity for GPS location tracking
- Update data every 60 seconds
For each comma.ai device, the following entities will be created:
sensor.<device_name>_dongle_id- The Dongle ID of the devicesensor.<device_name>_device_type- The type of device (e.g., "neo", "three")sensor.<device_name>_openpilot_version- The installed openpilot versionsensor.<device_name>_is_owner- Whether you are the owner of the device ("Yes" or "No")sensor.<device_name>_is_paired- Whether the device is paired ("Yes" or "No")sensor.<device_name>_prime_status- Whether the device has comma prime ("Yes" or "No")
sensor.<device_name>_last_ping- Last time the device communicated with comma servers (timestamp)sensor.<device_name>_last_location_time- Last location update timestamp
sensor.<device_name>_total_distance- Total distance driven with openpilot (km, auto-converts to miles)sensor.<device_name>_total_minutes- Total minutes driven with openpilotsensor.<device_name>_total_routes- Total number of routes driven with openpilot
sensor.<device_name>_week_distance- Distance driven this week (km, auto-converts to miles)sensor.<device_name>_week_minutes- Minutes driven this weeksensor.<device_name>_week_routes- Number of routes driven this week
device_tracker.<device_name>_location- GPS location for map tracking
This integration uses the comma.ai public API documented at api.comma.ai.
If you encounter issues:
- Check that your JWT token is valid at jwt.comma.ai
- Check the Home Assistant logs for error messages
- Ensure your device is online and connected to comma servers
For issues with this integration, please check the Home Assistant logs for detailed error messages.
Feel free to open an Issue or Pull Request!