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

  • rprade
    replied
    Originally posted by ScottRennie View Post
    Hi Spud
    Would it be possible to have a condition like this

    If Sunset is after 21:00 then
    If Sunset is before 21:00 then

    I have some lights that I want to come on at around sunset but not if sunset is after 2100 and likewise I would like a condition that allowed me to have something like

    if time is 1800 and sunset is before 1800
    or
    if time is 21:00 and sunset is after 1800
    then turn lights on

    There might be something already, but I can't fathom it out.

    Cheers
    Scott
    It can be done with native HS Conditions

    Click image for larger version

Name:	6D6BFA0B-3A6A-406A-9FD3-3120948EBBFA.jpeg
Views:	98
Size:	38.1 KB
ID:	1319829

    If it is 18:00 and after sunset, turn the lights on. If it is 21:00 and lights are off (sunset must have been after 18:00 if they are off) turn them on.

    Leave a comment:


  • ScottRennie
    replied
    Hi Spud
    Would it be possible to have a condition like this

    If Sunset is after 21:00 then
    If Sunset is before 21:00 then

    I have some lights that I want to come on at around sunset but not if sunset is after 2100 and likewise I would like a condition that allowed me to have something like

    if time is 1800 and sunset is before 1800
    or
    if time is 21:00 and sunset is after 1800
    then turn lights on

    There might be something already, but I can't fathom it out.

    Cheers
    Scott​​​​​​​

    Leave a comment:


  • spud
    replied
    Originally posted by MattL0 View Post
    spud Hi,


    I think this is an easy one? But would it be possible to add some triggers to the strings section?

    At the present time the string chek for changed. But I would also need ‘’ a string is updated ‘’ in all the string option.


    would that be possible?

    Thanks
    I just ran a few tests: I cannot detect "a string is updated" because when this happen the notification received from HS is actually "a value is updated" .
    So you can use the native trigger "This device just had its value set or changed" to detect a string update.

    Leave a comment:


  • MattL0
    replied
    My work around is to set the string to a null one Every time the string change...

    ( sometimes the very same string got updated to the Device so the event do not fire because there is no change)


    I have somewhat 80 events that get triggered by a string with your plugin. Is adding this fonction gonna cost a lot of cpu? ( i guess , but can be wrong, that the plugin monitor for change and not update on every hs3 device??)

    Leave a comment:


  • MattL0
    replied
    spud Hi,


    I think this is an easy one? But would it be possible to add some triggers to the strings section?

    At the present time the string chek for changed. But I would also need ‘’ a string is updated ‘’ in all the string option.


    would that be possible?

    Thanks

    Leave a comment:


  • jvm
    replied
    spud

    One feature I'd like to see is a way to run a script for each item in a group.

    This is essentially a combination of the HomeSeer "Run a Script or Script Command" with your "EasyTrigger:Set Group of Devices to Expression" except, rather than setting the group of devices to an expression, you run a script for each device.

    A key requirement, however, is that the script would need to be passed the identity of the device for which it is currently running. To do this, I would envision a set of variables, like your etDeviceRef, etDeviceLocation (etc.) variables that could be passed to the script via the "Parameters" of teh script.

    My specific use case - I'd like, e.g., some way to set all the parameters of a set of devices to the same value. To do this, I'd set up a group of devices, say all my dimmers, then use this new "Run Script for Each Device" to iterate through each device and use a script (in this case, I think the immediate script would be something like:
    &nhs.PluginFunction("Z-Wave", "", "Configuration_Set", New Object(){"HomeID", Convert.ToInt32( &ETGroupDeviceRef ), Convert.ToByte(ParameterNumber), Convert.ToByte(1), Convert.ToInt32(NewParameterValue)})
    Since this parameter setting is the primary use case that I have, and to make this scripting case easy, a related feature that would be just as useful (to me) would be a simple "Set Parameter For Each Device In Group" function where the user just specifies the parameter number and new value and doesn't even have to worry about scripting. This seems like something that should be in the z-wave plugin, but it isn't.




    Leave a comment:


  • teladog01
    replied
    Originally posted by teladog01 View Post
    Hi spud,

    Would be very helpful for all of the triggers in "A Device's Value is..." to be available in the "Any Device's Value in Group is..." triggers. I am particularly interested in the ones highlighted below, but seems maybe they should all be available for groups for the sake of completeness, except maybe the comparison one (not sure how that would work)?

    Thanks for considering...

    Click image for larger version Name:	Screenshot 2019-06-09 13.44.24.png Views:	0 Size:	298.6 KB ID:	1309637Hi

    spud, any thoughts on extending these Device triggers to Groups?

    Sure would be useful for some events I am creating that would otherwise require *many* OR IF triggers (and also several conditions on each OR IF).

    Leave a comment:


  • MattL0
    replied
    One feature, that would be really helpful is this condition for groups:

    and If any of these devices in group xx, has been ( and has not been): this value|in range, for at least this time.

    Leave a comment:


  • jvm
    replied
    Originally posted by teladog01 View Post
    Hi spud,

    Would be very helpful for all of the triggers in "A Device's Value is..." to be available in the "Any Device's Value in Group is..." triggers. I am particularly interested in the ones highlighted below, but seems maybe they should all be available for groups for the sake of completeness, except maybe the comparison one (not sure how that would work)?

    Thanks for considering...

    Click image for larger version Name:	Screenshot 2019-06-09 13.44.24.png Views:	0 Size:	298.6 KB ID:	1309637Hi
    I second this one. The Group functions are extremely useful. As further clarity, I'd like to see this as an "if Any in group" and an "If All in group" option, where if the trigger occurs due to the "If Any" you also get the et global parameters set so you can see which one caused the trigger.

    Leave a comment:


  • teladog01
    replied
    Hi spud,

    Would be very helpful for all of the triggers in "A Device's Value is..." to be available in the "Any Device's Value in Group is..." triggers. I am particularly interested in the ones highlighted below, but seems maybe they should all be available for groups for the sake of completeness, except maybe the comparison one (not sure how that would work)?

    Thanks for considering...

    Click image for larger version  Name:	Screenshot 2019-06-09 13.44.24.png Views:	0 Size:	298.6 KB ID:	1309637Hi

    Leave a comment:


  • jvm
    replied
    Originally posted by ZoRaC View Post

    Any chance this will be added?
    This seems useful, but if added, I'd like to see it include a few variations / options: (1) A "Not Changed" version as proposed; and (2) A "Not Set" version. The "Not Set" may be needed for some use cases -- i.e., the not-working detection use -- because if the device continues to get "set", but to the same value, you wouldn't want to generate a "not working" report.

    I'd also suggest there be any / all options ("If any device in group has not been change or set ...", or "If all devices in group have not been change or set ...). For the "If any" option is used, I assume it would populate the "standard" global variables used by ET to identify a triggering device.

    I could see this use for the "not working" use case but also a more mundane presence case ("If All [Motion Sensors in a Group] have not changed in 20 minutes AND If all [Motion Sensors in the Group] are set to "No Motion", THEN turn off the lights).

    Leave a comment:


  • ZoRaC
    replied
    Originally posted by ZoRaC View Post
    Any chance to expand the “any device in this group”-triggers to have a “value not changed for exactly x min”?

    Use case: get an alert if any of my temperature sensors stops reporting for some reason. I use them for heat-control, so it’s important to know if any of them stops reporting.
    Any chance this will be added?

    Leave a comment:


  • logman
    replied
    Feature Request for Groups: It would be handy to have Triggers/Conditions/Actions for group strings that match the current options for group device values and status.

    Examples:

    IF any device in group Example Group had its string (changed, changes and becomes, changes and contains, changes and does not contain, changes and matches regular expression)

    THEN Set all devices in Example Group strings to (string, $$DTA:variable string:, or regular expression).

    Thanks for your consideration,

    --Barry

    Leave a comment:


  • jvm
    replied
    spud

    As another Feature Request for your consideration, I propose a Group Action to run a script or set a Z-Wave Parameter.

    The feature that I describe below is analogous to the "Set Group of devices to Expression" Action, but allows running scripts for each device.

    Background / Use Case: This feature request came about as I was thinking about how to easily set Z-Wave device parameters for a large group of devices. What I was after was a way to define a group of devices (e.g., all of my dimmers) and then be able to set a parameter for each device in the group. For example, to set them all to the same ramp speed. Another use case was to be able to use this to manipulate the LED colors for my HomeSeer WD200 dimmers in response to different events. As I was thinking about this, it may make sense to make this a more "general" function where you can run a script for each device (I think I can set the parameter via a script, and scripts would give more functions). Here's how I was thinking this could operate:

    For sake of description, I'm calling the Action " Easy Trigger: Run Script or Script Command for Each Device in Group"
    1. This Action is performed on a defined Group or a single device
    2. Optionally, the Action includes a boolean expression test (i.e., "only run Script if test is true") where you can have a test that is evaluated for each device (so the test should be able to consider device variables such as $DEVICEVALUE or other global variables).
    3. If the test is "true" for a device, then run either (a) an immediate script, or (b) a "full script" from as script file -- basically, you'd be replicating the same capability that you get from the regular HomeSeer "Run a Script or Script Command" function but you'd run it for each device in a group. Here, I was envisioning you could do an Immediate script or one from a file and you should be able to pass the file parameter such as the device reference ($DEVICEREF) for each device (and other variables like value, status, etc). Thus, for each device in the group, the script parameters.would include a different reference allowing the script to act on each device individually


    As help to the user, and since scripting can be a bit confusing, maybe this is two functions - one as I've described above, and a related one where step #4 is a "Set Parameter" and you just select a specific parameter and a specific value to set

    Let me know your thoughts on this. Thanks for your help / consideration of these ideas.
    JVM

    Leave a comment:


  • jvm
    replied
    Originally posted by spud View Post

    In version 3.0.0.63 I have added some advanced option to the "Clear Stack" action, which let you remove all items except the N bottom ones:

    Click image for larger version

Name:	clearstackadvanced1.PNG
Views:	165
Size:	23.8 KB
ID:	1296816
    Looks Good. So as I understand it, I could run a "clear stack operation" leaving 1 value, and then do the Pop and Set devices to set each device each back to its original value, or Do a clear leaving 0 values and the entire stack is simply emptied so a "Pop and Set" after that will effectively do nothing. That works for me. Thanks again for the help.

    Leave a comment:

Working...
X