NEWS
Adapter Hyundai (Bluelink) oder KIA (UVO)
-
ccu_ccs2_protocol_support ist das Problem...
-
wie bekommen wir das geloest? Reverse-Engineering der App ?
Mal alles mit Wireshark mitschneiden, was die App so spricht? -
@ilovegym ne... das ist schon dokumentiert.. muss halt nur einer Programmieren
-
ok, beim einen haette ich helfen koennen...
schau mal hier:
https://github.com/ZuinigeRijder/hyundai_kia_connect_monitorhilft uns das weiter, da scheint das zu gehen.. er schreibt, dass ccNC infotainment unterstuetzt wird.. (das nutzt wohl das ccu_ccs2_protocol )
-
Ich bin hier nur stiller Mitleser.
Aber bei GoingElectric gibt es einen Thread von "ZuinigeRijder":
https://www.goingelectric.de/forum/viewtopic.php?f=173&t=81576
Vll. interessant für Euch für Nachfragen? -
Den hab ich ja gepostet, aber das Script von ihm ist in Python geschrieben.
-
Ich habe auch einen Kona 2024. Mich interessiert eigentlich nichts außer der Batteriewert. Habe die Kommunikation der Bluelink-Iphone-App mit Burp Suite mitgeschnitten und mit Hilfe von Chatgpt (habe gar keine Ahnung von Javaskript) ein Skript entwickelt, das mir alle 10 Minuten den Batteriewert in einen Datenpunkt schreibt. Ist kein Adapter, aber es tut was es soll. Vielleicht kann jemand damit was anfangen:
const axios = require('axios'); const clientId = 'YOUR_CLIENT_ID'; // Ersetze mit deiner Client ID const refreshToken = 'YOUR_REFRESH_TOKEN'; // Ersetze mit deinem Refresh Token const tokenUrl = 'https://YOUR_API_URL/api/v1/user/oauth2/token'; // Ersetze mit der API-URL für den Token const vehicleId = 'YOUR_VEHICLE_ID'; // Ersetze mit deiner Fahrzeug-ID const carStatusUrl = `https://YOUR_API_URL/api/v1/spa/vehicles/${vehicleId}/ccs2/carstatus/latest`; // Ersetze mit der API-URL für Fahrzeugstatus const deviceId = 'YOUR_DEVICE_ID'; // Ersetze mit deiner Device ID async function getAccessToken() { try { const response = await axios.post(tokenUrl, `client_id=${clientId}&grant_type=refresh_token&redirect_uri=https%3A//YOUR_API_URL/api/v1/user/oauth2/redirect&refresh_token=${refreshToken}`, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'Authorization': 'Basic YOUR_AUTHORIZATION_KEY', // Ersetze mit deinem Base64-codierten Auth Key } }); await getCarStatus(response.data.access_token); } catch (error) { console.error('Error getting access token:', error.response ? error.response.data : error.message); } } async function getCarStatus(accessToken) { try { const response = await axios.get(carStatusUrl, { headers: { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': `Bearer ${accessToken}`, 'Clientid': 'YOUR_CLIENT_ID', // Gleiche Client ID wie oben 'Ccsp-Service-Id': clientId, 'Ccsp-Application-Id': 'YOUR_APPLICATION_ID', // Ersetze mit der Application ID 'Ccsp-Device-Id': deviceId, 'User-Agent': 'YOUR_USER_AGENT', // Ersetze mit deinem User-Agent 'Cache-Control': 'no-cache' } }); const batteryRatio = response.data.resMsg.state.Vehicle.Green.BatteryManagement.BatteryRemain.Ratio; setState('Datenpunkte.0.Sonstiges.Kona-Batterie', { val: batteryRatio, ack: true }); } catch (error) { console.error('Error fetching car status:', error.response ? error.response.data : error.message); } } getAccessToken(); schedule('*/10 * * * *', getAccessToken);
-
@joesch80 sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
const clientId = 'YOUR_CLIENT_ID'; // Ersetze mit deiner Client ID const refreshToken = 'YOUR_REFRESH_TOKEN'; // Ersetze mit deinem Refresh Token const tokenUrl = 'https://YOUR_API_URL/api/v1/user/oauth2/token'; // Ersetze mit der API-URL für den Token const vehicleId = 'YOUR_VEHICLE_ID'; // Ersetze mit deiner Fahrzeug-ID const carStatusUrl = `https://YOUR_API_URL/api/v1/spa/vehicles/${vehicleId}/ccs2/carstatus/latest`; // Ersetze mit der API-URL für Fahrzeugstatus const deviceId = 'YOUR_DEVICE_ID'; // Ersetze mit deiner Device ID
fragen, woher bekomme ich die clientId, den Token, vehicleId (Fahrgestelltnr?), status-URL und die device ID?
-
@ilovegym sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
@joesch80 sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
const clientId = 'YOUR_CLIENT_ID'; // Ersetze mit deiner Client ID const refreshToken = 'YOUR_REFRESH_TOKEN'; // Ersetze mit deinem Refresh Token const tokenUrl = 'https://YOUR_API_URL/api/v1/user/oauth2/token'; // Ersetze mit der API-URL für den Token const vehicleId = 'YOUR_VEHICLE_ID'; // Ersetze mit deiner Fahrzeug-ID const carStatusUrl = `https://YOUR_API_URL/api/v1/spa/vehicles/${vehicleId}/ccs2/carstatus/latest`; // Ersetze mit der API-URL für Fahrzeugstatus const deviceId = 'YOUR_DEVICE_ID'; // Ersetze mit deiner Device ID
fragen, woher bekomme ich die clientId, den Token, vehicleId (Fahrgestelltnr?), status-URL und die device ID?
ich befürchte, die musst du mit Burp auslesen, die vehicleid ist auf jeden fall mal nicht die vin
-
Liebe Leute,
ich verwende den Adapter nun auchschon über ein Jahr und hatte schon mehrmals eine leere 12V Batterie und daher ebenfalls schon eine kleine "Starthilfe Box" im Wagen...
Morgen wird bei mir wiedermal die 12VBatterie gecheckt, da der Wagen wiedermal nach 3 Tagen stehen in der Garage leer war.
JA, er war zugesperrt (öffentliche Garage
Ja, ich hole mir die Daten nur mehr vom Server...ABER, eine Idee für die Entwickler:
Kann man da nicht irgendwie eine Funktion in den Adapter einbauen, dass er
a) alle x Minuten die Daten vom Server holt und
b) alle y Minuten die Daten vom Wagen?
c) oder auch für b) ein Zeitfenster? Also meiner steht zu 95% von Mitternacht bis 5 in der Garage....da brauch ich keine neuen Daten,weil sich eh nix ändert.Was spannend wäre - was passiert wenn man den Adapter stoppt und später wieder startet?
Weil Plan d) wäre, den Adapter selber zu starten und zu stoppen und jeweils davor mit den Datenpunkten einzustellen, ob vom Server oder vom Wagen?
Das geht abernatürlich nur, wenn er bei jedem Start die eingestellte Anzahl an Updates von 0 weg zu zählen beginnt und nicht "pro Tag" oder pro "24 Stunden" rechnet...Weiß da wer mehr drüber?
Liebe Grüße
Tom -
@etv sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
Weiß da wer mehr drüber?
Lieber Tom,
Kann man da nicht irgendwie eine Funktion in den Adapter einbauen, dass er
klar kann man das, kostet DICH aber ca 10.000€ ... ich muss dann mein Zauberdings rausholen um ein wenig hockupokus (kein fidibus der kostet nochmal 3000€) zu machen.. das kostet halt..
mal im ernst.. kein Plan was du da treibst.. warum dein Vehicle die 12V leer saugt.. kein Plan..
ich kann mich an die 80-ger erinnern wo wir Endtufen verbaut haben die ..phuuu.... pervers waren.. wenn du die vergessen hast... alder da war die Luft aus den Reifen auch raus... und der Kat auf links gezogen...du siehst ich kann (und will) nicht in der Situation ernst bleiben.. du hast alle informationen die du für eine Überwachung brauchst..
wie du es machst bleibt dir überlassen.. ob manuell oder automatisch.. ob nach Uhrzeit oder Wetter.. ob bei Dunkelheit oder im hellen...also wo ist das Problem ??
Was spannend wäre - was passiert wenn man den Adapter stoppt und später wieder startet?
und was soll daran spannend sein.. meinst deine Garage explodiert oder der Akku bläht sich auf...
komm ein wenig selbständiges Denken ist doch nicht viel verlangt oder ???mehr als das was ich dir jetzt im Adapter anbiete geht nicht da die API es nicht hergibt
für alle anderen.. ich hab ne Lösung für das Abholen der Daten... für Autos Bj. 2024
-
@etv
Leider muss ich arteck zustimmen.
Du hast doch schon alles beschrieben, was du brauchst.
Mach dir im iobroker ein kleines Blockly in dem zwei Scheduler stecken.
Den einen lässt du von sagen wir 22:00Uhr bis 5:00Uhr einmal die Stunde laufen und der Triggert die Abholung der Daten. Entweder vom Server oder vom Auto.
Den zweiten Job lässt du von 5:01Uhr bis 21:59Uhr von mir aus alle 15min die Daten abfragen.
Das kannst du jetzt auch kombinieren.
Hole Nachts nur vom Server, weil unkritisch (Auto sollte ja stehen, wie du schreibst).
Hole Tagsüber alle 15 Minuten vom Server und jedes vierte mal vom Auto.
Da sind dir keine Grenzen gesetzt.
Du kannst es auch auf die Spitze treiben. Wenn du das Auto zu Hause an die Wallbox klemmst und fragst während der Ladevorgangs im Minutentakt.Ich frage z.B. während des Ladens einfach die Wallbox bzw. einen Shelly ab, wieviel geladen wurde.
Das ist aufgrund der Wandlungsverluste etwas unscharf was den Akku angeht, aber das stört mich nicht.
Mir kommt es drauf an, was aus dem Netz ins Auto geht weil ich das bezahlen muss und nicht das was im Autoakku ist.
Den Akkustand aktualisiere ich tagsüber nur einmal die Stunde.LG RGT
-
@rgt, danke für die Antwort!
Es war eben die Frage, ob das mit einer Schedule funktioniert - diese Frage war eigentlich an den Entwickler ernst gemeint, aber naja...
Liebe Grüße
Tom -
Das ist ja alles mit dem Adapter schon moeglich, man muss "nur" ein Script schreiben, das das macht.
Ich kann Dich verstehen, in HA ist bei der Konfig des Adapters gleich ein Schedule dabei, wo man einstellen kann, wann was abgeholt wird, ich denke, genau so etwas meinst du.
Wobei mir das schon wieder zu umstaendlich und vorgegeben ist, ich haette es gern flexiblerIobroker ist dafuer viel flexibler und wenn man sich ein wenig in Blockly eingelesen hat, und die Datenpunkte sieht, mit denen man agieren kann, ist alles moeglich, und auch relativ einfach umzusetzen, auch wenn man erst damit angefangen hat.
Die Geschichte mit der 12V Batterie ist wieder was ganz anderes, klar, wenn ich dauernd vom Auto Daten abrufe, ist die irgendwann leer, aber da liegen ja ganz andere Softwarefehler vor.
Ist mir auch schon passiert, und da lief kein Service, der automatisch Daten abgerufen hat..
Das ist definitiv ein Ticket fuer Hyundai, da muss endlich mehr Logik rein, wenn die Kiste abgeschlossen und aus ist, hat keine Sitzheizung oder Klima mehr zu laufen.. (das war bei mir der Grund fuer die leere 12V..)Wenn Du hilfe fuer ein Script brauchst, dann frage hier ruhig nach, wir helfen gerne!
-
für alle anderen.. ich hab ne Lösung für das Abholen der Daten... für Autos Bj. 2024
Das sind gute Neuigkeiten; gibt es schon Abschätzungen, wann dies im Adapter zur Verfügung stehen wird?
-
@etv
Vielleicht hilft dir ja das: -
@etv ich lasse den Adapter immer nur vom Server holen. Der ioniq6 von mir überträgt nach der Fahrt und nach dem Laden alle wichtigen Daten an den Server. Und es ändert sich auch nichts an dem Fahrzeugzustand wenn der Wagen parkt…
Es sei denn man fragt die Daten ständig ab, und die Steuergeräte schlafen nicht. Dann ist irgendwann die Batterie leer.
Ich sende mir bei jeder neuen Autoposition und einer Änderung der Tür ( abgeschlossen, auf ) eine Nachricht an Telegramm. Das funktioniert prima man sieht z. B. Ob der Händler an der Karre arbeitet oder ob sie den ganzen Tag auf dem Kundenparkplatz stand…. Da immer nach der Fahrt übertragen wird bekommt man auch mit ob der Wagen noch offen steht. Er sendet auch das Abschließen danach .Wenn man sich den Daten nicht sicher ist, kann man einmal in der App pullen, dann ist der Adapter auf jeden Fall auf Stand.
Übrigens wenn du 3x am Tag den Wagen abfragst ist die Batterie immer noch nach 4-5Tagen leer. Beim Ioniq6 kann er die zwar nachladen aber da gab es Bugs in der Firmware des zuständigen Steuergerätes, würde ich mich nicht drauf verlassen das der Händler alle Updates bei der Inspektion einspielt…
-
so gucktmal bitte die neue version..
vor allem die leute mit den Bj. 2024 sollten wieder richtige werte erhalten
thx @ilovegym für die login Daten
-
Super, der Meister hat mal wieder sein Werk getan
Holt alles ab, sieht sehr gut aus, nur bei der Speed bin ich noch etwas skeptisch, ich hab ja ein Ioniq 5 N, der ist schon flott.. aber den Flugmode hab ich noch nicht drin gehabt:! -
@ilovegym ja das hab ich gesehen.. die Daten kommen aber so an .. ich kann mir da auch keinen Reim draus machen..
wart mal ab .. vielleicht ändert sich da noch was..