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
428 stars 85 forks source link

Climate "Your vehicle does not support this feature" on Ioniq 5 #400

Closed kurts-gmail closed 11 months ago

kurts-gmail commented 1 year ago

Start/stop climate don't work with my USA Ioniq5. Lock does work. Did they change the API? There's mention of it over at bluelinky https://github.com/Hacksore/bluelinky/issues/221

2022-11-01 23:47:17.743 DEBUG (SyncWorker_1) [custom_components.kia_uvo.HyundaiBlueLinkAPIUSA] kia_uvo - Stop engine.. 2022-11-01 23:47:17.744 DEBUG (SyncWorker_1) [custom_components.kia_uvo.HyundaiBlueLinkAPIUSA] kia_uvo - Stop engine headers: {'content-type': 'application/json;charset=UTF-8', 'accept': 'application/json, text/plain, /', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', 'host': 'api.telematics.hyundaiusa.com', 'origin': 'https://api.telematics.hyundaiusa.com', 'referer': 'https://api.telematics.hyundaiusa.com/login', 'from': 'SPA', 'to': 'ISS', 'language': '0', 'offset': '-6', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'refresh': 'false', 'encryptFlag': 'false', 'brandIndicator': 'H', 'gen': '2', 'username': '..., 'blueLinkServicePin': '...', 'client_id': '...', 'clientSecret': 'v...', 'accessToken': '...', 'vin': '...', 'vehicleId': '...', 'pAuth': None, 'registrationId': '...'} 2022-11-01 23:47:18.216 DEBUG (SyncWorker_1) [custom_components.kia_uvo.HyundaiBlueLinkAPIUSA] kia_uvo - Stop engine response status code: 502 2022-11-01 23:47:18.217 DEBUG (SyncWorker_1) [custom_components.kia_uvo.HyundaiBlueLinkAPIUSA] kia_uvo - Stop engine response: {"errorSubCode":"GEN","systemName":"BLODS","errorSubMessage":"Feature Status is OFF","errorMessage":"Your vehicle does not support this feature.","errorCode":502}

cdnninja commented 1 year ago

Which version are you running?

kurts-gmail commented 1 year ago

v1.8.2

cdnninja commented 1 year ago

Are you able to sniff the payload from your mobile app and compare to the above? Interested to see if it matches what was mentioned in the other thread or not.

kurts-gmail commented 1 year ago

I’m not sure how to do that since the request from the app is sent with TLS and encrypted right? Was wondering if I could dump the strings from the iOS app.

cdnninja commented 1 year ago

I haven't tried it but https://www.charlesproxy.com/ should work for iOS. It is using TLS correct.

kurts-gmail commented 1 year ago

I didn’t have luck with this. Got charlesproxy installed and working with other ssl sites but bluelink app says the certificate is invalid. Charles proxy docs mention some apps use pinned certs preventing its use.

cdnninja commented 1 year ago

Another option is we give the bluelinky details a try and see if they work? Is that something you can help with? Happy to get the code ready for you to run.

kurts-gmail commented 1 year ago

I cloned bluelinky and I got the same "Your vehicle does not support this feature" error in both the master and develop (which has the new API) branches.

I misinterpreted the Bluelinky issue I linked. It looks like the API change was in Bluelinky -- the Hyundai API stayed the same.

I also put in a junk body for the start request and got the same error. That makes me wonder if the start API URL changed.

cdnninja commented 1 year ago

Looks like we will need something who finds a way to sniff the traffic to figure this one out. Any chance one of you could help: @TarheelGrad1998 @bvlaicu @TarheelGrad1998?

zphaze commented 1 year ago

I have just purchased an Ioniq 5 SEL in the USA and have sniffed the traffic when sending a climate start command from my iPhone. Climate temp set to 72f and no heating functions toggled on.

POST /ac/v2/evc/fatc/start HTTP/1.1
Host: api.telematics.hyundaiusa.com
deviceId: ...
Accept: */*
deviceMeid: ...
Accept-Encoding: gzip, deflate, br
Location: ...
Content-Length: 76
User-Agent: MyHyundai/5.1.5 (iPhone; iOS 17.0; Scale/3.00)
deviceName: iPhone
gen: 2
Cookie: ...
Version: 1.4.7
pinToken: ...
registrationId: ....
osVersion: 17.0
from: SPA
access_token: ...
brandIndicator: H
Accept-Language: en-US;q=1
NADID: ...
requestId: 59
username: ...
Featureusage_time: 2023-09-04T16:43:11Z
Client_Id: ...
vin: ...
Offset: -7
Connection: keep-alive
Content-Type: application/json
osType: iOS
APPCLOUD-VIN: ...
appVersion: 5.1.5
Language: 0
To: ISS
appType: MyHyundai

{"airCtrl":1,"airTemp":{"value":"72","unit":1},"heating1":0,"defrost":false}

I would love to help get this working for the US Ioniq 5. If i removed any info you need, please let me know.

might be helpful for related issues as well

Hyundai-Kia-Connect/hyundai_kia_connect_api/issues/369 and Hacksore/bluelinky/issues/221

cdnninja commented 1 year ago

That looks to be exactly what is needed. Is this something you want to learn to assist with on development?

zphaze commented 1 year ago

Yes, I would love to learn and help! Please, let me know what I can do

TaiPhamD commented 12 months ago

Yes, I would love to learn and help! Please, let me know what I can do

@zphaze do you have any example payloads that would include the SOC battery % ? I would love to add that feature.

I am using your info to update my blue link GO api and a proxy server so you can use it to setup SIRI integration if you like. I got siri integration working now to start/stop climate using Siri shortcut (simple HTTPS POST client)

zphaze commented 12 months ago

@TaiPhamD A SIRI command was my ultimate goal with the home assistant integration, but this looks like it may do what I'm looking for. I will give it a try!

As far as the SOC, are you looking for a charge limit command or a current SOC request?

kurts-gmail commented 12 months ago

@zphaze can you share how you sniffed the traffic? I tried Charles Proxy to sniff the https stream but the app would no longer function. Any tips?

TaiPhamD commented 12 months ago

@kurts-gmail i had a lot of issue trying to sniff on android . On iOS is much simpler . On android starting newer version most app will ignore user imported CA so you need to add the CA to system root CA (requiring root privileges ) or decompile .APK to modify networking xml to tell it to also allow user CA files. I got close on sniffing on android but couldn't fully get it to work then switched to iOS and got it working in 5 minutes . Just import Charles CA on iOS and remember to enable (off by default) , set proxy on your wifi to hit your Charles proxy server. You might need to click "allow unknown client" once it detects your phone connected to it on the Charles proxy app. Also make sure you add in host name for the hosts that you want to decrypt .

cdnninja commented 12 months ago

https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/pull/429 Aligns URLs. To test it edit your manifest file and adjust the API version to 3.10.2.

Let me know what error you get or if it works. This touches both start_climate and stop.

zphaze commented 12 months ago

@cdnninja I updated the manifest through VS Code and removed and re-added the integration. I send the start climate command with temperature, front defroster off, rear window and side mirrors off, and steering wheel heat off as those are the only features my app has available. The debug shows lots more settings that the car does not support. May that also be the cause of the "Your vehicle does not support this feature" error?

I also tried the stop climate command after starting the car from my phone and the same "Your vehicle does not support this feature" error occurred. Is there a way to confirm that the API change in the manifest worked?

This is my home assistant service call, which matches what settings I can set in my app:

service: kia_uvo.start_climate
data:
  climate: true
  heating: "0"
  device_id: ...
  temperature: 72
  defrost: false

This is the log after that service:

2023-10-23 22:31:33.776 DEBUG (SyncWorker_16) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine..
2023-10-23 22:31:33.776 DEBUG (SyncWorker_16) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine headers: {'content-type': 'application/json;charset=UTF-8', 'accept': 'application/json, text/plain, */*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', 'host': 'api.telematics.hyundaiusa.com', 'origin': 'https://api.telematics.hyundaiusa.com', 'referer': 'https://api.telematics.hyundaiusa.com/login', 'from': 'SPA', 'to': 'ISS', 'language': '0', 'offset': '-7', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'refresh': 'false', 'encryptFlag': 'false', 'brandIndicator': 'H', 'gen': '2', 'client_id': '...', 'clientSecret': '...', 'username': '...', 'accessToken': '...', 'blueLinkServicePin': '...', 'registrationId': '...', 'vin': '...'}
2023-10-23 22:31:33.776 DEBUG (SyncWorker_16) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine data: {'Ims': 0, 'airCtrl': 1, 'airTemp': {'unit': 1, 'value': 72}, 'defrost': False, 'heating1': 0, 'igniOnDuration': 5, 'seatHeaterVentInfo': {'drvSeatHeatState': 0, 'astSeatHeatState': 0, 'rlSeatHeatState': 0, 'rrSeatHeatState': 0}, 'username': '...', 'vin': '...'}
2023-10-23 22:31:33.915 DEBUG (SyncWorker_16) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine response status code: 502
2023-10-23 22:31:33.915 DEBUG (SyncWorker_16) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine response: {"errorSubCode":"GEN","systemName":"BLODS","errorSubMessage":"Feature Status is OFF","errorMessage":"Your vehicle does not support this feature.","errorCode":502}
cdnninja commented 12 months ago

Could you confirm in debug logs if the new endpoint is used?

zphaze commented 12 months ago

I am not seeing the endpoints anywhere in the debug logs.

cdnninja commented 12 months ago

Looks like the USA one doesn't set vehicle type yet. We need to fix that. From your "data" sensor can you look in attributes for something that shows the engine type? Here is an example in Canada where we find the engine type.
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/0852669f1b65900544cce56d4a7cffcc28a6fa14/hyundai_kia_connect_api/KiaUvoApiCA.py#L154-L171

Vs USA Hyundai currently we just grab VIN and a few other details:

https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/0852669f1b65900544cce56d4a7cffcc28a6fa14/hyundai_kia_connect_api/HyundaiBlueLinkAPIUSA.py#L469-L478

zphaze commented 12 months ago

Oh yea thats a problem, looks like evStatus with letter E is the USA equivalent but heres the data in case you see something else.

Vehicle data
vehicleDetails:
  svrStatus: NONE
  dynamicBurgerMenu: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/sel/exterior/base/shooting-star/Dashboard-01.png/jcr:content/renditions/cq5dam.thumbnail.105.68.png
  remoteStartWakeupDays: seven
  enrollmentDate: '20230901'
  svdDay: '28'
  trim: SEL
  modelCode: IONIQ 5
  ubiCapabilityInd: 'Y'
  vin: …
  enrollmentId: '4815575'
  sideMirrorHeatCapable: 'YES'
  ownersuccession: '1'
  odometer: '3476'
  nickName: Winter Soldier
  defaultBurgerMenu: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/sel/exterior/base/default/Dashboard-01.png/jcr:content/renditions/cq5dam.thumbnail.105.68.png
  evStatus: E
  modelYear: '2023'
  steeringWheelHeatCapable: 'YES'
  defaultDashboard: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/sel/exterior/base/default/Dashboard-01.png
  vehicleGeneration: '2'
  starttype: KEY
  sapColorCode: T5R
  bluelinkEnabled: true
  odometerUpdateDate: '20231024175216'
  fatcAvailable: 'Y'
  color: MATTE GRAY
  maintSyncCapable: 'YES'
  brandIndicator: H
  deviceStatus: ENROLLED
  setOffPeak: '1'
  mapProvider: HERE
  generalBurgerMenu: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/general/exterior/base/default/Dashboard-01.png/jcr:content/renditions/cq5dam.thumbnail.105.68.png
  interiorColor: VKE
  accessoryCode: WAVN 5.0
  nadid: ‘…’
  mit: '7500'
  regid: …
  blueLink: 'Y'
  waypointInd: 'NO'
  billingInd: MONTHLY
  dynamicDashboard: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/sel/exterior/base/shooting-star/Dashboard-01.png
  imat: '7500'
  additionalVehicleDetails:
    temperatureRange: 'true'
    tmuSleepMode: 'No'
    enableHCAModule: 'Y'
    maxTemp: 82
    icpParking: 1
    remoteLockConsentForRemoteStart: 'No'
    calendarVehicleSyncEnable: 'Yes'
    vehicleModemType: 4G (NEEV23.USA.S5W_M.V011.004.231004)
    icpAACapable: 'Y'
    icpDriveThru: 0
    dkType: DK TYPE UNKNOWN
    dynamicSOCText: >-
      Use the slider above to set a charge limit. Charging will stop when this
      battery level is reached. The limit cannot be set lower than 50% This
      setting will override all other charge settings if set.
    enableRoadSideAssitanceAAAModule: 'Y'
    idleSpeedinValetAlert: 'N'
    evAlarmOptionInfo: 'Yes'
    mapOtaAccepted: 'N'
    dkCapable: 'Y'
    combinedHeatSettingsEnable: 'N'
    icpChargingStation: 0
    hyundaiHome: 'N'
    wifiHotspotCapable: 'Y'
    tmuSleepInMin: 69.48333333333333
    dkEnrolled: 'N'
    icpAvntCapable: 'Y'
    enableEVTrip: 'N'
    minTemp: 62
    icpFuelStation: 0
    targetSOCLevelMax: 100
    remoteLockConsentForRemoteStartCapable: 'No'
    eaPromotion:
      expireOn: 3 years from vehicle purchase date
      description: >-
        Electrify America teamed up with Hyundai to offer 250 kWh (approx. 1,000
        miles of EPA-estimated driving range*) of complimentary charging on its
        nationwide ultra-fast charging network. To register, download the
        Electrify America app, then input your activation code and vehicle's
        VIN. Contact Electrify America Customer Assistance 24/7 at
        1-833-632-2778 or <a
        href="mailto:support@electrifyamerica.com">support@electrifyamerica.com</a>
        for questions about this program. </br></br><a
        href="https://owners.hyundaiusa.com/us/en/resources/getting-started/getting-started-with-the-electrify-america-hyundai-premium-charging-program.html">Learn
        More</a>.</br></br>To claim the complimentary charging
        for your vehicle enroll in the Electrify America Hyundai Premium
        Charging Program by clicking <a
        href="https://www.electrifyamerica.com/mobile-app/">here</a>.
      enrollmentCode: …
    msCapableOption: 'N'
    icpCPCapable: 'Y'
    enableValetActivate: 'Y'
    energyConsoleCapable: 'No'
    cpoVehicle: 'No'
  transmissiontype: AUTO
  bluelinkEnrolled: true
  targetSOCLevel: '50'
  rearWindowHeatCapable: 'YES'
  preferredDealerCode: ...
  hmaModel: NE1
  series: IONIQ 5
  enrollmentStatus: ACTIVE
  generalDashboard: >-
    https://owners.hyundaiusa.com/content/dam/hyundai/us/myhyundai/image/2023/ioniq-5/general/exterior/base/default/Dashboard-01.png
  userprofilestatus: 'Y'
vehicleStatus:
  dateTime: '20231025011307'
  acc: true
  defrostStatus: 'false'
  transCond: true
  doorLockStatus: 'false'
  doorOpen:
    frontRight: 0
    frontLeft: 1
    backLeft: 0
    backRight: 0
  washerFluidStatus: false
  battery:
    batSoc: 83
    sjbDeliveryMode: 1
  hazardStatus: 0
  vehicleLocation:
    coord:
      lon: …
      type: 0
      lat: …
  ign3: true
  ignitionStatus: 'false'
  lowFuelLight: false
  sideBackWindowHeat: 0
  engine: false
  remoteWaitingTimeAlert:
    remoteControlWaitingTime: 168
    remoteControlAvailable: 1
  hoodOpen: false
  breakOilStatus: false
  airConditionStatus: 'true'
  smartKeyBatteryWarning: false
  steerWheelHeat: 0
  tailLampStatus: 0
  trunkOpen: false
  doorLock: false
  airCtrlOn: true
  airTemp:
    unit: 1
    hvacTempType: 1
    value: '72'
  evStatus:
    valueDiff: 0
    remainTime2:
      etc3:
        unit: 1
        value: 0
      etc2:
        unit: 1
        value: 0
      atc:
        unit: 1
        value: 0
      etc1:
        unit: 1
        value: 0
    evIgnitionStatus: true
    inletLockModeStatus: 0
    batteryPlugin: 1
    timeDiff: 6
    batteryCharge: false
    batteryStatus: 90
    remainTime: []
    batteryPreconditiong: false
    drvDistance:
      - rangeByFuel:
          gasModeRange:
            unit: 3
            value: 0
          totalAvailableRange:
            unit: 3
            value: 258
          evModeRange:
            unit: 3
            value: 258
        type: 2
    reservChargeInfos:
      targetSOClist:
        - rangeByFuel:
            gasModeRange:
              unit: 3
              value: 0
            totalAvailableRange:
              unit: 3
              value: 258
            evModeRange:
              unit: 3
              value: 258
          plugType: 0
          targetSOClevel: 90
          type: 2
        - rangeByFuel:
            gasModeRange:
              unit: 3
              value: 0
            totalAvailableRange:
              unit: 3
              value: 258
            evModeRange:
              unit: 3
              value: 258
          plugType: 1
          targetSOClevel: 90
          type: 2
      reservChargeInfo:
        dateTime: 2023/10/24T19:22:31Z
        reservChargeInfoDetail:
          reservChargeSet: false
          reservEndTime: ''
          reservFatcSet:
            defrost: false
            airTemp:
              unit: 1
              value: '76'
            airCtrl: 0
          reservInfo:
            time:
              timeSection: 0
              time: '1200'
            day:
              - 9
      reservFlag: 0
      reserveChargeInfo2:
        reservChargeInfoDetail:
          reservChargeSet: false
          reservEndTime: ''
          reservFatcSet:
            defrost: false
            airTemp:
              unit: 1
              value: '76'
            airCtrl: 0
          reservInfo:
            time:
              timeSection: 0
              time: '1200'
            day:
              - 9
      offpeakPowerInfo:
        offPeakPowerFlag: 0
        offPeakPowerTime1:
          startTime:
            timeSection: 0
            time: '1200'
          endTime:
            timeSection: 0
            time: '1200'
  lampWireStatus:
    headLamp:
      rightBifuncLamp: false
      headLampStatus: false
      leftLowLamp: false
      rightHighLamp: false
      leftBifuncLamp: false
      leftHighLamp: false
      rightLowLamp: false
    stopLamp:
      rightLamp: false
      leftLamp: false
    turnSignalLamp:
      rightRearLamp: false
      rightFrontLamp: false
      leftRearLamp: false
      leftFrontLamp: false
  sleepModeCheck: false
  defrost: false
  tirePressureLamp:
    tirePressureWarningLampRearLeft: 0
    tirePressureWarningLampFrontLeft: 0
    tirePressureWarningLampFrontRight: 0
    tirePressureWarningLampAll: 0
    tirePressureWarningLampRearRight: 0
  trunkOpenStatus: 'false'
Vehicle name
Winter Soldier
cdnninja commented 12 months ago

I have created https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/pull/430 that may help. As a note you just need to change manifest and restart. No need to reinstall the integration. 3.10.3 is the new version to put into the manifest.

zphaze commented 12 months ago

Thanks for the note, that makes testing easier.

Stop climate now works, so the endpoints are functioning!

However start climate now gives a different error and does not start:

2023-10-24 21:21:01.282 DEBUG (SyncWorker_7) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine..
2023-10-24 21:21:01.282 DEBUG (SyncWorker_7) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine headers: {'content-type': 'application/json;charset=UTF-8', 'accept': 'application/json, text/plain, */*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', 'host': 'api.telematics.hyundaiusa.com', 'origin': 'https://api.telematics.hyundaiusa.com', 'referer': 'https://api.telematics.hyundaiusa.com/login', 'from': 'SPA', 'to': 'ISS', 'language': '0', 'offset': '-7', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'refresh': 'false', 'encryptFlag': 'false', 'brandIndicator': 'H', 'gen': '2', 'client_id': '...', 'clientSecret': '...', 'username': '...', 'accessToken': '...', 'blueLinkServicePin': '...', 'registrationId': '...', 'vin': '...'}
2023-10-24 21:21:01.283 DEBUG (SyncWorker_7) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine data: {'Ims': 0, 'airCtrl': 1, 'airTemp': {'unit': 1, 'value': 72}, 'defrost': False, 'heating1': 0, 'igniOnDuration': 5, 'seatHeaterVentInfo': {'drvSeatHeatState': 0, 'astSeatHeatState': 0, 'rlSeatHeatState': 0, 'rrSeatHeatState': 0}, 'username': '...', 'vin': '...'}
2023-10-24 21:21:01.589 DEBUG (SyncWorker_7) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine response status code: 502
2023-10-24 21:21:01.589 DEBUG (SyncWorker_7) [hyundai_kia_connect_api.HyundaiBlueLinkAPIUSA] hyundai_kia_connect_api - Start engine response: {"errorSubCode":"GEN","systemName":"HATA","functionName":"remoteFATCStart","errorSubMessage":"HATA remoteFATCStart service failed while performing the operation RemoteFATCStart","errorMessage":"We're sorry, but we could not complete your request. Please try again later.","errorCode":502,"serviceName":"RemoteFATCStart"}
TaiPhamD commented 12 months ago

Here is the curl command for the US start climate that works with my Ioniq 5. Can double check the parameters here with your log.

curl --location 'https://api.telematics.hyundaiusa.com/ac/v2/evc/fatc/start' \ --header 'access_token: xxxxx' \ --header 'client_id: m66129Bb-em93-SPAHYN-bZ91-am4540zp19920' \ --header 'Host: api.telematics.hyundaiusa.com' \ --header 'User-Agent: okhttp/3.12.0' \ --header 'registrationId: xxx' \ --header 'gen: 2' \ --header 'username: xxxx' \ --header 'vin: xxxx' \ --header 'APPCLOUD-VIN: xxxx' \ --header 'Language: 0' \ --header 'to: ISS' \ --header 'encryptFlag: false' \ --header 'from: SPA' \ --header 'brandIndicator: H' \ --header 'bluelinkservicepin: xxxx' \ --header 'offset: -4' \ --header 'Content-Type: application/json' \ --data '{"airCtrl":1,"airTemp":{"value":"72","unit":1},"heating1":0,"defrost":false}'

zphaze commented 12 months ago

Created my first Pull Request in an attempt to help out! Would that work to make the data match from the sniffed data?

https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/pull/431

zphaze commented 12 months ago

Looks like we figured out the API issues, once they are pushed to a release I can hopefully do the final test inside Home Assistant.

cdnninja commented 12 months ago

A new api version exists to try in your manifest.

zphaze commented 12 months ago

That works! successfully turned on my car!

cdnninja commented 11 months ago

Thank you for the work to get this resolved. The new API now is in this repo and a release created. https://github.com/Hyundai-Kia-Connect/kia_uvo/pull/733