Skip to content

Verification Request: homebridge-moonraker #719

Closed

Description

@rajivsarvepalli

Plugin Name

homebridge-moonraker

Link To GitHub Repo

https://github.com/rajivsarvepalli/homebridge-moonraker

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

No response

Activity

  1. github-actions commented on Apr 3, 2024

    @github-actions
    Contributor

    🔴 The following pre-checks failed:

    • Package JSON: more keywords apart from 'homebridge-plugin' should exist
    • Config Schema JSON: does not contain a name schema property

    🟢 The following pre-checks passed:

    • Installation: successfully installed
    • Package JSON: repository.url property exists
    • Package JSON: bugs.url exists
    • 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 18
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.7.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    ⚠️ Please action these failures and then comment /check to run the checks again. Let us know if you need any help.

  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 Apr 3, 2024
  3. rajivsarvepalli commented on Apr 3, 2024

    @rajivsarvepalli
    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 Apr 3, 2024
  5. github-actions commented on Apr 3, 2024

    @github-actions
    Contributor

    🔴 The following pre-checks failed:

    • Package JSON: more keywords apart from 'homebridge-plugin' should exist
    • Config Schema JSON: does not contain a name schema property

    🟢 The following pre-checks passed:

    • Installation: successfully installed
    • Package JSON: repository.url property exists
    • Package JSON: bugs.url exists
    • 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 18
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.7.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    ⚠️ Please action these failures and then comment /check to run the checks again. Let us know if you need any help.

  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 Apr 3, 2024
  7. rajivsarvepalli commented on Apr 3, 2024

    @rajivsarvepalli
    Author

    /check

  8. bwp91 commented on Apr 3, 2024

    @bwp91
    Contributor

    /check

  9. 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 Apr 3, 2024
  10. github-actions commented on Apr 3, 2024

    @github-actions
    Contributor

    🔴 The following pre-checks failed:

    • None

    🟢 The following pre-checks passed:

    • Installation: successfully installed
    • Package JSON: repository.url property exists
    • Package JSON: bugs.url exists
    • 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 18
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.7.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    🎉 All pre-checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.

  11. bwp91 commented on Apr 3, 2024

    @bwp91
    Contributor

    /check

  12. github-actions commented on Apr 3, 2024

    @github-actions
    Contributor

    🟢 The following pre-checks passed:

    • Installation: successfully installed
    • Package JSON: repository.url property exists
    • Package JSON: bugs.url exists
    • 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 18
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.7.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    🎉 All pre-checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.

  13. bwp91 commented on Apr 3, 2024

    @bwp91
    Contributor

    Hi @rajivsarvepalli

    A config of

            {
                "printers": [
                    {
                        "moonrakerUrl": "0.0.0.0",
                        "name": "Test",
                        "maxBedHeaterTemp": 120,
                        "maxExtruderHeaterTemp": 300,
                        "temperatureSensors": [
                            {
                                "name": "Chamber",
                                "moonrakerName": "chamber",
                                "minTemp": 0,
                                "maxTemp": 100
                            }
                        ]
                    }
                ],
                "name": "Homebridge Moonraker",
                "features": [
                    "Print Progress"
                ],
                "platform": "HomebridgeMoonraker"
            }

    Results in a homebridge restart crash:

    [03/04/2024, 20:11:24] [Homebridge Moonraker] Launched child bridge with PID 18435
    [03/04/2024, 20:11:24] Registering platform 'homebridge-moonraker.HomebridgeMoonraker'
    [03/04/2024, 20:11:25] [Homebridge Moonraker] Loaded homebridge-moonraker v1.0.1 child bridge successfully
    
    /usr/local/lib/node_modules/homebridge-moonraker/node_modules/ws/lib/websocket.js:692
          throw new SyntaxError(`Invalid URL: ${address}`);
                ^
    SyntaxError: Invalid URL: 0.0.0.0/websocket
        at initAsClient (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/ws/lib/websocket.js:692:13)
        at new WebSocket (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/ws/lib/websocket.js:85:7)
        at Websocket.tryConnect (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/moonraker-client/src/websocket/websocketClient.ts:277:33)
        at new Websocket (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/moonraker-client/src/websocket/websocketClient.ts:64:38)
        at WebsocketBuilder.build (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/moonraker-client/src/websocket/websocketClientBuilder.ts:242:12)
        at new MoonrakerClient (/usr/local/lib/node_modules/homebridge-moonraker/node_modules/moonraker-client/src/clients/moonrakerClient.ts:27:8)
        at HomebridgeMoonrakerPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-moonraker/src/platform.ts:74:22)
        at HomebridgeAPI.<anonymous> (/usr/local/lib/node_modules/homebridge-moonraker/src/platform.ts:39:12)
        at HomebridgeAPI.emit (node:events:518:28)
        at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
    [03/04/2024, 20:11:25] [Homebridge Moonraker] Child bridge process ended
    [03/04/2024, 20:11:25] [Homebridge Moonraker] Process Ended. Code: 1, Signal: null
    

    Please ensure that the plugin config is validated properly and that the plugin catches and logs ALL errors rather than throwing them.

  14. added
    currently-reviewinguse for starting a review - adds a comment with the verification list with empty checkboxes
    on Apr 3, 2024
  15. github-actions commented on Apr 3, 2024

    @github-actions
    Contributor
    • General
      • The plugin must be of type dynamic platform.
      • The plugin must not offer the same nor less functionality than that of any existing verified plugin.
    • Repo
      • The plugin must be published to NPM and the source code available on a GitHub repository, with issues enabled.
      • A GitHub release should be created for every new version of your plugin, with release notes.
    • Environment
      • The plugin must run on all supported LTS versions of Node.js, at the time of writing this is Node v18 and v20.
      • The plugin must successfully install and not start unless it is configured.
      • The plugin must not execute post-install scripts that modify the users' system in any way.
      • The plugin must not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.
    • Codebase
      • The plugin must implement the Homebridge Plugin Settings GUI.
      • The plugin must not contain any analytics or calls that enable you to track the user.
      • If the plugin needs to write files to disk (cache, keys, etc.), it must store them inside the Homebridge storage directory.
      • The plugin must not throw unhandled exceptions, the plugin must catch and log its own errors.
  16. 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
    currently-reviewinguse for starting a review - adds a comment with the verification list with empty checkboxes
    on Apr 3, 2024
  17. rajivsarvepalli commented on Apr 9, 2024

    @rajivsarvepalli
    Author

    Thanks for the update. Released version 1.0.2 of homebridge-moonraker which should solve this issue. All errors should be caught and logged inside the plugin start-up as well as device discovery.

  18. added
    verifieduse when a plugin meets the criteria - adds the verified badge text
    and removed
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    on Apr 13, 2024
  19. github-actions commented on Apr 13, 2024

    @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://badgen.net/badge/homebridge/verified/purple)](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.

    If for any reason in the future you can no longer maintain your plugin, please consider transferring it to our unmaintained plugins repo. We can take ownership until another willing developer comes along.

    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
  20. added a commit that references this issue on Apr 13, 2024
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

    verifieduse 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