We are pleased to announce the release of Indigo 7.4, our second feature release in 2019. The primary focus of this release is to make Indigo fully macOS Catalina (10.15) compliant with a 64-bit versions of all Indigo processes. The changes in 7.4 can be grouped into 4 categories:
macOS Catalina Support and the end-of-life of AppleScripts targetting Indigo Server
New General Features and Usability Improvements
New and Improved Z-Wave Device Support
Bug Fixes, Scripting and Developer API Changes
As we state above, the primary feature of Indigo 7.4 is compatibility with macOS Catalina (10.15). With this macOS release, Apple has begun requiring all applications to be 64-bit. While the Indigo GUI client and plugins have been 64-bit for a long time, we’ve been delaying the implementation of a 64-bit version of the Indigo Server for a variety of reasons, but with Catalina we no longer have an option. One major reason that we didn’t move to it sooner is because our AppleScript implementation is dependent on libraries that are not 64-bit. As we wrote in a blog post several years ago, AppleScript is not the future of Indigo scripting/extensibility, but we wanted to give customers as much time as possible to convert.
With the release of Indigo 7.4, we are officially deprecating AppleScripts that target the Indigo Server directly (tell application "IndigoServer" and using terms from "IndigoServer") as well as disabling embedded AppleScripts in Conditions and Actions. Scripts that don’t target the Indigo Server will continue to work if executed as a script file from the Execute Script action. We have an article on our website that discusses a variety of solutions to replace any AppleScripts that you have that target the Indigo Server, and we will continue to update that article with more information as different solutions are identified for conversions. We also have a great community sub-forum where you can post your AppleScripts and get help (often within hours) converting them to Python or suggestions of newer non-scripting solutions (like Plugins).
Because Indigo 7.4 no longer supports AppleScript conditionals in Trigger and Schedules, we've added the ability to use embedded Python script conditionals. This makes creating powerful script conditionals possible using Python's simple syntax and Indigo's object model for inspecting and testing device states, variable values, and more. This includes consuming external data for use in conditional logic.
To further assist with converting AppleScripts, we’ve added a new menu item to the Help menu, Show AppleScript Usage in Event Log, that will identify items that need to be updated in your database (we also do those checks on server startup). This will write the information to Indigo's Event Log window for easy perusal. Finally, check out the Indigo and Python wiki article to learn more about scripting Indigo using Python and the Indigo Object Model.
We’ve added several new Light/Appliance Control actions to help you create scenes more easily. Match On State to Device will match any number of devices that support a binary (on/off) state to a specified device. This allows you to create something which behaves similarly to how Insteon direct links between devices work. For instance, you can have a door sensor defined by a plugin that can automatically turn on/off the lights inside a closet - those lights can be any kind of light that supports on/off like a WiFi or Hue bulb, a Z-Wave or Lutron Caseta switch, a lamp plugged into a Insteon module, etc. This could be done before using scripts, but now it’s significantly easier since no scripting is required.
But that’s not all - often times you want to match the on state or brightness of a device to the value of an Indigo variable. Done! Check out the Match Brightness to Variable and Match On State to Variable actions. Now it’s even easier to control a group of devices from variable values. This will also really help those that use external data of some kind that’s stored in variables to integrate more directly into the Indigo environment.
This release adds support for several new and updated Z-Wave devices from a variety of manufacturers including Aeotec, Fibaro, FortrezZ, Hank, HeatIt, Horstmann, MCOHome, Neo, Popp, and Zooz. We’ve also fixed several bugs in the Z-Wave and Insteon interfaces (including ones for the Z-Rain and Insteon Siren), the Mac Client, and Indigo Touch discovery. We’ve also fixed several bugs for scripting, including improving the exit() system call from Indigo Server executed Python scripts and a failure case where the Reload Libraries and Attachments menu item may not restart embedded scripts correctly.
This release was a huge undertaking because contains a lot of behind the scenes changes to support Catalina as well as position Indigo for some future functionality that you’ll be hearing about in the coming months.
Check out the Indigo 7.4 Release Notes for a list of all changes. Please note the name and path changes mentioned at the top of that list.
One thing of note: this release may not be available to all Indigo customers for free. Specifically, if you've allowed your Up-to-Date Subscription to lapse, you won't have access to Indigo 7.4. Select the Indigo 7(.x)->License Details... menu item and it will show the details of your subscription. You can also check the Licenses section of your Indigo Account to see the subscription status and the last version you are eligible to use, or you can go to the new Downloads Page (make sure you're logged in to your Indigo Account) to see you which releases you can download and use.
Many expired subscriptions are not yet past their catch-up time window, so you may be able to catch up your subscription to get access to Indigo 7.4 (otherwise you'll need to purchase a new license). We encourage you to do so - the subscription system is our way of continuing to bring you new features and functionality in a timely fashion.
Thanks for your support and we hope you enjoy 7.4!