We’re currently working on creating the scenes functionalities for the new Ezlo Platform and it would be great to know what you guys have already setup with your Vera controllers so we make sure we’re going to cover all that in the new platform.
Please share with us all the use-cases you covered via scenes, it will help us a lot to offer you the best Home Automation Platform.
Ioana - Product Manager
I barely use scenes, but if I did OR and AND functions in the logic would be a must.
Thank you @Catman for your input!
Other than the lack of the AND function (as Catman indicated) in the Vera triggers are pretty good. For any delayed action it would be great if it would still complete if there is a Luup reload (unless you fixed the need for reload on each tiny config change).
The one I need to use reactor or ALTUI for are for a sustained state. I.e. if door is open at least for 600 seconds as a trigger.
My personal list
- stop reloading and make delayed actions working regardless of your engine status. As @rigpapa demonstrated with Reactor, it’s doable
- scenes should support complex logic, if no scripting is supported. Ie: if this and that, then if this or that, etc
What I used scenes for
- if mode is vacation, and is winter (logical sensor) then set heating temp to 17 c
- if it’s dark, turn on external lights based on mode (if I’m home, some colored lights should turn on, if it’s vacation mode, other security lights should be on, etc)
- external lights should turn off at a specified time based on status (home/away/vacation), season and holiday status (I want to turn off some lights at 22:00 if I’m home and it’s winter, at 23:00 if it’s summer, and at 1:30 if it’s summer and I’m away, etc)
- text announcement with Alexa if doors are opened, left opened, etc
- call an http endpoint to send camera gifs when doors are opened or movement is detected outside
- Monitor pool temperature and send a notification when temp is reached, but only every six hours
- turn on/off my dehumidifier when a threshold mac/min is reached
- turn on lights if my tv is turned on and it’s dark
- stop some scene from running if my special status virtual sensors are triggered (me/my wife are at home, party mode, alarm activated, wind/rain activated, winter, roller shutters for summer or winter, etc)
- close/open the roller shutters at a given position, depending on season, time of the day, and wind/rain status
I have many more if you need them
Sorry for being a bit negative here but by reading the posts in this forum about this subject would answer your question. For years people have been asking and finally developing plugin to circumvent Vera shortcoming when it comes to scene capabilities. Simply look at PLEG and Reactor, to only name these two, and you will soon know what has been needed and requested by your users for a long time. I still do not understand why it has not yet been integrated…
I think that the question should have been: Beside the functionalities provided by Pleg and Reactor what else would be needed?
I think that you would realised that the answer would be: Not much!
It is more than time to leverage/integrate the work/contribution made by the brightest, most dedicated Vera users. Stop re-inventing the wheel…
My 2 cents
I would like to be able to trigger stuff on Z-Wave Error messages!
I second the idea that scenes can have some sort of randomizer to turn off or on lights within a time range so that a vacation house might actually looked lived in when people are away.
@Ioana , I would recommend to look at @rigpapa’s reactor on the current vera. If you can reproduce that, it would be already a good start. There is also another old thread called “conditional scene execution” which has a lot of examples of why we may want the ability to write code.
Completely agree with @Rafale77. Many examples and customer wishes are already put on this forum and Reactor (and also PLEG) cover most of these needs and wishes
If you are focused on specific automations to address, you are missing the plot. Reactor came into being (as did PLEG) because native Vera scenes lack basic logic capabilities and aren’t “durable” in execution. You need to take a higher-level view:
- Full boolean logic: in some form, you need to be able to create expressions with arbitrary combinations of AND, OR, XOR and NOT; nested expressions (e.g. be able to implement
( ( A OR B OR C ) OR ( D AND E ) ) AND NOT F).
- Express workflows and transitions, such as sequences of events, and durations of events, as gating to logic; that is, a logic element may only be true if two elements occur in sequence (possibly within or not within a limited time period), or a logic elements has been true of false for a certain period, or repeats a number of times within a certain period, etc.;
- Offer a wide range of logic inputs: not just device states (and any state, not just “predefined” states that someone decides is reasonable like eventlist/eventlist2), but also time elements, house modes, geofence states, and system states/events (reload, system battery level, on battery/AC, remote service unavailable, Internet unavailable), etc.;
- Related to the foregoing, allow previously defined rules to be logic elements of new rules (e.g. define what rule
Anybody is Home means, then define rule
Daytime and Home as
Anybody is Home AND current time is between 6am and 10pm)
- React in real time without polling or unnecessary repeated/timer-based evaluations;
- Perform response actions (i.e. run scenes) when triggered by logic, but scenes with delays, in particular, must be durable–continue across reloads, with correct timing to the original event (or as closely as possible);
- Coordinate between response scenes so that a “start” scene might be deterministically aborted by “stop” scene (because otherwise you just have background scene chaos).
Things I wish I could do in Reactor in the short term:
- Intercept any Z-Wave/ZigBee device message and determine if I want to (a) ignore it and let default processing handling it; (b) perform actions before or after default processing; (c) perform actions instead of default processing.
- True multitasking with real job control (start, monitor, stop, abort), true locking and semaphore access.
- Detect and respond to failure of any device action reliably (can be tied to job control).
I am not a good coder at all, I have used some LUA code in some of my native Vera scenes, finding and adapting code snippets found on the forum etc.
For more advanced logic I have been using PLEG for years. I don’t understand all of that either but I have been able to use it for my needs and create some reasonably complex logic.
I suggest you look at the PLEG Basics user guide for what it can do.
And listen to @rigpapa he knows what he is talking about, I should really try Reactor one day!
would be nice to be able to send http request POST and GET, with a form body or json, without having to code it
Something I didn’t see mentioned in this thread is that we need scenes to run 100% local and if a scene cannot for some reason, it should clearly display this.
I use SmartThings for 90% of my home now because they integrate with nearly anything. I’ve also figured out how to confirm which devices/scenes run locally and it is insanely fast and reliable. If anything touches the cloud, it increases process time by as many as 5 seconds. Unsatisfactory
Example local scene on SmartThings:
If any of 12 lights are turned on, flip virtual switch to on. If motion detection, check virtual switch. If on, do nothing. If off, turn on 3 can lights leading to storage room. Monitor motion and if ever no new motion for 4 minutes, turn off those 3 lights. This executes within .5 seconds.
Example of cloud scene in SmartThings:
Same exact example above but check light sensor before flipping those lights on to account for natural light in the room. Adding that 1 step can cause the scene to delay for a few seconds.
Allow full time countdowns, various sensor checks, etc. all LOCAL. Without local scene execution, it would be a no go.
I am really surprised you are asking this. You should know how popular pleg and Reactor are and, just based on forum posts, why. Then add in the virtual device plugins, ghost and the like.
You could look at the competition. Smartthings needs things like pistons and core to provide complete boolean logic. Hubitat exists as a standalone controller because they got tired of being blamed for their 3rd party ST logic engine being slowed by the ST cloud.
Homeseer has an event system that is pretty darned complete and includes virtual devices, timers, and counters and has the advantage of not needing a keyboard 99% of the time to set up complex if a and b but not c then d logic.
Since you aren’t doing that, here:
I had luup logic to take a scene controller input from 2 buttons and either turn on light/increase brightness or decrease brightness/turn off the light.
Pleg managed my hvac. At night the bedroom temp sensor would cause the thermostat target temp to go up or down, and during the day it would use the downstairs thermostat. At all times there was a min/max temp for both sensors that would ensure neither zone left the survivable zone. There were different temp targets for heating and cooling modes. (Both set points!)
If the zones were in conflict (one area at max temp while other at min temp), I was notified because either a window was open or something was on fire.
If the weather feed indicated there was a tornado watch/flood warning/etc it would trigger an appropriate announcement.
The doors re-lock automatically after being closed for 3 minutes during the workday or after 11pm.
Pressing a scene controller button turns off the overhead light and then turns it back on in 5 minutes (snooze)
All scenes involving audio announcements would not run if a virtual mute switch was active.
The virtual mute switch would be disabled after 1 hour.
@Ioana, is implementation of z-wave error messages on the roadmap?
We’re currently looking into this. Thank you for bringing it in our attention again. I read the post you started on this topic.
Other than trigger notifications, would you like to use the Z-Wave messages for something else? Maybe in scene creation?
Just give us please as many use-cases as possible.
It’s on the list already. Anything else you would like to have?