Skip to content

Verification Request: homebridge-aeg-robot-matter #1096

Closed

Description

@Niklas31

Plugin Name

homebridge-aeg-robot-matter

Link To GitHub Repo

https://github.com/Niklas31/homebridge-aeg-robot-matter

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

This plugin integrates AEG and Electrolux robotic vacuum cleaners with Homebridge and HomeKit.

Features include:

  • Robot status and battery reporting

  • Cleaning control (start, pause, stop, return to base)

  • Cleaning mode selection

  • Support for multiple robot models

  • Matter-compatible robotic vacuum accessory support

The plugin communicates only with the official Electrolux cloud APIs required for device control and status retrieval. No analytics, telemetry, advertising, or user tracking is performed.

The source code is fully open source and available on GitHub. It was baed on a deprecated plugin and combined HAP and Matterbridge plugins

Activity

  1. github-actions commented on Jun 23, 2026

    @github-actions
    Contributor

    Note

    The verification check script has recently been updated. If you believe any result below is incorrect (a false positive), please reply to this issue and let us know — it helps us tune the new checks.

    🔴 Failed Checks

    • Config Schema JSON: schema is invalid - required should not be a boolean property on individual fields. In JSON Schema, required must be an array at the object level listing required property names. Remove "required": true/false from individual properties and use "required": ["property1", "property2"] at the object level instead.
    • Dependencies: homebridge must only be in devDependencies (not dependencies, optionalDependencies, bundledDependencies, or peerDependencies — npm auto-installs peer deps)

    🟢 Passed Checks

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 2.1.0
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v0.1.30) matches NPM version (v0.1.30)
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: pluginAlias matches the platform/accessory registered in code
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: hap-nodejs is not declared as a runtime/peer/bundled dependency
    • Security: no known vulnerabilities in dependencies
    • Security: code patterns flagged for manual review
    • Security: no privilege escalation attempts detected
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    🔍 For Manual Review

    The following items were detected and require manual review. We understand that these items may be false positives.

    • Security: accesses environment files in dist/settings.js

    ℹ️ Check Details

    • These checks were run against v0.1.30 of the plugin.
    • Link to the run workflow: visit →.

    📋 Next Steps

    • Please action these failures and then comment /check to run the checks again.
    • If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.
    • Remember this is an automatic script: if you think something has been marked as a failure in error, let us know with a reply.
    • Feel free to ask any questions you have by replying to this issue.
  2. added
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    and removed
    pendingthe label given to a new verification/icon request
    on Jun 23, 2026
  3. Niklas31 commented on Jun 23, 2026

    @Niklas31
    Author

    /check

  4. added
    pendingthe label given to a new verification/icon request
    and removed
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    on Jun 23, 2026
  5. github-actions commented on Jun 23, 2026

    @github-actions
    Contributor

    Note

    The verification check script has recently been updated. If you believe any result below is incorrect (a false positive), please reply to this issue and let us know — it helps us tune the new checks.

    🔴 Failed Checks

    Runtime Issues:

    • ⚠️ Plugin crashes when started with the following configuration:

      {
        "platform": "AEGRobotMatter"
      }

      Error:

      expected startup but failed - Plugin initialization error detected
      

      This needs to be fixed so that the plugin does not send Homebridge into a crash-restart loop. The plugin could:

      • Handle missing required configuration gracefully with proper error messages
      • Provide sensible defaults for missing values
      • Validate configuration during startup and log helpful warnings
    • ⚠️ Plugin crashes when started with the following configuration:

      {
        "platform": "AEGRobotMatter",
        "name": "AEG Robot",
        "apiKey": "test-api-key-12345",
        "accessToken": "",
        "refreshToken": "",
        "accessTokenURL": "https://api.example.com",
        "exposeMode": "auto",
        "switchOffAction": "dock",
        "pollIntervalSeconds": 30,
        "whiteList": [],
        "blackList": [],
        "logMapStyle": "Off",
        "debug": false
      }

      Error:

      expected startup but failed - [6/23/2026, 4:38:14 PM] TypeError: fetch failed
      

      This needs to be fixed so that the plugin does not send Homebridge into a crash-restart loop. The plugin could:

      • Handle missing required configuration gracefully with proper error messages
      • Provide sensible defaults for missing values
      • Validate configuration during startup and log helpful warnings
    • ⚠️ Plugin crashes when network requests fail:

      Test scenario: Network resilience test with simulated HTTP failures

      Configuration used:

      {
        "platform": "AEGRobotMatter",
        "name": "AEG Robot",
        "apiKey": "test-api-key-12345",
        "accessToken": "",
        "refreshToken": "",
        "accessTokenURL": "https://api.example.com",
        "exposeMode": "auto",
        "switchOffAction": "dock",
        "pollIntervalSeconds": 30,
        "whiteList": [],
        "blackList": [],
        "logMapStyle": "Off",
        "debug": false
      }

      Error:

      expected startup but failed - Plugin initialization error detected
      

      This test simulates network failures to verify the plugin handles HTTP errors gracefully. The plugin should:

      • Implement proper error handling for all HTTP requests
      • Use try-catch blocks or .catch() handlers for promises
      • Provide fallback behavior when external services are unavailable
      • Log errors appropriately without crashing Homebridge
      • Consider implementing retry logic with exponential backoff

    🟢 Passed Checks

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 2.1.0
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v0.1.31) matches NPM version (v0.1.31)
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains valid JSON Schema
    • Config Schema JSON: schema has valid type property
    • Config Schema JSON: schema has valid properties for object type
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: pluginAlias matches the platform/accessory registered in code
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge is not declared as a runtime/peer/bundled dependency
    • Dependencies: hap-nodejs is not declared as a runtime/peer/bundled dependency
    • Security: no known vulnerabilities in dependencies
    • Security: code patterns flagged for manual review
    • Security: no privilege escalation attempts detected
    • Runtime: homebridge installed successfully
    • Runtime: no config - homebridge should start without plugin configuration and plugin should not load
    • Runtime: minimal required - plugin should start with minimal required configuration
    • Runtime: plugin shuts down cleanly within 12s of SIGTERM
    • Runtime: plugin restarts cleanly without port conflicts
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    🔍 For Manual Review

    The following items were detected and require manual review. We understand that these items may be false positives.

    • Security: accesses environment files in dist/settings.js

    ℹ️ Check Details

    • These checks were run against v0.1.31 of the plugin.
    • Link to the run workflow: visit →.
    • External HTTP requests detected:
      • 📡 https://api.example.com
        Methods: GET | Count: 2 | Scenarios: full config, network resilience

    📋 Next Steps

    • Please action these failures and then comment /check to run the checks again.
    • If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.
    • Remember this is an automatic script: if you think something has been marked as a failure in error, let us know with a reply.
    • Feel free to ask any questions you have by replying to this issue.
  6. added
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    and removed
    pendingthe label given to a new verification/icon request
    on Jun 23, 2026
  7. Niklas31 commented on Jun 23, 2026

    @Niklas31
    Author

    /check

  8. added
    pendingthe label given to a new verification/icon request
    and removed
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    on Jun 23, 2026
  9. github-actions commented on Jun 23, 2026

    @github-actions
    Contributor

    Note

    The verification check script has recently been updated. If you believe any result below is incorrect (a false positive), please reply to this issue and let us know — it helps us tune the new checks.

    🟢 Passed Checks

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 2.1.0
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v1.0.0) matches NPM version (v1.0.0)
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains valid JSON Schema
    • Config Schema JSON: schema has valid type property
    • Config Schema JSON: schema has valid properties for object type
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: pluginAlias matches the platform/accessory registered in code
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge is not declared as a runtime/peer/bundled dependency
    • Dependencies: hap-nodejs is not declared as a runtime/peer/bundled dependency
    • Security: no known vulnerabilities in dependencies
    • Security: code patterns flagged for manual review
    • Security: no privilege escalation attempts detected
    • Runtime: homebridge installed successfully
    • Runtime: no config - homebridge should start without plugin configuration and plugin should not load
    • Runtime: platform only - plugin should start with just platform property
    • Runtime: minimal required - plugin should start with minimal required configuration
    • Runtime: full config - plugin should start with comprehensive configuration
    • Runtime: network resilience - plugin should handle network failures without crashing
    • Runtime: plugin shuts down cleanly within 12s of SIGTERM
    • Runtime: plugin restarts cleanly without port conflicts
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    🔍 For Manual Review

    The following items were detected and require manual review. We understand that these items may be false positives.

    • Security: accesses environment files in dist/settings.js

    ℹ️ Check Details

    • These checks were run against v1.0.0 of the plugin.
    • Link to the run workflow: visit →.
    • External HTTP requests detected:
      • 📡 https://api.example.com
        Methods: GET | Count: 2 | 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.

  10. added a commit that references this issue on Jul 12, 2026
  11. added
    verifieduse when a plugin meets the criteria - adds the verified badge text
    on Jul 12, 2026
  12. github-actions commented on Jul 12, 2026

    @github-actions
    Contributor

    Congratulations! Your plugin has been verified!

    You can now add one of the Verified by Homebridge badges to your plugin's README:

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/_-verified-blueviolet?color=%23491F59&style=flat&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=flat)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=for-the-badge&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    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.

    • The Homebridge Team
  13. bwp91 commented on Jul 12, 2026

    @bwp91
    Contributor

    Thanks for this! All looks good — now verified. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    request-verificationverifieduse when a plugin meets the criteria - adds the verified badge text

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions