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-weheat

v0.1.0

Published

Homebridge plugin for WeHeat heat pumps (Blackbird, Sparrow, Flint)

Readme

homebridge-weheat

npm version License: MIT

Homebridge plugin for WeHeat heat pumps (Blackbird, Sparrow, Flint).

Brings read-only heat pump status into Apple HomeKit via a child bridge. Uses the WeheatCommunityAPI — the same API as the Domoticz WeHeat plugin by Jordy Knubben.

Status: v0.1.0 — read-only sensors. Legionella trigger and tap water boost are planned when the WeHeat API exposes write endpoints.

Supported devices

Tested with:

  • WeHeat Blackbird P80 (all-electric)

Should work with other WeHeat models on the same community API (Sparrow, Flint). Open an issue if you test another model.

HomeKit accessories

| Accessory | Type | Source | |-----------|------|--------| | Buitenlucht in / uit | Temperature | tAirIn, tAirOut | | WP flow / retour | Temperature | tWaterOut, tWaterIn | | CV flow | Temperature | tWaterHouseIn | | Kamertemp / setpoint | Temperature | tRoom, tRoomTarget | | CV setpoint | Temperature | tThermostatSetpoint | | Elektrische nachtverwarming | Switch (read-only) | Backup heater status | | Verwarmen / Tapwater / Legionella actief | Contact sensor | Heat pump state | | Elektrisch / Warmte vermogen | Light sensor* | Power in W | | COP | Light sensor* | Coefficient of performance |

*HomeKit has no native power sensor. Watts and COP are exposed via Light Sensor — the numeric value is watts or COP, not lux.

Installation

Homebridge UI (recommended)

Once published to npm:

  1. Homebridge UI → Plugins → search WeHeat
  2. Install homebridge-weheat
  3. Configure platform → enable Child Bridge
  4. Restart Homebridge and pair Homebridge WeHeat in the Home app

Install from GitHub (manual / Docker)

cd /homebridge   # or your Homebridge config directory inside the container
git clone https://github.com/MacEdwin/homebridge-weheat.git
npm install ./homebridge-weheat --save

Restart Homebridge. The plugin appears as WeHeat in the platform list.

Install from npm (when available)

npm install -g homebridge-weheat

Configuration

Example config.json platform block:

{
  "platform": "WeHeat",
  "name": "WeHeat",
  "username": "[email protected]",
  "password": "your-password",
  "heatPumpId": "",
  "pollInterval": 120,
  "_bridge": {
    "name": "Homebridge WeHeat",
    "username": "0E:XX:XX:XX:XX:XX",
    "port": 51210
  }
}

| Option | Required | Description | |--------|----------|-------------| | name | yes | Platform name (prefix for accessory names) | | username | yes | WeHeat portal email | | password | yes | WeHeat portal password | | heatPumpId | no | Heat pump UUID; leave empty to auto-discover the first pump | | pollInterval | no | API poll interval in seconds (60–600, default 120) | | _bridge | no | Child bridge settings (recommended) |

Find your heat pump UUID

[email protected] WEHEAT_PASS=your-password node scripts/discover-weheat.mjs

Pairing with Apple Home

This plugin uses a child bridge. After setup:

  1. Open Homebridge UI → Status → QR code for Homebridge WeHeat
  2. Home app → +Add Accessory → scan QR code
  3. Assign accessories to a room (e.g. Warmtepomp)

Sensors not on the Home app main screen?

That is normal. Apple Home shows switches on the overview; temperature and contact sensors appear under Rooms or Settings → Hubs & bridges → Homebridge WeHeat. Tap a sensor for live values, or add it to Favorites for the home status bar.

API notes

This plugin uses:

| Setting | Value | |---------|-------| | Client ID | WeheatCommunityAPI | | Auth | https://auth.weheat.nl/... | | API | https://api.weheat.nl | | Endpoints | /api/v1/heat-pumps, /api/v1/heat-pumps/{id}/logs/latest |

This is not the Home Assistant HomeAssistantAPI / third_party integration (that endpoint returns 403 for community tokens).

Development

git clone https://github.com/MacEdwin/homebridge-weheat.git
cd homebridge-weheat
npm install
npm run build

Link into a local Homebridge instance:

npm link
# In Homebridge directory:
npm link homebridge-weheat

Roadmap

  • [ ] Publish to npm
  • [ ] Legionella trigger switch (when API supports write)
  • [ ] Tap water boost
  • [ ] Better HomeKit characteristics for power/COP
  • [ ] Homebridge Verified plugin request

Contributing

Issues and pull requests are welcome. Please redact credentials from logs and config snippets.

  1. Fork the repository
  2. Create a feature branch
  3. Run npm run build before submitting

Credits

License

MIT © Edwin Clement