Skip to content

test: confirm and fixture steering-wheel-heat command tags 70/71 - #31

Merged
Bre77 merged 1 commit into
mainfrom
fm/e41-q2-stw-fixtures
Aug 14, 2026
Merged

test: confirm and fixture steering-wheel-heat command tags 70/71#31
Bre77 merged 1 commit into
mainfrom
fm/e41-q2-stw-fixtures

Conversation

@Bre77

@Bre77 Bre77 commented Aug 14, 2026

Copy link
Copy Markdown
Member

Intent

  • Confirms and fixtures the two steering-wheel-heat command coordinates already declared in proto/command/car_server.proto: VehicleAction.autoStwHeatAction=70 (AutoStwHeatAction.on, bool) and VehicleAction.stwHeatLevelAction=71 (StwHeatLevelAction.stw_heat_level, enum Unknown=0/Off=1/Low=2/High=3).
    • Confirmed against Teslemetry's public python-tesla-fleet-api test suite (tests/test_ble_climate_commands.py), which documents both commands as live-attempted against a real test vehicle: the vehicle's ACK decodes correctly and returns the feature-specific rejection cabin comfort remote settings not enabled, rather than a parse failure - confirming the vehicle recognizes these exact field/tag/payload combinations. That repo's independent StwHeatLevels mapping (1/2/3 -> Off/Low/High) matches this repo's declaration.
    • No disagreement found; both fields match the checked-in declaration exactly, so this is confirmation-only - no proto edit, no changeset.
  • Adds a language-neutral golden-payload fixture (fixtures/golden/steering_wheel_heat.json) covering tag-70 off/on and all four tag-71 enum values, with the outer Action.vehicleAction=2 wrapper tag identified alongside each case.
    • New test suites in both packages (packages/typescript/test/, node --test; packages/python/tests/, unittest) load the same fixture and assert both encoders produce byte-identical output and both decoders round-trip it back to the same values. Wired into ci.yml after each package's build step.
    • This is the project's first test suite for the generated packages themselves (previously only script-level unittest coverage existed); documented in AGENTS.md.
  • Live-vehicle confirmation covers the off/on bool and the Low enum value; Unknown/Off/High share the same confirmed field/tag mapping and are exercised by the fixture's local encode/decode round-trip but weren't individually sent to the test vehicle.

…70/71)

Confirms VehicleAction.autoStwHeatAction=70 (AutoStwHeatAction.on bool) and
VehicleAction.stwHeatLevelAction=71 (StwHeatLevelAction.stw_heat_level enum,
Unknown=0/Off=1/Low=2/High=3) against the declared proto, and locks the exact
wire bytes with a shared JSON fixture consumed by both generated packages'
test suites (node:test, unittest), wired into CI.

Confirmation-only: no schema changes, no changeset.
@Bre77 Bre77 added the fm Opened by a Firstmate crewmate label Aug 14, 2026
@Bre77
Bre77 merged commit 38f7d24 into main Aug 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fm Opened by a Firstmate crewmate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant