Skip to content

Scoped Plugins

Donavan Becker edited this page Jan 25, 2025 · 10 revisions

Note

Scoped plugins are a new concept and some of the final details may change.

Current Situation

Homebridge allows anyone to create plugins by publishing an NPM package with the prefix homebridge-* and including the homebridge-plugin keyword. This open system has led to a diverse and creative ecosystem of plugins, but it has also introduced some challenges. To address these, the Homebridge team launched the "Verified by Homebridge" program. Plugins with this designation are reviewed by the Homebridge team to ensure they adhere to best practices, maintain high-quality standards, and provide a reliable user experience.

Despite these efforts, there have been instances where plugin maintainers became unresponsive or disappeared entirely. This has left some plugins abandoned, leading to multiple forks of the same plugin by other developers. Such forks often create confusion for users who may be unsure which version to use.

Scoped Plugins

To improve plugin management and streamline the user experience, the Homebridge team is introducing scoped plugins with the NPM organization @homebridge-plugins/. For example, the plugin homebridge-govee will now be re-published as @homebridge-plugins/homebridge-govee.

Note

Homebridge refers to any plugin with an NPM @homebridge-plugins/ prefix as a scoped plugin.

Only a member of the Homebridge collaborators team can initially publish a plugin with the @homebridge-plugins/ prefix.

These scoped plugins will be managed within GitHub repositories under the Homebridge Plugins organization and the @homebridge-plugins npm organization. The original maintainer of the plugin will continue to oversee and manage the new scoped version, ensuring continuity and familiarity for users. Additionally, the Homebridge team will have access to the repositories, allowing them to transfer maintenance if the original maintainer becomes unavailable. This approach reduces confusion and ensures plugins remain reliable and well-maintained in the long term.

All scoped plugins also pass the criteria for the Homebridge Verified scheme.

Transitioning to Scoped Plugins

The Homebridge UI provides a straightforward tool to help users transition from older, non-scoped plugin versions to their re-published scoped counterparts. The scoped plugins installed through this tool will be identical in version and codebase to the original plugins, ensuring a smooth and hassle-free migration process. Furthermore, this transition will not affect your Homebridge or HomeKit accessories, including room associations, scenes, and automation.

The tool follows a process which can also be performed manually. So long as Homebridge is not restarted between steps one and two, then your Homebridge/HomeKit accessories will not be affected.

  1. Install the new @homebridge-plugins/homebridge-example plugin
  2. Uninstall the old homebridge-example plugin
  3. Restart Homebridge

By adopting scoped plugins and enhancing plugin management, Homebridge aims to create a more robust and user-friendly ecosystem for all its users.

Available Plugins

Old Plugin New Plugin
homebridge-cloudflared-tunnel @homebridge-plugins/homebridge-cloudflared-tunnel
homebridge-ewelink @homebridge-plugins/homebridge-ewelink
homebridge-govee @homebridge-plugins/homebridge-govee
homebridge-meater @homebridge-plugins/homebridge-meater
homebridge-meross @homebridge-plugins/homebridge-meross
homebridge-noip @homebridge-plugins/homebridge-noip
homebridge-plugin-update-check @homebridge-plugins/homebridge-plugin-update-check
homebridge-rainbird @homebridge-plugins/homebridge-rainbird
homebridge-resideo @homebridge-plugins/homebridge-resideo
homebridge-roomba @homebridge-plugins/homebridge-roomba
@homebridge-plugins/homebridge-smarthq