npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-vw-id-connect

v1.7.0

Published

Homebridge plugin for VW WeConnect ID vehicles

Readme

homebridge-vw-id-connect

Homebridge plugin for controlling VW WeConnect ID vehicles through HomeKit using Smartcar API.

This plugin allows you to control your Volkswagen ID vehicle's charging, battery status, and door locks through Apple HomeKit via Smartcar's unified vehicle API.

Features

  • Charging Control: Start/stop charging via HomeKit switch
  • Battery Monitoring: View battery level and charging status (standalone battery accessory)
  • Target SOC Setting: Set target battery charge level (50-100%)
  • Climatisation Control: Start/stop and set temperature for pre-conditioning
  • Door Lock/Unlock: Control vehicle door locks via HomeKit
  • Charge Complete Notification: Motion sensor triggers when target charge is reached
  • Real-time Updates: Automatic status updates from your vehicle

Installation

Via Homebridge UI

  1. Open Homebridge UI
  2. Go to Plugins
  3. Search for "homebridge-vw-id-connect"
  4. Click Install

Via Terminal

npm install -g homebridge-vw-id-connect

Setup

1. Create Smartcar Application

  1. Go to Smartcar Dashboard
  2. Sign up or log in
  3. Create a new application
  4. Note your Client ID and Client Secret
  5. Set the Redirect URI:
    • Same machine: http://localhost:8000/callback
    • Different machine: http://YOUR_HOMEBRIDGE_IP:8000/callback (e.g., http://192.168.0.253:8000/callback)
    • This must match exactly in your Smartcar dashboard and config.json

2. Configure Plugin

Add the following to your Homebridge config.json:

{
  "platforms": [
    {
      "platform": "VWConnectID",
      "name": "VWConnectID",
      "clientId": "your-smartcar-client-id",
      "clientSecret": "your-smartcar-client-secret",
      "redirectUri": "http://localhost:8000/callback",
      "logLevel": "INFO",
      "updateInterval": 60
    }
  ]
}

3. Authenticate

  1. Restart Homebridge
  2. Check the Homebridge logs - you'll see an authorization URL
  3. Open that URL in your browser
  4. Authorize the application with your VW account
  5. You'll be redirected and the authorization code will be captured automatically
  6. The plugin will display your access token and refresh token in the logs
  7. Add these tokens to your config.json:
    {
      "platforms": [
        {
          "platform": "VWConnectID",
          "name": "VWConnectID",
          "clientId": "your-smartcar-client-id",
          "clientSecret": "your-smartcar-client-secret",
          "redirectUri": "http://localhost:8000/callback",
          "accessToken": "your-access-token-from-logs",
          "refreshToken": "your-refresh-token-from-logs",
          "logLevel": "INFO",
          "updateInterval": 60
        }
      ]
    }
  8. Restart Homebridge again

Configuration Options

  • platform (required): Must be "VWConnectID"
  • name (required): Platform name
  • clientId (required): Your Smartcar Client ID from dashboard
  • clientSecret (required): Your Smartcar Client Secret from dashboard
  • redirectUri (required): OAuth redirect URI. Use http://YOUR_HOMEBRIDGE_IP:8000/callback (replace with your Homebridge server IP, e.g., http://192.168.0.253:8000/callback)
  • accessToken (optional): Access token (obtained during OAuth flow)
  • refreshToken (optional): Refresh token (obtained during OAuth flow)
  • vehicleId (optional): Smartcar Vehicle ID. If not provided, the first vehicle will be used
  • logLevel (optional): Logging level - "ERROR", "WARN", "INFO", or "DEBUG" (default: "INFO")
  • updateInterval (optional): Update interval in seconds (default: 60)

HomeKit Accessories

The plugin creates the following accessories:

Charging Accessory

  • Switch: Control charging start/stop
  • Battery Service: Shows current battery level and charging status
  • Lightbulb:
    • Brightness = Target SOC (50-100%)
    • On/Off = Charging status
    • Adjust brightness to set target charge level

Battery Accessory (Standalone)

  • Battery Service: Dedicated battery accessory for easy monitoring
    • Shows current battery level (0-100%)
    • Displays charging status
    • Low battery warning when below 20%

Door Lock Accessory

  • Lock Mechanism: Control vehicle door locks
    • Lock/Unlock doors via HomeKit
    • Shows current lock status

Climatisation Accessory

  • Switch: Control climatisation on/off
  • Thermostat: Set and monitor target temperature

Charge Complete Sensor

  • Motion Sensor: Triggers when target charge level is reached

Usage

Setting Target Charge Level

  1. Open Home app
  2. Find the "Battery Level" lightbulb accessory
  3. Adjust brightness to set target SOC (50-100%)
  4. The vehicle will charge to this level

Starting/Stopping Charge

Use the "Charging" switch to start or stop charging.

Climatisation

  1. Use the "Climatisation" switch to turn on/off
  2. Use the "Temperature" thermostat to set desired temperature

Door Lock/Unlock

Use the "Door Lock" accessory to lock or unlock your vehicle doors. The lock status is automatically updated in real-time.

Battery Level

The battery level is displayed in two places:

  • Charging Accessory: Battery service within the charging accessory
  • Battery Accessory: Standalone battery accessory for easy monitoring in HomeKit

Troubleshooting

Plugin Not Working

  1. Check your email and password are correct
  2. Verify your VIN is correct (if specified)
  3. Check Homebridge logs for errors
  4. Ensure your vehicle is connected to VW WeConnect services

Authentication Issues

If you encounter authentication errors:

  • VW may require re-authentication periodically
  • Try restarting Homebridge
  • Check if VW has updated their authentication system

No Accessories Appearing

  1. Check Homebridge logs for initialization errors
  2. Verify your credentials are correct
  3. Ensure at least one vehicle is registered in your VW account
  4. Wait a few minutes for initial data fetch

Development

To build from source:

npm install
npm run build

To link for development:

npm link

Publishing Updates

For detailed instructions on building and publishing updates to npm, see PUBLISH.md.

Quick reference:

npm version minor    # Bump version
npm run build        # Build TypeScript
npm publish          # Publish to npm

License

MIT

Credits