Version 5.91/5.92
- This version fixed a bug that limited the minimum interval time to 10 seconds.
- Fixed a bug when you downgrade from UI6 to UI5.
Version 5.9
- UI5 and UI6 are both supported
- Fixed a bug in using the Scene editor after using the PLEG/PLTS action editor.
- The StartTimer has an optional intervalTime argument. You can use it to set/override the OFF interval time. This allows Actions to control the timeout.
Version 5.8
- Restricted access to UI5 until the UI6 testing has completed.
- Fix bug when you rererence conditions in an Action, Previously it could access the Previous value
- Fix some problems related to creating new PLTS instances, which required you to manually set the debug variable to 0
- Fixed the reporting of the OFF time when you use Do It Now
Version 5.7
- Completed the State Logic Work from 5.6, Now you can have Actions on the State Variables.
- Ability to access/change the PLEG Log status and reports from the control panel.
Version 5.6
- Added Support for recording the Off Time Stamps of Triggers, Schedules and Conditions. For Device Properties, it records the previous transition.
- Add new # and #! Unary Operators ... They returns the time On/Off Stamp respectively of the the following argument.
- In a Sequence Expression you can use the !Token to reference the Off Time Stamp of the following argument (Token in this example).
In conjunction with a self start timer ... this becomes very useful to have a delayed action, with one second precision.
Trigger SomeExpression to start the delayed action
DelayedAction Trigger and (Trigger; !SelfStartTimer)
The action for Trigger starts the timer called SelfStartTimer. When it expires ... DelayedAction will fire. - Create the concept of a State Variables.
For Conditions that are named:
StateName$StateVal1
StateName$StateVal2
StateName$StateValN
When any StateName$StateValN becomes true, the variable StateName gets assigned value of StateValN
You can use StateName in your condition expressions.
The following example cycles between 3 states at the specified interval:
Interval -- Some interval timer!
State$s1 Interval and (State eq "s3") and (State; Interval)
State$s2 Interval and (State eq "s1") and (State; Interval)
State$s3 Interval and (State eq "s2") and (State; Interval)
Without the (State;Interval) in this example, it would cycle through each state during successive evaluation of the conditions during the same interval.
This only allows one state change per interval. - Fixed Bug that caused report to fail sometimes.
- Status Report Now Reports Off Time Stamps and State Variables.
- Reports with NOW variables will now work correctly.
Version 5.5
New features and some bugs fixes that a few people have noted.
- Add the options to Toggle a Timer ON/OFF from the Input/Schedules tab.
Note: I can not actually cancel a timer once scheduled. So this tries to it's best when you manually toggle. Depending on the timer type, there can be some unexpected results. In general this will do what you expect - Fixed a bug that removed some Scene editing buttons, after you edited some actions
- Delete corresponding Notifications and Scene Triggers when you delete a conditions.
Now Rename a condition will also fix Scene Triggers that reference that condition. - Speed up the startup process
- Fix Bug where String Evaluation of String variables caused the value to be upper cased
- For Number and String conditions, only get a new time stamp and fire conditions when the value changes. (However this is subject to the underscore as first character of a condition name rule)
Version 5.4
New features and some bugs fixes that a few people have noted.
- Fix a bug introduced in 5.3 that did not allow strings that were denoted with single quotes.
- Fix a bug in renaming an inputs or a conditions. Previously it would match any part of a name ... now it has to match the whole name.
Version 5.3
New features and some bugs fixes that a few people have noted.
- Correctly Escape Strings to support International Languages correctly
(Needed when Actions contains Notifications to Vera Alerts etc.) - Detect Changes made during restart (also handles initializing state of new triggers/conditions.
On startup if triggers/conditions eval to different than last time saved ... the timestamps and values will be set and may cause actions to fire. - Fix bug when deleting a device that is referenced in a delayed action ... and the action is still active.
- Added an action to the PLEG/PLTS to allow you to set a device variable in an action (using the Advanced Tab for Actions) This should reduce some of the requests to need LUA
- Fixed bug that allowed Input and Condition names to begin with a number.
- Fixed bug that allowed Inputs and Conditions to have the same name.
- Fixed Renaming of conditions to also rename fix the names in Notifications.
- Change the default names for schedules to s1...., and device properties to be p1... (previously they were both t1...)
- Fixed a bug that caused you to have to create a dummy device action before you could use the Advanced tab.
- Add support for floating point numbers.
- Turned on Auto Update from my end ... Now you can enable it on your end.
Version 5.2
This fixes some bugs that a few people have noted.
- Handle case where Input Property or Triggers, or Actions reference deleted devices.
- Handle cascading of events when using the conditional statement.
- Minor enhancement ... interval timers that are even multiples of hours or minutes will always fire on even hours/minutes respectively. (i.e. an interval time that runs every hour will always run at the beginning of the hour.)
Version 5.13
- Bug Fixes
- Fixed bug when the Off Schedule type was not the same as the On Schedule type.
- Fixed bug that would not allow arbitrary characters like quotes in the arguments for actions. This was very limiting for Actions that do user notifications.
- Fixed bug that would not display Device Properties if the device had no triggers defined for itself.
Version 5.11
- Bug Fixes
- Fix bug in cascading conditions when the condition values was not true.
- Fix the timestamp for the report date (top of page).
This release only requires updating the PLC
Version 5.1
- Timers Gone Wild Release
Support Scheduled Timers (On and Off) on Specific Date for every year (Use a year of *)
Support Scheduled Timers OFF at Specific Time (Can be relative to Sunrise/SunSet)
Modify all Timers intervals from XX Seconds, XX Minutes or XXHours to: HH:MM:SS notation
Support Triggering Timers from Actions. In Advanced Tab, Select PLEG/PLTS device; StartTimer Action; specify timer name
New Scheduled Timer Types - Self Trigger and Self ReTrigger. These are not started at any specific time, but can be started from the StartTimer action. If you issue a Start Trigger to any timer, and it is already running ... it is ignored, except for the Self Retrigger type. In that case the Timer interval starts over.
Modify Report Status ... to show the current state of the timer. - Fixed 5.0 Bugs
Removed the code that tried to delete old state variables ... it was causing problems.
Fixed bug that required an Action be defined before entering the Advanced Tab for the Actions Editor. - Reserved Condition Names: ARM, BYPASS in PLEG (Already exists in PLTS)
When Set to TRUE ... these will allow you to set or bypass respectively the current PLEG. - Updated online documentation
Version 5.0
- Support for delayed Actions - Same as delayed commands in Scenes.
Unlike Scenes, if Vera is restarted during the execution .. the delayed actions will still be run. - Input Timers have new functionality. You can optionally specify a duration that the associated condition will be true. This eliminates the need for two timers and a sequence expression to represent a time period. Optionally the ON time and duration also support random delays to give a less Automated view.
- Remove the funny notification associated with input triggers. Since it's gone ... you can't delete it and delete all of your triggers !
- Various cleanup on the User Interface and Report and Status pages.
- This completes the major restructuring started in version 4.2
Version 4.6
- Fix Handling of Lock Triggers for a specific ID
- Fix Handling of Armed Sensor Triggers
Should also fix some other lock related Triggers
Version 4.5
- Record Trigger, Device Variable, and Condition times with ms resolution.
This should allow sequence expressions to differentiate the order of events that happen almost concurrently.
Status reports now use a standard format that includes ms display. - Fix a bug with literal numbers and strings in the conditional expression.
- Fix a bug with using wildcards for PIN #'s for locks.
- Add support for conditions to fire every time they are evaluated true ... not just the first time.
The condition name needs to start with an underscore i.e. _Always - Fix a bug when referencing the PLEG's Armed variable.
Version 4.4
- Add support for a Status button on the control tab. This is similar to the Report, except it shows the current state and time stamp for Input Triggers, Device Properties, and Conditions.
- Fixed the Report so it works properly on Internet Explorer
Version 4.3
- Some bug fixes in handling sequences. And fixing cases where some Actions were firing when they should not have ... Actions are only supposed to fire when a condition first becomes true. In some cases it would fire on subsequent evaluations being true, without the expression every evaluating to false in between.
- Some changes to reduce the stress on Vera in the context of a burst of events. A burst of events could cause Vera to restart because it thought there was a dead lock.
I still have some changes to make ... but this should reduce some of the stress and was a mandatory first step.
Version 4.2
- The definitive Fix for the the problem of Phantom Actions caused by issuing a Save as opposed to Finish in the Action Editor
Version 4.1
- Add Conditional Statement Support
XX ? YY : ZZ
Which is interpreted as if XX then YY else ZZ
The XX expression must evaluate to true or false. If XX is true then YY is returned. If XX is false, ZZ becomes the result. This expression has the lowest precedence of any operators, use parenthesis to explicitly control the order of evaluation. - More Cleanup of actions
Version 4.0
- Fix the problem of Phantom Actions when PL plugins are deleted.
- Find and Delete hidden scenes left over when deleting PL plugins
Version 3.1
- FIx a bug when an input trigger had no events
- Comparison intervals (associated with > and <) for Sequence and MultiClick expressions can now be a variable. Not terribly useful until I implement some conditional logic.
Version 2.9 .
- Prevent Users from entering spaces in condition names in PLEG
- When you rename your condition, it will automatically rename the action in PLEG
- The PLTS and PLEG devices now support a RunScene action. So you can now run a scene from an Action. (Previously you had to create a trigger for a scene where you indicate that the specific condition has been satisfied.) This is only available in the Advanced tab for Actions definitions.
Version 2.8
- A problem in the execution engine that did not handle cascading conditions.
This has frustrated people, wondering why there code was not executing. - A problem with the new condition Editor corrupting the data if you used string litterals (single or double quotes). This corruption rendered the PL device totally unusable.
- Identified the cases that could cause the User Interface (Inputs, Conditions, Actions) to not load ... It will now gracefully inform the user of the problem and load as much as possible.
A few other minor bug fixes.
Version 2.6
- Bugs in editing the Interval, and Initial Switch State for PLTS
- Interaction bewteen the PLC and Vera Alerts
I had the same function name in both places ... with different implementation. That's a No-No in JavaScript ... and I know better! - Remove Actions when I delete conditions for PLEG. Still need to clean up Notifications. They do not hurt anything, but they look bad in the Report
Version 2.5
- A Report button on the the Control tab.
This generates a report showing all inputs, conditions, actions, and notifications for the PL device. This is useful to share your configuration with others ... or just to be able to see everything in one place. - Allow Conditions to be wrapped onto multiple lines in the display. Should help with those longer condition expressions.
NOTE the condition expression is still just a single logical line! - A Condition Editor ... You can use this to optionally edit your conditions. It is also helpful in that it lists all of the expression options you can place in a condition expression. A quick mouse muti-click on the condition text will expand the text selection ... more clicks will expand to a wider selection. This is useful for checking the scope of nested parenthesis expressions.
- PLEG has the options to order the expression statements.
- Modify how data is accessed and saved in the PLTS conditions tab. You will now be required to do a save when you change intervals, and/or condition expressions.