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-smartdry-v2

v2.0.2

Published

SmartDry plug-in for homebridge

Readme

homebridge-smartdry

What This Plugin Is

This is a plugin for homebridge. It provides sensor data from the SmartDry Sensor.

How the Plugin Works

SmartDry data is stored in AWS RDS. This API periodically queries the database for information pertaining to your sensor and then updates virtual sensors with the data.

The Occupancy Sensor will stay Occupied as long as the sensor is running. The minimum amount of time is 15 minutes. To automate an action (such as sending a notification), you can put an action on when the sensor stops detecting occupancy.

The Leak Sensor will show if the clothes are truly dry. This runs external to the load time. So it is theoretically possible for the SmartDry sensor to not be "running" but the clothes are still wet. NOTE The Leak Sensor uses Critical Alerts in modern versions of the Home app. Please be careful when using it or you could generate scary notifications.

Installation

Before installing this plugin, you should install Homebridge using the official instructions.

Install via Homebridge Config UI X

  1. Search for Homebridge SmartDry v2 on the Plugins tab of Config UI X.
  2. Install the Homebridge SmartDry v2 plugin and use the form to enter your configuration.

Manual Installation

  1. Install this plug-in using: npm install -g homebridge-smartdry-v2
  2. Update your configuration file. See example config.json snippet below.

Manual Configuration

Platform Schema

| Field | Required | Data Type | Description | Default Value | | ------| :------: | :--------: | ----------------------------- | :----------: | | platform | Yes | string | Must always be set to HomebridgeSmartDryV2.| N/A | | name | Yes | string | Set the platform name for display in the Homebridge logs. | Homebridge SmartDry v2 | | sensors | Yes | sensor[] | An array of configurations for SmartDry sensors. | N/A | | pollingSeconds| No | number | Time in seconds for how often to ping the clock. | 30 (30000 milliseconds) |

Sensor Schema

| Field | Required | Data Type | Description | Default Value | | ------| :------: | :-------: | ----------------------------- | :-----------: | | name | Yes | string | The name of the SmartDry Sensor. It will be used as a prefix for all of the accessories it exposes. | N/A | | ip | Yes | string | ID of the SmartDry sensor. | N/A | | occupancySensor | Yes | sensorConfig | Settings for virtual occupancy sensor. | N/A | | temperatureSensor | Yes | sensorConfig | Settings for virtual temperature sensor. | N/A | | humiditySensor | Yes | sensorConfig | Settings for the virtual humidity sensor. | N/A | | leakSensor | Yes | sensorConfig | Settings for the virtual leak sensor. | N/A |

SensorConfig Schema

| Field | Required | Data Type | Description | Default Value | | ------| :------: | :-------: | ----------------------------- | :-----------: | | isEnabled | No | boolean | Determines whether or not to expose the sensor. | true |

Config Examples

Simplest Configuration

This configuration will expose all items and use the default polling interval with the least work.

{
  "name": "Homebridge SmartDry v2",
  "sensors": [
    {
      "name": "Laundry Room Dryer",
      "id": "[INSERT_ID_HERE]"
    }
  ],
  "platform": "HomebridgeSmartDryV2"
}

Most Verbose Configuration

This configuration will expose all items with default values, but is very verbose. It is presented here to help visualize the JSON structure.

{
  "name": "Homebridge SmartDry v2",
  "sensors": [
    {
      "name": "Laundry Room Dryer",
      "id": "[INSERT_ID_HERE]",
      "occupancySensor": {
        "isEnabled": true
      },
      "temperatureSensor": {
        "isEnabled": true
      },
      "humiditySensor": {
        "isEnabled": true
      },
      "leakSensor": {
        "isEnabled": true
      }
    }
  ],
  "platform": "HomebridgeSmartDryV2"
}

Future Plans

  • Better error handling. I am a Java developer by trade and am still learning Typescript :).

Recognition

Thanks to:

  • homebridge - For creating a great template to get started with.
  • ablyler - For creating an original SmartDry plugin.
  • doublebishop - For simplifying the "wetness" algorithm.