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

    #76
    Originally posted by spud View Post
    To know the last time the value changed, I have to monitor the device for changes. So the plugin needs to know which devices to monitor when you start the plugin, thus the plugin needs to retrieve all the conditions at startup.
    Gotcha.....I was thinking that maybe HS allows you to check the properties of a devices (Such as last time changed) and since it's a condition, you only need to know when whatever trigger it is tied to fires (meaning you only have to check when it requests if it's true/false).

    Seems like an odd omission from HS, but perhaps they never thought anyone would want to know the last changed value.

    Thanks for the explanation

    Comment


      #77
      in version 3.0.0.20 I have added the "Set Device to Expression" action.
      The supported operators are listed here
      The supported functions are listed here

      For example in the screenshot below the "Ecobee Target Temperature Low" device is increased by 2%.
      Note the use of the Round function, as most of control values for devices are integer, you will often have to round the result of your expression to the nearest integer.
      Click image for larger version

Name:	setdevicetoexpression.png
Views:	2
Size:	6.4 KB
ID:	1182409

      another interesting function is "if(condition, value if condition is true, value if condition is false)" that allows us to use expression like
      Code:
      if($$DVR:123: > $$DVR:234:, 60, 70)
      which means if device #123 has a value greater than device #234 then returns 60 else 70

      To test/troubleshoot your expression you can set the log level to debug, and you will see something like the following in the logs, everytime the expression is evaluated:
      Code:
       Expression Round($$DVR:3968: * 102/100, 0) evaluated to 65
      Last edited by spud; December 21, 2015, 01:13 PM.

      Comment


        #78
        It does exactly what I needed and then some! This one is going to be fun to play with. Thanks!
        HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

        Comment


          #79
          Since you can't have "has been in a rang for x" could you have one that would trigger on the device change and then count for x seconds and if it is still triggered run the event?

          i have an event that checks to see the any of the temp sensors are above 104deg as a backup fire alarm but about once a month one of the z-wave sensors will give a false read and set off my alarm so it would be nice to be able to say if it has been above 104 for 30 seconds then trigger the alarm? i cant seem to figure any other way of doing this without lots of extra events/timers

          if not it's not a big deal but would be nice and the Easy Trigger Device Value Option box it so empty looking with only one option to compare between 2 device values :-)

          Comment


            #80
            Originally posted by usLEDsupply View Post
            Since you can't have "has been in a rang for x" could you have one that would trigger on the device change and then count for x seconds and if it is still triggered run the event?

            i have an event that checks to see the any of the temp sensors are above 104deg as a backup fire alarm but about once a month one of the z-wave sensors will give a false read and set off my alarm so it would be nice to be able to say if it has been above 104 for 30 seconds then trigger the alarm? i cant seem to figure any other way of doing this without lots of extra events/timers

            if not it's not a big deal but would be nice and the Easy Trigger Device Value Option box it so empty looking with only one option to compare between 2 device values :-)
            why don't you use the EasyTrigger: "This device's value has been in range [X,Y] for exactly..." ?
            What I can't implement is the condition similar to this trigger, but the trigger already exists.

            Am I missing something?

            Comment


              #81
              i don't see that one anywhere?

              Comment


                #82
                sorry i just checked and see that i am using an older version before that was added so will have to update.
                i guess i thought it was in the updater and none of my plugins showed an update so i thought i was up to date

                Comment


                  #83
                  Originally posted by usLEDsupply View Post
                  i don't see that one anywhere?
                  do you have version 3.0.0.17 or later installed?

                  see screenshot below:
                  Click image for larger version

Name:	range.png
Views:	1
Size:	13.7 KB
ID:	1182411

                  Comment


                    #84
                    Is there a function to have an event run "if not more than"?
                    For instance: if motion detected and not more than x seconds has past AND another trigger happens, then run event.

                    Comment


                      #85
                      Originally posted by teladog01 View Post
                      Could you add ranges to the trigger "This device's value was and becomes"? For example, "Device X was in the range 1..5 and becomes in the range 6..10".
                      in version 3.0.0.22 available here
                      I have added support for ranges to the trigger "This device's value was and becomes"
                      Click image for larger version

Name:	wasrangebecomesrange.png
Views:	2
Size:	3.2 KB
ID:	1182852

                      I have also added the possibility to set the old or new value to "Any". For example in the screenshot below the trigger will fire if ther "Nest Smoke Alarm" was OK and is changed to anything different from OK
                      Click image for larger version

Name:	wasand becomesanyvalue.png
Views:	2
Size:	2.9 KB
ID:	1182853

                      Comment


                        #86
                        Can you add a toggle action? I know there's a script out there but it'd be easier this way.

                        Comment


                          #87
                          Originally posted by kideon View Post
                          Can you add a toggle action? I know there's a script out there but it'd be easier this way.
                          you can use the "Set Device to Expression"
                          in the example below the Nest Fan reference id is 4048, so the "if($$DVR:4048: == 0, 1, 0)" expression means if Nest Fan value is 0 (=Off) then set it to 1 (=On) else set it to 0 (=Off)

                          Click image for larger version

Name:	togglefan.png
Views:	1
Size:	15.5 KB
ID:	1182885

                          I could add a specific action for this, but you would still have to select the actions between you want to toggle...

                          Comment


                            #88
                            Hi Spud,

                            Is there a way to have a condition of "not more than"? I am trying to set occupancy based on 2 devices.
                            If this concept works, I believe I could also track motion around perimeter in the same way with motion being nomotion for NOT MORE THAN x seconds before a 2nd motion goes off,

                            For example:
                            Event#1
                            IF Envisalink office door CLOSES
                            Wait 20 sec
                            THEN Set Virtual Device Office unoccupied

                            Event#2
                            IF Envisalink office motion changes and becomes motion
                            AND IF Envisalink office door has been closed for "NOT MORE THAN" 10 seconds
                            THEN Cancel above running event#1

                            Comment


                              #89
                              Originally posted by 519zwave View Post
                              Hi Spud,

                              Is there a way to have a condition of "not more than"? I am trying to set occupancy based on 2 devices.
                              If this concept works, I believe I could also track motion around perimeter in the same way with motion being nomotion for NOT MORE THAN x seconds before a 2nd motion goes off,

                              For example:
                              Event#1
                              IF Envisalink office door CLOSES
                              Wait 20 sec
                              THEN Set Virtual Device Office unoccupied

                              Event#2
                              IF Envisalink office motion changes and becomes motion
                              AND IF Envisalink office door has been closed for "NOT MORE THAN" 10 seconds
                              THEN Cancel above running event#1
                              the problem to implement those kind of conditions is that I need to track the device value to be able to tell when it has changed, unfortunately there is no GetConditions() function in the Homeseer API so I don't know what devices to track. An alternative implementation would be to rely on the "last change" date, but this wouldn't be reliable because some devices (specifically the ones that use polling to get their status) can have this date updated even if the value has not changed.

                              Comment


                                #90
                                Originally posted by spud View Post
                                I need to track the device value to be able to tell when it has changed.
                                Spud, as always I appreciate your followup.

                                As luck may or may not have it, my only use for it would be with my envisalink devices. Anyway to sort that out between your two plugins?

                                Comment

                                Working...
                                X