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-hypervolt-charger

v0.1.3

Published

Control a Hypervolt Home 3 / Home 3 Pro EV charger from Homebridge (HomeKit).

Readme

homebridge-hypervolt-charger

A Homebridge plugin that exposes a Hypervolt Home 3 / Home 3 Pro EV charger to Apple HomeKit.

HomeKit has no native EV-charger accessory, so the charger is represented as up to three tiles:

  • An OutletOn toggles charging on/off. On is mapped to the charger's release state (whether charging is enabled), not the moment-to-moment "current flowing" flag, so it stays stable for HomeKit automations. When no car is connected the outlet shows Off and refuses to turn On (you can't charge nothing).
  • A Lock (optional) — the charger's cable lock.
  • A Charging sensor (optional) — an occupancy sensor that is Detected only while current is actually flowing.

Together the outlet and the Charging sensor let you read every state in the stock Home app:

| Outlet | Charging sensor | Meaning | |---|---|---| | On | Detected | Charging | | On | Clear | Ready — waiting for car (e.g. the car is full) | | Off | Clear | No car connected, or you stopped it |

The Hypervolt API (like the Hypervolt app) can't distinguish "car full" from "plugged in and waiting" — both appear as ready, waiting for car.

Automation example

The main use case this was built for:

When the charger's Outlet turns On, turn it Off after 3 hours.

Create this in the Apple Home app: add an automation triggered by "Hypervolt turns On", add the Hypervolt Outlet as the accessory to control, set it to Off, and set a 3-hour turn-off delay.

Requirements

  • A Hypervolt V3 charger (Home 3 / Home 3 Pro). V2 chargers are not supported.
  • Your Hypervolt app account email and password.
  • Node 18.17+, Homebridge 1.6+.

Install

npm install -g homebridge-hypervolt-charger

Or search for Hypervolt in the Homebridge UI.

Configuration

Via the Homebridge UI, or in config.json:

{
  "platforms": [
    {
      "platform": "HypervoltCharger",
      "name": "Hypervolt",
      "email": "[email protected]",
      "password": "your-hypervolt-password",
      "exposeLock": true
    }
  ]
}

| Field | Required | Description | |---|---|---| | email | yes | Hypervolt account email. | | password | yes | Hypervolt account password (stored in plaintext in config.json). | | chargerId | no | Only needed if your account has multiple chargers and you want a specific one. Leave blank to auto-discover. | | exposeLock | no | Expose the cable lock as a HomeKit Lock (default true). | | exposeChargingSensor | no | Expose a read-only "Charging" occupancy sensor (default true). |

How it works

  • Authenticates via OAuth2 (Keycloak) using your Hypervolt account.
  • Opens the Hypervolt /sync WebSocket and receives live state (charging, lock, current) via push, with a light 30-second poll for session data.
  • Reconnects automatically with exponential backoff and refreshes the access token before it expires.

Development

npm install
npm run build
npm run lint

Test connectivity against your real charger without running Homebridge:

npm run build
HYPERVOLT_EMAIL='[email protected]' HYPERVOLT_PASSWORD='secret' node scripts/test-connect.mjs

This lists your chargers, connects, prints live state for ~30 seconds, and exits. It never sends commands.

Credits

API protocol reverse-engineered from the excellent home-assistant-hypervolt-charger integration by @gndean.