From 1fa5ed6ad89d98e0018fdda5a9ed3227c2992ae8 Mon Sep 17 00:00:00 2001 From: ehoeve786 <41032835+ehoeve786@users.noreply.github.com> Date: Fri, 13 Nov 2026 17:07:32 -0700 Subject: [PATCH] ios: decode TPMS fields when CarState comes from JSON The custom init(from:) skipped the 12 tpmsPressure/tpmsTemp/tpmsBatt fields added in #275, so the WebSocket data source always showed no tyre readings. Defaults match the stored properties (-1 / -100 = no reading). Co-Authored-By: Claude Opus 5.5 --- dashpilot-ios/dashpilot/Models/CarState.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dashpilot-ios/dashpilot/Models/CarState.swift b/dashpilot-ios/dashpilot/Models/CarState.swift index e090b5e..388a3f6 100644 --- a/dashpilot-ios/dashpilot/Models/CarState.swift +++ b/dashpilot-ios/dashpilot/Models/CarState.swift @@ -197,6 +197,18 @@ struct CarState: Codable { selfdriveActive = try c.decodeIfPresent(Bool.self, forKey: .selfdriveActive) ?? false experimentalMode = try c.decodeIfPresent(Bool.self, forKey: .experimentalMode) ?? false changingLane = try c.decodeIfPresent(Bool.self, forKey: .changingLane) ?? false + tpmsPressureFL = try c.decodeIfPresent(Float.self, forKey: .tpmsPressureFL) ?? -1 + tpmsPressureFR = try c.decodeIfPresent(Float.self, forKey: .tpmsPressureFR) ?? -1 + tpmsPressureRL = try c.decodeIfPresent(Float.self, forKey: .tpmsPressureRL) ?? -1 + tpmsPressureRR = try c.decodeIfPresent(Float.self, forKey: .tpmsPressureRR) ?? -1 + tpmsTempFL = try c.decodeIfPresent(Float.self, forKey: .tpmsTempFL) ?? -100 + tpmsTempFR = try c.decodeIfPresent(Float.self, forKey: .tpmsTempFR) ?? -100 + tpmsTempRL = try c.decodeIfPresent(Float.self, forKey: .tpmsTempRL) ?? -100 + tpmsTempRR = try c.decodeIfPresent(Float.self, forKey: .tpmsTempRR) ?? -100 + tpmsBattFL = try c.decodeIfPresent(Float.self, forKey: .tpmsBattFL) ?? -1 + tpmsBattFR = try c.decodeIfPresent(Float.self, forKey: .tpmsBattFR) ?? -1 + tpmsBattRL = try c.decodeIfPresent(Float.self, forKey: .tpmsBattRL) ?? -1 + tpmsBattRR = try c.decodeIfPresent(Float.self, forKey: .tpmsBattRR) ?? -1 doorOpenFL = try c.decodeIfPresent(Float.self, forKey: .doorOpenFL) ?? 0 doorOpenFR = try c.decodeIfPresent(Float.self, forKey: .doorOpenFR) ?? 0 doorOpenRL = try c.decodeIfPresent(Float.self, forKey: .doorOpenRL) ?? 0