Announcement

Collapse
No announcement yet.

Easy Trigger plug-in - Feature Requests

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

  • SmartyPants
    replied
    Hi.

    When selecting a schedule as a condition, can we make the selection multi-choice rather than just one schedule?

    It would cut down a little on event creation. So for example;

    IF the device changes and become 'doh',
    AND IF the time is in this schedule range:
    Schedule 1
    Schedule 3
    THEN tell Alexa to strangle the Wife.

    Leave a comment:


  • teladog01
    replied
    Originally posted by SmartyPants View Post
    Hi.

    Something that seems lacking in HS but would add much power and flexibility is the ability to address a device by it's ref id for example, but which is contained within a variable or virtual device.

    At present you can only select a physical or virtual device for the initial THEN action, you can then control that device in various ways through Spuds plugin, even applying another devices value to it, but what remains fixed and limited is the original device to which you are applying something to.

    A major flexibility would be gained if the initial THEN action device could change dynamically, that is, if we could select a variable or VD which contained the device ref id (or other ref point) as a value representing the device to control. If this was the case, it could have the potential to reduce the need for many similar events.

    I currently use a script for this, which I have yet to thank the creator chap, and while it works perfectly there is a bit of a sluggish response calling a script for dimming multiple times, whereas Spuds toggle offers instant no lag dimming.

    So in my example;

    I have a VD with a value representing a kitchen light. I press a button on the remote and it runs an event that takes the VD value (ref id of device) and applies the actions to it.

    I then press another button on the remote which changes the value of the VD to another device, when I run the same event it now dims a different light. I've not explained in detail what I use the script for, so the above may not make much sense or you may not see the advantages, but it seems to me that by way of simply having the ability to make the initial device a dynamic one, you can reuse an event multiple times.

    Hope that's clear, if not let me know.
    Sounds very similar to jvm's suggestion in post #574. I agree this functionality would be very powerful 👍

    Leave a comment:


  • teladog01
    replied
    Originally posted by drhtmal View Post
    Would it be possible to add a feature that allows groups to be added to group? Let's say I have several groups (one for each floor) named All-Lights-Basement and All-Lights-Main-Floor and All-Lights-Second-Floor. These groups contain all the lighting devices for each respective floor. I also want a group called All-Lights which would have all lighting devices from all the floors. Rather than add all the lighting devices to the All-Lights group I could just add the groups for each floor to the All-Lights group. With this feature it would be easier to maintain the groups.
    I agree, nested groups would be useful 👍

    Leave a comment:


  • drhtmal
    replied
    Would it be possible to add a feature that allows groups to be added to group? Let's say I have several groups (one for each floor) named All-Lights-Basement and All-Lights-Main-Floor and All-Lights-Second-Floor. These groups contain all the lighting devices for each respective floor. I also want a group called All-Lights which would have all lighting devices from all the floors. Rather than add all the lighting devices to the All-Lights group I could just add the groups for each floor to the All-Lights group. With this feature it would be easier to maintain the groups.

    Leave a comment:


  • SmartyPants
    replied
    Hi.

    Something that seems lacking in HS but would add much power and flexibility is the ability to address a device by it's ref id for example, but which is contained within a variable or virtual device.

    At present you can only select a physical or virtual device for the initial THEN action, you can then control that device in various ways through Spuds plugin, even applying another devices value to it, but what remains fixed and limited is the original device to which you are applying something to.

    A major flexibility would be gained if the initial THEN action device could change dynamically, that is, if we could select a variable or VD which contained the device ref id (or other ref point) as a value representing the device to control. If this was the case, it could have the potential to reduce the need for many similar events.

    I currently use a script for this, which I have yet to thank the creator chap, and while it works perfectly there is a bit of a sluggish response calling a script for dimming multiple times, whereas Spuds toggle offers instant no lag dimming.

    So in my example;

    I have a VD with a value representing a kitchen light. I press a button on the remote and it runs an event that takes the VD value (ref id of device) and applies the actions to it.

    I then press another button on the remote which changes the value of the VD to another device, when I run the same event it now dims a different light. I've not explained in detail what I use the script for, so the above may not make much sense or you may not see the advantages, but it seems to me that by way of simply having the ability to make the initial device a dynamic one, you can reuse an event multiple times.

    Hope that's clear, if not let me know.

    Leave a comment:


  • jvm
    replied
    Originally posted by logman View Post

    I like this approach. WebCore (the SmartThings rules engine) offers $CurrentEventDevice and $PreviousEventDevice as system variables that can be used as placeholders in conditions and triggers. Powerful tools to have in the arsenal for certain situations.

    --Barry
    And as a further clarification to this, it would be great if this "ET Triggered Device" not function as a single device appearing in HomeSeer but would work more like a pointer with local scope to a triggering event - that way, if multiple events triggered about the same time and were all doing processing, each could have its own "ET Triggered Device" so a newly fired event doesn't overwrite the "ET Triggered Device" of an event that is still being processed (as can happen with the current global variable approach if another event triggers while a first event (which might be slow due to delays, or lots of Actions) is still processing).

    Again, as HS4 is currently still under development, maybe this is something for HS4 as you can have some more influence over how HS4 works given it and its SDK is still developing as opposed to trying to fit this into the set structure of HS3.

    Leave a comment:


  • logman
    replied
    Originally posted by jvm View Post
    Request: Control Device Indicate By etDeviceRef


    What I propose is :

    Solution (2): (I think this one is more powerful if it could be done (otherwise consider - is this something HS4 would enable)):
    Easy Trigger creates a virtual device "ET Triggered Device" that the user can select in an event's Actions and can thereby control. This is similar to Option #1. The further enhancement is that, at the time of triggering (if possible) this device essentially becomes a pointer to (or copy of) the "real" device so that things like Device Type (String) and other settings of the device are copied to this "virtual" device. Thus, you could interact with it in all ways as if it were the "real" device that triggered (e.g., find out its Control Pairs and other things you could do to a "real" device).
    I like this approach. WebCore (the SmartThings rules engine) offers $CurrentEventDevice and $PreviousEventDevice as system variables that can be used as placeholders in conditions and triggers. Powerful tools to have in the arsenal for certain situations.

    --Barry

    Leave a comment:


  • teladog01
    replied
    Originally posted by jvm View Post
    Request: Control Device Indicate By etDeviceRef

    I'd like a simpler way to control a device the device indicted by etDeviceRef.

    Currently, for example, if the triggering device is a Z-Wave device, you'd need to do CAPI scripting which is overly complex.

    What I propose is :
    Solution (1):
    Easy Trigger creates a virtual device "ET Triggered Device" that the user can select in an event's Actions and can thereby control. For example, the Actions for an event could include a new action "Control ET Triggered Device". This could then have its value set, be set to another device, be compared, etc. If its value is being set, then Easy Trigger figures out what the "real" device associated with the trigger reference is, and handles the proper control translations. So, whether the actual HomeSeer device is ZWave, virtual, or was created by another plugin, a user could set its value via ET Triggered Device, and Easy Trigger itself would figure out if its set by CAPI, by simply setting its status value (for a virtual device), or otherwise.

    Solution (2): (I think this one is more powerful if it could be done (otherwise consider - is this something HS4 would enable)):
    Easy Trigger creates a virtual device "ET Triggered Device" that the user can select in an event's Actions and can thereby control. This is similar to Option #1. The further enhancement is that, at the time of triggering (if possible) this device essentially becomes a pointer to (or copy of) the "real" device so that things like Device Type (String) and other settings of the device are copied to this "virtual" device. Thus, you could interact with it in all ways as if it were the "real" device that triggered (e.g., find out its Control Pairs and other things you could do to a "real" device).


    I'm currently accomplishing this with a messy hs.capicontrolhandler() one-liner immediate script. But I agree it makes sense for EasyTrigger to add this functionality as an extension of the existing ET global variables. Would be very powerful, and much cleaner to the end user.

    We need this

    Leave a comment:


  • mda
    replied
    Originally posted by logman View Post

    You can look at the device last change time (DeviceLastChangeRef) for each device using an Easy Trigger expression as a condition (Easy Trigger: A device's value is... This expression is true):

    AND IF [CODE]DeviceLastChangeRef(xxxx)
    Replace the "xxxx" with the devices reference numbers you are wanting to compare.

    I haven't tested this but it should work.

    --Barry
    Thanks Barry, will give it a try!

    Leave a comment:


  • jvm
    replied
    Request: Control Device Indicate By etDeviceRef

    I'd like a simpler way to control a device the device indicted by etDeviceRef.

    Currently, for example, if the triggering device is a Z-Wave device, you'd need to do CAPI scripting which is overly complex.

    What I propose is :
    Solution (1):
    Easy Trigger creates a virtual device "ET Triggered Device" that the user can select in an event's Actions and can thereby control. For example, the Actions for an event could include a new action "Control ET Triggered Device". This could then have its value set, be set to another device, be compared, etc. If its value is being set, then Easy Trigger figures out what the "real" device associated with the trigger reference is, and handles the proper control translations. So, whether the actual HomeSeer device is ZWave, virtual, or was created by another plugin, a user could set its value via ET Triggered Device, and Easy Trigger itself would figure out if its set by CAPI, by simply setting its status value (for a virtual device), or otherwise.

    Solution (2): (I think this one is more powerful if it could be done (otherwise consider - is this something HS4 would enable)):
    Easy Trigger creates a virtual device "ET Triggered Device" that the user can select in an event's Actions and can thereby control. This is similar to Option #1. The further enhancement is that, at the time of triggering (if possible) this device essentially becomes a pointer to (or copy of) the "real" device so that things like Device Type (String) and other settings of the device are copied to this "virtual" device. Thus, you could interact with it in all ways as if it were the "real" device that triggered (e.g., find out its Control Pairs and other things you could do to a "real" device).


    Leave a comment:


  • logman
    replied
    Originally posted by mda View Post

    Stuart Thanks, that is indeed another way to do walking upstairs, yep

    Where i am stuck though is on the car arrives home event, where it is possible the gate and garage might open concurrently (if a person presses both buttons in the car or on the wall to leave) or in either order when leaving or arriving (and I am not good with scripts sadly). Is there perchance any other approach you can think of for that one? Thanks!
    You can look at the device last change time (DeviceLastChangeRef) for each device using an Easy Trigger expression as a condition (Easy Trigger: A device's value is... This expression is true):

    AND IF
    Code:
    DeviceLastChangeRef(xxxx) < DeviceLastChangeRef(xxxx)
    Replace the "xxxx" with the devices reference numbers you are wanting to compare.

    I haven't tested this but it should work.

    --Barry

    Leave a comment:


  • mda
    replied
    Originally posted by Stuart View Post
    walking upstairs,,, if top of stairs becomes motion and if bottom of stairs motion has changed in the last 5 seconds then .....

    Stuart
    Stuart Thanks, that is indeed another way to do walking upstairs, yep

    Where i am stuck though is on the car arrives home event, where it is possible the gate and garage might open concurrently (if a person presses both buttons in the car or on the wall to leave) or in either order when leaving or arriving (and I am not good with scripts sadly). Is there perchance any other approach you can think of for that one? Thanks!

    Leave a comment:


  • Stuart
    replied
    walking upstairs,,, if top of stairs becomes motion and if bottom of stairs motion has changed in the last 5 seconds then .....

    Stuart

    Leave a comment:


  • mda
    replied
    spud would it be possible to add a condition that compares the Last Change time of two devices, such as: "And If <device 1> Last Change time was before <device 2> Last Change time" ?

    I think this would make it really easy to condition triggering events based on things like the direction of motion or a car coming home vs. leaving etc., for example:

    "Car Arriving Home" event:

    If Driveway Gate changes and becomes Open
    And If Garage Door has a value equal to Open
    And if Driveway Gate changed before Garage Door
    And if Garage Door changed before Garage Motion Sensor
    Then
    etc.


    "Walking Upstairs" event:

    If Bottom of Stairs Motion Sensor changes and becomes Motion
    And If Top of Stairs Motion Sensor changes and becomes Motion

    And if Bottom of Stairs Motion Sensor changed before Top of Stairs Motion Sensor

    Then
    etc.

    Or, if it's already possible to compare two devices' Last Change times with An Expression, would you mind letting me know how?

    Thanks!

    Leave a comment:


  • BigBadBuzz
    replied
    I agree with jvm's suggestion - I had an occurrence this evening where the event triggered (to turn on a light) but for some reason the Z-wave light did not turn on. I'd like the event to be able to re-trigger in a short time so the light will go on.

    Regards,
    BBB

    Leave a comment:

Working...
X