NEWS
Adapter Hyundai (Bluelink) oder KIA (UVO)
-
so jetzt mal von GIT installieren und schauen ob die Infos jetzt kommen
evtl. ist node 20 nötig
-
laeuft mit node 18 im docker 9.1.2 von buanet mit js-controller 6.0.6..
jetzt kann ich dir ein debug log schicken, da steht viel drin.. und ja, die Werte kommen, werden aber nicht umgesetzt..Hab dir im Chat das log geschickt.. sind n paar Nachrichten, gehen ja nur 10000 zeichen ...
Wenn du das irgendwie anders brauchst, sag bescheid... -
@ilovegym hmmm.. ja hilft aber.. kommt nicht das was ich erwartet habe
redselig ist der nicht ..was war da noch im akku ?? 81 %
-
die 81% sind die 12v Batterie.. ja.. das ist es ja, was ich schon befuerchtet hatte.. bluelinky kann das nicht auslesen, weil fuer die 2024er Modelle die Schnittstelle geaendert wurde...
Alle Werte sind fuer den alten ..
-
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: