You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
This plugin supports the Fellow Stagg EKG Pro (Wi-Fi model, HTTP API).
The already-verified homebridge-stagg-ekg-plus targets the Stagg EKG+ — a different device, controlled over BLE with a companion server — so there is no functionality overlap.
Supports the current firmware 1.2.26 (GET /temp returning JSON) as well as older firmware (legacy state CLI).
Updated since the request was opened, when the automated checks ran against v1.2.0; the current release is v1.2.5:
engines.homebridge is ^1.6.0 || ^2.0.0, verified live against Homebridge 1.6.0, 1.6.1 and 2.4.0.
engines.node is ^22.12.0 || ^24.0.0 || ^26.0.0, and CI runs Node 22, 24 and 26 with --engine-strict so the two cannot drift apart.
MIT licensed, zero runtime dependencies, no preinstall/install/postinstall scripts, no analytics or telemetry (every outbound request is a GET to the kettle's own LAN address), no writes to disk at all, and no TTY or non-standard startup parameters.
Re-running the checks against the current release: v1.2.0 → v1.2.5 (npm latest and the default branch are both at 1.2.5).
What changed since v1.2.0
Homebridge 2.x readiness.engines.homebridge is now ^1.6.0 || ^2.0.0 and engines.node is ^22.12.0 || ^24.0.0 || ^26.0.0. Verified live against Homebridge 1.6.0, 1.6.1 and 2.4.0.
v1.2.4 removed a genuine Homebridge 2.x incompatibility.Service#getValue does not exist in the HAP implementation bundled with Homebridge 2.x, so temperature polls threw TypeError: service.getValue is not a function immediately after every successful /temp read. The plugin now tracks the last heating state it published instead of reading it back from the service, and recognises the kettle's resting states (S_Standby et al) so an idle kettle stops hitting /temp on the fast cadence.
Error handling. A rejected HomeKit publish can no longer abort the remainder of a poll; unusable reads retry with a bounded budget and then rest at the idle interval, and each failure streak is logged once as a warning rather than only at debug level.
v1.2.2–v1.2.3 fixed TargetTemperature drifting to the kettle's quantised setpoint after a HomeKit write (the kettle stores whole degrees Fahrenheit) and a first-poll race behind the initial clock sync, plus an optional per-kettle timeZone.
Test evidence
95 tests on the built-in node:test runner, across Node 22, 24 and 26.
A compat job boots real Homebridge against the checkout (-U <fresh storage dir> -P <checkout> -Q) on Homebridge 1.6.0, latest 1.x and latest 2.x across Node 22/24/26, asserting the plugin loads, StaggKettle registers, the bridge publishes on its port, and an unreachable kettle degrades into log lines with no TypeError, ReferenceError or unhandled rejection: https://github.com/tomtastic/homebridge-stagg-ekg-pro/actions/runs/40682892324
Behaviour against firmware 1.2.26 was measured on the wire with a real kettle and recorded in the README, including the poll cadence across the boil and keep-warm windows.
Unchanged, for clarity
MIT, zero runtime dependencies, no install scripts, no analytics or telemetry (every outbound request is a GET to the kettle's own LAN address), nothing written to disk, and no TTY or non-standard startup flags.
The repository's package.json carries the scoped name @tomtastic/homebridge-stagg-ekg-pro; the package published to npmjs is the unscoped homebridge-stagg-ekg-pro this request is for — the scope is only re-applied for GitHub Packages.
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.
Hi @tomtastic, thanks for submitting this, and for re-running the checks against 1.2.5 with such a clear write-up of what changed. Everything looks good, so it's now verified, and I've added your kettle icon too, which should start showing in the Homebridge UI within the hour. Thanks for contributing to Homebridge!
Activity
github-actions commentedon Oct 26, 2026
🟢 Passed Checks
homepageexistsbugs.urlexists and seems a valid URLkeywordsexist and contain'homebridge-plugin'keywordsdeclare the supported transports ('supports-hap'and/or'supports-matter')'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.4.0typepropertypropertiesfor 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
v1.2.0of the plugin.http://192.168.1.32/cliMethods:
GET| Count:6| Scenarios: full config, network resiliencehttp://192.168.1.32/tempMethods:
GET| Count:6| Scenarios: full config, network resilience📋 Next Steps
All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.
tomtastic commentedon Oct 28, 2026
Re-running the checks against the current release: v1.2.0 → v1.2.5 (
npmlatest and the default branch are both at 1.2.5).What changed since v1.2.0
engines.homebridgeis now^1.6.0 || ^2.0.0andengines.nodeis^22.12.0 || ^24.0.0 || ^26.0.0. Verified live against Homebridge 1.6.0, 1.6.1 and 2.4.0.Service#getValuedoes not exist in the HAP implementation bundled with Homebridge 2.x, so temperature polls threwTypeError: service.getValue is not a functionimmediately after every successful/tempread. The plugin now tracks the last heating state it published instead of reading it back from the service, and recognises the kettle's resting states (S_Standbyet al) so an idle kettle stops hitting/tempon the fast cadence.TargetTemperaturedrifting to the kettle's quantised setpoint after a HomeKit write (the kettle stores whole degrees Fahrenheit) and a first-poll race behind the initial clock sync, plus an optional per-kettletimeZone.Test evidence
node:testrunner, across Node 22, 24 and 26.compatjob boots real Homebridge against the checkout (-U <fresh storage dir> -P <checkout> -Q) on Homebridge 1.6.0, latest 1.x and latest 2.x across Node 22/24/26, asserting the plugin loads,StaggKettleregisters, the bridge publishes on its port, and an unreachable kettle degrades into log lines with noTypeError,ReferenceErroror unhandled rejection: https://github.com/tomtastic/homebridge-stagg-ekg-pro/actions/runs/40682892324Unchanged, for clarity
package.jsoncarries the scoped name@tomtastic/homebridge-stagg-ekg-pro; the package published to npmjs is the unscopedhomebridge-stagg-ekg-prothis request is for — the scope is only re-applied for GitHub Packages./check
github-actions commentedon Oct 28, 2026
🟢 Passed Checks
homepageexistsbugs.urlexists and seems a valid URLkeywordsexist and contain'homebridge-plugin'keywordsdeclare the supported transports ('supports-hap'and/or'supports-matter')'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.4.0typepropertypropertiesfor 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
v1.2.5of the plugin.http://192.168.1.32/cliMethods:
GET| Count:6| Scenarios: full config, network resiliencehttp://192.168.1.32/tempMethods:
GET| Count:6| Scenarios: full config, 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-stagg-ekg-pro
github-actions commentedon Oct 28, 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 Oct 28, 2026
Hi @tomtastic, thanks for submitting this, and for re-running the checks against 1.2.5 with such a clear write-up of what changed. Everything looks good, so it's now verified, and I've added your kettle icon too, which should start showing in the Homebridge UI within the hour. Thanks for contributing to Homebridge!