diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-11-29 15:29:59 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2023-11-29 15:38:42 -0500 |
commit | dca5f5bc58fc3b25972bedc82827b71300d66adc (patch) | |
tree | 72525803c31d218b18c220e21173930aed959d0b | |
parent | b9377beb28bb372f8fc29dfe3eeb9145462b716f (diff) |
VSS signal fixes
Changes:
- Fix sets of HVAC and volume control signals to update the
actuator target value instead of the current value. With the
KUKSA.val ecosystem, it is the actuator implementation / backend
that updates the current value after actuating.
- Add authorization token to subscribe request metadata if it is
present.
- Switch type used for engine speed to double to match VSS signal
definition. This fixes receiving updates, and avoids needing
to convert types as well.
- Added logic to push out the HVAC fan speed setting and handle
external updates.
- Remove unused core/constants/paths.dart file to avoid confusion
over VSS signals used and their variable naming.
Bug-AGL: SPEC-4999
Change-Id: Ifbf69af25e3c563e9c707a4145089e4242b89bcd
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-rw-r--r-- | lib/core/constants/paths.dart | 914 | ||||
-rw-r--r-- | lib/data/data_providers/vehicle_notifier.dart | 64 | ||||
-rw-r--r-- | lib/data/models/vehicle.dart | 4 | ||||
-rw-r--r-- | lib/export.dart | 1 | ||||
-rw-r--r-- | lib/presentation/screens/dashboard/widgets/circle_indicator.dart | 4 |
5 files changed, 51 insertions, 936 deletions
diff --git a/lib/core/constants/paths.dart b/lib/core/constants/paths.dart deleted file mode 100644 index c3afb99..0000000 --- a/lib/core/constants/paths.dart +++ /dev/null @@ -1,914 +0,0 @@ - - -List<String> signals = [ - 'Vehicle.ADAS.ABS.IsEnabled', - 'Vehicle.ADAS.ABS.IsEngaged', - 'Vehicle.ADAS.ABS.IsError', - 'Vehicle.ADAS.ActiveAutonomyLevel', - 'Vehicle.ADAS.CruiseControl.IsActive', - 'Vehicle.ADAS.CruiseControl.IsEnabled', - 'Vehicle.ADAS.CruiseControl.IsError', - 'Vehicle.ADAS.CruiseControl.SpeedSet', - 'Vehicle.ADAS.DMS.IsEnabled', - 'Vehicle.ADAS.DMS.IsError', - 'Vehicle.ADAS.DMS.IsWarning', - 'Vehicle.ADAS.EBA.IsEnabled', - 'Vehicle.ADAS.EBA.IsEngaged', - 'Vehicle.ADAS.EBA.IsError', - 'Vehicle.ADAS.EBD.IsEnabled', - 'Vehicle.ADAS.EBD.IsEngaged', - 'Vehicle.ADAS.EBD.IsError', - 'Vehicle.ADAS.ESC.IsEnabled', - 'Vehicle.ADAS.ESC.IsEngaged', - 'Vehicle.ADAS.ESC.IsError', - 'Vehicle.ADAS.ESC.IsStrongCrossWindDetected', - 'Vehicle.ADAS.ESC.RoadFriction.LowerBound', - 'Vehicle.ADAS.ESC.RoadFriction.MostProbable', - 'Vehicle.ADAS.ESC.RoadFriction.UpperBound', - 'Vehicle.ADAS.LaneDepartureDetection.IsEnabled', - 'Vehicle.ADAS.LaneDepartureDetection.IsError', - 'Vehicle.ADAS.LaneDepartureDetection.IsWarning', - 'Vehicle.ADAS.ObstacleDetection.IsEnabled', - 'Vehicle.ADAS.ObstacleDetection.IsError', - 'Vehicle.ADAS.ObstacleDetection.IsWarning', - 'Vehicle.ADAS.PowerOptimizeLevel', - 'Vehicle.ADAS.SupportedAutonomyLevel', - 'Vehicle.ADAS.TCS.IsEnabled', - 'Vehicle.ADAS.TCS.IsEngaged', - 'Vehicle.ADAS.TCS.IsError', - 'Vehicle.Acceleration.Lateral', - 'Vehicle.Acceleration.Longitudinal', - 'Vehicle.Acceleration.Vertical', - 'Vehicle.AngularVelocity.Pitch', - 'Vehicle.AngularVelocity.Roll', - 'Vehicle.AngularVelocity.Yaw', - 'Vehicle.AverageSpeed', - 'Vehicle.Body.BodyType', - 'Vehicle.Body.Hood.IsOpen', - 'Vehicle.Body.Horn.IsActive', - 'Vehicle.Body.Lights.Backup.IsDefect', - 'Vehicle.Body.Lights.Backup.IsOn', - 'Vehicle.Body.Lights.Beam.High.IsDefect', - 'Vehicle.Body.Lights.Beam.High.IsOn', - 'Vehicle.Body.Lights.Beam.Low.IsDefect', - 'Vehicle.Body.Lights.Beam.Low.IsOn', - 'Vehicle.Body.Lights.Brake.IsActive', - 'Vehicle.Body.Lights.Brake.IsDefect', - 'Vehicle.Body.Lights.DirectionIndicator.Left.IsDefect', - 'Vehicle.Body.Lights.DirectionIndicator.Left.IsSignaling', - 'Vehicle.Body.Lights.DirectionIndicator.Right.IsDefect', - 'Vehicle.Body.Lights.DirectionIndicator.Right.IsSignaling', - 'Vehicle.Body.Lights.Fog.Front.IsDefect', - 'Vehicle.Body.Lights.Fog.Front.IsOn', - 'Vehicle.Body.Lights.Fog.Rear.IsDefect', - 'Vehicle.Body.Lights.Fog.Rear.IsOn', - 'Vehicle.Body.Lights.Hazard.IsDefect', - 'Vehicle.Body.Lights.Hazard.IsSignaling', - 'Vehicle.Body.Lights.IsHighBeamSwitchOn', - 'Vehicle.Body.Lights.LicensePlate.IsDefect', - 'Vehicle.Body.Lights.LicensePlate.IsOn', - 'Vehicle.Body.Lights.LightSwitch', - 'Vehicle.Body.Lights.Parking.IsDefect', - 'Vehicle.Body.Lights.Parking.IsOn', - 'Vehicle.Body.Lights.Running.IsDefect', - 'Vehicle.Body.Lights.Running.IsOn', - 'Vehicle.Body.Mirrors.DriverSide.IsHeatingOn', - 'Vehicle.Body.Mirrors.DriverSide.Pan', - 'Vehicle.Body.Mirrors.DriverSide.Tilt', - 'Vehicle.Body.Mirrors.PassengerSide.IsHeatingOn', - 'Vehicle.Body.Mirrors.PassengerSide.Pan', - 'Vehicle.Body.Mirrors.PassengerSide.Tilt', - 'Vehicle.Body.PowerOptimizeLevel', - 'Vehicle.Body.Raindetection.Intensity', - 'Vehicle.Body.RearMainSpoilerPosition', - 'Vehicle.Body.RefuelPosition', - 'Vehicle.Body.Trunk.Front.IsLightOn', - 'Vehicle.Body.Trunk.Front.IsLocked', - 'Vehicle.Body.Trunk.Front.IsOpen', - 'Vehicle.Body.Trunk.Rear.IsLightOn', - 'Vehicle.Body.Trunk.Rear.IsLocked', - 'Vehicle.Body.Trunk.Rear.IsOpen', - 'Vehicle.Body.Windshield.Front.IsHeatingOn', - 'Vehicle.Body.Windshield.Front.WasherFluid.IsLevelLow', - 'Vehicle.Body.Windshield.Front.WasherFluid.Level', - 'Vehicle.Body.Windshield.Front.Wiping.Intensity', - 'Vehicle.Body.Windshield.Front.Wiping.IsWipersWorn', - 'Vehicle.Body.Windshield.Front.Wiping.Mode', - 'Vehicle.Body.Windshield.Front.Wiping.System.ActualPosition', - 'Vehicle.Body.Windshield.Front.Wiping.System.DriveCurrent', - 'Vehicle.Body.Windshield.Front.Wiping.System.Frequency', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsBlocked', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsEndingWipeCycle', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsOverheated', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsPositionReached', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsWiperError', - 'Vehicle.Body.Windshield.Front.Wiping.System.IsWiping', - 'Vehicle.Body.Windshield.Front.Wiping.System.Mode', - 'Vehicle.Body.Windshield.Front.Wiping.System.TargetPosition', - 'Vehicle.Body.Windshield.Front.Wiping.WiperWear', - 'Vehicle.Body.Windshield.Rear.IsHeatingOn', - 'Vehicle.Body.Windshield.Rear.WasherFluid.IsLevelLow', - 'Vehicle.Body.Windshield.Rear.WasherFluid.Level', - 'Vehicle.Body.Windshield.Rear.Wiping.Intensity', - 'Vehicle.Body.Windshield.Rear.Wiping.IsWipersWorn', - 'Vehicle.Body.Windshield.Rear.Wiping.Mode', - 'Vehicle.Body.Windshield.Rear.Wiping.System.ActualPosition', - 'Vehicle.Body.Windshield.Rear.Wiping.System.DriveCurrent', - 'Vehicle.Body.Windshield.Rear.Wiping.System.Frequency', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsBlocked', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsEndingWipeCycle', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsOverheated', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsPositionReached', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsWiperError', - 'Vehicle.Body.Windshield.Rear.Wiping.System.IsWiping', - 'Vehicle.Body.Windshield.Rear.Wiping.System.Mode', - 'Vehicle.Body.Windshield.Rear.Wiping.System.TargetPosition', - 'Vehicle.Body.Windshield.Rear.Wiping.WiperWear', - 'Vehicle.Cabin.Convertible.Status', - 'Vehicle.Cabin.Door.Row1.DriverSide.IsChildLockActive', - 'Vehicle.Cabin.Door.Row1.DriverSide.IsLocked', - 'Vehicle.Cabin.Door.Row1.DriverSide.IsOpen', - 'Vehicle.Cabin.Door.Row1.DriverSide.Shade.Position', - 'Vehicle.Cabin.Door.Row1.DriverSide.Shade.Switch', - 'Vehicle.Cabin.Door.Row1.DriverSide.Window.IsOpen', - 'Vehicle.Cabin.Door.Row1.DriverSide.Window.Position', - 'Vehicle.Cabin.Door.Row1.DriverSide.Window.Switch', - 'Vehicle.Cabin.Door.Row1.PassengerSide.IsChildLockActive', - 'Vehicle.Cabin.Door.Row1.PassengerSide.IsLocked', - 'Vehicle.Cabin.Door.Row1.PassengerSide.IsOpen', - 'Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Position', - 'Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Switch', - 'Vehicle.Cabin.Door.Row1.PassengerSide.Window.IsOpen', - 'Vehicle.Cabin.Door.Row1.PassengerSide.Window.Position', - 'Vehicle.Cabin.Door.Row1.PassengerSide.Window.Switch', - 'Vehicle.Cabin.Door.Row2.DriverSide.IsChildLockActive', - 'Vehicle.Cabin.Door.Row2.DriverSide.IsLocked', - 'Vehicle.Cabin.Door.Row2.DriverSide.IsOpen', - 'Vehicle.Cabin.Door.Row2.DriverSide.Shade.Position', - 'Vehicle.Cabin.Door.Row2.DriverSide.Shade.Switch', - 'Vehicle.Cabin.Door.Row2.DriverSide.Window.IsOpen', - 'Vehicle.Cabin.Door.Row2.DriverSide.Window.Position', - 'Vehicle.Cabin.Door.Row2.DriverSide.Window.Switch', - 'Vehicle.Cabin.Door.Row2.PassengerSide.IsChildLockActive', - 'Vehicle.Cabin.Door.Row2.PassengerSide.IsLocked', - 'Vehicle.Cabin.Door.Row2.PassengerSide.IsOpen', - 'Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Position', - 'Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Switch', - 'Vehicle.Cabin.Door.Row2.PassengerSide.Window.IsOpen', - 'Vehicle.Cabin.Door.Row2.PassengerSide.Window.Position', - 'Vehicle.Cabin.Door.Row2.PassengerSide.Window.Switch', - 'Vehicle.Cabin.DoorCount', - 'Vehicle.Cabin.DriverPosition', - 'Vehicle.Cabin.HVAC.AmbientAirTemperature', - 'Vehicle.Cabin.HVAC.IsAirConditioningActive', - 'Vehicle.Cabin.HVAC.IsFrontDefrosterActive', - 'Vehicle.Cabin.HVAC.IsRearDefrosterActive', - 'Vehicle.Cabin.HVAC.IsRecirculationActive', - 'Vehicle.Cabin.HVAC.PowerOptimizeLevel', - 'Vehicle.Cabin.HVAC.Station.Row1.Driver.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row1.Driver.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row1.Driver.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row1.Passenger.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row1.Passenger.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row1.Passenger.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row2.Driver.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row2.Driver.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row2.Driver.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row2.Passenger.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row2.Passenger.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row2.Passenger.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row3.Driver.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row3.Driver.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row3.Driver.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row3.Passenger.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row3.Passenger.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row3.Passenger.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row4.Driver.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row4.Driver.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row4.Driver.Temperature', - 'Vehicle.Cabin.HVAC.Station.Row4.Passenger.AirDistribution', - 'Vehicle.Cabin.HVAC.Station.Row4.Passenger.FanSpeed', - 'Vehicle.Cabin.HVAC.Station.Row4.Passenger.Temperature', - 'Vehicle.Cabin.Infotainment.HMI.Brightness', - 'Vehicle.Cabin.Infotainment.HMI.CurrentLanguage', - 'Vehicle.Cabin.Infotainment.HMI.DateFormat', - 'Vehicle.Cabin.Infotainment.HMI.DayNightMode', - 'Vehicle.Cabin.Infotainment.HMI.DisplayOffDuration', - 'Vehicle.Cabin.Infotainment.HMI.DistanceUnit', - 'Vehicle.Cabin.Infotainment.HMI.EVEconomyUnits', - 'Vehicle.Cabin.Infotainment.HMI.FontSize', - 'Vehicle.Cabin.Infotainment.HMI.FuelEconomyUnits', - 'Vehicle.Cabin.Infotainment.HMI.FuelVolumeUnit', - 'Vehicle.Cabin.Infotainment.HMI.IsScreenAlwaysOn', - 'Vehicle.Cabin.Infotainment.HMI.LastActionTime', - 'Vehicle.Cabin.Infotainment.HMI.TemperatureUnit', - 'Vehicle.Cabin.Infotainment.HMI.TimeFormat', - 'Vehicle.Cabin.Infotainment.HMI.TirePressureUnit', - 'Vehicle.Cabin.Infotainment.Media.Action', - 'Vehicle.Cabin.Infotainment.Media.DeclinedURI', - 'Vehicle.Cabin.Infotainment.Media.Played.Album', - 'Vehicle.Cabin.Infotainment.Media.Played.Artist', - 'Vehicle.Cabin.Infotainment.Media.Played.PlaybackRate', - 'Vehicle.Cabin.Infotainment.Media.Played.Source', - 'Vehicle.Cabin.Infotainment.Media.Played.Track', - 'Vehicle.Cabin.Infotainment.Media.Played.URI', - 'Vehicle.Cabin.Infotainment.Media.SelectedURI', - 'Vehicle.Cabin.Infotainment.Media.Volume', - 'Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Latitude', - 'Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Longitude', - 'Vehicle.Cabin.Infotainment.Navigation.GuidanceVoice', - 'Vehicle.Cabin.Infotainment.Navigation.Mute', - 'Vehicle.Cabin.Infotainment.Navigation.Volume', - 'Vehicle.Cabin.Infotainment.PowerOptimizeLevel', - 'Vehicle.Cabin.Infotainment.SmartphoneProjection.Active', - 'Vehicle.Cabin.Infotainment.SmartphoneProjection.Source', - 'Vehicle.Cabin.Infotainment.SmartphoneProjection.SupportedMode', - 'Vehicle.Cabin.IsWindowChildLockEngaged', - 'Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.Color', - 'Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.Intensity', - 'Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.Color', - 'Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.IsLightOn', - 'Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.Color', - 'Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.Intensity', - 'Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.Color', - 'Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.IsLightOn', - 'Vehicle.Cabin.Light.InteractiveLightBar.Color', - 'Vehicle.Cabin.Light.InteractiveLightBar.Effect', - 'Vehicle.Cabin.Light.InteractiveLightBar.Intensity', - 'Vehicle.Cabin.Light.InteractiveLightBar.IsLightOn', - 'Vehicle.Cabin.Light.IsDomeOn', - 'Vehicle.Cabin.Light.IsGloveBoxOn', - 'Vehicle.Cabin.Light.PerceivedAmbientLight', - 'Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.IsLightOn', - 'Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.Color', - 'Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.Intensity', - 'Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.IsLightOn', - 'Vehicle.Cabin.PowerOptimizeLevel', - 'Vehicle.Cabin.RearShade.Position', - 'Vehicle.Cabin.RearShade.Switch', - 'Vehicle.Cabin.RearviewMirror.DimmingLevel', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Heating', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Height', - 'Vehicle.Cabin.Seat.Row1.DriverSide.IsBelted', - 'Vehicle.Cabin.Seat.Row1.DriverSide.IsOccupied', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Massage', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Position', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Seating.Length', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.SideBolster.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.DriverSide.Tilt', - 'Vehicle.Cabin.Seat.Row1.Middle.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row1.Middle.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row1.Middle.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row1.Middle.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row1.Middle.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row1.Middle.Headrest.Height', - 'Vehicle.Cabin.Seat.Row1.Middle.Heating', - 'Vehicle.Cabin.Seat.Row1.Middle.Height', - 'Vehicle.Cabin.Seat.Row1.Middle.IsBelted', - 'Vehicle.Cabin.Seat.Row1.Middle.IsOccupied', - 'Vehicle.Cabin.Seat.Row1.Middle.Massage', - 'Vehicle.Cabin.Seat.Row1.Middle.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row1.Middle.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row1.Middle.Position', - 'Vehicle.Cabin.Seat.Row1.Middle.Seating.Length', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.SideBolster.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.SideBolster.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.Middle.Tilt', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.Height', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Heating', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Height', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.IsBelted', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.IsOccupied', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Massage', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Position', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.Length', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.SideBolster.', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.SideBolster.', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row1.PassengerSide.Tilt', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.Height', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Heating', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Height', - 'Vehicle.Cabin.Seat.Row2.DriverSide.IsBelted', - 'Vehicle.Cabin.Seat.Row2.DriverSide.IsOccupied', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Massage', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Position', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Seating.Length', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.SideBolster.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.DriverSide.Tilt', - 'Vehicle.Cabin.Seat.Row2.Middle.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row2.Middle.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row2.Middle.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row2.Middle.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row2.Middle.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row2.Middle.Headrest.Height', - 'Vehicle.Cabin.Seat.Row2.Middle.Heating', - 'Vehicle.Cabin.Seat.Row2.Middle.Height', - 'Vehicle.Cabin.Seat.Row2.Middle.IsBelted', - 'Vehicle.Cabin.Seat.Row2.Middle.IsOccupied', - 'Vehicle.Cabin.Seat.Row2.Middle.Massage', - 'Vehicle.Cabin.Seat.Row2.Middle.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row2.Middle.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row2.Middle.Position', - 'Vehicle.Cabin.Seat.Row2.Middle.Seating.Length', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.SideBolster.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.SideBolster.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.Middle.Tilt', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag.IsDeployed', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Lumbar.Height', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Lumbar.Support', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Recline', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolster.Support', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.Angle', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.Height', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Heating', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Height', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.IsBelted', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.IsOccupied', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Massage', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant.Identifier.Issuer', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant.Identifier.Subject', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Position', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.Length', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.IsReclineBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.IsReclineForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsLessSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.SideBolster.', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.SideBolster.', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsCoolerEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsDownEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsTiltBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsTiltForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsUpEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsWarmerEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Massage.IsDecreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Massage.IsIncreaseEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Seating.IsBackwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Seating.IsForwardEngaged', - 'Vehicle.Cabin.Seat.Row2.PassengerSide.Tilt', - 'Vehicle.Cabin.SeatPosCount', - 'Vehicle.Cabin.SeatRowCount', - 'Vehicle.Cabin.Sunroof.Position', - 'Vehicle.Cabin.Sunroof.Shade.Position', - 'Vehicle.Cabin.Sunroof.Shade.Switch', - 'Vehicle.Cabin.Sunroof.Switch', - 'Vehicle.CargoVolume', - 'Vehicle.Chassis.Accelerator.PedalPosition', - 'Vehicle.Chassis.Axle.Row1.AxleWidth', - 'Vehicle.Chassis.Axle.Row1.SteeringAngle', - 'Vehicle.Chassis.Axle.Row1.TireAspectRatio', - 'Vehicle.Chassis.Axle.Row1.TireDiameter', - 'Vehicle.Chassis.Axle.Row1.TireWidth', - 'Vehicle.Chassis.Axle.Row1.TrackWidth', - 'Vehicle.Chassis.Axle.Row1.TreadWidth', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.FluidLevel', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.IsBrakesWorn', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.IsFluidLevelLow', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.PadWear', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Speed', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.IsPressureLow', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.Pressure', - 'Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.Temperature', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.FluidLevel', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.IsBrakesWorn', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.IsFluidLevelLow', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.PadWear', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Speed', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.IsPressureLow', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.Pressure', - 'Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.Temperature', - 'Vehicle.Chassis.Axle.Row1.WheelCount', - 'Vehicle.Chassis.Axle.Row1.WheelDiameter', - 'Vehicle.Chassis.Axle.Row1.WheelWidth', - 'Vehicle.Chassis.Axle.Row2.AxleWidth', - 'Vehicle.Chassis.Axle.Row2.SteeringAngle', - 'Vehicle.Chassis.Axle.Row2.TireAspectRatio', - 'Vehicle.Chassis.Axle.Row2.TireDiameter', - 'Vehicle.Chassis.Axle.Row2.TireWidth', - 'Vehicle.Chassis.Axle.Row2.TrackWidth', - 'Vehicle.Chassis.Axle.Row2.TreadWidth', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.FluidLevel', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.IsBrakesWorn', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.IsFluidLevelLow', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.PadWear', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Speed', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.IsPressureLow', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.Pressure', - 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.Temperature', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.FluidLevel', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.IsBrakesWorn', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.IsFluidLevelLow', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.PadWear', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Speed', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.IsPressureLow', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.Pressure', - 'Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.Temperature', - 'Vehicle.Chassis.Axle.Row2.WheelCount', - 'Vehicle.Chassis.Axle.Row2.WheelDiameter', - 'Vehicle.Chassis.Axle.Row2.WheelWidth', - 'Vehicle.Chassis.AxleCount', - 'Vehicle.Chassis.Brake.IsDriverEmergencyBrakingDetected', - 'Vehicle.Chassis.Brake.PedalPosition', - 'Vehicle.Chassis.ParkingBrake.IsAutoApplyEnabled', - 'Vehicle.Chassis.ParkingBrake.IsEngaged', - 'Vehicle.Chassis.SteeringWheel.Angle', - 'Vehicle.Chassis.SteeringWheel.Extension', - 'Vehicle.Chassis.SteeringWheel.Tilt', - 'Vehicle.Chassis.Wheelbase', - 'Vehicle.Connectivity.IsConnectivityAvailable', - 'Vehicle.CurbWeight', - 'Vehicle.CurrentLocation.Altitude', - 'Vehicle.CurrentLocation.GNSSReceiver.FixType', - 'Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.X', - 'Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Y', - 'Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Z', - 'Vehicle.CurrentLocation.Heading', - 'Vehicle.CurrentLocation.HorizontalAccuracy', - 'Vehicle.CurrentLocation.Latitude', - 'Vehicle.CurrentLocation.Longitude', - 'Vehicle.CurrentLocation.Timestamp', - 'Vehicle.CurrentLocation.VerticalAccuracy', - 'Vehicle.CurrentOverallWeight', - 'Vehicle.Driver.AttentiveProbability', - 'Vehicle.Driver.DistractionLevel', - 'Vehicle.Driver.FatigueLevel', - 'Vehicle.Driver.HeartRate', - 'Vehicle.Driver.Identifier.Issuer', - 'Vehicle.Driver.Identifier.Subject', - 'Vehicle.Driver.IsEyesOnRoad', - 'Vehicle.Driver.IsHandsOnWheel', - 'Vehicle.EmissionsCO2', - 'Vehicle.Exterior.AirTemperature', - 'Vehicle.Exterior.Humidity', - 'Vehicle.Exterior.LightIntensity', - 'Vehicle.GrossWeight', - 'Vehicle.Height', - 'Vehicle.IsBrokenDown', - 'Vehicle.IsMoving', - 'Vehicle.Length', - 'Vehicle.LowVoltageBattery.CurrentCurrent', - 'Vehicle.LowVoltageBattery.CurrentVoltage', - 'Vehicle.LowVoltageBattery.NominalCapacity', - 'Vehicle.LowVoltageBattery.NominalVoltage', - 'Vehicle.LowVoltageSystemState', - 'Vehicle.MaxTowBallWeight', - 'Vehicle.MaxTowWeight', - 'Vehicle.OBD.AbsoluteLoad', - 'Vehicle.OBD.AcceleratorPositionD', - 'Vehicle.OBD.AcceleratorPositionE', - 'Vehicle.OBD.AcceleratorPositionF', - 'Vehicle.OBD.AirStatus', - 'Vehicle.OBD.AmbientAirTemperature', - 'Vehicle.OBD.BarometricPressure', - 'Vehicle.OBD.Catalyst.Bank1.Temperature1', - 'Vehicle.OBD.Catalyst.Bank1.Temperature2', - 'Vehicle.OBD.Catalyst.Bank2.Temperature1', - 'Vehicle.OBD.Catalyst.Bank2.Temperature2', - 'Vehicle.OBD.CommandedEGR', - 'Vehicle.OBD.CommandedEVAP', - 'Vehicle.OBD.CommandedEquivalenceRatio', - 'Vehicle.OBD.ControlModuleVoltage', - 'Vehicle.OBD.CoolantTemperature', - 'Vehicle.OBD.DTCList', - 'Vehicle.OBD.DistanceSinceDTCClear', - 'Vehicle.OBD.DistanceWithMIL', - 'Vehicle.OBD.DriveCycleStatus.DTCCount', - 'Vehicle.OBD.DriveCycleStatus.IgnitionType', - 'Vehicle.OBD.DriveCycleStatus.IsMILOn', - 'Vehicle.OBD.EGRError', - 'Vehicle.OBD.EVAPVaporPressure', - 'Vehicle.OBD.EVAPVaporPressureAbsolute', - 'Vehicle.OBD.EVAPVaporPressureAlternate', - 'Vehicle.OBD.EngineLoad', - 'Vehicle.OBD.EngineSpeed', - 'Vehicle.OBD.EthanolPercent', - 'Vehicle.OBD.FreezeDTC', - 'Vehicle.OBD.FuelInjectionTiming', - 'Vehicle.OBD.FuelLevel', - 'Vehicle.OBD.FuelPressure', - 'Vehicle.OBD.FuelRailPressureAbsolute', - 'Vehicle.OBD.FuelRailPressureDirect', - 'Vehicle.OBD.FuelRailPressureVac', - 'Vehicle.OBD.FuelRate', - 'Vehicle.OBD.FuelStatus', - 'Vehicle.OBD.FuelType', - 'Vehicle.OBD.HybridBatteryRemaining', - 'Vehicle.OBD.IntakeTemp', - 'Vehicle.OBD.IsPTOActive', - 'Vehicle.OBD.LongTermFuelTrim1', - 'Vehicle.OBD.LongTermFuelTrim2', - 'Vehicle.OBD.LongTermO2Trim1', - 'Vehicle.OBD.LongTermO2Trim2', - 'Vehicle.OBD.LongTermO2Trim3', - 'Vehicle.OBD.LongTermO2Trim4', - 'Vehicle.OBD.MAF', - 'Vehicle.OBD.MAP', - 'Vehicle.OBD.MaxMAF', - 'Vehicle.OBD.O2.Sensor1.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor1.Voltage', - 'Vehicle.OBD.O2.Sensor2.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor2.Voltage', - 'Vehicle.OBD.O2.Sensor3.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor3.Voltage', - 'Vehicle.OBD.O2.Sensor4.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor4.Voltage', - 'Vehicle.OBD.O2.Sensor5.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor5.Voltage', - 'Vehicle.OBD.O2.Sensor6.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor6.Voltage', - 'Vehicle.OBD.O2.Sensor7.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor7.Voltage', - 'Vehicle.OBD.O2.Sensor8.ShortTermFuelTrim', - 'Vehicle.OBD.O2.Sensor8.Voltage', - 'Vehicle.OBD.O2WR.Sensor1.Current', - 'Vehicle.OBD.O2WR.Sensor1.Lambda', - 'Vehicle.OBD.O2WR.Sensor1.Voltage', - 'Vehicle.OBD.O2WR.Sensor2.Current', - 'Vehicle.OBD.O2WR.Sensor2.Lambda', - 'Vehicle.OBD.O2WR.Sensor2.Voltage', - 'Vehicle.OBD.O2WR.Sensor3.Current', - 'Vehicle.OBD.O2WR.Sensor3.Lambda', - 'Vehicle.OBD.O2WR.Sensor3.Voltage', - 'Vehicle.OBD.O2WR.Sensor4.Current', - 'Vehicle.OBD.O2WR.Sensor4.Lambda', - 'Vehicle.OBD.O2WR.Sensor4.Voltage', - 'Vehicle.OBD.O2WR.Sensor5.Current', - 'Vehicle.OBD.O2WR.Sensor5.Lambda', - 'Vehicle.OBD.O2WR.Sensor5.Voltage', - 'Vehicle.OBD.O2WR.Sensor6.Current', - 'Vehicle.OBD.O2WR.Sensor6.Lambda', - 'Vehicle.OBD.O2WR.Sensor6.Voltage', - 'Vehicle.OBD.O2WR.Sensor7.Current', - 'Vehicle.OBD.O2WR.Sensor7.Lambda', - 'Vehicle.OBD.O2WR.Sensor7.Voltage', - 'Vehicle.OBD.O2WR.Sensor8.Current', - 'Vehicle.OBD.O2WR.Sensor8.Lambda', - 'Vehicle.OBD.O2WR.Sensor8.Voltage', - 'Vehicle.OBD.OBDStandards', - 'Vehicle.OBD.OilTemperature', - 'Vehicle.OBD.OxygenSensorsIn2Banks', - 'Vehicle.OBD.OxygenSensorsIn4Banks', - 'Vehicle.OBD.PidsA', - 'Vehicle.OBD.PidsB', - 'Vehicle.OBD.PidsC', - 'Vehicle.OBD.RelativeAcceleratorPosition', - 'Vehicle.OBD.RelativeThrottlePosition', - 'Vehicle.OBD.RunTime', - 'Vehicle.OBD.RunTimeMIL', - 'Vehicle.OBD.ShortTermFuelTrim1', - 'Vehicle.OBD.ShortTermFuelTrim2', - 'Vehicle.OBD.ShortTermO2Trim1', - 'Vehicle.OBD.ShortTermO2Trim2', - 'Vehicle.OBD.ShortTermO2Trim3', - 'Vehicle.OBD.ShortTermO2Trim4', - 'Vehicle.OBD.Speed', - 'Vehicle.OBD.Status.DTCCount', - 'Vehicle.OBD.Status.IgnitionType', - 'Vehicle.OBD.Status.IsMILOn', - 'Vehicle.OBD.ThrottleActuator', - 'Vehicle.OBD.ThrottlePosition', - 'Vehicle.OBD.ThrottlePositionB', - 'Vehicle.OBD.ThrottlePositionC', - 'Vehicle.OBD.TimeSinceDTCCleared', - 'Vehicle.OBD.TimingAdvance', - 'Vehicle.OBD.WarmupsSinceDTCClear', - 'Vehicle.PowerOptimizeLevel', - 'Vehicle.Powertrain.AccumulatedBrakingEnergy', - 'Vehicle.Powertrain.CombustionEngine.AspirationType', - 'Vehicle.Powertrain.CombustionEngine.Bore', - 'Vehicle.Powertrain.CombustionEngine.CompressionRatio', - 'Vehicle.Powertrain.CombustionEngine.Configuration', - 'Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Capacity', - 'Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.IsLevelLow', - 'Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Level', - 'Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Range', - 'Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.DeltaPressure', - 'Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.InletTemperature', - 'Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.OutletTemperature', - 'Vehicle.Powertrain.CombustionEngine.Displacement', - 'Vehicle.Powertrain.CombustionEngine.ECT', - 'Vehicle.Powertrain.CombustionEngine.EOP', - 'Vehicle.Powertrain.CombustionEngine.EOT', - 'Vehicle.Powertrain.CombustionEngine.EngineCode', - 'Vehicle.Powertrain.CombustionEngine.EngineCoolantCapacity', - 'Vehicle.Powertrain.CombustionEngine.EngineHours', - 'Vehicle.Powertrain.CombustionEngine.EngineOilCapacity', - 'Vehicle.Powertrain.CombustionEngine.EngineOilLevel', - 'Vehicle.Powertrain.CombustionEngine.IdleHours', - 'Vehicle.Powertrain.CombustionEngine.IsRunning', - 'Vehicle.Powertrain.CombustionEngine.MAF', - 'Vehicle.Powertrain.CombustionEngine.MAP', - 'Vehicle.Powertrain.CombustionEngine.MaxPower', - 'Vehicle.Powertrain.CombustionEngine.MaxTorque', - 'Vehicle.Powertrain.CombustionEngine.NumberOfCylinders', - 'Vehicle.Powertrain.CombustionEngine.NumberOfValvesPerCylinder', - 'Vehicle.Powertrain.CombustionEngine.OilLifeRemaining', - 'Vehicle.Powertrain.CombustionEngine.Power', - 'Vehicle.Powertrain.CombustionEngine.Speed', - 'Vehicle.Powertrain.CombustionEngine.StrokeLength', - 'Vehicle.Powertrain.CombustionEngine.TPS', - 'Vehicle.Powertrain.CombustionEngine.Torque', - 'Vehicle.Powertrain.ElectricMotor.CoolantTemperature', - 'Vehicle.Powertrain.ElectricMotor.EngineCode', - 'Vehicle.Powertrain.ElectricMotor.MaxPower', - 'Vehicle.Powertrain.ElectricMotor.MaxRegenPower', - 'Vehicle.Powertrain.ElectricMotor.MaxRegenTorque', - 'Vehicle.Powertrain.ElectricMotor.MaxTorque', - 'Vehicle.Powertrain.ElectricMotor.Power', - 'Vehicle.Powertrain.ElectricMotor.Speed', - 'Vehicle.Powertrain.ElectricMotor.Temperature', - 'Vehicle.Powertrain.ElectricMotor.Torque', - 'Vehicle.Powertrain.FuelSystem.AbsoluteLevel', - 'Vehicle.Powertrain.FuelSystem.AverageConsumption', - 'Vehicle.Powertrain.FuelSystem.ConsumptionSinceStart', - 'Vehicle.Powertrain.FuelSystem.HybridType', - 'Vehicle.Powertrain.FuelSystem.InstantConsumption', - 'Vehicle.Powertrain.FuelSystem.IsEngineStopStartEnabled', - 'Vehicle.Powertrain.FuelSystem.IsFuelLevelLow', - 'Vehicle.Powertrain.FuelSystem.Range', - 'Vehicle.Powertrain.FuelSystem.RelativeLevel', - 'Vehicle.Powertrain.FuelSystem.SupportedFuel', - 'Vehicle.Powertrain.FuelSystem.SupportedFuelTypes', - 'Vehicle.Powertrain.FuelSystem.TankCapacity', - 'Vehicle.Powertrain.PowerOptimizeLevel', - 'Vehicle.Powertrain.Range', - 'Vehicle.Powertrain.TractionBattery.AccumulatedChargedEnergy', - 'Vehicle.Powertrain.TractionBattery.AccumulatedChargedThroughput', - 'Vehicle.Powertrain.TractionBattery.AccumulatedConsumedEnergy', - 'Vehicle.Powertrain.TractionBattery.AccumulatedConsumedThroughput', - 'Vehicle.Powertrain.TractionBattery.CellVoltage.Max', - 'Vehicle.Powertrain.TractionBattery.CellVoltage.Min', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.DC', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase1', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase2', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase3', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeLimit', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargePlugType', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargePortFlap', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeRate', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.DC', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase1', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase2', - 'Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase3', - 'Vehicle.Powertrain.TractionBattery.Charging.IsCharging', - 'Vehicle.Powertrain.TractionBattery.Charging.IsChargingCableConnected', - 'Vehicle.Powertrain.TractionBattery.Charging.IsChargingCableLocked', - 'Vehicle.Powertrain.TractionBattery.Charging.IsDischarging', - 'Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.DC', - 'Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase1', - 'Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase2', - 'Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase3', - 'Vehicle.Powertrain.TractionBattery.Charging.Mode', - 'Vehicle.Powertrain.TractionBattery.Charging.PowerLoss', - 'Vehicle.Powertrain.TractionBattery.Charging.StartStopCharging', - 'Vehicle.Powertrain.TractionBattery.Charging.Temperature', - 'Vehicle.Powertrain.TractionBattery.Charging.TimeToComplete', - 'Vehicle.Powertrain.TractionBattery.Charging.Timer.Mode', - 'Vehicle.Powertrain.TractionBattery.Charging.Timer.Time', - 'Vehicle.Powertrain.TractionBattery.CurrentCurrent', - 'Vehicle.Powertrain.TractionBattery.CurrentPower', - 'Vehicle.Powertrain.TractionBattery.CurrentVoltage', - 'Vehicle.Powertrain.TractionBattery.DCDC.PowerLoss', - 'Vehicle.Powertrain.TractionBattery.DCDC.Temperature', - 'Vehicle.Powertrain.TractionBattery.GrossCapacity', - 'Vehicle.Powertrain.TractionBattery.Id', - 'Vehicle.Powertrain.TractionBattery.IsGroundConnected', - 'Vehicle.Powertrain.TractionBattery.IsPowerConnected', - 'Vehicle.Powertrain.TractionBattery.MaxVoltage', - 'Vehicle.Powertrain.TractionBattery.NetCapacity', - 'Vehicle.Powertrain.TractionBattery.NominalVoltage', - 'Vehicle.Powertrain.TractionBattery.PowerLoss', - 'Vehicle.Powertrain.TractionBattery.ProductionDate', - 'Vehicle.Powertrain.TractionBattery.Range', - 'Vehicle.Powertrain.TractionBattery.StateOfCharge.Current', - 'Vehicle.Powertrain.TractionBattery.StateOfCharge.CurrentEnergy', - 'Vehicle.Powertrain.TractionBattery.StateOfCharge.Displayed', - 'Vehicle.Powertrain.TractionBattery.StateOfHealth', - 'Vehicle.Powertrain.TractionBattery.Temperature.Average', - 'Vehicle.Powertrain.TractionBattery.Temperature.Max', - 'Vehicle.Powertrain.TractionBattery.Temperature.Min', - 'Vehicle.Powertrain.Transmission.ClutchEngagement', - 'Vehicle.Powertrain.Transmission.ClutchWear', - 'Vehicle.Powertrain.Transmission.CurrentGear', - 'Vehicle.Powertrain.Transmission.DiffLockFrontEngagement', - 'Vehicle.Powertrain.Transmission.DiffLockRearEngagement', - 'Vehicle.Powertrain.Transmission.DriveType', - 'Vehicle.Powertrain.Transmission.GearChangeMode', - 'Vehicle.Powertrain.Transmission.GearCount', - 'Vehicle.Powertrain.Transmission.IsElectricalPowertrainEngaged', - 'Vehicle.Powertrain.Transmission.IsLowRangeEngaged', - 'Vehicle.Powertrain.Transmission.IsParkLockEngaged', - 'Vehicle.Powertrain.Transmission.PerformanceMode', - 'Vehicle.Powertrain.Transmission.SelectedGear', - 'Vehicle.Powertrain.Transmission.Temperature', - 'Vehicle.Powertrain.Transmission.TorqueDistribution', - 'Vehicle.Powertrain.Transmission.TravelledDistance', - 'Vehicle.Powertrain.Transmission.Type', - 'Vehicle.Powertrain.Type', - 'Vehicle.RoofLoad', - 'Vehicle.Service.DistanceToService', - 'Vehicle.Service.IsServiceDue', - 'Vehicle.Service.TimeToService', - 'Vehicle.Speed', - 'Vehicle.StartTime', - 'Vehicle.Trailer.IsConnected', - 'Vehicle.TraveledDistance', - 'Vehicle.TraveledDistanceSinceStart', - 'Vehicle.TripDuration', - 'Vehicle.TripMeterReading', - 'Vehicle.VehicleIdentification.AcrissCode', - 'Vehicle.VehicleIdentification.BodyType', - 'Vehicle.VehicleIdentification.Brand', - 'Vehicle.VehicleIdentification.DateVehicleFirstRegistered', - 'Vehicle.VehicleIdentification.KnownVehicleDamages', - 'Vehicle.VehicleIdentification.MeetsEmissionStandard', - 'Vehicle.VehicleIdentification.Model', - 'Vehicle.VehicleIdentification.OptionalExtras', - 'Vehicle.VehicleIdentification.ProductionDate', - 'Vehicle.VehicleIdentification.PurchaseDate', - 'Vehicle.VehicleIdentification.VIN', - 'Vehicle.VehicleIdentification.VehicleConfiguration', - 'Vehicle.VehicleIdentification.VehicleInteriorColor', - 'Vehicle.VehicleIdentification.VehicleInteriorType', - 'Vehicle.VehicleIdentification.VehicleModelDate', - 'Vehicle.VehicleIdentification.VehicleSeatingCapacity', - 'Vehicle.VehicleIdentification.VehicleSpecialUsage', - 'Vehicle.VehicleIdentification.WMI', - 'Vehicle.VehicleIdentification.Year', - 'Vehicle.VersionVSS.Label', - 'Vehicle.VersionVSS.Major', - 'Vehicle.VersionVSS.Minor', - 'Vehicle.VersionVSS.Patch', - 'Vehicle.Width', -]; diff --git a/lib/data/data_providers/vehicle_notifier.dart b/lib/data/data_providers/vehicle_notifier.dart index c11332c..1b2a31a 100644 --- a/lib/data/data_providers/vehicle_notifier.dart +++ b/lib/data/data_providers/vehicle_notifier.dart @@ -84,8 +84,8 @@ class VehicleNotifier extends StateNotifier<Vehicle> { } break; case VSSPath.vehicleEngineSpeed: - if (update.entry.value.hasUint32()) { - state = state.copyWith(engineSpeed: update.entry.value.uint32); + if (update.entry.value.hasFloat()) { + state = state.copyWith(engineSpeed: update.entry.value.float); } break; case VSSPath.vehicleFrontLeftTire: @@ -135,7 +135,16 @@ class VehicleNotifier extends StateNotifier<Vehicle> { break; case VSSPath.vehicleFanSpeed: if (update.entry.value.hasUint32()) { - state = state.copyWith(fanSpeed: update.entry.value.uint32); + // Convert 0-100 to local 0-3 setting + var value = update.entry.value.uint32; + var fanSpeed = 0; + if (value > 66) + fanSpeed = 3; + else if (value > 33) + fanSpeed = 2; + else if (value > 0) + fanSpeed = 1; + state = state.copyWith(fanSpeed: fanSpeed); } break; case VSSPath.vehicleDriverTemperature: @@ -293,20 +302,20 @@ class VehicleNotifier extends StateNotifier<Vehicle> { authorization = config.authorization; List<String> fewSignals = VSSPath().getSignalsList(); var request = SubscribeRequest(); + Map<String, String> metadata = {}; + if (authorization.isNotEmpty) { + metadata = {'authorization': "Bearer ${authorization}"}; + } for (int i = 0; i < fewSignals.length; i++) { var entry = SubscribeEntry(); entry.path = fewSignals[i]; entry.fields.add(Field.FIELD_PATH); entry.fields.add(Field.FIELD_VALUE); request.entries.add(entry); - // _stub.subscribe(request).listen((value) async { - // //debugPrint(value.toString()); - // }); } try { - Map<String, String> metadata = {}; - //var responseStream = _stub.subscribe(request); - stub.subscribe(request).listen((value) async { + var responseStream = stub.subscribe(request, options: CallOptions(metadata: metadata)); + responseStream.listen((value) async { for (var update in value.updates) { if (!(update.hasEntry() && update.entry.hasPath())) continue; handleSignalsUpdate(update); @@ -357,7 +366,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setUint32( VSSPath.vehicleMediaVolume, newVal.toInt(), - false, + true, ); } @@ -369,7 +378,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setInt32( VSSPath.vehicleDriverTemperature, value, - false, + true, ); state = state.copyWith(driverTemperature: value); break; @@ -377,7 +386,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setInt32( VSSPath.vehiclePassengerTemperature, value, - false, + true, ); state = state.copyWith(passengerTemperature: value); break; @@ -391,6 +400,27 @@ class VehicleNotifier extends StateNotifier<Vehicle> { } void updateFanSpeed(int newValue) { + // Convert local 0-3 setting to the 0-100 the VSS signal expects + var targetFanSpeed = 0; + switch (newValue) { + case 1: + targetFanSpeed = 33; + break; + case 2: + targetFanSpeed = 66; + break; + case 3: + targetFanSpeed = 100; + case 0: + default: + break; + } + var helper = ValClientHelper(stub: stub, authorization: authorization); + helper.setUint32( + VSSPath.vehicleFanSpeed, + targetFanSpeed, + true, + ); state = state.copyWith(fanSpeed: newValue); } @@ -402,7 +432,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setBool( VSSPath.vehicleIsAirConditioningActive, !state.isAirConditioningActive, - false, + true, ); state = state.copyWith( isAirConditioningActive: !state.isAirConditioningActive); @@ -411,7 +441,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setBool( VSSPath.vehicleIsFrontDefrosterActive, !state.isFrontDefrosterActive, - false, + true, ); state = state.copyWith( isFrontDefrosterActive: !state.isFrontDefrosterActive); @@ -420,7 +450,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setBool( VSSPath.vehicleIsRearDefrosterActive, !state.isRearDefrosterActive, - false, + true, ); state = state.copyWith( isRearDefrosterActive: !state.isRearDefrosterActive); @@ -429,7 +459,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { helper.setBool( VSSPath.vehicleIsRecirculationActive, !state.isRecirculationActive, - false, + true, ); state = state.copyWith( isRecirculationActive: !state.isRecirculationActive); @@ -452,7 +482,7 @@ class VehicleNotifier extends StateNotifier<Vehicle> { var range = state.range; var psi = state.frontLeftTire; var actualSpeed = 0.0; - var actualRpm = 0; + var actualRpm = 0.0; var actualFuelLevel = 0.0; var actualInsideTemp = 0.0; var actualOutsideTemp = 0.0; diff --git a/lib/data/models/vehicle.dart b/lib/data/models/vehicle.dart index 16752d3..67ef693 100644 --- a/lib/data/models/vehicle.dart +++ b/lib/data/models/vehicle.dart @@ -12,7 +12,7 @@ class Vehicle { final int mediaVolume; final bool isChildLockActiveLeft; final bool isChildLockActiveRight; - final int engineSpeed; + final double engineSpeed; final int frontLeftTire; final int frontRightTire; final int rearLeftTire; @@ -101,7 +101,7 @@ class Vehicle { int? mediaVolume, bool? isChildLockActiveLeft, bool? isChildLockActiveRight, - int? engineSpeed, + double? engineSpeed, int? frontLeftTire, int? frontRightTire, int? rearLeftTire, diff --git a/lib/export.dart b/lib/export.dart index 20aa850..2fe6356 100644 --- a/lib/export.dart +++ b/lib/export.dart @@ -62,7 +62,6 @@ export 'core/utils/widgets/back_button.dart'; export 'core/constants/vss_path.dart'; export 'core/constants/val_client_helper.dart'; export 'core/constants/constants.dart'; -export 'core/constants/paths.dart'; //Common widgets export 'presentation/common_widget/settings_top_bar.dart'; export 'presentation/common_widget/generic_button.dart'; diff --git a/lib/presentation/screens/dashboard/widgets/circle_indicator.dart b/lib/presentation/screens/dashboard/widgets/circle_indicator.dart index 8fe9533..6ff3613 100644 --- a/lib/presentation/screens/dashboard/widgets/circle_indicator.dart +++ b/lib/presentation/screens/dashboard/widgets/circle_indicator.dart @@ -46,7 +46,7 @@ class RPMProgressIndicatorState extends ConsumerState<RPMProgressIndicator> children: [ Text( - rpm.toString(), + rpm.toStringAsFixed(0), style: GoogleFonts.brunoAce( textStyle: const TextStyle(color: Colors.white, fontSize: 44), ), @@ -87,7 +87,7 @@ class RPMProgressIndicatorState extends ConsumerState<RPMProgressIndicator> width: 220, child: CustomPaint( foregroundPainter: CirclePainter( - value: rpm.toDouble(), + value: rpm, maxValue: maxRpm.toDouble(), isRPM: true, ), |