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-omlet-smart-chicken-coop

v0.4.0

Published

Homebridge plugin for Omlet Smart Automatic Chicken Coop — supports multiple doors

Readme

homebridge-omlet-smart-chicken-coop

A Homebridge plugin for the Omlet Smart Automatic Chicken Coop Door. Exposes each door on your Omlet account as a Garage Door in Apple HomeKit — so you can see when your flock is secured for the night, open or close the door from the Home app, and receive a notification the moment the state changes.

Supports multiple doors on a single account (one HomeKit accessory per coop).


Features

  • Garage door control in HomeKit — open, closed, opening, and closing states all reflected in the Home app with the correct icon and animation
  • Coop light auto-detected — if your door has a light fitted, the plugin detects it automatically from the Omlet API and creates a Lightbulb service; no manual config required
  • Battery level — battery percentage and low battery alert visible in HomeKit (when running on batteries)
  • Obstruction alert — HomeKit marks the door as obstructed when the Omlet API reports a fault
  • Notifications — HomeKit notifies you when the door opens or closes (enable in the Home app)
  • Manual control — open or close from the Home app, Siri, or any HomeKit automation
  • Multiple coops — all Autodoor devices on your account are discovered automatically
  • Per-device options — force-hide the light accessory with hideLight: true if needed
  • Responsive polling — checks every 60 seconds normally; drops to every 10 seconds while the door is in motion

Requirements

  • Homebridge v1.8.0 or later (v2.x supported)
  • Node.js 22 or later
  • An Omlet account with at least one Smart Automatic Chicken Coop Door
  • A free Omlet API key (see below)

Installation

Via Homebridge UI (recommended)

  1. Open the Homebridge UI
  2. Go to Plugins and search for homebridge-omlet-smart-chicken-coop
  3. Click Install
  4. Configure the plugin (see Configuration)

Via npm

npm install -g homebridge-omlet-smart-chicken-coop

Getting an API Key

API keys are free and issued instantly from the Omlet developer portal.

  1. Visit smart.omlet.com/developers/login and sign in with your Omlet account
  2. Go to API KeysGenerate New Key
  3. Copy the token — you'll need it during plugin setup

Configuration

Via Homebridge UI

After installing, click Settings on the plugin card and fill in your API key. Everything else has sensible defaults. Per-device settings are available under Device Settings.

Manually (config.json)

Add the following to the platforms array in your Homebridge config.json:

{
  "platform": "OmletSmartChickenCoop",
  "name": "Omlet Smart Chicken Coop",
  "apiKey": "your-api-key-here"
}

All options

| Option | Type | Default | Description | |---|---|---|---| | apiKey | string | required | Your Omlet API key | | name | string | "Omlet Smart Chicken Coop" | Display name for the platform | | pollInterval | integer (seconds) | 60 | How often to check device state. Minimum 10. Automatically drops to 10s during open/close transitions. | | devices | array | [] | Per-device overrides — see below |

Per-device settings

Each entry in the devices array matches a door by name (as it appears in the Omlet app). Device names are printed to the Homebridge log at startup if you're unsure.

| Option | Type | Default | Description | |---|---|---|---| | name | string | required | Device name — must match the Omlet app exactly | | hideLight | boolean | false | Force-hide the light in HomeKit even if the API reports one is fitted |

Example with two doors, one without a light fitted:

{
  "platform": "OmletSmartChickenCoop",
  "name": "Omlet Smart Chicken Coop",
  "apiKey": "your-api-key-here",
  "pollInterval": 60,
  "devices": [
    { "name": "Chicken Coop",  "hideLight": false },
    { "name": "Duck House",    "hideLight": true  }
  ]
}

HomeKit Services

Each discovered door exposes three HomeKit services:

Garage Door Opener (door)

| Omlet state | HomeKit state | |---|---| | open | Open | | closed | Closed | | opening / openpending | Opening | | closing / closepending | Closing | | stopping | Stopped | | fault | Stopped + Obstruction Detected |

The Home app shows the correct open/close animation and the door icon reflects the current state.

Lightbulb (coop light)

Added automatically when the Omlet API reports that a light is fitted to the door (detected via the available actions list). On/off control via the Omlet API.

To suppress the light service for a specific door, set hideLight: true in the per-device settings.

The Homebridge log shows what was detected at startup:

[Chicken Coop] light service: enabled (auto-detected)
[Duck House]   light service: disabled (not detected on device)

Battery

Displays battery percentage and triggers a low battery alert in HomeKit when the level drops to 20% or below. When running on external (mains) power the level will show 100% — this is what the Omlet API reports.


Enabling Notifications

HomeKit handles notifications natively — no extra configuration needed in the plugin.

  1. Open the Home app
  2. Tap and hold the door accessory → Accessory Settings (gear icon)
  3. Enable Status Change Notifications

You'll receive an alert on your iPhone/iPad whenever the door opens or closes. You can also trigger automations — for example, send a notification if the door is still open after sunset.


Multiple Doors

No extra configuration required. The plugin discovers all Autodoor devices on your Omlet account automatically and creates one HomeKit accessory per door. Each accessory polls independently.

Device names and IDs are logged at every startup:

[Omlet Smart Chicken Coop] Discovered 2 Autodoor device(s):
[Omlet Smart Chicken Coop]   • Chicken Coop  (id: abc123)
[Omlet Smart Chicken Coop]   • Duck House    (id: def456)

Upgrading from v0.3.x

Version 0.4.0 switches the HomeKit service type from Lock Mechanism to Garage Door Opener. This is a one-time breaking change — any HomeKit automations targeting the old Lock accessory will need to be recreated after upgrading.

After updating, restart Homebridge. The plugin automatically removes the old Lock service from the accessory cache and registers the Garage Door Opener service in its place.


Development

git clone https://github.com/vhvhxksc4t-sudo/homebridge-omlet-smart-chicken-coop.git
cd homebridge-omlet-smart-chicken-coop
npm install
npm run build        # compile TypeScript once
npm run watch        # recompile on save

Since Homebridge typically runs on a separate device (e.g. a Raspberry Pi), the easiest way to test a local build is to pack it and copy it over:

npm run build
npm pack
# creates homebridge-omlet-smart-chicken-coop-x.x.x.tgz

scp homebridge-omlet-smart-chicken-coop-*.tgz pi@your-pi-ip:~

# on the Pi:
npm install -g ~/homebridge-omlet-smart-chicken-coop-*.tgz

Beta releases

To publish a pre-release for testing without affecting the @latest tag:

npm version prerelease --preid=beta   # e.g. 0.4.1-beta.0
npm publish --tag beta

Testers opt in with:

npm install -g homebridge-omlet-smart-chicken-coop@beta

Promote to stable when ready:

npm version 0.5.0
npm publish

Troubleshooting

Door not appearing in HomeKit Verify your API key is correct by testing it in the Omlet developer console. Check the Homebridge log for errors on startup.

State is stale / not updating The plugin polls on an interval rather than receiving push events. The default is 60 seconds. You can lower pollInterval in the config (minimum 10). During door movement the plugin automatically polls every 10 seconds.

"No Autodoor devices found" warning This means your API key is valid but the account has no Autodoor devices registered. Check that your door is set up in the Omlet app under the same account.

Light not showing / showing unexpectedly The plugin detects light capability from the Omlet API at startup. Check the Homebridge log — it prints light service: enabled (auto-detected) or light service: disabled (not detected on device) for each door. If you need to override the auto-detection, set hideLight: true in the per-device settings.

Door shows as offline / unavailable The door has lost its connection to the Omlet cloud. The plugin will keep retrying on the normal poll interval and recover automatically when the door comes back online — no Homebridge restart needed.


Contributing

Pull requests are welcome. Please open an issue first for anything beyond a small bug fix.


License

MIT