XTension Version 9.4.15
Download: XTension v9.4.15 (build 998) 1/14/2019
zipfile md5 = c16415fd26bee0b0d165f08f6a59c578
NOTE as of version 9.4.13 the minimum system version has increased to 10.10
Before upgrading to OSX Mojave please read the Mojave Support Page.
If you have already upgraded to Mojave and have any scripts that reference applications other than XTension you must run them after the upgrade. The OS cancels your previous permissions to control other apps when the version info changes. If you don’t run those scripts and OK the dialog that will appear then ay scripts you have that try to do this will not run.
- New: Added the “frontmost” property to the application class. You can now make XTension the front most app by just setting this to true. It’s no longer necessary to tell XTension to activate or anything like that, just set frontmost to true.
- New: in the Log page of the XTension Preferences window you can now ask it to delete logs older than a certain number of days, or you can leave it as it is and let them build up forever. The logs are scanned each night and anything older than the time you’ve selected is deleted.
- New: The Idle script will now run on real minute intervals rather than just every 60 seconds from the time XTension was launched. This means that the first execution will be some amount of seconds less than 60 as it lines itself up with the system clock. This is useful if you’re using the idle timer to update a time display in a view or the web interface. It will now update it’s minutes when the system clock switches over as well.
- New: Staged Startup. Each interface now has a popup menu for you to select the “startup stage” the selections are: First, Early, Normal, Late and Delayed. All interfaces in each group are started alphabetically as well so you can control the order within each stage by adding numbers or pre-sort lettering to the names. First is started immediately upon launch, then directly after that. Normal are launched up to a second later just before the startup script runs just like it always did originally, the Late interfaces will be started 10 seconds later and the Delayed interfaces will be started 20 seconds later than that. Interfaces which are enabled but not started yet due to the current startup stage will have “(waiting…)” added to the end of their name in the Interface list window.
- New: Reworked the manage global scripts window. The execution time of the script now has it’s own column so you can sort by that and find more easily any scripts that might be taking a long time to run. I also added a column for “Last Edited” so you can more easily find the scripts you were most recently workin work. Beyond that is a column that will contain the date the script last threw an error and in the last column the text of the error description so you can more easily see if a script is malfunctioning without scanning the logs for it.
- Fix: the Lifx plugin properly sets and clears the error flag when you try to command one that is not available, or when you try to control one that was offline and has come back in the meantime.
- Fix: Vera polling settings now work from the interface in the edit unit window as well as from the setPolling( newValue) scripting command.
- Fixed an error that would be logged from the web remote after using the advanced unit control popup window from a unit list whenever that unit was controlled again.
- Fixed the logging of an error if you tried to access the last activity or time delta of a unit that doesn’t have one yet.
- New: When searching Unit Property values are now also searched for matches of the search phrase. Previously only the keys were scanned. This only works for text value types. It will not search applescript lists, records, or any other objects that you can put into a unit property.
- New: the Manage Handlers window now also works properly for Unit on or Off scripts. You can use that to make handlers in the script global to the scripting system so you don’t have to use the tell xUnit to doTheGlobalThing() format. The Submenu checkbox has no meaning just yet for a Unit as it does for a global script.
- While XTension regularly gets the available disk space from the volume that contains it’s active database so that it can stop trying to write to it when the disk fills up so as to keep the database from being corrupted it now does a specific check before each save of the database in case things have changed radically since the last time it was scanned.
- Changed the behavior of control clicking in a unit list window. Previously if you had one or more units selected and you control-clicked on one that was not selected, the contextual menu would apply only to the single unit you clicked on and preserve the rest of the selections. This was confusing and could lead to you accidentally deleting units other than what you meant to and so forth. While this was technically in line with the interface guidelines it isn’t necessary and just added comlexity. From now on if you control click on any of the selected units then the selection will not change and the contextual menu that results will apply to all the selected units. If you control click on a unit that is not selected then first the selection will change to just that one unit before the menu pops up showing you specifically what unit the contextual menu will apply to.
- Fix: clicking in the background of the scrollbar in a Unit List window now scrolls the window by a full page rather than just by one line as it did previously.
- Updated the dictionary entry for the Do Async Shell verb to give you the format for the handler definition necessary to receive the information from the command when it’s complete. Just makes it easier to set one up without having to go to 2 places to get all the info.
- I moved the Device Type display from an option to display it inside the Address column to it’s own column so you can sort by it if you wish and it won’t confuse the sorting in the address column. It’s not turned on by default though, to insert the column control click in the headers of a unit list and select “Insert Column:Device Type“
- XTension will now properly run from the Applications folder again if you are converting from a version prior to moving the database from the Application Support folder to the Documents folder. Previously this would have resulted in an error at startup and the creation of a new empty database and you would have had to move your database from that hidden folder manually. If for some reason old info has been left behind in the Application Support folder it will only consider it valid if it has been used recently and will ignore really old files that might still be there so it won’t suddenly wakeup and try to convert something that it has always ignored before because the conversion was not working properly.
- Fix: Fixed a problem where some information would be lost if you changed a real unit to a pseudo and then back again. This now properly preserves everything about the unit from before you converted it to a pseudo so it can be converted back.
- Fixed a problem where the motion reports on the web remote might be entirely white. If you’re suffering from this problem go into XTension’s preferences, edit the colors and save them again, This will overwrite the incorrect color values and update them in the web interfaces.
- Fixed a problem where if you controlled a group of units and included the ramp rate option it wasn’t getting passed on to the units in the group. Now, if included, the ramp rate will be applied to the command as it’s sent to all the units in a group.
- Fixed a potential problem that might have logged an error when an interface assigned to a multi-queue woke up but didn’t have any commands to send.
- New Barix Plugin: Many fixes, additions and changes to the new Barix plugin…
- Fixed a problem converting units from the old plugin
- Fixed a problem where newly created units might not have had their interface reference set properly which could have lead to multiple new units being created at each restart.
- New: Popup in the edit interface dialog where you must select the barix type, 50 or 100, before starting up the interface for the first time. This helps in converting the units from the old interface properly and for creating new units properly as the register ranges for the 2 devices are just different enough it could have some overlap.
- Fixed an error that would have kept the barix 100 from creating it’s digital output units.
- New device type, added the “Expander Temperature” device type to be specifically applied to 1-wire sensors attached to an X8 expander module.
- New: extended the temperature filtering to the analog input and register unit types. This way you can use the same time based and/or significant change based filtering that I originally added for temperature sensors to the analog and register inputs.
- New: the edit interface dialog now contains entries for the defaults to apply to any new or converted temperature, analog and register units. If you set this up before you start the new interface for the first time, or before you start it for the first time after converting to the new plugin it will set the appropriate defaults for those units so you don’t have to go through and set each one manually.
- Updated the wiki page to reflect all the new changes and new info Barix Barionet