Skip to content

Commit a79bf84

Browse files
malysclaude
andcommitted
fix(vehicle): read the outside temperature from the vendor service
OUTSIDE_TEMP came only from the AAOS ENV_OUTSIDE_TEMPERATURE property, which on SWI68 answers 0.0 instead of failing. The key was therefore present and wrong, bypassing the "absent means unreadable" guard: a rule of OUTSIDE_TEMP LT 10 fired at 25 C. SaicClimate.outsideTempCelsius() already existed and was never called. It now runs in vendorReadings(), which is applied after the AAOS block and overwrites. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 30e5897 commit a79bf84

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

‎app/src/main/java/com/evsuite/tasker/vehicle/VehicleReader.kt‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ object VehicleReader {
142142
SaicClimate.recirculationOn()?.let { put(SnapshotKeys.KEY_RECIRC, it) }
143143
SaicClimate.fanLevel()?.let { put(SnapshotKeys.KEY_FAN_SPEED, it) }
144144
SaicClimate.driverTemp()?.let { put(SnapshotKeys.KEY_TEMPERATURE_SET, it) }
145+
// The AAOS ENV_OUTSIDE_TEMPERATURE property answers 0.0 on SWI68 rather than
146+
// failing, so the key is present and wrong. The vendor read is the only honest one.
147+
SaicClimate.outsideTempCelsius()?.let { put(SnapshotKeys.KEY_OUTSIDE_TEMP, it) }
145148

146149
// Windows: the vendor read is a measured position, unlike the AOSP window id above
147150
// which no MG4 confirmed. Where it answers it also settles WINDOW_OPEN.

0 commit comments

Comments
 (0)