tonesto7 / echo-speaks

Integrate your Amazon Echo devices into your Hubitat environment to create virtual Echo Devices. These virtual devices will allow you to speak text, make announcements, control media playback including volume, and many other Alexa features.
https://tonesto7.github.io/echo-speaks-docs/
110 stars 177 forks source link

(BUG) invalid noOp command parameter definition #1012

Closed joshualyon closed 1 year ago

joshualyon commented 2 years ago

Verify the following before opening an trouble issue

Go over all the following points, and put an x in all the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help!


About Your Setup

Expected Behavior

tell us what should happen The noOp command should not have any arguments declared.

Current Behavior

What happens instead of the expected behavior? The noOp command is partially declaring an argument for the noOp command in the device metadata by declaring a name and description, but it's not declaring a type, so when other apps (like SharpTools) try to enumerate the available commands and arguments, the noOp command is declared as requiring a single null type argument (which is an invalid argument type).

Steps to Reproduce (for bugs)

Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code to reproduce, if relevant

  1. Open https://sharptools.io/user → Manage Connections → Hubitat
  2. Proceed through Hubitat authorization and try to authorize Echo Speaks devices

Where you were previously able to authorize these devices, they would now fail.

Note: We, the SharpTools developers, have updated the device sync process to ignore these null argument types as a workaround, but figured we would report it as we received several support emails asking why device sync was failing... and I suspect that other apps might use introspection / command enumeration which could run into this same issue.

Context

How has this issue affected you? What are you trying to accomplish? Providing context helps us come up with a solution that is most useful in the real world**

Echo Speaks devices were no longer able to be used in apps that try to enumerate commands and use their argument types.


Please include a copy of any relevant log output to assist in tracking down the bug n/a

https://github.com/tonesto7/echo-speaks/blob/745d3c14b38b974e265f60d13ed3a522acceed9c/drivers/echo-speaks-device.groovy#L134

        command "noOp", [[name: "Internal Command Only... Does nothing here...", description: "Internal Command Only... Does nothing Here..."]]
tonesto7 commented 2 years ago

Thanks for reporting this! Myself or Eric will look into it and get a fix out

github-actions[bot] commented 1 year ago

This issue has been marked stale automatically after no activity for the last 180 days.