Skip to content

feat(webapp): support telemetry activation for legacy vehicles without virtual key (pre-2021 Model S/X MCU2) #202

Description

@abarghoud

Summary

On legacy vehicles (such as 2017 Tesla Model X / Model S equipped with MCU2 Infotainment Upgrade), Tesla does not support or require Virtual Key pairing (Vehicle Command Protocol).
When users open the virtual key pairing URL (tesla.com/_ak/...), the official Tesla mobile app shows the following popup:

"L'accès à un tiers ne peut être fourni — Vous n'avez pas besoin de paramétrer une clé virtuelle pour ce véhicule"

However, in the SentryGuard webapp onboarding wizard (TelemetryActivationStep.tsx), the telemetry activation toggle switches are currently disabled when vehicle.key_paired === false:

disabled={isVehicleUpdating(vehicle.vin) || vehicle.key_paired === false}

This prevents owners of legacy vehicles with MCU2 (who are capable of streaming telemetry via firmware 2025.20+ with the in-car "Allow Third-Party App Data Streaming" toggle enabled) from activating telemetry on SentryGuard.


Proposed Changes

  1. Webapp (TelemetryActivationStep.tsx):

    • Do not disable telemetry activation toggles solely because key_paired === false.
    • Update the UI banner/warning to reflect that virtual keys are not required for legacy pre-2021 Model S/X vehicles.
  2. Mobile (OnboardingScreen.tsx / onboarding.helpers.ts):

    • Ensure onboarding steps do not block users or misclassify vehicles as invalid when key_paired === false.
  3. Backend / Telemetry Service:

    • Verify if any telemetry setup checks require bypassing key_paired validation for vehicles where vehicle_command_protocol_required === false.

Context / References

  • Tesla Fleet API docs: GET /api/1/vehicles/{vin}/fleet_status returns vehicle_command_protocol_required: false for pre-2021 Model S/X.
  • Firmware 2025.20+ enables Fleet Telemetry on MCU2 legacy vehicles via Safety > Allow Third-Party App Data Streaming without a virtual key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions