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

@qandnotu/homebridge-pura

v1.4.7

Published

Homebridge plugin for Pura smart fragrance diffusers

Readme

A Homebridge plugin for Pura smart fragrance diffusers.

verified-by-homebridge

This plugin is intentionally simple. It exposes a single on/off switch per diffuser, allowing you to control each device using HomeKit.

It’s designed to be used with Pura’s auto-away and scheduling features disabled, so HomeKit can act as the primary automation layer.

Supported Diffusers

This plugin is designed and tested for the following diffusers.

Installation

  1. Install this plugin using: npm install -g @qandnotu/homebridge-pura
  2. Edit your config.json file (see sample config below)
  3. Run Homebridge

Configuration

Add the following platform to your config.json:

{
  "platforms": [
    {
      "name": "Pura Smart Diffuser",
      "platform": "PuraSmartDiffuser",
      "username": "[email protected]",
      "password": "your-pura-password",
      "forceNightlightOff": false
    }
  ]
}

Configuration Options

  • username: Your Pura app username (email address) - required
  • password: Your Pura app password - required
  • forceNightlightOff: By default, Pura turns the nightlight on/off with the diffuser. Enable this to force the nightlight off after the diffuser turns on (default: false)

Features

  • Multiple Device Support: Automatically discovers all Pura devices on your account
  • Simple On/Off Control: One switch per diffuser for HomeKit automations
  • Real-Time Status: Uses realtime updates with a 5-minute polling fallback (15s when realtime is down)

Usage

Once configured, your Pura diffusers will appear in the Home app as a single switch per diffuser (e.g., "Living Room Diffuser").

Controls

  • Power: Turn the diffuser on/off

Device Management

The plugin will automatically:

  • Discover all Pura devices on your account
  • Create one switch per diffuser
  • Update device status via realtime updates with a 5-minute polling fallback (15s when realtime is down)
  • Handle authentication and token refresh (including periodic Cognito refresh polling)

Recommended Usage

  • Use this plugin in lieu of Pura schedules or auto-away.
  • Enable Auto-Alternative Fragrances in the Pura app for best results.
  • By default, Pura turns the nightlight on/off with the diffuser. If you want to prevent the light from staying on, enable forceNightlightOff.

Troubleshooting

Authentication Issues

If you encounter authentication errors:

  1. Verify your username and password are correct
  2. Check that your Pura account is active and can log in to the mobile app
  3. Ensure your internet connection is stable

Device Not Appearing

If your Pura device doesn't appear in HomeKit:

  1. Check that the device is online and connected to WiFi
  2. Verify it appears in the Pura mobile app
  3. Check Homebridge logs for error messages
  4. Try restarting Homebridge

Connectivity Issues

If the plugin loses connection:

  1. Check your internet connection
  2. Verify Pura services are operational
  3. Try restarting the plugin by restarting Homebridge

Support

For issues and feature requests, please use the GitHub Issues page.

Credits

This plugin is inspired by and based on the pypura Python library by @natekspencer.

License

Apache-2.0