Hyundai-Kia-Connect / kia_uvo

A Home Assistant HACS integration that supports Kia Connect(Uvo) and Hyundai Bluelink. The integration supports the EU, Canada and the USA.
MIT License
433 stars 85 forks source link

odo-meter not correct #590

Closed caddyblack closed 1 year ago

caddyblack commented 1 year ago

Region and Brand of car Kia Niro PHEV in EU Version of the integration 2.5.9

Describe the bug The odometer is almost always showing the same value (from December 23, 2022). A few times a week the correct distance is shown. Debug logs if an error occurred No error message found. logfile shows the old odometer value is taken from cache:

2023-02-06 19:36:30.503 DEBUG (SyncWorker_3) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - get_cached_vehicle_status response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'vehicleStatusInfo': {'vehicleLocation': {'coord': {'lat': XX.40058, 'lon': X.493628, 'alt': 0, 'type': 0}, 'head': 0, 'speed': {'value': 0, 'unit': 0}, 'accuracy': {'hdop': 0, 'pdop': 0}, 'time': '20230206193459'}, 'vehicleStatus': {'airCtrlOn': False, 'engine': False, 'doorLock': True, 'doorOpen': {'frontLeft': 0, 'frontRight': 0, 'backLeft': 0, 'backRight': 0}, 'trunkOpen': False, 'airTemp': {'value': '01H', 'unit': 0, 'hvacTempType': 0}, 'defrost': False, 'lowFuelLight': False, 'acc': False, 'evStatus': {'batteryCharge': False, 'batteryStatus': 95, 'batteryPlugin': 0, 'remainTime2': {'etc2': {'value': 15, 'unit': 1}, 'etc3': {'value': 9, 'unit': 1}, 'atc': {'value': 9, 'unit': 1}}, 'drvDistance': [{'rangeByFuel': {'gasModeRange': {'value': 625, 'unit': 1}, 'evModeRange': {'value': 56, 'unit': 1}, 'totalAvailableRange': {'value': 681, 'unit': 1}}, 'type': 2}], 'reservChargeInfos': {'reservChargeInfo': {'reservChargeInfoDetail': {'reservInfo': {'day': [3, 5, 6], 'time': {'time': '0600', 'timeSection': 0}}, 'reservChargeSet': True}}, 'offpeakPowerInfo': {'offPeakPowerTime1': {'starttime': {'time': '0900', 'timeSection': 1}, 'endtime': {'time': '0600', 'timeSection': 0}}, 'offPeakPowerFlag': 0}, 'reserveChargeInfo2': {'reservChargeInfoDetail': {'reservInfo': {'day': [9], 'time': {'time': '1200', 'timeSection': 0}}, 'reservChargeSet': False}}, 'reservFlag': 0, 'ect': {'start': {'day': 9, 'time': {'time': '1200', 'timeSection': 0}}, 'end': {'day': 9, 'time': {'time': '1200', 'timeSection': 0}}}}}, 'ign3': True, 'hoodOpen': False, 'transCond': True, 'steerWheelHeat': 2, 'sideBackWindowHeat': 0, 'tirePressureLamp': {'tirePressureLampAll': 0, 'tirePressureLampFL': 0, 'tirePressureLampFR': 0, 'tirePressureLampRL': 0, 'tirePressureLampRR': 0}, 'seatHeaterVentState': {'frSeatHeatState': 2, 'flSeatHeatState': 2, 'rlSeatHeatState': 2, 'rrSeatHeatState': 2}, 'battery': {'batSoc': 71, 'batState': 0}, 'lampWireStatus': {'stopLamp': {'stopLampStatus': False, 'leftLamp': False, 'rightLamp': False}, 'headLamp': {'headLampStatus': False, 'leftLowLamp': False, 'rightLowLamp': False, 'leftHighLamp': False, 'rightHighLamp': False, 'leftBifuncLamp': False, 'rightBifuncLamp': False}, 'turnSignalLamp': {'turnSignalLampStatus': False, 'leftFrontLamp': False, 'rightFrontLamp': False, 'leftRearLamp': False, 'rightRearLamp': False}}, 'windowOpen': {'frontLeft': 0, 'frontRight': 0, 'backLeft': 0, 'backRight': 0}, 'smartKeyBatteryWarning': False, 'fuelLevel': 0, 'washerFluidStatus': False, 'breakOilStatus': False, 'sleepModeCheck': False, 'time': '20230206193458', 'remoteWaitingTimeAlert': {'remoteControlAvailable': 1, 'remoteControlWaitingTime': 168, 'elapsedTime': '04:33:18'}, 'systemCutOffAlert': 0, 'tailLampStatus': 0, 'hazardStatus': 0}, 'odometer': {'value': 8010.3, 'unit': 1}}}, 'msgId': '6e2e6b42-cf10-4c7b-9cb7-dba6a3e7222a'}

To Reproduce The issue reproduces itself most of times.

Expected behavior I expect the same odometer values I see in the UVO app. Screenshots Screenshot_20230206_184847_File Manager +.jpg

Additional context Niro Odo-data-2023-02-06 19_01_11.csv

cdnninja commented 1 year ago

If the api is saying a value in the cached response not much we can do to fix it. Is the mobile app always correct or only when force updated?

caddyblack commented 1 year ago

I can see in the UVO app at the vehicle report also the old 8010 km value. Suppose the issue is indeed at their side. I can close the issue or will you developers create a variable that will capture and store the max read value?

cdnninja commented 1 year ago

I don't think something we will fix since we could get bad data higher as well. Probably best for you to create a max sensor in home assistant.

caddyblack commented 1 year ago

I contacted the service department of Kia. They pointed me to a newer car software version (version dec. 2023). After updating my car software the app showed the correct data and also Home Assistant showed the correct value again.