Replies: 5 comments 9 replies
-
Just a quick heads up: I managed to get the clear text from the encrypted bodies. Inside is a plain REST API with json. Example response from unauthenticated endpoint {"code":0,"data":[{"englishName":"Albania","localName":"Albania","countryCode":"AL","phoneCode":"355","description":"1","id":36},{"englishName":"Austria","localName":"Austria","countryCode":"AT","phoneCode":"43","description":"0","id":3},{"englishName":"Belgium","localName":"Belgium","countryCode":"BE","phoneCode":"32","description":"0","id":2},{"englishName":"Bosnia and Herzegovina","localName":"Bosnia and Herzegovina","countryCode":"BH","phoneCode":"387","description":"1","id":34},{"englishName":"Bulgaria","localName":"Bulgaria","countryCode":"BG","phoneCode":"359","description":"1","id":37},{"englishName":"Croatia","localName":"Croatia","countryCode":"CT","phoneCode":"385","description":"1","id":25},{"englishName":"Cyprus","localName":"Cyprus","countryCode":"CY","phoneCode":"357","description":"0","id":29},{"englishName":"Czech","localName":"Czech","countryCode":"CZ","phoneCode":"420","description":"1","id":22},{"englishName":"Denmark","localName":"Denmark","countryCode":"DK","phoneCode":"45","description":"0","id":1},{"englishName":"Estonia","localName":"Estonia","countryCode":"EST","phoneCode":"372","description":"1","id":38},{"englishName":"Finland","localName":"Finland","countryCode":"FI","phoneCode":"358","description":"0","id":18},{"englishName":"France","localName":"France","countryCode":"FR","phoneCode":"33","description":"0","id":11},{"englishName":"Germany","localName":"Germany","countryCode":"GE","phoneCode":"49","description":"0","id":12},{"englishName":"Greece","localName":"Greece","countryCode":"GR","phoneCode":"30","description":"1","id":19},{"englishName":"Hong Kong, China","localName":"Hong Kong,China","countryCode":"HK","phoneCode":"852","description":"0","id":43},{"englishName":"Hungary","localName":"Hungary","countryCode":"HU","phoneCode":"36","description":"1","id":21},{"englishName":"Iceland","localName":"Iceland","countryCode":"IS","phoneCode":"354","description":"0","id":17},{"englishName":"Ireland","localName":"Ireland","countryCode":"IE","phoneCode":"353","description":"0","id":16},{"englishName":"Israel","localName":"Israel","countryCode":"IL","phoneCode":"972","description":"0","id":26},{"englishName":"Italy","localName":"Italy","countryCode":"IT","phoneCode":"39","description":"0","id":10},{"englishName":"Latvia","localName":"Latvia","countryCode":"LV","phoneCode":"371","description":"1","id":39},{"englishName":"Lithuania","localName":"Lithuania","countryCode":"LTU","phoneCode":"370","description":"1","id":40},{"englishName":"Luxembourg","localName":"Luxembourg","countryCode":"LU","phoneCode":"352","description":"0","id":9},{"englishName":"Malaysia","localName":"Malaysia","countryCode":"MYS","phoneCode":"60","description":"3","id":50},{"englishName":"Malta","localName":"Malta","countryCode":"MT","phoneCode":"356","description":"0","id":28},{"englishName":"Moldova","localName":"Moldova","countryCode":"MD","phoneCode":"373","description":"1","id":41},{"englishName":"Montenegro","localName":"Montenegro","countryCode":"ME","phoneCode":"382","description":"1","id":35},{"englishName":"Nepal","localName":"Nepal","countryCode":"NPL","phoneCode":"977","description":"3","id":52},{"englishName":"Netherlands","localName":"Netherlands","countryCode":"NL","phoneCode":"31","description":"0","id":8},{"englishName":"North Macedonia","localName":"North Macedonia","countryCode":"NM","phoneCode":"389","description":"1","id":33},{"englishName":"Norway","localName":"Norway","countryCode":"NO","phoneCode":"47","description":"0","id":7},{"englishName":"Poland","localName":"Poland","countryCode":"PL","phoneCode":"48","description":"1","id":20},{"englishName":"Portugal","localName":"Portugal","countryCode":"PT","phoneCode":"351","description":"0","id":5},{"englishName":"Romania","localName":"Romania","countryCode":"ROM","phoneCode":"40","description":"1","id":42},{"englishName":"Serbia","localName":"Serbia","countryCode":"SRB","phoneCode":"381","description":"1","id":32},{"englishName":"Singapore","localName":"Singapore","countryCode":"SGP","phoneCode":"65","description":"3","id":51},{"englishName":"Slovakia","localName":"Slovakia","countryCode":"SK","phoneCode":"421","description":"0","id":23},{"englishName":"Slovenia","localName":"Slovenia","countryCode":"SI","phoneCode":"386","description":"0","id":24},{"englishName":"Spain","localName":"Spain","countryCode":"SP","phoneCode":"34","description":"0","id":13},{"englishName":"Sweden","localName":"Sweden","countryCode":"SE","phoneCode":"46","description":"0","id":4},{"englishName":"Switzerland","localName":"Switzerland","countryCode":"SZL","phoneCode":"41","description":"0","id":6},{"englishName":"UK","localName":"UK","countryCode":"UK","phoneCode":"44","description":"0","id":14},{"englishName":"Ukraine","localName":"Ukraine","countryCode":"UKR","phoneCode":"380","description":"1","id":44}],"message":"success"} |
Beta Was this translation helpful? Give feedback.
-
The API seems to be not yet fully implemented:
|
Beta Was this translation helpful? Give feedback.
-
I can now talk to the new RESt API. Logging in and retrieving data from the car works. Demo code: The vehicle and charge data from the new API have the same structure as the corresponding endpoints from the old API. The ASN.1 structure is basically just converted to json. There are several new API endpoints, some of them throw errors and are either not ready yet, or maybe disabled in the EU. |
Beta Was this translation helpful? Give feedback.
-
This is really great work. Big thanks for the effort! This works so far, but I noticed that the API calls often fail or deliver wrong data when the car is inactive. Especially in EVCC I see that the calls fail over and over, even though I notice the car waking up. This feels kind of dangerous, because it could drain the 12V battery. |
Beta Was this translation helpful? Give feedback.
-
Thanks so much for this work. The openHAB binding has stopped working so I will try to use this as a basis to update it to new API. Will the code in the API branch get released as maven artifacts? This would be the easiest and cleanest way for me to reuse it. Thanks again, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
The iSmart app in version 2.0 seems to use a new API endpoint: https://gateway-mg-eu.soimt.com/api.app/v1/oauth/token
Send to be a REST api. But the request and response body are encrypted. I haven't seen any ASN.1 messages there.
Will have a look into it in the next few days. Maybe we can get rid of all the binary ASN.1 messages.
Beta Was this translation helpful? Give feedback.
All reactions