Repository navigation
Description
Plugin Name
homebridge-unifi-protect-alarm-hub
Link To GitHub Repo
https://github.com/actravis/homebridge-unifi-protect-alarm-hub
Plugin Icon (Optional)
Plugin
- npm: https://www.npmjs.com/package/homebridge-unifi-protect-alarm-hub
- GitHub: https://github.com/actravis/homebridge-unifi-protect-alarm-hub
What it does
Exposes the UniFi Protect Alarm Hub to HomeKit via the official UniFi Protect
Integration API: a SecuritySystem tile for arm/disarm (Away/Night/Off) plus
read-only status for all connected intrusion zones (contact, motion, glass-break),
the hub's battery/tamper/reachability, outputs, and the emergency input.
Why it isn't a duplicate
The verified homebridge-unifi-protect covers cameras/doorbells/lights — not the
Alarm Hub's security system or intrusion sensors. Arming is non-trivial here because
adopting an Alarm Hub forces UniFi's Global Alarm Manager mode, in which arm/disarm
isn't exposed by the standard API; this plugin drives it via Alarm Manager webhooks.
Requirements checklist
- Dynamic platform plugin
- Published to npm; source on GitHub with issues enabled
- GitHub release with notes (v0.1.1)
- Implements the Homebridge settings GUI (config.schema.json)
- No analytics / user tracking
- Errors caught and logged; no unhandled exceptions
- Writes nothing outside the Homebridge storage directory
- Installing without configuration does not start the plugin
- No post-install scripts that modify the user's system
- Compatible with current LTS Node.js and Homebridge 1.8+ / 2.0-beta
The plugin does not offer the same nor less functionality than that of any existing verified plugin.
🟠 No (please explain in the more information box at the end)
The plugin successfully installs and does not start unless it is configured.
Choose an option...
The plugin does not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.
🟢 Yes
The plugin does not contain any analytics or calls that enable you to track the user.
🟢 Yes
If the plugin needs to write files to disk (cache, keys, etc.), it stores them inside the Homebridge storage directory.
🟢 Yes
The plugin does not throw unhandled exceptions, the plugin must catch and log its own errors.
🟢 Yes
More Information
The verified homebridge-unifi-protect covers cameras/doorbells/lights — not the
Alarm Hub's security system or intrusion sensors. Arming is non-trivial here because
adopting an Alarm Hub forces UniFi's Global Alarm Manager mode, in which arm/disarm
isn't exposed by the standard API; this plugin drives it via Alarm Manager webhooks.
Activity
github-actions commentedon Jul 22, 2026
🔴 Failed Checks
requiredshould not be a boolean property on individual fields. In JSON Schema,requiredmust be an array at the object level listing required property names. Remove"required": true/falsefrom individual properties and use"required": ["property1", "property2"]at the object level instead.🟢 Passed Checks
homepageexistsbugs.urlexists and seems a valid URLkeywordsexist and contain'homebridge-plugin''preinstall'inscriptsis not present'install'inscriptsis not present'postinstall'inscriptsis not presentengines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 2.2.1pluginAliaspluginAliasmatches the platform/accessory registered in codepluginTypeis set to'platform'nameschema propertyhomebridgeis not declared as a runtime/peer/bundled dependencyhap-nodejsis not declared as a runtime/peer/bundled dependencyℹ️ Check Details
v0.1.1of the plugin.📋 Next Steps
/checkon this issue to run the checks again — your request will not move forward until the checks are re-run.package.jsonandconfig.schema.jsonfiles, don't forget to publish a new version to NPM.actravis commentedon Jul 22, 2026
/check
github-actions commentedon Jul 22, 2026
🟢 Passed Checks
homepageexistsbugs.urlexists and seems a valid URLkeywordsexist and contain'homebridge-plugin''preinstall'inscriptsis not present'install'inscriptsis not present'postinstall'inscriptsis not presentengines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 2.2.1typepropertypropertiesfor object typepluginAliaspluginAliasmatches the platform/accessory registered in codepluginTypeis set to'platform'nameschema propertyhomebridgeis not declared as a runtime/peer/bundled dependencyhap-nodejsis not declared as a runtime/peer/bundled dependencyℹ️ Check Details
v0.1.2of the plugin.https://example.com/proxy/protect/integration/v1/alarm-hubsMethods:
GET| Count:19| Scenarios: full config, minimal required, network resiliencehttps://example.com/proxy/protect/integration/v1/meta/infoMethods:
GET| Count:25| Scenarios: full config, minimal required, network resilience📋 Next Steps
All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.
verify: homebridge-unifi-protect-alarm-hub
github-actions commentedon Jul 22, 2026
Congratulations! Your plugin has been verified!
You can now add one of the Verified by Homebridge badges to your plugin's README:
Your plugin is now also eligible to display a ❤️ Donate button on its tile in the Homebridge UI. See https://github.com/homebridge/homebridge/wiki/Donation-Links for instructions.
Interested in getting a
@homebridge-plugins/scope for your plugin? See our Homebridge Scoped Plugins program.If for any reason in the future you can no longer maintain your plugin, please consider transferring it to our Homebridge Plugins organization.
Don't forget to join the official Homebridge Discord server, where plugin developers can get tips and advice from other developers and the Homebridge project team in the #plugin-development channel!
As a verified plugin, you can request a channel in the Discord server to discuss your plugin with users and other developers. Just ask in the #plugin-development channel.
Thank you for your contribution to the Homebridge community.
bwp91 commentedon Jul 22, 2026
Hi @actravis, thanks for the really clear write-up — the explanation of how the Alarm Hub forces Global Alarm Manager mode made the review easy, and the code was clean throughout (nice touch scoping the self-signed cert handling to just the console host). Filling the UniFi Protect security-system gap is genuinely useful. Thanks for contributing to Homebridge! 😊