Program Logic Event Generator

Based on the same technology as the Program Logic Timer Switch.
You can create an arbitrary number of complex events that you can use to control your Automation.

The plugin is licensed.
You get 30 days free unlimited access from time of your first install.
To reset the date ... delete all PLC, PLEG, and PLTS plugins and re-install the plugins.
After 30 days, unlicensed users are allowed a total of 3 PLEG and/or PLTS devices each with a max of 5 inputs and 5 conditions.
You can obtain a license that will allow you to create 4 PLEG/PLTS devices. (You can obtain as many licenses as you need).
A license is $5.50+tax

Features

A user defined set of named Condition expressions. When these expressions are true, an event will be generated which can be used to trigger your scenes.

Input Editor

Any Trigger that you can add to a scene, you can add as an input to this device.
An interactive editor, similar to the scene trigger editor, is provided.
You name the triggers; these names are used in the condition expressions.

A Schedule, similar to that provided to trigger a scene, can be used to cause the condition expressions to be evaluated.
An interactive editor, similar to the scene trigger editor, is provided. However second level intervals are supported.
You name the schedule; these names are used in the condition expressions.

Any Device Property can be used in the condition expressions. When their value is changed, the condition expressions will be evaluated.
An interactive editor is provided to select the desired device and property.
You name the device property; these names are used in the condition expressions.

Output Triggers to control your scenes:
The ProgramLogic Device has fired expression XXXX
Where XXXX is the name of your Condition expression.

Action Editor
This is a subset of the Scene Editor (The Devices Tab, and the Advanced Tab). It allows you to associate some LUA code and/or a set of device commands with a Condition Expression.
The device must be armed for Actions to be executed.

Operation

You start by specifying a set of input. Any combination of triggers, schedules and or device properties can be used for your Program Logic Event Generator device using the Inputs tab for the device.

Next you create an arbitrary set of complex Condition expressions for your Program Logic Event Generator device using the Conditions tab based on these input variables.

Next you create a one or more scenes, and/or notifications that are triggered when the Named condition from the Program Logic Event Generator is Fired. Notifications are done in the Program Logic Event Generator device using the Notifications tab.

The Program Logic Event Generator will evaluate the set of conditions when any of the following events happen:

A listed input trigger is fired.

A listed input schedule is fired.

A listed input device property has its value changed.

Every minute if you use the NOW variable in a sequence expression in your condition expression.

They are evaluated in the order that they are defined. If any are true and the input event source contributed to the Condition then the Condition will be Fired. Note: Multiple Named conditions can be fired quickly, sequentially, if multiple conditions reference the same input trigger.

Strings with the following operators: eqnegtgeltle..String constants: "DoubleQuotedString" or 'SingleQuotedString'

Numbers with the following operators: ==!=>>=<<=+-*/%Number constants: 3432.1-21

Booleans with the following operators:nbsp; orandnot!

Usage

If you have an interesting usage and you would like to share it please send me a screen snap of your settings page, triggers page, and a short description of what it does.
I will enumerate and link them here.

Issues

[1] UI5 has a bug with events with more than 1 condition variables in scenes. Two of my events have 2 condition variables. If you want to use these, email me, I can tell you how to patch your UI5 to work. I have provided fixes to MCV. I hope they will integrate these soon. The priority of this fix is reduced since you can work around it by running a scene from the Actions Tab.