/bluelinky

An unofficial nodejs API wrapper for Hyundai bluelink

Primary LanguageTypeScriptMIT LicenseMIT

bluelinky

An unofficial nodejs API wrapper for Hyundai BlueLink

CI npm Discord

Install

npm install bluelinky

Example

const BlueLinky = require('bluelinky');

const client = new BlueLinky({
  username: 'someguy@example.com',
  password: 'hunter1',
  brand: 'hyundai',
  region: 'US',
  pin: '1234'
});

client.on('ready', async () => {
  const vehicle = client.getVehicle('5NMS55555555555555');
  try {
    const response = await vehicle.lock();
    console.log(response);
  } catch (err) {
    // log the error from the command invocation 
  }
});

client.on('error', async (err) => {
  // something went wrong with login
});

Debug locally

Ensure you have a config.json that matches the structure of the following, with your account details

{
  "username": "email",
  "password": "password",
  "pin": "pin",
  "brand": "kia" or "hyundai",
  "vin": "vin"
}

Run an install for all the dependencies, npm install

Now you can invoke the debug.ts script with npm run debug

Documentation

Checkout out the bluelinky-docs for more info.

Important information for login problems:

  • If you experience login problems, please logout from the app on your phone and login again. You might need to ' upgrade ' your account to a generic Kia/Hyundai account, or create a new password or PIN.
  • After you migrated your Bluelink account to a generic Hyundai account, or your UVO account to a generic Kia account, make sure that both accounts have the same credentials (userid and password) to avoid confusion in logging in.

Supported Features

  • Lock
  • Unlock
  • Start (with climate control)
  • Stop
  • Status (full, parsed, cached)
  • odometer
  • location
  • startCharge
  • monthlyReport
  • tripInfo
  • EV: getChargeTargets
  • EV: setChargeLimits

Supported Regions

| Regions

Show your support

Give a ⭐️ if this project helped you!