Skip to content
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

No success on new install #25

Closed
cgraf opened this issue Dec 2, 2022 · 30 comments
Closed

No success on new install #25

cgraf opened this issue Dec 2, 2022 · 30 comments
Assignees
Labels
bug Something isn't working

Comments

@cgraf
Copy link
Contributor

cgraf commented Dec 2, 2022

Hello,

This looks really cool, but I'm not able to get a successful response. Not sure if there is a way to tell if the problem is on my end or somewhere else. Logging in to Uconnect works fine with my credentials.

[09:38:49 INF] Now fetching new data...
[09:38:49 INF] Mqtt connection successful
[09:38:50 DBG] {
  "CallId": "<removed>",
  "ErrorCode": 0,
  "ErrorDetails": null,
  "ErrorMessage": null,
  "ApiVersion": 2,
  "StatusCode": 200,
  "StatusReason": "OK",
  "Time": "2022-12-02T15:38:50.432+00:00"
}
[09:38:50 DBG] {
  "UID": "<removed>",
  "SessionInfo": {
    "login_token": "<removed>"
  },
  "CallId": "<removed>",
  "ErrorCode": 0,
  "ErrorDetails": null,
  "ErrorMessage": null,
  "ApiVersion": 2,
  "StatusCode": 200,
  "StatusReason": "OK",
  "Time": "2022-12-02T15:38:50.88+00:00"
}
[09:38:51 DBG] {
  "id_token": "<removed>,
  "CallId": "<removed>",
  "ErrorCode": 0,
  "ErrorDetails": null,
  "ErrorMessage": null,
  "ApiVersion": 2,
  "StatusCode": 200,
  "StatusReason": "OK",
  "Time": "2022-12-02T15:38:51.003+00:00"
}
[09:38:51 DBG] {
  "IdentityId": "<removed>",
  "Token": "<removed>"
}
[09:38:52 WRN] Error connecting to the FIAT API. 
This can happen from time to time. Retrying in 15 minutes.
[09:38:52 DBG] Response could not be deserialized to JSON: GET https://channels.sdpr-02.fcagcv.com/v4/accounts/<removed>/vehicles?stage=ALL
[09:38:52 INF] Fetching COMPLETED. Next update in 15 minutes.
@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 2, 2022

what car and which vendor and what region ?

can you control your car with one of the following sites ?

Fiat: https://myuconnect.fiat.com/
Jeep: https://myuconnect.jeep.com/
Ram: https://connect.ramtrucks.com/
Dodge: https://connect.dodge.com/
AlfaRomeo: https://myalfaconnect.alfaromeo.com/

@cgraf
Copy link
Contributor Author

cgraf commented Dec 2, 2022

Jeep Grand Cherokee 4xe.

Yes with the Jeep site, although flow of hitting https://myuconnect.jeep.com/ goes to https://connect.jeep.com/ -> North America -> US and finally to https://connect.jeep.com/us/en/dashboard. Works there though.

I would be interested to see what response could not be deserialized to JSON from the API request. Usually that is some kind of higher level HTTP error like 401 or 503 prior to the api isn't it?

Hitting https://channels.sdpr-02.fcagcv.com/v4/accounts/<removed>/vehicles?stage=ALL actually produces a "FORBIDDEN" JSON response, because I don't have a session token in a normal browser session, but it looks like the API is up.

Happy to do some external testing in Postman if you could point me to some API documentation.

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 2, 2022

Happy to do some external testing in Postman if you could point me to some API documentation.

@cgraf 😆 unfortunately they do not have any docs. im using some internal undocumented apis that have been reverse engineered from the app and website. if you want to dig deeper you can use the browser dev tools and inspect the requests on the uconnect site or the android app with proxy in the middle. for this case browser tools should be sufficient. you cannot use postman because they use a extremely complicated login mechanism with different urls, tokens and even amazon aws identity service is involed. you should see all in the browser dev tools including a request for listing vehicles.

last week there was a issue with jeep in brazil #17
maybe they use a different aws region or url for north america. for better debugging i could extend the error message in debug mode with the actual response. let me know what you find out 😄

edit: it would be great if we can make this work together because i dont have any other car than my fiat 500e (europe). so its difficult for me to test anything else.

@wubbl0rz wubbl0rz added the bug Something isn't working label Dec 2, 2022
@cgraf
Copy link
Contributor Author

cgraf commented Dec 2, 2022

if we can make this work together

Sure. I'm committed to trying whatever I can and feeding back anything I find.

inspect the requests on the uconnect site

I'm not sure I'll have time to do a deep dive into reverse engineering this weekend, but might have a look through some of your Cs to figure out what I can. :)

for better debugging i could extend the error message in debug mode with the actual response

That would be a great next step. Let me know when that is ready. Are you going to commit that to main and distribute through normal update, or will I need to do some local hijinks?

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 2, 2022

yes next update. i think its useful for all 😄 should be easy and only active when debug logging is enabled.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 2, 2022

Cool. I'll be watching for it. Maybe also in the debug show the request URL and method if possible.

@lozzamatron
Copy link

I'm having the same issue with my Jeep in North America. Same credentials work on the uconnect site, but not via FiatChamp. I am seeing the same API error in the log

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

I did go ahead and get through the first four steps in Postman. I got everything working up to the Congnito part. Now I understand what the existing debug means, and why the whole thing can't be done in Postman. On Saturday I'll put it in code with some Cognito support and see how much further I get. I did notice in another FIat API project, they were using the real AWS region names in Cognito, like appear in the beginning it IdentityId in the tokenURL response, such as eu-west-1, rather than EUWest1, but I don't know enough about CS to even know what the name is doing there. My IdentityID starts with us-east-1. Probably nothing. I'll play with it some more in a few hours.

@wubbl0rz wubbl0rz self-assigned this Dec 3, 2022
wubbl0rz added a commit that referenced this issue Dec 3, 2022
wubbl0rz added a commit that referenced this issue Dec 3, 2022
@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

3.0.4 now has more debug logs. should now log error message, status code and response body. i suspect that jeep send back "bugged" json thats different from fiat. if you get a json response in the error message pls post it here anonymized 😄

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Just a quick result while I go through it. Response is 200 and JSON is valid. Error persists. It's in this order:


[09:34:53 DBG] {
  "IdentityId": "<removed>",
  "Token": "<removed>"
}
[09:34:54 WRN] Error connecting to the FIAT API. 
This can happen from time to time. Retrying in 15 minutes.
[09:34:54 INF] ERROR: Response could not be deserialized to JSON: GET https://channels.sdpr-02.fcagcv.com/v4/accounts/<removed>/vehicles?stage=ALL
[09:34:54 INF] STATUS: 200
[09:34:54 INF] RESPONSE: <validated JSON>
[09:34:54 INF] Fetching COMPLETED. Next update in 15 minutes.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Ah. The "could not be deserialized" error looks like a Flurl error. Like maybe it is trying to convert something in the response or treating something like an array that is actually a string or vice versa. Appears the comms are fine. Let me compare code and output.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Looks to be something with VehicleResponse, but the only thing you seem to be doing with that is getting the VIN.

vehicleResponse.Vehicles.First().Vin

(object)->vehicles[0]->vin is present in the output, so nothing glaring there except for them being all lowercase in the JSON, but I don't think that matters in Microsoft land.

I think I got the more sensitive bits (UserID and VIN) out of this output, but I may have to come back and edit if I missed something. You should be able to run this through the Flurl parser manually and see where it is complaining.


{
  "userid": "12345678901234567890123456789012",
  "version": 1667772713470,
  "vehicles": [
    {
      "regStatus": "COMPLETED_STAGE_3",
      "color": "BALTIC GREY",
      "tsoBodyCode": "",
      "year": 2022,
      "isCompanyCar": "",
      "navEnabledHU": false,
      "language": "",
      "customerRegStatus": "Y",
      "radio": "",
      "activationSource": "DEALER",
      "nickname": "",
      "company": "FCA",
      "model": "WLXT74",
      "vin": "12345678901234567",
      "tcuType": "2",
      "make": "Jeep",
      "brandCode": "57",
      "soldRegion": "NAFTA",
      "svla": {
        "status": "INACTIVE",
        "timestamp": 0
      },
      "tc": {
        "activation": {
          "version": "v1.23",
          "status": "Accepted"
        },
        "registration": {
          "version": "1.0.0",
          "status": "Accepted"
        }
      },
      "market": "US",
      "modelDescription": "Grand Cherokee 4xe",
      "fuelType": "H",
      "tsoModelYear": "",
      "sdp": "IGNITE",
      "regTimestamp": 1666471789686,
      "services": [
        {
          "vehicleCapable": true,
          "service": "SVLAAPP",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "SVLA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "ROC",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "RDU",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "RDL",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "HUC",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "AOTAC",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "BCALL",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "SOS",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ASSIST",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ECALL",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "HBLF",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ASOS",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "DTC",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_FUEL_FINDER",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_PARKING_FINDER",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_ROUTE_DRM",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_SEARCH",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_SPEED_CAMERA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_TRAFFIC",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_WEATHER",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "PARENT",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "REOFF",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "REON",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "SDV",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "SQDF",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "TA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "VF",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "VHSG",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "VRC",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "WIFIHOTSPOT",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "FTD",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "IVA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "IVM",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "PHEV",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "ALEXAVA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "WIFIP",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "VHS",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "CNOW",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "CSL",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "CP",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "EVNOT",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ELECPAGES",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ORP",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "GSKILLL",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "LASTMILE",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "AOTACI",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ROAD",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "CARE",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ROCRANKINHIBITON",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ROCRANKINHIBITOFF",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "TA_SUP",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "DRIVEMODES",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "RACEOPTIONS",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_MOTA_CELL",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_MOTA_WIFI",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_OB_MOTA_WIFI_CELL",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "BRAND",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "DUMMY",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "DEEPREFRESH",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "FRONTSEAT",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "MACMEDIAAPP",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "L2DATALOG",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "L2MAPSGEO",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "L2GPSCORRECTION",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "TUTORIALS",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ORPPLUS",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ADA_TBM",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "NAV_TOMTOM",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ROCLRPERSDATA",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ROC2",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "ADA_UBI",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": true,
          "service": "CPCHRG2",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "CPA",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": true,
          "service": "CSEV",
          "serviceEnabled": true
        },
        {
          "vehicleCapable": false,
          "service": "TRAILERTP",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "KNGLNKOUT",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "DUMMY_EVAS",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "DUMMY_ENHDCAM",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "DUMMY_TECHFEE",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "DUMMY_WIRECAM",
          "serviceEnabled": false
        },
        {
          "vehicleCapable": false,
          "service": "DUMMY_TRAILERTP",
          "serviceEnabled": false
        }
      ],
      "privacyMode": "INACTIVE",
      "cslProvider": "TOMTOM",
      "subMake": "Jeep",
      "pp": {
        "activation": {
          "version": "1.0.0",
          "status": "Accepted"
        }
      },
      "enrollmentStatus": "COMPLETE",
      "channelFeatures": [
        {
          "featureCode": "100",
          "channels": [
            "CWP",
            "GMA"
          ]
        },
        {
          "featureCode": "f_0097_N",
          "channels": [
            "CWP",
            "GMA"
          ]
        }
      ]
    }
  ]
}


@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

thx for the json output. i think the error is at line 566 when the http client tried to deserialize the response ( https://github.com/wubbl0rz/FiatChamp/blob/master/FiatChampAddon/FiatClient/FiatClient.cs#L566 )

should not be that hard to figure out. i will try to deserialize it by hand as VehicleResponse and see what the actual error from the serializer is.

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

thats the problem

Error converting value "WLXT74" to type 'System.Int64'. Path 'vehicles[0].model',                           

fiat model is always a number 😄 sould be easy to fix ... switch from int to string should not break anything.

wubbl0rz added a commit that referenced this issue Dec 3, 2022
@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

should work now. pls try 3.0.5.

@lozzamatron
Copy link

Just updated to 3.05 and it's working for me. Really appreciate the work to fix this. Thank you! :) FYI I am west coast USA and have 2022 Jeep Grand Cherokee L

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Hmm. Not for me I don't think. Got further but still erroring. Looking...

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Something related to location it seems. I changed my actual long/lat below, but fairly close

[10:43:24 WRN] Error connecting to the FIAT API. 
This can happen from time to time. Retrying in 15 minutes.
[10:43:24 DBG] ERROR: Response could not be deserialized to JSON: GET https://channels.sdpr-02.fcagcv.com/v1/accounts/<removed>/vehicles/<removed>/location/lastknown
[10:43:24 DBG] STATUS: 200
[10:43:24 DBG] RESPONSE: {"timeStamp":1670076291636,"longitude":-95.707932,"latitude"32.536167:,"altitude":null,"bearing":null,"isLocationApprox":false}
[10:43:24 INF] Fetching COMPLETED. Next update in 15 minutes.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Maybe not expecting NULL for altitude and bearing?

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

I do have refresh location configured off. Retrying.

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

let me check. but good you find all this bugs 😁

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

altitude is a double so null might be a problem ... i dont want to know how many workarounds they have implemented in their app to get all this working 😄 refresh location off does not matter its only for automatic querying new location from the car every N minutes.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

No change when location refresh configured ON. Error persists. Altitude and bearing are still NULL.

wubbl0rz added a commit that referenced this issue Dec 3, 2022
@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

pls try with 3.0.6

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

Yuck. I don't have PIN configured in the add-on.

[11:22:13 ERR] Command: DEEPREFRESH ERROR. Maybe wrong pin?
[11:22:13 DBG] Flurl.Http.FlurlHttpException: Call failed with status code 403 (Forbidden): POST https://mfa.fcl-01.fcagcv.com/v1/accounts/<removed>/ignite/pin/authenticate
   at Flurl.Http.FlurlRequest.HandleExceptionAsync(FlurlCall call, Exception ex, CancellationToken token)
   at Flurl.Http.FlurlRequest.SendAsync(HttpMethod verb, HttpContent content, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Flurl.Http.FlurlRequest.SendAsync(HttpMethod verb, HttpContent content, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Flurl.Http.ResponseExtensions.ReceiveJson[T](Task`1 response)
   at FiatChamp.FiatClient.SendCommand(String vin, String command, String pin, String action) in /home/runner/work/FiatChamp/FiatChamp/FiatChampAddon/FiatClient/FiatClient.cs:line 529
   at Program.<>c__DisplayClass0_0.<<<Main>$>g__TrySendCommand|1>d.MoveNext() in /home/runner/work/FiatChamp/FiatChamp/FiatChampAddon/FiatClient/Program.cs:line 259
[11:22:13 INF] SEND COMMAND VF: 
[11:22:13 ERR] Command: VF ERROR. Maybe wrong pin?
[11:22:13 DBG] Flurl.Http.FlurlHttpException: Call failed with status code 403 (Forbidden): POST https://mfa.fcl-01.fcagcv.com/v1/accounts/<removed>/ignite/pin/authenticate
   at Flurl.Http.FlurlRequest.HandleExceptionAsync(FlurlCall call, Exception ex, CancellationToken token)
   at Flurl.Http.FlurlRequest.SendAsync(HttpMethod verb, HttpContent content, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Flurl.Http.FlurlRequest.SendAsync(HttpMethod verb, HttpContent content, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Flurl.Http.ResponseExtensions.ReceiveJson[T](Task`1 response)
   at FiatChamp.FiatClient.SendCommand(String vin, String command, String pin, String action) in /home/runner/work/FiatChamp/FiatChamp/FiatChampAddon/FiatClient/FiatClient.cs:line 529
   at Program.<>c__DisplayClass0_0.<<<Main>$>g__TrySendCommand|1>d.MoveNext() in /home/runner/work/FiatChamp/FiatChamp/FiatChampAddon/FiatClient/Program.cs:line 259

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

disable "refresh battery status" and "refresh location"

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

I have data for the first time! Location and battery have data in HA, so I'm not sure what those refresh settings do, or why changing them fixed the issue.

Documentation says PIN is only needed for write ops.

It looks like HA still creates switches for write ops, but I dare not click them.

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

nice 👍 i should rename "refresh battery status" and "refresh location" to "FORCE refresh" or something like that. it will actively request new values from the car and consume more battery power. thats why it needs the pin. fiat calls this "commands". if you leave them disabled new data will arrive when the car thinks its a good time to update 😄

if you like we can make commands work ? thats the only thing i cannot lookup myself without owning a car. because one need to send a command to a real car to see which url and api key is used. all can be seen in browser dev tools i can post a screenshot where to look at.

PS: if no pin is set a "PIN NOT SET" exception should be raised but it looks like thats not the case. i will fix this with next update.

@cgraf
Copy link
Contributor Author

cgraf commented Dec 3, 2022

I'll probably mess around with commands.

I think it is cool as a developer to understand user's use-cases, I will tell you that I sought out this add-on because I wanted HA to send a reminder when the EV is at home, battery is not full, and EV is not plugged in. Sometimes we forget to plug it in. Seems like a fairly common use case for people that make it this far in their life instrumentation and automation journey. Strangely it seems like the reminder portion is not yet a commercial feature, at least not for the Stellantis group.

I think it is ok to close this bug, as long as you want me to open new ones for other stuff I find.

@wubbl0rz
Copy link
Owner

wubbl0rz commented Dec 3, 2022

alright nice that t works 👍 if you want to lookup command urls and api keys in the browser tools let me know 🚀

@wubbl0rz wubbl0rz closed this as completed Dec 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants