| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Information and resources for Homebridge plugins.
Create an issue to:
More info on these topics can be found below.
The Verified By Homebridge program allows plugin developers to get their plugins reviewed and endorsed by the Homebridge project team.
View/Hide InformationThe Homebridge project team will check that your plugin meets the verification criteria, which are listed on the Verified Plugins wiki page.
If you would like your plugin verified, please open an issue on this repository and fill in the template. The Homebridge project team will then review your plugin and provide constructive feedback if required.
If you feel that your plugin should replace the verification status of an existing plugin, let us know and this will be dealt with on an individual basis.
If you need assistance meeting the verification requirements, please reach out on the Homebridge Discord.
Once your plugin has been verified you will remain in full control of the GitHub repository and npm package. Your plugin will appear on the 'Verified By Homebridge' plugin list and the 'Verified' badge will appear next to your plugin when the next update to the Homebridge UI is published.
You may optionally add one of the Verified By Homebridge badges to your plugin's README:
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)If you decide you no longer wish to maintain your plugin, please reach out to the Homebridge team on the Homebridge Discord. We can assist in finding a new owner, or take over the repository until a new maintainer can be found.
Your plugin may be subject to another review or be removed from the verification list when deemed necessary by the Homebridge team - this could be (but not limited to) the following scenarios:
We will generally do our best to contact existing developers of plugins before removing verification status. However, we may immediately remove verification status in (but not limited to) the following scenarios:
See the Unmaintained Plugins wiki page for more information about transferring an unmaintained plugin to the Homebridge project.
See the Unmaintained Plugins wiki page for more information about maintaining an unmaintained plugin, and a current list of plugins that need a new maintainer.
Plugins can declare which transports they publish accessories over, using two package.json keywords alongside the homebridge-plugin keyword:
{
"keywords": [
"homebridge-plugin",
"supports-hap",
"supports-matter"
]
}If you declare one transport keyword, declare all the transports you support — the Homebridge UI reads a declaration as complete. From Homebridge UI v5.28.0:
Only add supports-matter if your plugin registers Matter accessories itself — it is not for plugins that simply produce HAP accessories, since Homebridge can bridge those to Matter regardless.
See the Matter Plugins wiki page for the full convention.
The purpose of this is to help make the plugin installation process faster and more reliable for verified plugins.
View/Hide InformationHomebridge plugins are published and distributed to the NPM registry and installed using the npm cli tool.
While npm works for the most part, later versions have become increasingly resource hungry and prone to failure on low powered devices with limited RAM and slow disk I/O (such as a Raspberry Pi).
When using npm to install a plugin, it has to individually fetch the metadata, and download, verify and extract the tarball for every dependency a plugin has. This can result in hundreds of HTTP requests every time a plugin is installed or updated. An error during any of these operations will often result in the plugin failing to install or update.
This project pre-bundles verified plugins, making them available to download, with all their dependencies, in a single tarball. Additionally, a SHA256 sum of the tarball is available so the integrity of the bundle can be verified after being downloaded to the user's system.
A plugin installed via a bundle from this repo can be downloaded and installed in seconds, compared to the minutes it might take for some plugins on the same hardware.
Every 24 hours, a job is executed using GitHub Actions to check for updates made to any verified Homebridge plugins.
Plugins that require updates are then:
The two most recent versions of a plugin are retained in this repo, older versions are purged automatically.
Bundles are only used on certain systems:
When a user requests a plugin to be installed or updated via the Homebridge UI the following workflow is executed:
If the extraction, or npm rebuild steps fail, the old version of the plugin will be restored.
If at any step, the process fails, the Homebridge UI will fall back to using npm to complete the installation.
This project may impact the download stats for plugins provided by the NPM registry.
As such download stats are available via the download-statistics.json file. This file contains the total downloads from this repo for each verified plugin, as well as the download count for each version (including old versions that have been purged).
The download-statistics.json file is updated every 24 hours.
If you are accessing the file programmatically, you will need to add a nonce query string to the URL to prevent it being redirected to an older (deleted) version of the file. E.g. /download-statistics.json?nonce=1657193776.
All verified Homebridge plugins are automatically included.
The plugin will be installed directly from the NPM registry instead.
Create a pull request adding your plugin's name to the pluginFilter: string[] array in the src/plugin-tarballs/index.ts file.
The #plugin-development channel in the official Homebridge Discord server is where Homebridge plugin developers can get tips and advice from other developers and the Homebridge project team.
Copyright (c) 2024-2026 Homebridge Copyright (c) 2022-2024 oznu
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
| Back | FazBrowse Home | New Git URL |