homebridge / plugins

Information and resources for Homebridge plugins.
https://homebridge.io/w/Verified-Plugins
GNU General Public License v3.0
368 stars 17 forks source link

Verification Request: homebridge-argo #734

Closed 0SkillAllLuck closed 2 months ago

0SkillAllLuck commented 5 months ago

Plugin Name

homebridge-argo

Link To GitHub Repo

https://github.com/0SkillAllLuck/homebridge-argo

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

github-actions[bot] commented 5 months ago

🔴 The following pre-checks failed:


🟢 The following pre-checks passed:


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

If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.

0SkillAllLuck commented 5 months ago

/check

github-actions[bot] commented 5 months ago

🔴 The following pre-checks failed:


🟢 The following pre-checks passed:


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

If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.

0SkillAllLuck commented 5 months ago

/check

github-actions[bot] commented 5 months ago

🟢 The following pre-checks passed:


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

github-actions[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

0SkillAllLuck commented 4 months ago

/check

github-actions[bot] commented 4 months ago

🟢 The following pre-checks passed:


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

bwp91 commented 2 months ago

/check

github-actions[bot] commented 2 months ago

🟢 The following checks passed:


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

bwp91 commented 2 months ago

Hi @0SkillAllLuck

With a minimal config of

        {
            "name": "Argo",
            "platform": "Argo",
            "_bridge": {
                "username": "0E:95:9B:2B:48:70",
                "port": 47571
            }
        }

I get the following crash loop:

TypeError: this.config.devices is not iterable
    at ArgoPlatform.syncConfiguredDevices (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:49:38)
    at ArgoPlatform.onDidFinishLaunching (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:38:10)
    at HomebridgeAPI.emit (node:events:519:28)
    at HomebridgeAPI.signalFinished (file:///usr/local/lib/node_modules/homebridge/src/api.ts:244:10)
    at ChildBridgeFork.startBridge (file:///usr/local/lib/node_modules/homebridge/src/childBridgeFork.ts:193:14)
[22/09/2024, 14:53:45] [Argo] Child bridge ended (code 1, signal null). The child bridge ended unexpectedly, which is normally due to the plugin not catching its errors properly. Please report this to the plugin developer by clicking on the 'Report An Issue' option in the plugin menu dropdown from the Homebridge UI. If there are related logs shown above, please include them in your report.
[22/09/2024, 14:53:45] [Argo] Child bridge will automatically restart in 30 seconds (restart attempt 3 of 4).
[22/09/2024, 14:54:16] [Argo] Child bridge starting (pid 1657)...
[22/09/2024, 14:54:17] Registering platform 'homebridge-argo.Argo'
[22/09/2024, 14:54:17] [Argo] Child bridge started successfully (plugin v1.6.0).
[22/09/2024, 14:54:17] Publishing bridge accessory (name: Argo, publishInfo: {
  username: '0E:95:9B:2B:48:70',
  port: 47571,
  pincode: '***-**-***',
  category: 2,
  bind: [ 'eth0', [length]: 1 ],
  addIdentifyingMaterial: true,
  advertiser: 'avahi'
}).
TypeError: this.config.devices is not iterable
    at ArgoPlatform.syncConfiguredDevices (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:49:38)
    at ArgoPlatform.onDidFinishLaunching (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:38:10)
    at HomebridgeAPI.emit (node:events:519:28)
    at HomebridgeAPI.signalFinished (file:///usr/local/lib/node_modules/homebridge/src/api.ts:244:10)
    at ChildBridgeFork.startBridge (file:///usr/local/lib/node_modules/homebridge/src/childBridgeFork.ts:193:14)
[22/09/2024, 14:54:18] [Argo] Child bridge ended (code 1, signal null). The child bridge ended unexpectedly, which is normally due to the plugin not catching its errors properly. Please report this to the plugin developer by clicking on the 'Report An Issue' option in the plugin menu dropdown from the Homebridge UI. If there are related logs shown above, please include them in your report.
[22/09/2024, 14:54:18] [Argo] Child bridge will automatically restart in 40 seconds (restart attempt 4 of 4).

Please update the plugin to catch and log the case when the devices property does not exist in the config. You could also check to make sure that it is an array too (otherwise something like null would crash in the same way)

0SkillAllLuck commented 2 months ago

/check

github-actions[bot] commented 2 months ago

🟢 The following checks passed:


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

0SkillAllLuck commented 2 months ago

Hi @0SkillAllLuck

With a minimal config of

        {
            "name": "Argo",
            "platform": "Argo",
            "_bridge": {
                "username": "0E:95:9B:2B:48:70",
                "port": 47571
            }
        }

I get the following crash loop:

TypeError: this.config.devices is not iterable
    at ArgoPlatform.syncConfiguredDevices (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:49:38)
    at ArgoPlatform.onDidFinishLaunching (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:38:10)
    at HomebridgeAPI.emit (node:events:519:28)
    at HomebridgeAPI.signalFinished (file:///usr/local/lib/node_modules/homebridge/src/api.ts:244:10)
    at ChildBridgeFork.startBridge (file:///usr/local/lib/node_modules/homebridge/src/childBridgeFork.ts:193:14)
[22/09/2024, 14:53:45] [Argo] Child bridge ended (code 1, signal null). The child bridge ended unexpectedly, which is normally due to the plugin not catching its errors properly. Please report this to the plugin developer by clicking on the 'Report An Issue' option in the plugin menu dropdown from the Homebridge UI. If there are related logs shown above, please include them in your report.
[22/09/2024, 14:53:45] [Argo] Child bridge will automatically restart in 30 seconds (restart attempt 3 of 4).
[22/09/2024, 14:54:16] [Argo] Child bridge starting (pid 1657)...
[22/09/2024, 14:54:17] Registering platform 'homebridge-argo.Argo'
[22/09/2024, 14:54:17] [Argo] Child bridge started successfully (plugin v1.6.0).
[22/09/2024, 14:54:17] Publishing bridge accessory (name: Argo, publishInfo: {
  username: '0E:95:9B:2B:48:70',
  port: 47571,
  pincode: '***-**-***',
  category: 2,
  bind: [ 'eth0', [length]: 1 ],
  addIdentifyingMaterial: true,
  advertiser: 'avahi'
}).
TypeError: this.config.devices is not iterable
    at ArgoPlatform.syncConfiguredDevices (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:49:38)
    at ArgoPlatform.onDidFinishLaunching (file:///usr/local/lib/node_modules/homebridge-argo/src/platform.ts:38:10)
    at HomebridgeAPI.emit (node:events:519:28)
    at HomebridgeAPI.signalFinished (file:///usr/local/lib/node_modules/homebridge/src/api.ts:244:10)
    at ChildBridgeFork.startBridge (file:///usr/local/lib/node_modules/homebridge/src/childBridgeFork.ts:193:14)
[22/09/2024, 14:54:18] [Argo] Child bridge ended (code 1, signal null). The child bridge ended unexpectedly, which is normally due to the plugin not catching its errors properly. Please report this to the plugin developer by clicking on the 'Report An Issue' option in the plugin menu dropdown from the Homebridge UI. If there are related logs shown above, please include them in your report.
[22/09/2024, 14:54:18] [Argo] Child bridge will automatically restart in 40 seconds (restart attempt 4 of 4).

Please update the plugin to catch and log the case when the devices property does not exist in the config. You could also check to make sure that it is an array too (otherwise something like null would crash in the same way)

Thanks for noticing, totally missed that. I've added some validation to the configuration to no longer throw but log the error properly.

github-actions[bot] commented 2 months ago
github-actions[bot] commented 2 months ago

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 :heart: 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.

bwp91 commented 2 months ago

thanks for making that change!