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

    Originally posted by rprade View Post
    I never troll, nor am I looking for an intellectual discussion. I just don’t understand how the Condition shows you “have recently arrived” to your property, without a timeframe stipulated. If you arrived last week, the Condition would still be true. I do not seem to be communicating well, so I’ll stop.
    I follow you. So the house is in an away state put there by whatever conditions. While in away state the door opens. Ultramon plugin sees the phone as recently connected so there is an assumption that I have just arrived to the property and opened the door. Unless someone has my phone it's going to be me. House then goes to an occupied state. The double blind is that I'll continue to use PHLocation to have a higher success rate (currently at a 5 minute ping to the phone it is catching me about 90% of the time)

    I'm currently using the changed within xxx functionality here already as well as on several other applications. I started losing myself in the HA spiral and decided to reset on how I was structuring everything to now account for habit as well as data available to the system. That's why I want to see bayesian sensors incorporated.

    Comment


      Originally posted by kideon View Post
      What are you using for a luminance sensor?
      Ususal Aeotec Z-Wave motion sensor (4 in one)

      Comment


        Originally posted by alexbk66 View Post
        Ususal Aeotec Z-Wave motion sensor (4 in one)
        Is it reliable? I'm not getting much of anything out of my HSM200 for Luminance. Light was shining right on it and it reported 25%...

        Comment


          Originally posted by kideon View Post
          Is it reliable? I'm not getting much of anything out of my HSM200 for Luminance. Light was shining right on it and it reported 25%...
          I'm using an older model "AEOTEC MULTI-SENSOR 5", works ok. I set maximum monitoret value to 1000, otherwice sometimes it gives big spikes.
          Also what's good in Aeotec motion sensors - I power them from 5V usb adaptor, so they are always awake. Don't know any other sensor which have micro usb connector.
          Also, since in general Z-Wave is not too reliable, in addition I use sunset/sunrise times to backup my Dusk-Dawn virtual device.

          Click image for larger version

Name:	_3543bc9b-b2ce-48d1-a6c9-8ecab70f7c0f.png
Views:	143
Size:	18.4 KB
ID:	1272173

          Comment


            Is there a way to set a device to it's previous state with an event action? If not can that be added as a feature request? I plan on using it for a lot of stuff including notifications (i.e. my RGB light changes to a state when motion is detected then reverts back to whatever it was set at previously)

            Comment


              I have a feature request for Easy Trigger: Develop and roll out Easy Trigger Pro.

              With ET Pro the "HS3 plugin" portion would only be a configuration window where you subscribe the plugin to status change notifications via API for devices managed by HS3. The plugin configuration would offer you the choice of which devices to subscribe the plugin to, from 1 to all.

              The HS3 API would send the change notifications for selected devices to ET Pro, which would be managed and controlled locally through its own console outside of HS3. Events could then be set up and saved within the ET Pro console, and most importantly, processed and executed by the console. The event result (if any) would then be sent back to HS3 via API GET for actual execution.

              This would free ET from the shackles of the rules structure of HS3. Executing events outside of HS3 would allow whatever combination of restrictions, conditions, triggers and actions the user could dream up. Complex "If, Then, Else" statements could be set up and executed.

              Example event with complex IF statements and with ELSE statement:

              ONLY IF it is after 10:00pm but before sunrise;

              IF outside east motion detector changes to motion detected ORoutside west motion detector changes to motion detected;
              THEN set outside lights to 100%

              THEN IF Event Trigger Device changes and becomes no motion;
              THEN wait 30 seconds

              THEN IF outside east motion detector AND outside west motion detector have been no motion for at least 30 seconds;
              THEN set outside lights to 15%

              ELSE wait 30 seconds;

              THEN check if event conditions are true

              It would be a big project to tackle, for sure. But I bet demand could be equally large.

              Just an idea...

              --Barry

              Comment


                Originally posted by logman View Post
                I have a feature request for Easy Trigger: Develop and roll out Easy Trigger Pro.

                With ET Pro the "HS3 plugin" portion would only be a configuration window where you subscribe the plugin to status change notifications via API for devices managed by HS3. The plugin configuration would offer you the choice of which devices to subscribe the plugin to, from 1 to all.

                The HS3 API would send the change notifications for selected devices to ET Pro, which would be managed and controlled locally through its own console outside of HS3. Events could then be set up and saved within the ET Pro console, and most importantly, processed and executed by the console. The event result (if any) would then be sent back to HS3 via API GET for actual execution.

                This would free ET from the shackles of the rules structure of HS3. Executing events outside of HS3 would allow whatever combination of restrictions, conditions, triggers and actions the user could dream up. Complex "If, Then, Else" statements could be set up and executed.

                Example event with complex IF statements and with ELSE statement:

                ONLY IF it is after 10:00pm but before sunrise;

                IF outside east motion detector changes to motion detected ORoutside west motion detector changes to motion detected;
                THEN set outside lights to 100%

                THEN IF Event Trigger Device changes and becomes no motion;
                THEN wait 30 seconds

                THEN IF outside east motion detector AND outside west motion detector have been no motion for at least 30 seconds;
                THEN set outside lights to 15%

                ELSE wait 30 seconds;

                THEN check if event conditions are true

                It would be a big project to tackle, for sure. But I bet demand could be equally large.

                Just an idea...

                --Barry
                I thought a few times about creating a better event engine for HS3, it's possible but it would be a huge job. A lot of stuff would need to be reimplemented/duplicated (existing native triggers/conditions/actions), other plugins dev would need to implement a new API to recreate the plugin specific triggers/conditions/actions for the new event engine, an import tool would need to be created to import existing events, etc.....

                In the long run, I'm not sure it would be anyone (me, HST or users) best interest to do something like that.

                Comment


                  Originally posted by kideon View Post
                  Is there a way to set a device to it's previous state with an event action? If not can that be added as a feature request? I plan on using it for a lot of stuff including notifications (i.e. my RGB light changes to a state when motion is detected then reverts back to whatever it was set at previously)
                  I second this. It would be extremely useful.
                  Originally posted by rprade
                  There is no rhyme or reason to the anarchy a defective Z-Wave device can cause

                  Comment


                    Originally posted by kideon View Post
                    Is there a way to set a device to it's previous state with an event action? If not can that be added as a feature request? I plan on using it for a lot of stuff including notifications (i.e. my RGB light changes to a state when motion is detected then reverts back to whatever it was set at previously)
                    I think I'm going to implement some PUSH/POP actions as proposed by Timon in this post: https://forums.homeseer.com/forum/ul...70#post1250270

                    Comment


                      that would be amazing spud

                      Comment


                        Originally posted by spud View Post

                        I think I'm going to implement some PUSH/POP actions as proposed by Timon in this post: https://forums.homeseer.com/forum/ul...70#post1250270
                        The one thing I've found when I've programmed something close to push and pop is allowing for a way to reset it. Example. I have the dog door set to turnoff the rear yard lights then turn them off 10 minutes later. I save the current state in a virtual device so I can return it back to where it was. However if someone goes into the back yard and turns on the lights the timeout would reset the lights back to off. So when the lights are turned on by some other action the push/pop needs to be canceled without changing the lights. BTW, the only way to detect the manual change at the switch is to use a WS or WD series device since you need to know the button was tapped even if the value was not changed. Human intervention will always bite you in the butt if not planned for.
                        HomeSeer Version: HS3 Standard Edition 3.0.0.548
                        Linux version: Linux auto 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
                        Number of Devices: 484 | Number of Events: 776

                        Enabled Plug-Ins: 3.0.0.13: AirplaySpeak | 2.0.61.0: BLBackup
                        3.0.0.70: EasyTrigger | 1.3.7006.42100: LiftMaster MyQ
                        4.2.3.0: mcsMQTT | 3.0.0.53: PHLocation2 | 0.0.0.47: Pushover 3P
                        3.0.0.16: RaspberryIO | 3.0.1.262: Z-Wave

                        Z-Net version: 1.0.23 for Inclusion Nodes
                        SmartStick+: 6.04 (ZDK 6.81.3) on Server

                        Comment


                          Originally posted by spud View Post

                          I thought a few times about creating a better event engine for HS3, it's possible but it would be a huge job. A lot of stuff would need to be reimplemented/duplicated (existing native triggers/conditions/actions), other plugins dev would need to implement a new API to recreate the plugin specific triggers/conditions/actions for the new event engine, an import tool would need to be created to import existing events, etc.....

                          In the long run, I'm not sure it would be anyone (me, HST or users) best interest to do something like that.
                          You're right, it would be a huge job. Lots of things would need to be touched and thought through. While opening the plugin up to integration with other devs would be nice, it wouldn't necessarily be required. Same with importing existing events... That would be nice, but not necessary. The only thing that really would need to be imported would be subscribed devices and device characteristics.

                          I guess I was thinking more of a lighter version that would supplement (not replace) the existing HS3 rules engine. The existing rules engine in HS3 is more than sufficient for at least 75% of the automation that can be dreamed up. It's that other 25% that could benefit from a more robust rules engine.

                          IFTTT (If this, then that) is sort of what we are limited to right now within a single event. "If this, then that, ELSE then this" seems to be the holy grail that I see lots of requests for across the HS forums. Having to create 2 separate events to do something as simple as turning a light on and off seems so 20 years ago and requires hours and hours of duplication of choosing the same devices over and over.

                          Even setting up simple events for a new device can be an exercise in frustration. If you want a HS3 case of user frustration, imagine having 3000 "devices" under management and then adding a new one that is named Zooz Multi-Switch. Let me tell you, scrolling through miles and miles of device drop-down lists to reach "Zooz" at the bottom while setting up a dozen events can eat through a whole pack of cigarettes and maybe a Xanax. lol

                          I guess my envisionment of a separate console comes from using webCORE as the events engine for SmartThings. The events engine within SmartThings is limited in what it can handle, yet their device management engine behind the scenes is robust. The third party webCORE taps into the robust APIs that SmartThings makes available to devs to offer a first class events engine that supplements what is available within the basic SmartThings app.

                          If you are not familiar with webCORE, I'd suggest getting a test SmartThings hub (they are cheap enough), load up a few test devices and then install the webCORE app (it's free). It's pretty impressive to see what one guy was able to put together in his spare time, which eventually landed him a job with Samsung on the SmartThings dev team.

                          --Barry

                          Comment


                            Originally posted by Timon View Post

                            The one thing I've found when I've programmed something close to push and pop is allowing for a way to reset it. Example. I have the dog door set to turnoff the rear yard lights then turn them off 10 minutes later. I save the current state in a virtual device so I can return it back to where it was. However if someone goes into the back yard and turns on the lights the timeout would reset the lights back to off. So when the lights are turned on by some other action the push/pop needs to be canceled without changing the lights. BTW, the only way to detect the manual change at the switch is to use a WS or WD series device since you need to know the button was tapped even if the value was not changed. Human intervention will always bite you in the butt if not planned for.
                            Here is a thought.... If you are using a timer...

                            an event that triggers anytime the rear yard lights change state and if the timer is > 0, then stop timer and reset to zero.

                            If your OFF events are like mine, they would not fire if the timer is zero.

                            It certainly would be neat if EZTrigger had a function that would:
                            • Save current device state
                            • turn a device on/off,
                            • leave it in that state for n number of seconds/mins/hours
                            • if device changes state during the timer interval, reset timer and cancel the whole function
                            • if no device change, when timer expires, restore device to saved state

                            Comment


                              Originally posted by rprade View Post
                              This one may be beyond the scope of this plug-in.

                              First the situation. When we put our house to new modes (awake, asleep, vacant, occupied, vacation, etc.) we are frequently controlling quite a few Z-Wave devices at once. The downside is that Z-Wave is inherently a little slow and this flood of commands can introduce delays or occasional errors.due to traffic or collisions or whatever. To solve that, I use delayed device actions, delayed Events or wait times. While Rich has dramatically improved the Z-Wave plug-in and the devices have gotten much better since I started this practice, it is still better not to swamp the plug-in with several dozen commands at once. If I use Easy Trigger group actions, I put a wait action between them to slow it down a bit, but I still might send commands to a dozen or more power devices or lights.

                              I was going through my "house to sleep" actions today and trying to clean them up. My thought would be to add an option for a configurable delay between the actions on a group of devices on the order of 0-30 seconds. Then the action would be "Easy Trigger: Set Group of Devices to Expression set all devices in group XYZ to {expression} and delay each action by XX seconds". Another thing that would be useful at reducing traffic would be to check the value of each device before setting it. If its value is already there, do not send the command. This also could be optional, for those who want to send a command regardless of the current value.
                              In version 3.0.0.55 available in the beta section of the updater, I have added the possibility to add a delay between each action of a "Set group":
                              Click image for larger version

Name:	groupdelay.png
Views:	247
Size:	13.2 KB
ID:	1274529
                              Note that now the "Set Group" action run in its own thread, so if you have subsequent actions after the "Set Group" they will run immediately and will not wait for the devices to be set.

                              Comment


                                Originally posted by logbuilder View Post

                                It certainly would be neat if EZTrigger had a function that would:
                                • Save current device state
                                • turn a device on/off,
                                • leave it in that state for n number of seconds/mins/hours
                                • if device changes state during the timer interval, reset timer and cancel the whole function
                                • if no device change, when timer expires, restore device to saved state
                                That can be achieved now with HS3, albeit a bit more clunky.

                                Use the "Wait" xx seconds function and at the beginning of each event use "Cancel a Delayed Device Action" for each device named in the event. That way the newest trigger takes precedence. In the example below each time the event fires (motion detected) the lights will remain on for 5 minutes. So if additional motion is detected within the initial 5 minute interval, everything resets and starts over.

                                Click image for larger version

Name:	delayed2.png
Views:	142
Size:	86.3 KB
ID:	1274534

                                --Barry

                                Comment

                                Working...
                                X