VSS signal fixes 94/29494/1
authorScott Murray <scott.murray@konsulko.com>
Wed, 29 Nov 2023 20:29:59 +0000 (15:29 -0500)
committerScott Murray <scott.murray@konsulko.com>
Wed, 29 Nov 2023 20:38:42 +0000 (15:38 -0500)
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>
lib/core/constants/paths.dart [deleted file]
lib/data/data_providers/vehicle_notifier.dart
lib/data/models/vehicle.dart
lib/export.dart
lib/presentation/screens/dashboard/widgets/circle_indicator.dart

diff --git a/lib/core/constants/paths.dart b/lib/core/constants/paths.dart
deleted file mode 100644 (file)
index c3afb99..0000000
+++ /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',
-];
index c11332c..1b2a31a 100644 (file)
@@ -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;
index 16752d3..67ef693 100644 (file)
@@ -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,
index 20aa850..2fe6356 100644 (file)
@@ -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';
index 8fe9533..6ff3613 100644 (file)
@@ -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,
                   ),