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-kidde-ring

v0.1.0

Published

Homebridge plugin for Kidde Smart Smoke + CO Alarms with Ring compatibility (RGCUAR-RW, RGSAR-RW, RGCUDR-RW). Exposes smoke, carbon monoxide, and battery state to Apple HomeKit with real-time push updates.

Readme

homebridge-kidde-ring

A Homebridge plugin that brings Kidde Smart Smoke + Carbon Monoxide Alarms with Ring compatibility into Apple HomeKit.

Supported models (the hubless Wi-Fi "works with Ring" line, set up with the Ring app — no Ring hub or subscription required):

| Model | Description | Ring device type | |---|---|---| | RGCUAR-RW | Smart Smoke + CO Alarm, hardwired | sensor_bluejay_wsc | | RGCUDR-RW | Smart Smoke + CO Alarm, battery | sensor_bluejay_sc | | RGSAR-RW / RGSDR-RW | Smart Smoke Alarm, hardwired | sensor_bluejay_ws |

Each alarm appears in HomeKit as a Smoke Sensor, a Carbon Monoxide Sensor (combo models, including CO level in ppm), and a Battery service with low-battery status — so you get native HomeKit notifications, automations, and Siri support.

Note: These Ring-branded Kidde alarms use Ring's cloud, not the Kidde HomeSafe cloud. If you have Kidde HomeSafe models set up with the Kidde app (e.g. P4010ACSCOAQ-WF), this plugin does not cover them.

How it works

The alarms have no local API. This plugin authenticates with your Ring account and opens Ring's real-time push (WebSocket) connection for each location — the same channel the Ring app uses — so smoke/CO alarm events reach HomeKit within seconds, with a periodic full refresh as a safety net. This works even without any Ring hub, using the clap/tickets discovery technique from dgreif/ring#1674 and ha-ring-smoke-detectors.

Installation

  1. Install via the Homebridge UI (search for homebridge-kidde-ring), or:

    npm install -g homebridge-kidde-ring
  2. Get a Ring refresh token (required if your Ring account has two-factor authentication, which Ring enforces by default):

    npx -p homebridge-kidde-ring kidde-ring-auth

    Enter your Ring email, password, and the 2FA code you receive. Copy the printed token.

  3. Add the platform to your Homebridge config.json (or use the plugin settings UI):

    {
      "platforms": [
        {
          "platform": "KiddeRing",
          "name": "Kidde Ring",
          "refreshToken": "<token from kidde-ring-auth>"
        }
      ]
    }
  4. Restart Homebridge. Your alarms are discovered automatically from all Ring locations on the account.

Configuration reference

| Option | Default | Description | |---|---|---| | refreshToken | — | Ring refresh token from kidde-ring-auth (recommended). | | email / password | — | Direct login; only works on Ring accounts without 2FA. | | locationIds | all | Array of Ring location IDs to include. | | refreshIntervalMinutes | 60 | Fallback full-refresh interval; live updates are pushed regardless. | | lowBatteryThreshold | 20 | Battery % at or below which HomeKit shows a low-battery warning. |

Ring rotates refresh tokens on every login; the plugin persists the rotated token to kidde-ring-token.json in the Homebridge storage folder automatically, so you only need to generate a token once.

Troubleshooting

  • "Ring requires two-factor authentication" — run npx -p homebridge-kidde-ring kidde-ring-auth and put the resulting token in the config.
  • No devices found — confirm the alarm shows up and is online in the Ring app, and that you logged in with the same Ring account. Enable Homebridge debug mode (-D) to see discovered locations and assets.
  • Token invalid after re-login elsewhere — generating tokens invalidates older ones in some cases; re-run kidde-ring-auth and update the config.

Adding more Kidde products

Support for additional Ring-compatible Kidde models is straightforward if they surface as sensor_bluejay_* assets (see src/smokeWebSocket.ts). Kidde HomeSafe-app models use a completely different cloud API and would belong in a separate plugin.

Credits

Disclaimer

Unofficial software. Not affiliated with, endorsed by, or supported by Kidde, Carrier, Ring, or Amazon. Do not rely on this plugin for life-safety notifications — the alarm itself and the Ring app remain your primary alerting paths.