Announcement
Collapse
No announcement yet.
Easy Trigger plug-in - Feature Requests
Collapse
This is a sticky topic.
X
X
-
ignore what I just said, it won't work in exisitng events, so it's better to recreate it from scratch, and then update your events
-
Originally posted by The Profit View PostHello Spud,
Is it possible to change the type of an existing Device Group from Static to Dynamic or is it best to delete the existing Static device group and recreate it from scratch?
Sent from my iPad using Tapatalk
Leave a comment:
-
Hello Spud,
Is it possible to change the type of an existing Device Group from Static to Dynamic or is it best to delete the existing Static device group and recreate it from scratch?
Sent from my iPad using Tapatalk
Leave a comment:
-
In version 3.0.0.57 available in the beta section of the updater, I have added "dynamic groups". A dynamic group is a group of devices based on rules. You can define new dynamic groups from the config page.
For example the group on the screenshot below will include all the devices that match the following conditions
name contains "Light" AND room is "Living Room" AND type starts with "UPB"
OR
name contains "Light" AND room is "Kitchen"
To know which devices are currently included in a dynamic group you can hover your mouse pointer over the icon next to the Edit button, and you will see a tooltip with the list of devices.
Once a dynamic group is defined you can use it in Triggers/Conditions/Actions exactly like with static groups.
Warning: The old way of defining groups based on name/location/type within triggers is now deprecated and will be removed in a future version.
- Likes 3
Leave a comment:
-
Originally posted by spud View Post
1. It could be tricky because from the plugin point of view when an action is called there is no reliable way to know which trigger is the origin. So such a feature would have to be based on the ETDeviceRef global variable or similar, which could to lead to incorrect behavior if 2 triggers are fired at almost the same time.
I think I will pass on this one for now
2-3. I'm considering this, and if/when I do it, this would be from the config page.
4. I will do it, but I'm quite busy currently so it may take some time
5. For the "EasyTrigger: Set Group of Devices to Expression" action, I'd like the ability to do some simple conditional logic processing where you can evaluate some simple "If" logic and do something unique for each group member. To implement this, I propose two enhancements to the "EasyTrigger: Set Group of Devices to Expression" action: (a) for the expression part to be evaluated individually for each device in the group -- perhaps as an option; and (b) add variables which would hold the key values for the current device in the group as the expression part is evaluated for that device.- These variables would parallel the global variables you use when an Easy Trigger trigger occurs. For sake of example, let's call them: ThisDeviceValue, ThisDeviceStatus, ThisDeviceRef, ThisDeviceName, ThisDeviceLocation1, ThisDeviceLocation2. The key here is that these variables change for each device in the group as the group expression part of the action is evaluated for that device. I can also envision some cases where a "Device Type" variable would be useful (both here and as part of the Global variables).
- An example use case would be to set a group of devices, but to be able to use each device's current value in an "IF" expression. For example, if I wanted to turn on all lights in Group "MyGroup" to 50%, but only if they are not already on, I could then do a "Set Group of Devices to Expression, Select the group "MyGroup" and then use an expression like: "IF($ThisDeviceValue == 0, 50, $ThisDeviceValue) ".
6. For the existing global trigger variables etDeviceLocation1, etDeviceLocation2, etDeviceName, etDeviceRef, etDeviceStatus, and etDeviceValue it occurs to me that a race condition might occur if (1) an event triggers that uses these variables and in the action part you have a "wait" action or other delay before these variables are acted on., and (2) during that delay, another event triggers that changes the variables before they are acted on by the first event. With this in mind, I propose that these variables have a unique instance for each event -- i.e., when the event triggers, a copy of the value of these variables is made for the current event instance and that copy is used for any of that event's actions. Thus, if a second event triggered while the first event was still processing its actions, the first event would still use the values that existed at its moment of triggering.
Leave a comment:
-
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.
Leave a comment:
-
Originally posted by mikee123 View PostWe have 'a device has changed in the last... and a selection of devices'. I would need a device has NOT changed in the last x minutes
I want to trigger if a device has changed. Then check if another device has not changed after 5 seconds
Another request would be to compare device a to device b - If device a equals device b also if device a does not equal device b
In the "EasyTrigger: A device's Value is" category there are the following conditions:- This device's value has NOT changed for at least...
- Comparison between 2 device values is true
Leave a comment:
-
We have 'a device has changed in the last... and a selection of devices'. I would need a device has NOT changed in the last x minutes
I want to trigger if a device has changed. Then check if another device has not changed after 5 seconds
Another request would be to compare device a to device b - If device a equals device b also if device a does not equal device b
Leave a comment:
-
Originally posted by spud View Post
1. It could be tricky because from the plugin point of view when an action is called there is no reliable way to know which trigger is the origin. So such a feature would have to be based on the ETDeviceRef global variable or similar, which could to lead to incorrect behavior if 2 triggers are fired at almost the same time.
I think I will pass on this one for now
2-3. I'm considering this, and if/when I do it, this would be from the config page.
4. I will do it, but I'm quite busy currently so it may take some time
Leave a comment:
-
Originally posted by jvm View Postspud I wanted to summarize / repost a number of feature enhancements that I or others previously posted but for which I didn’t see a response and assume they’re lost in the many pages of this thread.
If would be helpful to get your feedback to indicate whether you are considering each, or whether you’ve ruled them out (so that I / others don’t nag you on things you have already determined aren’t workable.).
In each case, I am suggesting what I think are widely useable refinements to the existing functionality, rather than entirely new functionality. I’ve also tried to limit these to things that I think are generally usable by many rather than special-use cases.
1. For events that begin with an Easy Trigger “Any device’s value in this group” trigger (i.e., a trigger that sets the ETDeviceRef value), I would like to enhance the “EasyTrigger: Set Device to …” actions such that, when a user clicks on the “(Select A Device” drop-down, the first listed device would be “Easy Trigger – Group Triggered Device” (or similar name). The idea here is to have an easy way to act on the triggered device that got the event going without having to use scripting.
2. The ability to define Groups based a combination of specified Name, Location1, Location2, and Type values where for each field you can select “Any” or a specific value. The group members would then update dynamically as new devices meeting these characteristics are added to Homeseer. This is an extension of the current group Trigger functionality which allows you to define a group based on one of these 4 characteristics. I would like to be able to simultaneously use all 4 to get finer control. There are two places where this functionality could be added. The first is in the Trigger itself, kind of like what is one with the current ET Group trigger functionality. As an alternate way to implement, it could be added in the Easy Trigger config page so a user could define a group based on these 4 characteristics. The CPS Tags plugin has a good implementation of this type of group defining functionality.
3. Similar to #2, but for also allow the user to define a Group based on Name, Location1, Location2, and Type values in ET Event Actions, rather than just triggers. If #2 were implemented such that the group were defined based on Name, Location1, Location2, and Type values on the Easy Trigger config page, it seems this would also follow automatically from that implementation.
4. Group Push. Similar to the “new” Push Device Value action, but applied to Groups. I think I saw you were already considering this.
I think I will pass on this one for now
2-3. I'm considering this, and if/when I do it, this would be from the config page.
4. I will do it, but I'm quite busy currently so it may take some time
- Likes 1
Leave a comment:
-
spud I wanted to summarize / repost a number of feature enhancements that I or others previously posted but for which I didn’t see a response and assume they’re lost in the many pages of this thread.
If would be helpful to get your feedback to indicate whether you are considering each, or whether you’ve ruled them out (so that I / others don’t nag you on things you have already determined aren’t workable.).
In each case, I am suggesting what I think are widely useable refinements to the existing functionality, rather than entirely new functionality. I’ve also tried to limit these to things that I think are generally usable by many rather than special-use cases.
1. For events that begin with an Easy Trigger “Any device’s value in this group” trigger (i.e., a trigger that sets the ETDeviceRef value), I would like to enhance the “EasyTrigger: Set Device to …” actions such that, when a user clicks on the “(Select A Device” drop-down, the first listed device would be “Easy Trigger – Group Triggered Device” (or similar name). The idea here is to have an easy way to act on the triggered device that got the event going without having to use scripting.
2. The ability to define Groups based a combination of specified Name, Location1, Location2, and Type values where for each field you can select “Any” or a specific value. The group members would then update dynamically as new devices meeting these characteristics are added to Homeseer. This is an extension of the current group Trigger functionality which allows you to define a group based on one of these 4 characteristics. I would like to be able to simultaneously use all 4 to get finer control. There are two places where this functionality could be added. The first is in the Trigger itself, kind of like what is one with the current ET Group trigger functionality. As an alternate way to implement, it could be added in the Easy Trigger config page so a user could define a group based on these 4 characteristics. The CPS Tags plugin has a good implementation of this type of group defining functionality. UPDATE - This was implemented in 3.0.0.57 with the addition of dynamically defined groups on the Easy Trigger Config page. Thanks!
3. Similar to #2, but for also allow the user to define a Group based on Name, Location1, Location2, and Type values in ET Event Actions, rather than just triggers. If #2 were implemented such that the group were defined based on Name, Location1, Location2, and Type values on the Easy Trigger config page, it seems this would also follow automatically from that implementation. UPDATE - This was implemented in 3.0.0.57 with the addition of dynamically defined groups on the Easy Trigger Config page. Thanks!
4. Group Push. Similar to the “new” Push Device Value action, but applied to Groups. I think I saw you were already considering this.UPDATE - This was implemented in 3.0.0.58 with the addition of group push. Thanks!
UPDATE: See post # 462 for requests #5, #6. Idea #6 may be part of a "stepping stone" toward implementing #1 and solving the problem you mention in post #455.
Leave a comment:
-
jvm and The Profit - thank you for the ideas - I'll have a play with those and see how I get on. I agree with Ltek that a dedicated event would be useful.
Leave a comment:
-
jvm I like your idea to halt a triggered action if someone interacts with the light during the time range. I haven’t used that action yet in any of my events so far....
Sent from my iPad using Tapatalk
- Likes 1
Leave a comment:
Leave a comment: