-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Climate "Your vehicle does not support this feature" on Ioniq 5 #400
Comments
Which version are you running? |
v1.8.2 |
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. |
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. |
I haven't tried it but https://www.charlesproxy.com/ should work for iOS. It is using TLS correct. |
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. |
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. |
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. |
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? |
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.
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 |
That looks to be exactly what is needed. Is this something you want to learn to assist with on development? |
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) |
@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? |
@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? |
@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 . |
Hyundai-Kia-Connect/hyundai_kia_connect_api#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. |
@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:
This is the log after that service:
|
Could you confirm in debug logs if the new endpoint is used? |
I am not seeing the endpoints anywhere in the debug logs. |
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. Vs USA Hyundai currently we just grab VIN and a few other details: |
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.
|
I have created Hyundai-Kia-Connect/hyundai_kia_connect_api#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. |
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:
|
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' |
Created my first Pull Request in an attempt to help out! Would that work to make the data match from the sniffed data? |
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. |
A new api version exists to try in your manifest. |
That works! successfully turned on my car! |
Thank you for the work to get this resolved. The new API now is in this repo and a release created. #733 |
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 Hacksore/bluelinky#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}
The text was updated successfully, but these errors were encountered: