User Tools

Site Tools


current

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
current [2018/12/23 17:59] – 9.4.14 James Sentmancurrent [2024/02/05 17:53] (current) James Sentman
Line 1: Line 1:
-=====XTension Version 9.4.14===== +=====Download XTension 9.5.4===== 
-Released: 12/23/2018\\ + 
-\\ +>2/5/2024 [[current:beta|XTension 9.5.5 Beta 1]] is available. 
-Download: [[http://www.machomeautomation.com/files/xtension/xtension_995.zip|XTension v9.4.14 (build 995) 12/23/2018]]\\ + 
-zipfile md5 = [[tech_notes:md5|dee7bff40518c8477fc90c3637331b63]]\\+Released 12/19/2023\\
 \\ \\
-\\ +Download Universal Binary for all Supported OS versions; [[https://www.machomeautomation.com/files/xtension/xtension_9_5_4.dmg|XTension. v 9.5.(build 1085)]]\\
-**NOTE** as of version 9.4.13 the minimum system version has increased to 10.10\\ +
-Before upgrading to OSX Mojave please read the [[tech_notes:mojave|Mojave Support Page]]. +
-\\ +
-====Change Log==== +
-  * New: A new Barix plugin is now available. The original Barix plugin is still included in the package so there is no need to do anything to update immediately. At some point I am going to pull that out of the package though. The upgrade process is as simple as editing your current Barix interfaces and changing the device type from “Barix” to “Barix New” and then saving the interface and re-enabling it. Mostly it will work the same way as the previous version with a couple of enhancements: +
-    * Appropriate units are created automatically when you connect to your barix so you no longer have to create them by hand. If you have a model with 4 relays and 4 inputs then those units will be created upon starting up of the interface. This will alleviate the questions that keep coming up about the very old script I wrote that would automatically create the units. +
-    * Units are also created automatically for any 1-wire temperature sensors that are found. They are indexed automatically by the 1-wire address so that even if you add more sensors later you will not have to worry about the order of them changing. The previous round about way to make a unique address for them by creating extra units that corresponded to the address registers in the barix is no longer necessary. +
-    * 1-wire temp sensors can now be controlled as to how often they update. In the Edit Unit dialog for a temperature sensor unit you can set a minimum update time, say you only want to see an update every minute or every 30 seconds you can enter that there. You can also enter a significant change value. This lets you create rules for updating the values something like, update at most ever 5 minutes unless the temperature has changed more than a full degree since the last value was reported. Since the resolution of the sensors is so good they can bounce around a tenth of a degree and generate a LOT of updates, traffic and log entries otherwise. +
-  * Fix: Fixed an issue where scheduled events that were timed off of sunrise or sunset might execute more than once depending on the load on the machine. Events scheduled this way are now guaranteed to only execute once as you'd expect. +
-  * Fix to the Lifx plugin for proper re-discovery after a Lifx lamp receives a new IP address from your DHCP server. Previously the lamps would stop responding to XTension commands after this happened until you disabled and re-enabled the interface. +
-  * Improvement: Searching for phrases in the log is hugely faster. In order to accomplish this though I had to limit the searching to the actual text of the log line. You can no longer search on the date portion.  +
-  * New: When scrolling in the log window the date of the top entry currently being shown is displayed in an overlay window to make it easier to find a specific date/timeNote that this does not work yet for using the scroll wheel to move the log, only if you click and drag on the sliderThat will come in a future release. +
-  * Fix to the Alexa plugin that would have caused it to fail to be able to register any units if your numeric preferences were set to use a comma as the decimal separator. This should now work for any localized version of MacOSX. +
-  * Internal Change: I’m starting to see more problems with AppleScript in Mojave and so rather than ask the script object for it’s handler names every time you try to tell a script to do something I am caching those. Since those can only change if you edit the script the only time I’m asking the applescript system to tell me what they are is when you are saving a script. After that the cached list will be used until you edit the script again. This should reduce or possibly eliminate the chances of a system problem causing a crash. +
-  * Fix: an invalid script handler with a garbled name is no longer added to the bottom of the “go to...” toolbar popup menu of handlers in your script. (did you know about that toolbar item? If your script is long you can jump to any handler you’ve written in the script by selecting it from the popup.) +
-  * Change: the list of handlers in that popup mentioned above will now always be listed alphabetically. +
-  * Fix to the plugin system: very large plugin defined interfaces will no longer have a random eyeball icon embedded somewhere half way down them as you scroll through them. +
-  * New: Vera UI7 unit option to control polling. You can set how often you wish the Vera to poll a device in it’s configuration web pages, but I’ve wanted to have this ability in XTension for some time. This version adds an interface to this to the Edit Unit dialog window for appropriate vera units. With the new Central Scene capable switches and other devices becoming more common it’s no longer strictly necessary to regularly poll those devices to get their current state updates at all. By removing them from the list of devices that the Vera is going to poll you can have it poll the non-reporting devices more often to get faster updates of their status into XTension’s database. Keep in mind that changing this causes a reload of the Vera’s lua interface. So no commands can be processed while it reboots. This only takes a few seconds and isn’t as long as a power cycle, but you must wait for it to come back online before you change another one or try to control any other lights. +
-  * New: Vera UI7 unit option to control the automatic query. There is a problem that sometimes a local change at a switch will report a light level in between the original level and the final level because of the ramp rate. Previously I was sending a query to a light switch a few seconds after I received a local value change from it in order to be sure that we were getting the correct locally changed value in the database. This is only a concern for dimmable devices, the query is already not sent if the device is not dimmable. But again with central scene capable dimmers it may not be necessary for you to query the switch since you already know the user hit the on or off paddle. A query holds up the network while it waits for the switch to respond so if you’re noticing a delay in other commands going out after a local change occurs at a switch you can now turn that automatic query off. For most people most of the time it won’t make any difference, but if the device is not responding on the first try and if you are sending a lot of commands at the same time it’s possible that it will cause a delay that is unnecessary.  +
-  * New: Vera UI7 also now supports scripting commands for changing the polling frequency with the same caveats about it restarting the lua interface when you do. The commands are: tell xUnit “name of unit” to setPolling( 30) or defaultPolling() setPolling(0) to disable polling entirely for that unit. Since the lua interface will restart after each change it’s not really practical to script many changes or to do something like change your polling frequency for the time of day or occupancy or something. It must restart between each call. You should use these commands with care. +
-  * New: Vera UI7 I’ve added a checkbox for “dont get the gesture code” for the switch/dimmer device typeAgain this is a potential speed improvement to get the central scene event. Getting the gesture code requires an extra request to the Vera. I can tell that the up or down paddle was pressed very quickly, if I want to tell if it was a single click or a double click that takes longer. Sometimes a tenth of a second, sometimes several seconds depending on the vera and Mac load at the time. If you don’t need the gesture code, some devices send a different button code for each gesture already making it unnecessary, or if you just aren’t using it, then it will be faster to turn this on and not go looking for the extra information. +
-  * Fix: Fixed a problem with eh Web Remote Thermostat control where the heat setpoint display may not have updated as you were clicking it but waited until the final value was actually sent to the device. It will now update as you click it as the other controls do. +
-  * Plugin Fix: Fixed a problem with the segmented control for plugin defined interfaces that could have caused the mobile web remote to fail to load the unit control page with an error. +
-  * Changes: Many optimizations to the database save and load routines. You can expect XTension to load and quit quite a bit faster than it did previouslyAs my own database has grown I’ve started to noticed there was some room for improvement in this. +
-  * Mojave Fix: XTension will now properly display a dialog asking you to grant permission for it to control an external appPreviously the scripts would just fail as the system was not showing a permission dialog for us.  +
-  * Fix, Web Remote will now always show the proper fan mode options in the fan mode popup and not sometimes show the same options as the HVAC mode popup. +
-  * New: The new Thermostat Pseudos are now supported in both the web remote and the mobile web remote making it much easier to setup thermostats than previously as you only have to select the single unit in the web interface rather than all the units that correspond to all the different inputs and outputs of the thermostat. +
-  * New: The mobile web remote now displays a little status lozenge for any thermostats you have setup in the list showing you the current temperature, the current setpoint (either heat or AC depending on the modeand the current status (off, idle, heating, cooling, etc) without having to click on the line item to bring up the larger display. +
-  * Fix: Both web remotes can once again automatically reconnect themselves to XTension if their session times out or if the connection is lost for any other reason. +
-  * Fix: The mobile web remote will now pause any incoming connections that come in as it’s performing it’s initial database download from XTension. The new reconnect is so fast that it’s possible to get connected before the interface knows about the units in the database causing a blank display to appear. Now any such connections are paused until the database load is complete and then they continue. The desktop web remote version has done it this way for some time. +
-  * Fix: Mobile web remote will now properly show the Back button and other interface elements after saving a dynamic page that was at a position other than the root level of the interface. Previously it required a reload of the page before it would be working properly again after editing. +
-  * Minor: The Combined Thermostat display on the mobile web remote is now properly centered in the screen and not pinned to the left as it was previously. This makes it perform more like the dual setpoint thermostat control. +
-  * Plugin Fix: Fixed a problem where units that were created new by commands from a plugin were not immediately sent back to the plugin and made available to it.+
  
 +**This is an important update for NGROK users.** This updates the ngrok client to support the system changes they are making live. The older version will no longer be supported very soon. Anyone using ngrok tunnels should definitely perform this upgrade as soon as possible.
  
 +**Minimum System Version** for this release is OSX 10.10 but not all plugins will function properly prior to 10.13. Please start the necessary work to upgrade to at least 10.13 or recommended 10.15 or newer. At some point in the near future it will no longer be possible for me to support anything prior to 10.13 and the video plugins will never work prior to Catalina.
  
 +**Rosetta Note:** While the entirety of the main app and all more recent plugins are Universal and run natively on Intel or Apple Silicon there are a few older plugins including the W800 and CM11 that are still Intel only. They run fine under Rosetta and you’ll never notice the difference. The only issue is that Rosetta is not included by default on the new Apple Silicon Macs. You’ll need to first run any Intel app, or do a get info on any app at all and select “open using Rosetta” then the OS will tell you that you need Rosetta and would you like to install it now. Once you complete that those plugins will run normally.
  
 +====9.5.4 Change Log:====
  
 +  * The [[supported_hardware:hue|Phillips Hue]] plugin now properly supports non-dimmable plug in modules.
 +  * Fixed a problem with the [[supported_hardware:wiz|Wiz plugin]] that would log errors as the libraries now return the name of the scene rather than it’s ID as they did previously.
 +  * Fixed the error that was logged while trying to create a symlink to the internal python version if you did not have a /usr/local/bin folder on your machine. 
 +  * The python symlink is now created inside the XTension Support folder “pythonxt” and you can use that to run python scripts inside XTension or from elsewhere but using the XTension settings. It is especially useful if you are running python scripts from an async shell script in XTension as they will inherit all the path info to run properly where running the built in python may cause errors.
 +  * NEW: Added an option to delay quitting. This will popup a window asking if you really meant to quit, stopping accidental shutdown of the entire program due to misplaced fingers. The window will count down for 30 seconds and then quit the app. This window does not come up if the system tells XTension to quit as if before a restart or something similar. Find the checkbox to turn it on in the Preferences.
 +  * NEW: Added the option to send a value of 0 for a dimmable Unit to the On script if there is no Off script. Normally a value of 0 for any dimmable unit will be sent to the Off script rather than the On script. Unless there is no off script. This meant that previously you potentially had to duplicate some of your logic for handling values in the On and Off script. When this is turned on in the Preference, and a Unit has no Off script. The On script will be run instead with the future value set to 0. This is on by default, but if it causes you issues with some of your scripting you can turn it off in the preferences window.
 +  * Fixed the incorrect link to the mailing list signup page in the purchase dialog.
 +  * Removed some debug logging I failed to remove before the last release. This was in the conversion of potentially confused strings into floats and so did not affect every plugin, but might have logged confusing information occationally.
 +  * There was a change in AppleScript support in OS versions from Ventura on that would actually enforce some, but not all, of the scripting dictionary flags that have never, in the entire history of the Mac, mattered. So us developers got sloppy and failed to add things like the “optional” flag to all the verbs reliably. The first I’ve found and fixed was with the Speak verb where it would tell you that the “in” parameter was required. It is no longer required. So far I have not found any other such issues and a visual search through the dictionary did not reveal any more such issues, but it’s entirely possible there are more parameters that are not properly marked as optional. If you find any such errors please let me know.
 +  * The Interface list window can now be sorted by CPU Usage, Memory Usage and Process ID. This only works if you have the “show more information” option turned on in the gear menu on the window. This can be a great aide in finding the plugin process that is eating up all your CPU or memory and linking a python process shown in the Activity Monitor to the plugin it’s actually running. They all just say “python” in the monitor. But now it’s easier to find the PID number in the list if you sort by it.
 +  * Updated the [[xtension_manual:ngrok|ngrok client]] version to 3.5. This is an important update if you are using this service as the old version will no longer be supported sometime in January. There were many changes to the usage of the client, and many more to the layout of the configuration file. I believe I have them all sorted out, but if you have issues let me know. All output from the client is logged during startup so you can check immediately if it thinks it started the tunnels or if it logged errors instead.
 +  * I had previously hidden some of the lower level debugging aids in the contextual menus by having people hold the option key while right clicking. There is really no need for this extra step so I removed it. The Contextual menus for Units and Interfaces will have their “log debug data” and “Reveal in Finder” options at the bottom of all the contextual menus for them. This will make it easier to collect info for me if things start behaving oddly.
 +  * I added the same debug logging info to the contextual menus of global scripts should it ever be necessary to get a look at that.
 +  * To that debug output I added another line of info comparing the length of the Unit Address in both bytes and glyphs. This might be helpful to more easily discover if a plugin or a bug somewhere has inserted invisible characters into the Address field of a Unit causing things to get disconnected in the database and potentially making more and more units being created when there really should be only the one.
 +  * There were some significant updates and improvements in the main program libraries that will make many things run faster and smoother. So far my testing of all of them work just fine. They aren’t a thing I can turn off though, they are just part of the latest compiler update. It will depend on what you’re doing, how busy your machine is and how fast it is in general whether you’ll see any difference at all. Usually the things they improved aren’t an issue until you’re doing something many times in a row. So I expect that the main improvements will be in window redrawing and things like that, but if you have a machine that is very busy it may improve that somewhat throughout.
 +
 +-----
 +
 +NOTE: This disk image no longer includes the older legacy plugins that will not be updated for newer OS versions. If you still need to run the [[supported_hardware:cm19]], [[supported_hardware:cm15a]], [[supported_hardware:zwave]] or the various Smarthome X10 interfaces please download [[tech_notes:catalina|the legacy plugins package from here]] and install the ones you need via the “Install Plugin” menu item of the “Database” menu. 
 + 
 =====Previous Releases===== =====Previous Releases=====
 {{indexmenu>:current#2|js#doku}} {{indexmenu>:current#2|js#doku}}
  
-=== Older Versions === +
-[[beta|The Changelog and Download links for builds between 763 and version 9.1 can be found here]]+
current.1545587942.txt.gz · Last modified: 2023/02/13 14:51 (external edit)