NEWS
Adapter Hyundai (Bluelink) oder KIA (UVO)
-
@arteck sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
haben die ne andere APP.. ??
nee, geht alles in einer App, ich kann in der App zwischen den Fahrzeugen wechseln.
Beim neuen Modell werden mir schon ein paar Werte angezeigt, 12V-Soc, door, lights, etc...Was fehlt ist:
- Soc
- odometer
- location
Der Adapter meldet keine Errors beim abholen der Daten, klar, er bekommt ja alles.. halt ohne Wert, weil von bluelinky nicht geliefert.. Schau:
Edit: @arteck kann dir gerne ein debuglog mal per mail oder so zusenden.. aber ich denke nicht, dass es hier am iobroker-adapter liegt.. weil auf bluelinky ist das Problem schon als issue offen.. es gibt anscheinend einen fix fuer den US-Markt, man muss da eine Datei austauschen..
Denke das hat auch damit zu tun, dass die neuen NFC Schluessel drin haben.. (also Keycard, oder Smartphone, oder Applewatch, oder den guten alten Schluessel, geht alles.. ) -
@meister-mopper sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
@arteck sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):
haben die ne andere APP.. ??
Die aktuelle Kia Connect ist v2.1.18. Bei mir funktioniert es bisher noch immer gut.
ja, mein 3 Jahre alter Ioniq5 funktioniert auch immer noch mit dem Adapter, nur neue Fahrzeuge mit ccNC Infotainment funktionieren nicht mehr mit bluelinky.
-
@ilovegym schick mir den derbug Log mal bitte.
die Werte scheinen da zu sein nur unter anderer variablen...
installiere aber zuvor die GIT version
-
bin ich zu schnell oder geht das nicht, gerade von Git gezogen und gestartet:
2024-07-04 11:30:36.425 - info: bluelink.0 (29886) starting. Version 2.3.8 (non-npm: Newan/ioBroker.bluelink) in /opt/iobroker/node_modules/iobroker.bluelink, node: v18.20.3, js-controller: 6.0.6 2024-07-04 11:30:36.439 - info: bluelink.0 (29886) Login to api 2024-07-04 11:30:36.439 - error: bluelink.0 (29886) Error in login/on function 2024-07-04 11:30:36.440 - error: bluelink.0 (29886) bluelinky is not a constructor 2024-07-04 11:30:41.366 - info: host.iobroker "system.adapter.bluelink.0" disabled 2024-07-04 11:30:41.366 - info: host.iobroker stopInstance system.adapter.bluelink.0 (force=false, process=true) 2024-07-04 11:30:41.373 - info: bluelink.0 (29886) Got terminate signal TERMINATE_YOURSELF 2024-07-04 11:30:41.373 - info: host.iobroker stopInstance system.adapter.bluelink.0 send kill signal 2024-07-04 11:30:41.374 - info: bluelink.0 (29886) Adapter bluelink cleaned up everything... 2024-07-04 11:30:41.375 - info: bluelink.0 (29886) terminating 2024-07-04 11:30:41.375 - info: bluelink.0 (29886) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2024-07-04 11:30:41.876 - info: bluelink.0 (29886) terminating 2024-07-04 11:30:41.936 - info: host.iobroker instance system.adapter.bluelink.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
-
@ilovegym ich hab noch aktualisiert..hast bestimmt diesen moment erwischt
versuchmal jetzt nochmal
-
@arteck nee, immer noch... der bluelinky is no constructor...
-
habs auch installiert.. muss ich mal gucken
es hat sich doch was geändert bei bluelinky die version ist 8.3.1 ..wir haben noch die 8.2.1
hier kommst du wieder zurück
https://github.com/Newan/ioBroker.bluelink/tree/8a5de8d54bf5a097a923a7e45732488cd9df93c5
-
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