homebridge-omlet-smart-chicken-coop
v0.4.0
Published
Homebridge plugin for Omlet Smart Automatic Chicken Coop — supports multiple doors
Maintainers
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: trueif 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)
- Open the Homebridge UI
- Go to Plugins and search for
homebridge-omlet-smart-chicken-coop - Click Install
- Configure the plugin (see Configuration)
Via npm
npm install -g homebridge-omlet-smart-chicken-coopGetting an API Key
API keys are free and issued instantly from the Omlet developer portal.
- Visit smart.omlet.com/developers/login and sign in with your Omlet account
- Go to API Keys → Generate New Key
- 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.
- Open the Home app
- Tap and hold the door accessory → Accessory Settings (gear icon)
- 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 saveSince 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-*.tgzBeta 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 betaTesters opt in with:
npm install -g homebridge-omlet-smart-chicken-coop@betaPromote to stable when ready:
npm version 0.5.0
npm publishTroubleshooting
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
