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

@jackietreeh0rn/homebridge-blink-security

v1.2.0

Published

Homebridge plugin for Amazon Blink security cameras

Downloads

1,652

Readme

verified-by-homebridge

npm version npm downloads GitHub Stars GitHub Last Commit GitHub pull requests GitHub issues FOSSA Status

Supported Devices

| Device | Model Type | Capabilities | | ------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 📹 Blink Outdoor / Indoor | default, catalina | Live view (IMMI)Motion sensorSnapshotsTemperatureBattery levelNight visionClip recordingPrivacy modeMotion enable/disable | | 📹 Blink Mini | owl | Live view (IMMI)Motion sensorSnapshotsClip recordingPrivacy modeMotion enable/disable | | 📹 Blink Mini 2 | hawk | Live view (IMMI)Motion sensorSnapshotsClip recordingPrivacy modeMotion enable/disable | | 💡 Blink Wired Floodlight | superior_owl | Live view (IMMI)Motion sensorSnapshotsClip recordingPrivacy modeMotion enable/disable | | 🔔 Blink Video Doorbell | lotus | Live view (IMMI)Motion sensorSnapshotsDoorbell press notificationClip recordingPrivacy modeMotion enable/disable | | 🔊 Blink Siren | siren | On/off switch |

Features

  • Live view — IMMI streaming via ffmpeg with automatic keepalive
  • Security system — Arm/disarm per network, with optional manual arm switch
  • Multi-network — Supports multiple sync modules, each with independent arm/disarm
  • Motion detection — Configurable polling interval with debounce
  • Motion enable/disable — Per-camera switch to turn motion detection on or off
  • Snapshots — Periodic thumbnail refresh with caching and retry
  • Battery — Battery level and low-battery alerts (Outdoor/Indoor models)
  • Temperature — Ambient temperature sensor (Outdoor/Indoor models)
  • Doorbell press — Push notifications on doorbell button press
  • Privacy mode — Per-camera switch to suppress snapshots when disarmed
  • Night vision — IR illuminator toggle (Outdoor/Indoor models)
  • Clip recording — Trigger a clip recording via momentary switch
  • Audio — One-way audio (OPUS / AAC-ELD)
  • OAuth 2.0 + PKCE — Token refresh and persistent sessions across restarts
  • 2FA — One-time PIN verification for Blink's two-factor auth
  • Snapshot fallback — Streams the last thumbnail when live view is unavailable
  • Stale accessory cleanup — Removes devices no longer on your Blink account
  • Retry with backoff — Automatic retry on network errors and rate limiting

Installation

Install Homebridge, add it to Apple Home, then install and configure Homebridge Blink Security.

Recommended

  1. Open the Homebridge UI.

  2. Open the Plugins tab, search for homebridge-blink-security, and install the plugin.

  3. Configure your Blink credentials through the settings panel.

Manual

  1. Install the plugin using NPM:

    npm i -g @jackietreeh0rn/homebridge-blink-security
  2. Configure the BlinkSecurity platform in ~/.homebridge/config.json as shown in config.example.json.

  3. Start Homebridge:

    homebridge -D

2FA Setup

Blink requires two-factor authentication on first login:

  1. Configure your username and password and restart Homebridge
  2. Blink will send a verification code to your email/phone
  3. Add the code to the pin field in config and restart Homebridge
  4. After successful verification, remove the pin field — the session is persisted

Configuration

| Property | Type | Default | Description | | ---------------------------------- | ------- | ---------- | --------------------------------------------- | | username | string | required | Blink account email | | password | string | required | Blink account password | | pin | string | | 2FA verification code (only needed once) | | hide-alarm | boolean | false | Hide the SecuritySystem accessory | | hide-manual-arm-switch | boolean | false | Hide the manual arm/disarm switch | | hide-temperature-sensor | boolean | false | Hide temperature sensors on cameras | | hide-enabled-switch | boolean | false | Hide motion enabled/disabled switch | | hide-privacy-switch | boolean | false | Hide privacy mode switch | | enable-liveview | boolean | true | Enable IMMI live view streaming | | disable-thumbnail-refresh | boolean | false | Disable automatic thumbnail refresh | | camera-thumbnail-refresh-seconds | integer | 3600 | Thumbnail refresh interval in seconds | | camera-status-polling-seconds | integer | 30 | Status polling interval in seconds | | camera-motion-polling-seconds | integer | 15 | Motion detection polling interval in seconds | | logging | string | | "verbose" or "debug" for extended logging | | enable-startup-diagnostic | boolean | false | Log diagnostic info on startup |

Development

Prerequisites

  • Node.js 18.20.4+, 20.18.0+, 22.10.0+, or 24.0.0+
  • Homebridge 1.8.0+ or 2.0.0-beta+

Setup

npm install
npm run build
npm link

Watch Mode

Automatically recompiles and restarts Homebridge on source changes:

npm run watch

This runs a local Homebridge instance in debug mode using the config at ./test/hbConfig/. Stop any other Homebridge instances first to avoid port conflicts. The watch behavior can be adjusted in nodemon.json.

Linting & Formatting

npm run lint        # check for lint errors
npm run lint:fix    # auto-fix lint errors
npm run prettier    # check formatting
npm run format      # auto-fix formatting

Commits must follow Conventional Commits — enforced by pre-commit hooks via commitlint and husky.

Troubleshooting

If you run into issues, check the Homebridge troubleshooting wiki first. If the problem persists, open an issue with as much detail as possible.

Contributing

See CONTRIBUTING.md for guidelines on bug reports, feature requests, and code contributions.

Useful Resources

License

GNU GENERAL PUBLIC LICENSE, Version 3

Disclaimer

This project is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by Amazon.com, Inc., Immedia Semiconductor, or Apple Inc. All product and company names are the registered trademarks of their original owners. The use of any trade name or trademark is for identification and reference purposes only and does not imply any association with the trademark holder of their product brand.