The control logic available to a Vera user in a scene is quite limited. In the past this has forced many to have to use LUUP code and work with obscure UPnP ServiceIDs and Vera DeviceIds. Often to question why they have an
automation system.
The
Program Logic Event Generator or
PLEG provides a much easier process to handle the typical scenarios that Vera can't.
PLEG uses the same style of interface as Vera does for Scenes. (Much of the same code).
There is a separate tab for each of it's major configuration tasks:
- Inputs
You provide a name to each of the following inputs you choose to use:
- Triggers - Similar to Scene Triggers
- Schedules - Similar to Scene Schedules
- Device Properties - Any Device Property can be a trigger
- Conditions
This is where you put your control logic. It references the named inputs. The Sequence expressions are the most obscure ... but also the most powerful construct. Logical And, Or, Not, math, and string operations and comparisons are provided. - Sequence Expression - Cause an Action if a particular sequence of events happen. It can also be used to detect the absence of an event and cause a timeout behavior to happen.
- The ability to have counted triggers ... Where you only need a minimum N of the available M triggers to be true. This is similar to the Combination plugin.
- Counted Triggers, Conditions, or Property Changes. Logic to handle too many or not enough of a particular event in the specified time. You can use the toggling of a light switch On Off On as a trigger for your logic.
- Actions
- Output Triggers
- When PLEG has satisfied condition XXX
- When PLEG has satisfied condition XXX and state is Armed or NotArmed
The latter is not working right now because of a Vera bug. A fix was sent to MCV.
- Notifications
Just like any other Vera Device. - Actions
This will be in the next release. This equivalent to the Device and Advanced tab of a Scene ... only better!
I expect there will be problems mapping a problem to the appropriate control logic. I have provided some examples on the web site and am willing to help if you provide your scenario.
This plugin shares common code with the
Program Logic Timer Switch plugin ... you will need to install the
Program Logic Core Plugin to obtain the shared functionality.
Documentation can be found at:
http://RTS-Services.com/Vera/Plugin/PLEG