Repository navigation
Verification Request: homebridge-ssh-platform #1019
Copy link
Copy link
Closed
Labels
request-verificationverifieduse when a plugin meets the criteria - adds the verified badge textuse when a plugin meets the criteria - adds the verified badge text
Description
Plugin Name
homebridge-ssh-platform
Link To GitHub Repo
https://github.com/x-dragos/homebridge-ssh-platform
Plugin Icon (Optional)
No response
The plugin does not offer the same nor less functionality than that of any existing verified plugin.
🟢 Yes
The plugin successfully installs and does not start unless it is configured.
🟢 Yes
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
Hexagonal-architecture dynamic platform plugin for SSH-driven HomeKit accessories.
Notes for reviewers:
- Two accessory types: Switch (Service.Switch) with stateful or momentary auto-reset modes, and Garage Door (Service.GarageDoorOpener) with a synthetic state machine,
configurable travel times, last-stable-state rollback on command failure, and an optional auto-close watchdog that runs the close command as a fallback if the door does not
close on its own. - Domain layer is lint-blocked from importing homebridge, ssh2, or node:* — only adapters touch the framework. 88 unit tests, 90/95% line/function coverage on the modules under
test, CI matrix on Node 20/22/24. - Settings GUI ships in two layers: a complete config.schema.json with conditional fields and a custom UI under homebridge-ui/ (Bootstrap 5, parent-theme aware) with per-host
"Test connection" and per-command "Test command" buttons. - The plugin reuses one ssh2 connection per host, opens commands as exec channels, and never writes outside the user's config or storage path.
- Validated end-to-end against a real Raspberry Pi gate controller; the reference Python driver showing the state-file convention used by the optional state-poll feature lives
at examples/scripts/garage-door-gpio.py in the repo.
Engines: Node v20, v22, v24. No postinstall scripts. Apache-2.0 licensed.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
request-verificationverifieduse when a plugin meets the criteria - adds the verified badge textuse when a plugin meets the criteria - adds the verified badge text
Activity
github-actions commentedon Apr 26, 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.homebridgewas installed as a dependencyhap-nodejswas installed as a dependency🟢 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 20engines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 1.11.4pluginAliaspluginTypeis set to'platform'nameschema property🔍 For Manual Review
The following items were detected and require manual review. We understand that these items may be false positives.
ℹ️ Check Details
v0.1.0of the plugin.📋 Next Steps
/checkto run the checks again.package.jsonandconfig.schema.jsonfiles, don't forget to publish a new version to NPM.x-dragos commentedon Apr 26, 2026
/check
github-actions commentedon Apr 26, 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 20engines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 1.11.4typepropertypropertiesfor object typepluginAliaspluginTypeis set to'platform'nameschema propertyhomebridgewas not installed as a dependencyhap-nodejswas not installed as a dependency🔍 For Manual Review
The following items were detected and require manual review. We understand that these items may be false positives.
ℹ️ Check Details
v0.1.1of the plugin.📋 Next Steps
All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.
x-dragos commentedon Apr 28, 2026
/check
github-actions commentedon Apr 28, 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 20engines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 1.11.4typepropertypropertiesfor object typepluginAliaspluginTypeis set to'platform'nameschema propertyhomebridgewas not installed as a dependencyhap-nodejswas not installed as a dependency🔍 For Manual Review
The following items were detected and require manual review. We understand that these items may be false positives.
ℹ️ Check Details
v0.1.2of the plugin.📋 Next Steps
All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.
x-dragos commentedon Apr 29, 2026
/check
github-actions commentedon Apr 29, 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 20engines.nodeproperty is compatible with Node 22engines.nodeproperty is compatible with Node 24engines.homebridgeproperty is compatible with Homebridge 1.11.4typepropertypropertiesfor object typepluginAliaspluginTypeis set to'platform'nameschema propertyhomebridgewas not installed as a dependencyhap-nodejswas not installed as a dependency🔍 For Manual Review
The following items were detected and require manual review. We understand that these items may be false positives.
ℹ️ Check Details
v0.1.3of the plugin.📋 Next Steps
All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.
verify: homebridge-ssh-platform
github-actions commentedon May 16, 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.