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

  • TC1
    replied
    Originally posted by mterry63 View Post

    My original post description/logic was flawed. What I really wanted as a trigger was Device Time is greater than some value. If the device had a value that just changed, then Device Time would be set, assuming "Do not update device last change time if device value does not change" is not checked.

    An easy workaround is to trigger every x seconds and test hs.DeviceTime() > y. Would be nice to check DeviceTime in EasyTrigger though.
    Why not just set up a schedule in ET and check to see if the device changes in that time range?

    Click image for larger version

Name:	Capture.PNG
Views:	484
Size:	33.9 KB
ID:	1480509

    Leave a comment:


  • mterry63
    replied
    Originally posted by rge View Post

    Isn't that the same as using the "This Device Has a Value that Just Changed" event, plus possibly the "Event cannot re-run" option.
    My original post description/logic was flawed. What I really wanted as a trigger was Device Time is greater than some value. If the device had a value that just changed, then Device Time would be set, assuming "Do not update device last change time if device value does not change" is not checked.

    An easy workaround is to trigger every x seconds and test hs.DeviceTime() > y. Would be nice to check DeviceTime in EasyTrigger though.

    Leave a comment:


  • ScottRennie
    replied
    This might be possible already - I can't see it. A condition based on the time that an event was run (e.g. event run less than an hour ago etc). Currently if a change is made from outside of HS I would want a future event to happen depending on whether an event had run or not. In my case, it's electric Velux Windows which can be opened or closed either by the Velux remote OR by an HS event. Currently I use a virtual device as a variable set by an associated event.

    Scott

    Leave a comment:


  • rge
    replied
    Originally posted by mterry63 View Post
    spud Would it be possible to add using HomeSeer functions in an expression for "This device had it's value set and expression is true"? For example hs.DeviceTime(124) > 15? Or alternatively, add an easytrigger function that checkes if the DeviceTime() value is greater than some number instead of "Device Value has not changed for x". I have several devices that don't regularly change for long periods, but they are being updated by HS3 regularly. This caused the the "Device Value has not changed" to be less useful.
    Isn't that the same as using the "This Device Has a Value that Just Changed" event, plus possibly the "Event cannot re-run" option.

    Leave a comment:


  • mterry63
    replied
    spud Would it be possible to add using HomeSeer functions in an expression for "This device had it's value set and expression is true"? For example hs.DeviceTime(124) > 15? Or alternatively, add an easytrigger function that checkes if the DeviceTime() value is greater than some number instead of "Device Value has not changed for x". I have several devices that don't regularly change for long periods, but they are being updated by HS3 regularly. This caused the the "Device Value has not changed" to be less useful.

    Leave a comment:


  • rge
    replied
    Originally posted by Join View Post

    Yeah, that would do it. It can fluctuate 1-2degrees.

    But, how to apply the data? Is it: "If this mathematical expression is true:"?
    I don't know how to atm..
    For the averaging, use "Set device to an expression" on the virtual device and the IDs of the devices to get their values - say the real device ID R = 100 and the virtual one is V = 101 then something like this is equivalent to the EWMA equation:

    $$DVR:101: * 0.9 + $$DVR:100: * 0.1

    If you want to do switching with a gap, use the same option on the switched device and an if statement in the expression. Let's say the switch is ID 102:

    IF($$DVR:101: < 20.0, 1, IF($$DVR:101: > 20.5, 0, $$DVR:102)

    This is: if V < 20.0 set switch to 1 else if V > 20.5 set switch to 0 else set switch to the value it already has (i.e. do nothing). Also use the option to only set the value if it changes.

    Leave a comment:


  • Join
    replied
    Originally posted by rge View Post

    The way I handle noisy temperature measurements is to have two thresholds with a small gap. For example:

    - turn heating on if temperature < 20.0C
    - turn heating off if temperature > 20.5C

    So if it's fluctuating a bit it doesn't keep turning the heating on and off.

    For even more noisy measurements such as sun brightness I take a moving (exponentially weighted) average - create a virtual device for the "average measurement" and then an event to run every so often (e.g. every one or two or five minutes) which gets the raw measurement and sets the virtual device to:

    V = V * e + R * (1 - e)

    Where V is the virtual device value, R is the raw device value, and e is the exponent - something like 0.9 gives a fairly slow response, 0.5 is a simple average of the two values and responds much quicker (obviously also dependent on how often you check).
    Yeah, that would do it. It can fluctuate 1-2degrees.

    But, how to apply the data? Is it: "If this mathematical expression is true:"?
    I don't know how to atm..

    Leave a comment:


  • rge
    replied
    Originally posted by Join View Post
    Hi!

    I wish there was a way to compare two devices, if the condition are true for X-time. Added screenshot:Click image for larger version  Name:	Easytrigger suggestion.jpg Views:	0 Size:	48.0 KB ID:	1469217
    OR, is there another way I have not figured out?

    The reason is, the air/air heater got an internal temperature sensor, but it is only read whole degrees, and it's output is a bit irregular, so it is not easy to use it for conditions and get a stable output.
    BUT, its powered(KNX-device), and put out a lot more readings than the battery operated multisensor.

    If there's a way to say: IF this is true for 10minutes, THEN..

    Just my 2cents.

    Thanks for a great plugin!
    The way I handle noisy temperature measurements is to have two thresholds with a small gap. For example:

    - turn heating on if temperature < 20.0C
    - turn heating off if temperature > 20.5C

    So if it's fluctuating a bit it doesn't keep turning the heating on and off.

    For even more noisy measurements such as sun brightness I take a moving (exponentially weighted) average - create a virtual device for the "average measurement" and then an event to run every so often (e.g. every one or two or five minutes) which gets the raw measurement and sets the virtual device to:

    V = V * e + R * (1 - e)

    Where V is the virtual device value, R is the raw device value, and e is the exponent - something like 0.9 gives a fairly slow response, 0.5 is a simple average of the two values and responds much quicker (obviously also dependent on how often you check).

    Leave a comment:


  • Wade
    replied
    Originally posted by Join View Post
    Hi!

    I wish there was a way to compare two devices, if the condition are true for X-time. Added screenshot:Click image for larger version  Name:	Easytrigger suggestion.jpg Views:	0 Size:	48.0 KB ID:	1469217
    OR, is there another way I have not figured out?

    The reason is, the air/air heater got an internal temperature sensor, but it is only read whole degrees, and it's output is a bit irregular, so it is not easy to use it for conditions and get a stable output.
    BUT, its powered(KNX-device), and put out a lot more readings than the battery operated multisensor.

    If there's a way to say: IF this is true for 10minutes, THEN..

    Just my 2cents.

    Thanks for a great plugin!
    Not as simple as your feature request would make it but you can probably do it with 3 events and a virtual device.

    Event1 If comparison is true Then set virtual device ON
    Event 2 If comparison is not true Then set virtual device OFF
    Event3 If virtual device has been ON for [time] Then execute action

    Depending on your needs, a second action on Event3 could set the virtual device back to OFF.

    Leave a comment:


  • Join
    replied
    Hi!

    I wish there was a way to compare two devices, if the condition are true for X-time. Added screenshot:Click image for larger version

Name:	Easytrigger suggestion.jpg
Views:	299
Size:	48.0 KB
ID:	1469217
    OR, is there another way I have not figured out?

    The reason is, the air/air heater got an internal temperature sensor, but it is only read whole degrees, and it's output is a bit irregular, so it is not easy to use it for conditions and get a stable output.
    BUT, its powered(KNX-device), and put out a lot more readings than the battery operated multisensor.

    If there's a way to say: IF this is true for 10minutes, THEN..

    Just my 2cents.

    Thanks for a great plugin!

    Leave a comment:


  • popeye
    replied
    I would add a voice to the 3 other advocates of adding HS4 category support. Even just static groups would be fine. Though I don't think there is any notification when members of a category change, so you might have to add some manual update to your UI and a plug-in call. Just wildly guessing. In any case, it would make categories a lot more useful.

    Leave a comment:


  • rge
    replied
    Originally posted by rge View Post
    Another nice time feature would be to specify "earlier of" or "later of", so sunrise and sunset can be used but with a limit. e.g. I want to open my blinds 15 minutes after sunrise, but not before 06:30, and close them at sunset but not later than 21:00.

    It could be specified using > and < for example:

    >06:30,sunrise+00:15 = later of 06:30 and sunrise+15m
    <21:00,sunset = earlier of 21:00 and sunset
    Thinking about this a bit more, it could also be done by adding composition of schedules - so a schedule can be created from two others by joining with AND (i.e. only the overlap, which would be my scenario) or OR (combining both).

    But it would need to allow composed schedules to be composed further, to cope with both earlier/later and start/end conditions. On the bright side, it would only change when sunrise and sunset change, same as with the other schedules.

    Leave a comment:


  • rge
    replied
    Another nice time feature would be to specify "earlier of" or "later of", so sunrise and sunset can be used but with a limit. e.g. I want to open my blinds 15 minutes after sunrise, but not before 06:30, and close them at sunset but not later than 21:00.

    It could be specified using > and < for example:

    >06:30,sunrise+00:15 = later of 06:30 and sunrise+15m
    <21:00,sunset = earlier of 21:00 and sunset

    Leave a comment:


  • Guest
    Guest replied
    Originally posted by ZoRaC View Post

    Moskus has made a solution for this.
    It’s written in Norwegian, but the screenshots and Google translate should make it understandable:

    https://www.hjemmeautomasjon.no/foru...#comment-63553
    Given I haven't been able to get that script working in HS4, I'd still like for this feature request to be considered

    Leave a comment:


  • ZoRaC
    replied
    Originally posted by adamgreenberg View Post
    Would be great to be able to compare the actual time (in a virtual device that updates every minute) vs. a virtual device that has a time set to trigger an event. The specific use case is as an alarm in the morning. Some days, I want the lights to come on at 7:30 and some days 8:00. I'd set a regular schedule (e.g., weekday vs. weekend) and then some events that would enable me to turn off the alarm for a day or until turned back on, ability to easily change the time of the alarm etc... The missing piece that I can't get to work is the comparison of the time in two virtual devices. I've seen so many posts about people wanting to create an alarm function.
    Moskus has made a solution for this.
    It’s written in Norwegian, but the screenshots and Google translate should make it understandable:

    https://www.hjemmeautomasjon.no/foru...#comment-63553

    Leave a comment:

Working...
X