Skip to content

Car-sourced ambient reads high during pre-departure preconditioning #2

Description

@zebraengine

Observed

First full night of the TeslaMate ambient bridge (contrib/teslamate_ambient_bridge.py) running against a real install:

  • While the car sat parked and idle, car-sourced ambient agreed with the Wall Connector's idle-handle proxy to a median difference of 0.0 °C (typically within ±0.5 °C) across ~9 hours at a steady 5-minute cadence.
  • During a 46 A charge burst the handle sensor heat-soaked +13 °C while the car's thermometer held flat — the contamination the car source exists to bypass. Working as intended.
  • The gap: the final sample before the car departed read ~2.3 °C above the (idle, trustworthy) handle proxy. Cabin preconditioning ahead of departure runs the HVAC hard, and the compressor/airflow warms the car's ambient sensor before any drive exists for the bridge's drive gates to react to.

The bridge already suppresses readings after a drive (heat-soaked sensor, --drive-cooldown-s), but it has no gate for the warm-up that happens before one.

Impact

Low but real: it is always the last reading before the bridge goes silent, so it lingers as "latest ambient" until the freshness window expires. A thermal fit that samples ambient in that window inherits the bias.

Possible fix

TeslaMate records climate state (positions.is_climate_on, preconditioning flags). Treat active climate like an in-progress drive: skip posting while climate is on, and optionally apply a short cooldown after it stops. Cheap to add to decide() — one more boolean gate, unit-testable the same way as the existing ones.

Notes

Once a fixed LAN sensor is present (Ecowitt gateway ingest, zebraengine/tesla-wall-connector#36), the car tier yields to it and this artifact stops mattering for installs that have one. Worth fixing anyway for car-only installs.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions