Announcement

Collapse
No announcement yet.

Feature Requests

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Feature Requests

    I have already a list of TODOs, please vote or add your own
    1. Add Time Trigger (may be schedules later)
    2. Add "Play Audio file" Action
    3. Add "Speech" Action
    4. Linked State Device in TriggerGroups - so each Trigger Group may be enabled for particular Linked State Device state.
    5. Copy TriggerGroup from another device
    6. Sync TriggerGroups with group of devices (how?)
    7. Predefined Devices - Date, Time, Occupancy, Dusk-Dawn
    8. Add HS device for current device coundtowd delay (TimeSpan)
    9. Add device for device current countdown timer
    10. Add ability to execute an Action some time before coundtowd delay end
    11. Create device groups
    12. Support status only devices.

    #2
    Need to make sure that if the plugin is uninstalled that all traces of the plugin are removed. Currently it appears that if the plugin is uninstalled devices are left orphaned as still being "owned" by the plugin. I had this happen to a virtual device and the CAPI Control Handler could no longer update the device, which rendered the virtual device broken. All device associations with the plugin need to be removed if the plugin is uninstalled.

    Thanks,

    --Barry

    Comment


      #3
      Originally posted by logman View Post
      All device associations with the plugin need to be removed if the plugin is uninstalled.
      Thanks Barry logman . Does HS provide the functionality to execute any code when plugin gets uninstalled?

      Comment


        #4
        Originally posted by alexbk66 View Post
        Thanks Barry logman . Does HS provide the functionality to execute any code when plugin gets uninstalled?
        Sorry, that's above my paygrade. However I believe they do because this issue has come up before with other plugins and the use of shared resources. Probably a good question to post over in the dev support forums.

        --Barry

        Comment


          #5
          Originally posted by logman View Post
          Sorry, that's above my paygrade. However I believe they do because this issue has come up before with other plugins and the use of shared resources. Probably a good question to post over in the
          I don't think there's any event existing when plugin gets uninstalled. I asked in the development forum, but I wouldn't hope too much.

          I can provide the uninstall option on the config page, not sure if it's really necessary though if other plugins don't provide this option.

          Comment


            #6
            Originally posted by alexbk66 View Post
            I don't thins there's any event existing when plugin gets uninstalled. I asked in the development forum, but I wouldn't hope too much.

            I can provide the uninstall option on the config page, not sure if it's really necessary though if other plugins don't provide this option.
            Even if you had an event to notify you when a plugin is uninstalled, you would have to have code there to execute it and in my experience i stop plugins before uninstalling them.

            Are you somehow taking ownership of devices that your plugin didn't create? How does that exactly work? are you rerouting the CapiControls?

            Comment


              #7
              Originally posted by sirmeili View Post
              Are you somehow taking ownership of devices that your plugin didn't create? How does that exactly work? are you rerouting the CapiControls?
              I simply set device interface to my plugin. I think that's the only way for HS to know what plugin the device belong to. I don't think HS knows who actually created the device otherwise.

              Comment


                #8
                Originally posted by logman View Post
                Need to make sure that if the plugin is uninstalled that all traces of the plugin are removed. I had this happen to a virtual device and the CAPI Control Handler could no longer update the device, which rendered the virtual device broken. All device associations with the plugin need to be removed if the plugin is uninstalled.
                BTW Barry logman FYI I do release the interface if you unselect all timer/trigger group - so the device is not used by the plugin and can be released back to HS. But if you uninstall the plugin without disabling the timer/trigger groups - what do you expect?

                Comment


                  #9
                  Originally posted by alexbk66 View Post
                  I simply set device interface to my plugin. I think that's the only way for HS to know what plugin the device belong to. I don't think HS knows who actually created the device otherwise.
                  I'm just curious what happens if your plugin takes control of a device that belongs to another plugin (just out of curiosity). Does that interrupt the communication with the original plugin owner? For instance, if your plugin sets the interface for a z-wave device to your plugin, will that device still work as intended? It could be that this is completely out of the scope of the use of your plugin. I haven't had time to test it yet (it looks really interesting )

                  Comment


                    #10
                    Originally posted by sirmeili View Post
                    I'm just curious what happens if your plugin takes control of a device that belongs to another plugin (just out of curiosity)
                    I take ownership only if the device is not owned by another plugin (i.e. virtual device). See discussion here: https://forums.homeseer.com/forum/developer-support/programming-plug-in-development/hs3-plugin-development-private/1290084-uninstalling-plugin-removing-interface-to-release-the-devices?p=1290219#post1290219

                    Comment


                      #11
                      Originally posted by alexbk66 View Post
                      I simply set device interface to my plugin. I think that's the only way for HS to know what plugin the device belong to. I don't think HS knows who actually created the device otherwise.
                      i'm not sure, but I believe this could break other plugins if you take over ownership of another plugin's device??

                      But if you uninstall the plugin without disabling the timer/trigger groups - what do you expect?
                      I think if someone tries the plugin and decides not to buy it, they are probably going to expect HS to be returned to how it was prior to installing the plugin. Not too big of a deal if there is time left on the trial period... But could be an issue if time has expired on the trial and they still had trigger groups active at expiration.

                      --Barry

                      Comment


                        #12
                        So today your plugin took ownership of one of my virtual devices that had never been associated your plugin. (The device stopped responding to JSON and it took me a bit to figure out why.) I disabled and uninstalled the plugin, but the virtual device still shows your plugin as having ownership and I can no longer update the device with JSON calls. How can I remove the association?? Is there a simple way I can scan the other hundreds of virtual devices I have to see if the plugin took ownership of anymore?

                        Comment


                          #13
                          Originally posted by logman View Post
                          How can I remove the association?? Is there a simple way I can scan the other hundreds of virtual devices I have to see if the plugin took ownership of anymore?
                          First of all, it's probably better to open a separate thread if you have some question.

                          I'm not sure why you "can no longer update the device with JSON calls". But you can check which devices are controlled by the plugin (BTW, that's the whole aim of the plugin - to control devices).

                          As documented in help (and Youtube video) - go to: Plugins -> AK Smart Device -> My Devices.

                          Here you can see which devices are used by the plugin. You can sort by "Plugin" by clicking on the column header. Or sort by "Timer" or "Triggers".

                          And then for each device you don't want to control - go to the device configuration and make sure no timer/trigger group is enabled. Then the device will release the interface and will be removed from the list:

                          Click image for larger version

Name:	Capture.PNG
Views:	342
Size:	93.0 KB
ID:	1290485

                          Comment


                            #14
                            Originally posted by logman View Post
                            The device stopped responding to JSON
                            Do you mean it doesn't respond to JSON calls after you uninstalled the plugin? Or while the plugin was still enabled?

                            Next version I will fix this, but I need to understand what exactly was the problem.

                            Comment


                              #15
                              Originally posted by alexbk66 View Post
                              i'm not sure why you "can no longer update the device with JSON calls". But you can check which devices are controlled by the plugin (BTW, that's the whole aim of the plugin - to control devices).
                              As I said in the first line of my post, the plugin took ownership of a virtual device that had not been associated to your plugin by me. The "My Devices" under the plugin config tab does not show any devices associated with the plugin. I have tried to uninstall the program and reinstall the program to see if I could get the device to show under My Devices, but to no avail. The device is effectively orphaned unless I can figure out how to force release the AK interface. (This makes 2 devices that are now orphaned. I'm still not sure how the first one happened, but I had previously associated it to the plugin.)

                              Do you mean it doesn't respond to JSON calls after you uninstalled the plugin? Or while the plugin was still enabled?
                              If a device is "interfaced" with the plugin, JSON API calls to the device no longer work, whether the plugin is enabled or not. On the 2 "orphaned" virtual devices I currently have, JSON calls no longer work to those even though the plugin is currently uninstalled.

                              --Barry

                              Comment

                              Working...
                              X