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
Announcement
Collapse
No announcement yet.
Easy Trigger plug-in - Feature Requests
Collapse
This is a sticky topic.
X
X
-
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:
-
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:
Leave a comment:
-
Wouldn't it be better if the oldest value was removed iso doing nothing?
Verstuurd vanaf mijn SM-G965F met Tapatalk
Leave a comment:
-
Originally posted by jvm View Post
1. Probably Simple - For the "clear stack" operations, a check box whereby the device is set back to its original value -- i.e., the final value to be popped off the stack. Use case: restore an item or group of items to its/their original value, regardless of pending intermediate changes that have been stored on the stack. I was thinking of using this for a HomeSeer shutdown routine to make sure things are stored to their original values before a shutdown. I'm sure there are other use cases.
.
Leave a comment:
-
Originally posted by kriz83 View PostWhat is the behaviour when the stack is 'full' (50 items). Will the oldest one be removed ?
If not, could we add a pop without assigning it to a device ?
In version 3.0.0.63 available in the beta section of the updater the clear stacks has now some advanced option which let you remove only the top N items:
Leave a comment:
-
Originally posted by Hans View Post
OK then. Actually I was using an IF statement as the expression, but as this didn´t work after some tries, I just used the simplest form to see if it would work. Thanks for the quick reply.
Leave a comment:
-
Originally posted by spud View Post
this is a bug I have introduced in version 3.0.0.62. I will fix it ASAP
however, note that your action "Set all devices in Group to $DEVICEVALUE" will have almost no effects because it means each device in the group will bet set to its current value. Maybe what you wanted to do is use the global variable $$GLOBALVAR:ETDeviceValue: which contains the current value of the triggering device
see end of this post: https://forums.homeseer.com/forum/ul...175#post864175
Leave a comment:
-
Originally posted by Hans View PostI´m trying to use $DEVICEVALUE and $DEVICEREF with 'Set Group of Devices to Expression' but I always get an error in the log: " ERROR Parameter was not defined Nome do parâmetro: DEVICEVALUE .The same error happens if I use $DEVICEREF. The event below for example throws the error:
IF Any device in group Luzes_Quartos_Terreo was set and has a value that is not equal to 0
Then Set all Devices in Luzes_Quartos_Terreo to $DEVICEVALUE
Any advice on what am I doing wrong ? I´m on EasyTrigger Beta 3.0.0.62.
however, note that your action "Set all devices in Group to $DEVICEVALUE" will have almost no effects because it means each device in the group will bet set to its current value. Maybe what you wanted to do is use the global variable $$GLOBALVAR:ETDeviceValue: which contains the current value of the triggering device
see end of this post: https://forums.homeseer.com/forum/ul...175#post864175
Leave a comment:
-
I´m trying to use $DEVICEVALUE and $DEVICEREF with 'Set Group of Devices to Expression' but I always get an error in the log: " ERROR Parameter was not defined Nome do parâmetro: DEVICEVALUE .The same error happens if I use $DEVICEREF. The event below for example throws the error:
IF Any device in group Luzes_Quartos_Terreo was set and has a value that is not equal to 0
Then Set all Devices in Luzes_Quartos_Terreo to $DEVICEVALUE
Any advice on what am I doing wrong ? I´m on EasyTrigger Beta 3.0.0.62.
Leave a comment:
-
Originally posted by spud View Post
My bad, it's a typo in the forum post, .61 is the correct version.
By the way, in case you're interested in some simple examples to add to the instructions, here are a few that I'm already using . . .
To turn on all dimmers to 25% if they are off, but leave them at their current value if a user has already turned them on, use the expression:
if( $DEVICEVALUE == 0, 25, $DEVICEVALUE)
To increase each dimmers by 10% of its current value if the device is already 5% or greater, or set to 5% if the device is currently less than 5%, use the expression:
if ($DEVICEVALUE < 5, 5, Min(Ceiling($DEVICEVALUE * 1.10), 99) )
* Note that the expressionMin(Ceiling($DEVICEVALUE * 1.10), 99) will increase a dimmer value by 10%, but limit the maximum to 99 which is the maximum Z-Wave dimmer value that is allowed. The "Ceiling" command ensures that there be at least a 1-point increase if the multiplication by 1.10 would, otherwise, result in a calculated increase of less than 1.
- Likes 1
Leave a comment:
-
Originally posted by logman View Post
Is version .65 correct? I'm showing .61 as the latest available in the updater. My updater has been acting screwy lately, so want to make sure I'm not missing something...
--Barry
Leave a comment:
-
Originally posted by spud View Post
I added $DEVICEVALUE and $DEVICEREF as possible variables for the "Set Group of Devices to Expression" action in version 3.0.0.65 (available in beta section of the updater)
I cannot add things like name, location, etc... because the library that evaluate the expression can only work with numerical values, not with strings.
--Barry
Leave a comment:
-
Originally posted by jvm View PostBy the way, I assumed that if I used $$DVR:$DEVICEREF: it would give the same result as using $DEVICEVALUE, but from my quick test, using $$DVR:$DEVICEREF: will generate an error. Again, thanks for this addition.
- Likes 1
Leave a comment:
-
Originally posted by spud View Post
I added $DEVICEVALUE and $DEVICEREF as possible variables for the "Set Group of Devices to Expression" action in version 3.0.0.65 (available in beta section of the updater)
I cannot add things like name, location, etc... because the library that evaluate the expression can only work with numerical values, not with strings.
Regarding stacks, I will add some more advanced options to the push/pop/clear actions later.
By the way, I assumed that if I used $$DVR:$DEVICEREF: it would give the same result as using $DEVICEVALUE, but from my quick test, using $$DVR:$DEVICEREF: will generate an error. Again, thanks for this addition.
Leave a comment:
Leave a comment: