Release 2.2.9 features some significant developments for Apps. These include Variable events, a new major release of Rule: Rule 5.1 (and Button Rule 5.1), and expanded app Export/Import/Clone capabilities for all apps.
In this release, whenever a Hub Variable or RM Local Variable changes value a Location Event is generated. This means that RM rules can now be triggered directly from variable events, and Predicate conditions may be based on variables. Previously, only variable connectors could be used for triggers and Predicate conditions. These events can be seen in the Location Event tab of the Logs page.
For a Hub Variable the event name is "variable:variable-name" and the event value is the new value set.
Rule 5.1 fully supports these new Variable events. Variable times used in Mode Manager, Simple Automation Rules, and Thermostat Scheduler now use Hub Variables and corresponding times, instead of dateTime connectors.
Rule 5.1 / Button Controller 5.1 / Button Rule 5.1: These new versions offer these new features:
- Repeat While rule: This action allows a full rule to be tested for a repeat; it will proceed only if the rule is true and continue to repeat while the rule is true, skipping the body of actions in the repeat when the rule is false. It is still possible to do the same thing with a Simple Conditional action preceding a Repeat action, but only a single condition is tested, not a full rule.
- Repeat Until rule: This action allows a full rule to be tested at the completion of a repeat loop; the body of the repeat will run once, and then will continue to repeat until the rule is true. Repeat Until rule is an alternative to END-REP. The option to select it as an action will appear once a Repeat Actions has been begun, just as with END-REP.
- Time Since Event: This condition will be true if the designated amount of time has passed since the last event for the selected device(s). It is possible to use a particular attribute of the device, or any event. The primary intended use case is for actions to test when a device has not reported for some period of time (e.g. dead battery). This cannot be used as a trigger as there are no associated events.
- Multiple conditions in a logical expression are now referred to as a rule (to be distinguished from an instance of the app as a ‘Rule 5.1’). Actions and Predicate have been renamed for consistency:
IF rule THEN
ELSE-IF rule THEN
Repeat While rule
Repeat Until rule
Wait for rule
- Action to Disable/Enable device.
- Between Two Dates condition extended to allow time and variables.
- Improvements to setting variables.
- Supports Shock Sensors for triggers and conditions.
- Supports actual Thermostat Modes and Thermostat Fan Modes for conditions.
- Local variable connectors are retired in Rule 5.1.
- Added conditions for Window Shade and Window Blind.
- Added action Stop for Window Shades and Window Blinds.
- Added pause/resume rule for Mirror Me.
- There are numerous UI improvements, bug fixes (including all Rule 5.0 bug fixes) and other app improvements in Rule 5.1. These improvements would have broken backwards compatibility in Rule 5.0, and hence this new version is brought forward.
As usual, existing Rule 5.0 Rules, Button Controller 5.0, Button Rule 5.0, Rule-4.x Rules, and older Rules will continue to work and can still be edited, imported/exported and cloned. New Rules, Button Controllers and Button Rules will be 5.1 version. There is NO NEED TO MIGRATE existing rules of any prior version to the 5.1. version.
Simple Automation Rule 1.2
New version of Simple Automation Rule uses DateTime variables instead of connectors for Variable Time triggers. Older Simple Automation Rule 1.1. rules will still work, and can be edited. There is NO NEED to redo these rules unless you want to use Variable Events for Variable Time triggers.
Previously only certain parent apps supported the Export, Import or Clone of their child apps. In Release 2.2.9 this facility is now available for all apps.
To access the feature click on the gear icon for an app (left of app name in Apps list, upper right corner of app setup page) to open the App Status page. At the top of the page is a new button:
The Export/Import/Clone button brings up the feature. Depending on the app you click the gear icon for, you will see a page like one of these below.
This first one will be displayed for a parent app with child apps. The pulldown for Export Apps allows for selection of which apps to download. The pulldown for Clone App allows for the select of an app to clone. The import Apps selector in the center can be used to Import or Restore apps previously downloaded.
This next page will be displayed for a child app. Notice that only the specific child app may be exported or cloned in this case.
This next page will be displayed for a built-in app that has no child apps, for example Lock Code Manager. Notice that such an app may not be cloned, but may be exported. It cannot be cloned because there can only be a single instance of Lock Code Manager installed on your hub.
When you select one or more apps to export, a special text file is created and downloaded to your local Downloads folder (Windows: \usr\name\Downloads, Mac: /Users/name/Downloads). These files can later be loaded to Import or Restore an app. When you select such a file, you will see a page like this:
Restore is for restoring an app that has been deleted. If the app is installed it may not be restored.
Import allows for making changes to the app before importing it. Device selections can be changed, and the app name can be changed. This is the same functionality as clone. In fact, clone is actually export/import back to back, without downloading the file. As with clone, import makes a new instance of the app.
Cloning an app creates and installs a copy of the selected app. When you do this, as with importing an app, you will be presented with an opportunity to edit the name of the cloned app, and to select different devices ("Device Replacements") to be used in the clone.
Note: When cloning a Button Controller 5.x app, all of the child Button Rules will also be cloned. When the clone is first created, if the button device selection has been changed, the Apps List will not show the correct name for the new child Button Rules until the Button Controller 5.x cloned app is opened. When it is opened, it will clean up the names of its new child Button Rules.
When you are finished doing whatever Export/Import/Clone operation you want, hitting the Done button takes you to the Apps page, and hitting the back button in your browser returns you to whatever page you were on when you launched the Export/Import/Clone utility.
WARNING: Do not open Export/Import/Clone utility in more than a single browser window/tab at one time. There is a single instance of the utility, and it knows the context from which it was launched. If you launch multiple windows/tabs there may be an error.
In Release 2.2.8 and later, Button Controllers create an individual parent app called Button Controller 5.x. Each individual button action creates a 'grandchild' app (Button Rule 5.x). Previously, there was no way to clone or export these Button Controller 5.x / Button Rule 5.x apps. In order for these to be cloned (or imported) successfully, the cloning must happen at the level of Button Controller 5.x, and the clone must include all of the grandchild Button Rules for that Button Controller 5.x instance. If you attempt to work with an individual Button Rule, you will find that this is disallowed.
Restore or Import Apps from Settings
The central portion of the pages shown above offers the file selector to restore or import an app. This selector is not specific to the app on which you clicked the gear icon. Any exported app file can be selected, and it will correctly restore/import based on the contents of the file. Because this is a generic capability, it is also available on the Settings page, as Restore Apps.