Add signed Parallax lock/unlock commands
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- backend-api-design, networking, security
Línea de trabajo
Start by reviewing the existing SendRemoteCommand flow, phone-key derivation from send_vehicle_command, and the state-subscription entry points _start_subscription and __graphql_query. Compare the proposed messages in app/parallax/commands/body-commands.md with existing .proto files such as operation.proto; confirm the public API shape with maintainers before implementation. Done means approved message definitions, signed lock/unlock commands, state-result handling, and tests for success and failure or signature errors.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I'd like to add the Parallax way of locking and unlocking to the client, and want to agree on the shape before opening a PR.
What the app does. Android app 3.17.0 sends lock/unlock as sendParallaxPayload (SendRemoteCommand) with a signed protobuf: an HMAC-SHA256 over a serialized operation (body.locks.unlock / body.locks.lock), keyed with the same phone-key secret send_vehicle_command already derives. It then follows a vehicleCommandStatePx subscription for the result. There is no separate WAKE_VEHICLE: the request itself wakes a sleeping vehicle. The vehicle needs PVS_BD_CMD in supportedFeatures.
Tested. On an R1T with an enrolled phone key: unlock on a sleeping vehicle (waking, executing, success in 26 s) and lock on an awake one. The message layouts are written up in kaedenbrinkman/rivian-api (app/parallax/commands/body-commands.md).
Why here. I have this working in the Home Assistant integration, but it has to reach into _start_subscription and __graphql_query. Public methods would remove that.
Proposal. .proto files for the envelope, operation and state messages (like operation.proto), an encoder and decoder in rivian.parallax, and on Rivian a method to send a signed body command and one to follow its state.
Questions
- One call that sends and waits for completion, or the two pieces (send, subscribe) with a small helper on top? I lean to the pieces.
- Fine to add the new
.protofiles and generated modules? - #218 added keyless
send_vehicle_operation. This is a different, signed mutation, so I don't think they overlap. Say so if you see it differently. - Is anyone already working on this?
Not tested: a bad or missing signature, closure commands (frunk, windows), failure paths. I'll open the integration PR once there is a client release.
- Lenguaje dominante
- Python
- Estrellas
- 32
- Forks
- 17
- Merge medio
- 12 h 18 min
- PR fusionados (30 d)
- 14
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Issues similares
-
fuzz fuzz-unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
neilsh/stunt-reel#220 ·
Los mantenedores suelen responder en 1 día
-
[Issue]: use_fp4_cache is accepted but ignored; the launcher always writes FP8 recordsPosiblemente ocupada @0z5a la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area: cli priority: p3 size: S type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
finos/open-resource-broker#757 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 6 días