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/time. Note that this does not work yet for using the scroll wheel to move the log, only if you click and drag on the slider. That 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 type. Again 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 previously. As 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 app. Previously 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 mode) and 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.