XTension Logo

Home | How to order | XTension | Download Page | Home Automation | Ideas | Sand Hill | Links | Mailing List


XTension Classic Version Release History
For XTension for OS X history, see this page.
---------------------------------------
  • XTension 3.7.0 Release notes:

  • This release adds support for the new LynX-PLC co-processor.

  • XTension 3.6.5 Release notes:

  • This release adds a new option for the 'wireless' commands, and fixes some little bugs.

  • XTension 3.6.2 Release notes:

  • This release improves support for the 'simulated preset dim' feature, adds a couple of useful intrinsic variables, and corrects a couple of bugs that crept in with version 3.5.9.

  • XTension 3.5.9 Release notes:

  • This release adds support for the MP3 Remote control from X-10,
    support for older X-10 RF remotes, better support for 'smart' dimmers,
    improved support for the X-10 "All Housecode" type commands, and some minor bug fixes.


  • XTension 3.5.4 Release notes:

  • This release provides even more support for the MR26 wireless X-10 receiver.

  • XTension 3.5.0 Release notes:

  • This is an exciting release !


  • XTension 3.2.3 Release notes:

  • This version includes some major new features and a few small bug and appearance fixes.


  • XTension 3.1.0 Release notes:

  • This version offers some improvements to the targeting over IP feature, fixes some old issues with the Apple date/time format in date/time type verbs, and cleans up some old bugs.

    The remote targeting over IP feature is working well, however it needed to be tweaked so that each end of the IP connection will more readily disconnect should internet problems start to get bothersome.

    A new option has been added to the Scheduled Events. It is relevant only to situations where you are running a Monitor and Host (targeted) system.

    This feature allows you to create scheduled events on the Monitor that are not on the Host, and still have them executed at the Monitor. This will cause the same events to be performed on the Host.

    Previously, no scheduled events were really performed at the Monitor, always relying instead on the (same) events at the Host to fork all relevant commands to the Monitor.

    There are several verbs in XTension that deal with the date or time.
    These have traditionally used the old '32-bit' date time, which is not compatible with the newer 64-bit date time type that Apple prefers.

    Changes have been made in several verbs that MAY cause you to have to modify some of your existing scripts.


    There has been a conflict in the XTension dictionary, between the verbs that remove a unit from a 'group' or 'view'. Also, the 'add unit to group' verb was ambiguous. So I've made some changes to these verbs in an attempt to make them distinct.



    A bug fix :
    Previously, if you chose to attach scripts to a 'Group', you would find that sometimes these scripts 'disappeared' whenever you clicked "Save" in the Edit Group dialog box...until the next time you restarted XTension.

    I believe that I've fixed this problem. It should work now as expected.

    Another little verb change :

    Previously, the 'set value' verb would not let you set the value of a unit that was not 'dimmable', or 'analog'.

    This has been changed so that if the value that you are setting a on/off unit 'to', is either 'zero/OFF', or 'not zero/ON', then it will work as expected.

    This is to allow the possibility of gathering the current values of a group of units from a 'targeted' copy of XTension, and then doing a 'quicky snapshot' of just that group. (synchronizing databases)

  • XTension 3.0.9 Release notes:

  • This version adds two very nice features.

    The most important is that you can now use the AppleEvents over IP features of MacOS 9 to 'target' copies of XTension across the web or intranet.

    Simply start up a copy of XTension on your remote Mac, and run a script that 'bonds' with your 'host' copy of XTension at home etc...

    Your remote Mac displays the same real time updates that it would if you were in front of the 'home' Mac...
    and yes, controls it ... without any extra 'remote control' software...

    This is specially interesting for those who would like to remotely monitor a vacation home, or even multiple properties or 'internet server farms' !

    The other new feature is a long-requested ability to "send X-10 addresses without a command".

    This is called 'address stacking' and it allows you to pre-address several X-10 units on the same house code, and then send a command that will cause each of the addressed units to respond simultaneously.

    This allows the creation of better 'scenes', with simultaneous units dimming, using only common X-10 dimmers.

    This new feature also allows you to program other X-10 compatible devices which require that you be able to transmit an address without a command.

    This will make it much easier to create scripts in XTension that can program the 'scene' capabilities of the PCS (brand name) dimmers.

    Sunrise and Sunset for any day can now be easily calculated using a couple of new verbs. These verbs will return the 'seconds since midnight time of the appropriate suntime for any specified date (within the range of the Apple date/time system.


    Also with this release comes a new version of DBaudit, the XTension database audit utility. It should be able to detect unusual problems with most of the elements of your XTension database.

  • XTension 3.0.6 Release notes:

  • This version finally resolves the problems between the format of the PPC versus 68k databases and preferences files.

    This will require a minimum of fuss on your part.
    See the 3.0.6 Migration Page

    This version also fixes a very nasty problem with any of the "Two-Way" versions that crashed on Editing or creating a new unit.

  • XTension 3.0.5 Release notes:

  • This version fixes the problem with the length of the description field. In previous versions, it was limited to 127 bytes. The 'set description' verb will now only return an error when the given string is longer than 255 bytes.

    Also added a new verb which retrieves the current 'logging mode'.
    IE: set currLogMode to logging mode
    result: "all, normal, exceptions"

    Note that this version was delivered only on the new XTension CD.

  • XTension 3.0.4 Release notes:

  • This version fixes a bad problem with the 'set description' verb. There were cases where the verb could overrun the description field into the description field of other units.

    If you use the 'set description' verb you must upgrade...


  • XTension 3.0.3 Release notes:

  • This version is for no other reason than to prevent crashes when mixing incompatible versions of the app, and the data files. All versions should now report that the database is incompatible, and/or default to no scheduled events if moving between the 68K and the PPC native versions.

  • XTension 3.0.2 Release notes:

  • Bug fixes and new graphic view verbs..
    This version fixes a few memory leaks, and rounds out the verb dictionary for dealing with graphic Views.

    New Verbs:
  • XTension 3.0 Release notes:

  • This is a 'public release' version.
    With this version, XTension takes on a more modern look, and adds some features that are specially useful for changing and managing graphic views.

    New Verbs:
    It has been tested on a wide variety of platforms, but it is still expected that it will not 'look' good on older Macs with Black and White screens, and without ColorQuickDraw in the ROMs.

    XTension 2.4.x Release notes:

  • The entire series of versions between 2.3.9 and 3.0 were trial versions which led up to version 3.0. The principal change was the 'face lift', and several verb additions and changes.

    This is a crass commercial effort to make XTension more acceptable to the first time user. Management is pleased, Engineering is not amused.

  • XTension 2.3.8 Release notes:

  • This version fixes a bug that incorrectly writes scripts back to the database and to the text copy (Scripts folder), even when the Prefs option is set to "(don't) Save script context". This should improve performance on older Macs.

  • Also corrected and amended in this version is the log message that appears when you execute global scripts. IF the script exists only in the "Scripts" folder, and NOT in the database, then the log entry will look like this:

    Wed, Apr 12, 2007 11:32:07 AM Executing text script "a time test"

    This should help to distinguish between scripts that are located in the database, and those that are in the "Scripts" folder only.

  • This release adds a new feature to the "Open"(file) verb. You can now "Open" a "plug-in" and import new elements automatically. This means that you can make changes to the database on a "Monitor" copy of XTension, then Export those changes to a 'plug-in', send that plug-in to the "Host" Mac, and then tell the Host copy of XTension to 'Open' that file.

    The key difference here is that XTension will ALWAYS replace any old unit/data with the data in the plug-in. (NO 'are you sure?').

  • This release also fixes another long time bug in XTension. This is more obscure, but previously, the 'new value' and time stamp were set before calling the unit script -- (in the "set value" verb only.) The value and timestamp are now set After the script is called.

  • This version also adds more logic to the change made in 2.3.7 for the "BY" option in the dim, brighten and set value verbs. Now, if you try to change a dimmable unit (with an X-10 address) beyond its natural (0-100) limit, XTension will auto-limit it without giving an error. IE: If "Lamp" is already = 90 and you do : brighten "Lamp" by 20 then XTension will set the "Lamp" to 100 ( or to 0 if you try to dim below 0) Units which do not have X-10 addresses (pseudo units), are Not auto-limited.

  • XTension 2.3.7 Release notes:

  • This release fixes a LONG TIME bug in XTension. It concerns the "About Box" which is found under the "Apple Menu". I don't know how long this has been causing a problem, but I expect that it's responsible for a lot of unexplained crashes. Basically, sometimes after you pull down the "About XTension" dialog, you may see a crash at the time of the 'next' Scheduled Event. Because this may be a long time from 'now', the Crash would not normally be associated with the About box.

  • Also in this release is a small change to the dialog box where you Add Units to a group. The 'source' or master list on the left is now sorted in alphanumeric sequence. It is much better this way...

  • I also added a new option for the Dim, Brighten, and Set Value verbs. Previously, if you wanted to be able to 'raise' the level of a lamp, you had to do something like this:

    brighten "the Lamp" to ((value of "the Lamp") + 10)

    Now you can do the same thing like this:
    brighten "the Lamp" by 10

    You can also use the 'dim' verb, but the 'by X' remains an absolute value that will be 'added' to the current value of "the Lamp", and then the lamp will be commanded to that new level.

    Note that a value of -10 etc is legal.

    You may also now do the same thing with the 'set value' verb, specially with 'analog' values like "Daily Rainfall" : set value of "Daily Rainfall" by 1 (adds ONE to current value)

  • XTension 2.3.6 Release notes:

    This release builds on the new verbs of version 2.3.5

  • I've added some new verbs:

    create group -- create a named group
    IE: create group "Front Lights"
    (this verb will prohibit duplicate names)

    delete group -- delete a named group
    IE: delete group "Front Lights"
    (dangerous if you don't know what you're doing...)

    And I've extended the format and output of the "Save Database as Text" function.

    The output now includes the 'type' parameters of each unit, as well as the units which are members of a 'group'. This is a tab-delimited file which may be directly edited, and then used as the source for an applet which can re-build the database.

  • XTension 2.3.5 Release notes:

  • This release corrects a problem with the periodic writing of the database. Some users were seeing that the database sometimes did not get written the number of times per day chosen. This release should fix that.

    Also with this version, I'm providing some new verbs for those who want the ability to modify the database from other applications.

    Here are the new verbs:

    create unit -- create a named unit, with a specified address
    IE: create unit "google" address "A1"
    (this verb will prohibit duplicate names)

    delete unit -- delete a named unit
    IE: delete unit "google"
    (dangerous if you don't know what you're doing...)

    set description of -- set the description of a named unit.
    IE: set description of "google" to "This is a description"
    (this field is unedited, but do be careful with data types)

    description of -- returns the current string stored in 'description' field.
    IE: write log "The description of google is : " & description of "google"

    set params of -- set the specified parameters of a unit
    IE: set params of "google" dimmable true simulate true single true
    There are 5 different parameters that you can set using this verb.

    dimmable -- dimmable
    simulate -- simulate preset dim
    reverse -- reverse logic
    receive -- receive only
    single -- single click to toggle


    These variables may be used in any order, and are all optional. Use any one, or all, in any order. If the parameter is omitted, it will not be changed.

    You must use the 'true' or 'false' option with each parameter.

  • XTension 2.3.4 Release notes:

  • I'm releasing this version early because of a PPC native problem with the "New Group" function. In earlier versions, it was possible that each new group was linked to the 'first' of all groups so that it would always appear to include the same units. This (I think) has been corrected in this release.

  • Also in this version, I added another function to the 'emergency' startup procedure. If you start up XTension with the 'Option-Key' held down, XTension will both disable the startup script, and will 'suspend' every scheduled event.

  • This will provide a mechanism for starting up XTension when there is some 'stuck' script that is causing continuous restarts or extraneous messages and commands. A message will be written to the Log to indicate this, and the 'stop signs' in the scheduled events window should be an good warning sign.

  • This version includes an experimental 'fix' of a problem that has been reported concerning a failure when cutting the Log File. If while trying to read the starting 'date/time' that was written to the current Log File, an error occurs, XTension will retry 10 times and then simply write a log file with the name "Log Name Problem". Of course if this happens repeatedly, then there will be a name collsion or overwrite.

  • So, this is an interim release for those who have seen this problem, and can readily reproduce it. I need information about the behavior of this version.
    (Reports indicate that this is ok...)


  • XTension 2.3.3 Release notes:

  • This version should be reasonably correct for all suntimes, for any location as far east/west, or north/south (55 deg N/S).

  • There are variations of Map and Date/Time Control Panels, across the different MacOS systems you are running. The thing to remember is that you should first set the date and time, Daylight Savings Time, AND the 'time zone' using the Date/Time control panel.

    Then call up the Map control panel and set your specific latitude/longitude. Remember to push the "Set" button.

    Then close both control panels. Now call up the Map control panel again. The 'time zone' should show the correct number of hours +/- GMT that you are experiencing in your time zone, Including the Daylight Savings Time offset.


  • XTension 2.3.2 Release notes:

  • This version is better at calculating the sunrise/sunset times, but may still have problems with the 'GMT offset' as represented in different operating system versions. This can be corrected using the 'adjust sunrise' and 'adjust sunset' verbs.

  • The PPC native version now properly schedules the suntime events.
  • XTension 2.3.1 Release notes:

  • This version changes the format of the Control Panel to include the whole date/time in the "Last Event Time". This is specially nice for units that don't trigger very often.

  • Also, several changes have been made to correct the export/import of plug-ins between the PPC native and 68k versions. There is still a problem with scheduled events between versions, but this will likely be fixed in the next version.
  • XTension 2.3.0 Release notes:

  • This release adds the ability to dislocate the XTension "Logs" folder from the application folder. For those who are running XTension in RAM Disk, this means that you can now have an 'alias' of the Logs folder in the XTension folder on the RAM Disk, and XTension will automatically save all archived log files in the 'real' Logs folder which can be anywhere. Even on a shared volume.

  • New Verb: "XTSyncDateTime"
    This verb allows you to set the date/time of this Macintosh with the time gathered from another Mac on your network, OR from a date/time retrieved from a web time server.

    example:
    Assuming that the Mac named "the Clock" has the correct time, and that the following script is run from within a copy of XTension on a different Mac:

    tell application "Finder" of machine "the Clock"
    set theTime to (current time)
    end tell
    XTSyncDateTime (theTime)



  • XTension 2.2.9 Release notes:

  • This release includes a new verb and a new technique which detects when the disk space is depleted and XTension can no longer write to the XTension Log file.

    There will obviously have to be an update to the XTension manual, but until then, here's how it works:

    When a 'disk is full' error is detected by the Write Log File logic, XTension will close the current "XTension Log" file, and set a flag that will prevent any further disk consumption.

    It will also write a big red message in the Log Window that indicates that this error has occurred.

    Further, it will attempt to execute a 'special named script' called "Errors Script". If this global script has been created, then the user can perform whatever actions desired, like compressing old Log files or deleting them.

    The new Verb allows you to then turn Disk Logging back on if you want. ie: set disklogging (true/false)

    It is of course desirable to predict this 'disk is full' event OR perhaps even check on it occasionally, but at least this change will allow XTension to continue to perform without crashing.

    It may be that in the future we have an automatic method of testing for diminishing disk space, but for now, you can use the Finder to determine the available space in a periodic script that you provide.


  • XTension 2.2.8 Release notes:

  • This release should fix the problem that was discovered concerning the "Periodic check with interface failed" message which occurred at times that were not logical, and often in conjunction with a 'preset dim' command.


  • XTension 2.2.7 Release notes:

  • This release includes only one change. Responses from users have suggested that a long series of incoming commands from the interface may cause the periodic check of the interface to fail. This version slightly changes the logic for determining when to do this test. No other changes made.


  • XTension 2.2.6 Release notes:

  • This release specifically addresses the needs of those who want to run on PowerBooks or from Ram disk, and want to limit the number of times that the hard disk has to spin up. In general these new options should improve response and execution time.

  • This version adds a new Preference option, and changes the 'default' preferences :

  • There is now an option to "Execute unit text scripts"
    IF selected, XTension will attempt to locate and execute text copies
    of unit scripts IF a script is not found in the database.
    The default setting is OFF.
  • The default setting for "Auto save scripts to text" is now ON.
  • The default setting for "Do write current time" is now OFF.
  • In previous versions, XTension would always save Global scripts back to disk after execution. This is now controlled by the preferences option "Save script context".

    IF this option is selected (checked), then scripts will be saved to disk whenever executed, and always when XTension is told to Quit. This option should only be selected when you have scripts that contain variables which are defined using the "property" statement, and you need to preserve the current values of these variables.


  • XTension 2.2.5 Release notes:

  • The old problem of "Squished Lists" which occurs with Mac OS 8.5 and after, has been fixed.... finally.

  • This release corrects an old problem with importing "Views" Previously, when importing views, you were presented with a confusing 'open file' dialog box, and the views were not imported. This has been fixed.

  • This release also includes fixes which are a prelude to the release of the PPC 'native' version of XTension.


  • XTension 2.2.4 Release notes:

  • This is an interim release.
  • This release adds a new feature. You can now create a scheduled event which blocks or unblocks a unit. And there are two new parameters to the 'block unit' and 'unblock unit' verbs.

  • The New/Edit Scheduled Event dialog now offers the 'block' and 'unblock' commands.

  • The new additions to the block unit and unblock unit verbs allow you to specify a delay before the block/unblock occurs, and the period before it is reversed.
    examples:
    block unit "Lamp" for 5 * minutes
    block unit "Lamp" in 5 * minutes
    block unit "Lamp" in 5 * minutes for 5 * minutes
    or:
    unblock unit "Lamp" for 5 * minutes
    unblock unit "Lamp" in 5 * minutes
    unblock unit "Lamp" in 5 * minutes for 5 * minutes


  • XTension 2.2.3 Release notes:

  • This is an interim release.
  • The only changes are the addition of a new verb:

    A new verb has been added which gets the names of all of the Scheduled Events
    ex: set theList to all events


  • XTension 2.2.2 Release notes:

  • This is an interim release.
  • The only changes are the addition of a new verb and the re-naming of another:
    The old verb "all of list" has been renamed to "all of class" (same old AE event ID)

    A new verb has been added which gets the units of a given "List"
    This verb is now called "all of list" (note conflict with old name)
    This verb will return a list of the units which are in a named "List" :
    ex: set theList to all of list "Weather Data"


  • XTension 2.2.1 Release notes:

  • This is a 'soup' release. It will replace the 2.0.7 release which has been shipping since Summer '98. There is only one minor change between this and version 2.2.0:

  • Extended Code transmission handling: A very small change has been made which should allow for multiple 'xtend' commands to be issued without having to 'delay' between them.
    No other changes have been made. Version 2.2.0 appears to be very stable on all OS's and platforms.


  • XTension 2.2.0 Release notes:

  • This release adds a feature which has been missing for a long time. Events which are sent to XTension from 'alien' applications or applets will now be copied to any 'targeted' copy of XTension.

    Thus when such things as weather data from the WX200 applet are sent to either a 'monitor' or a 'host' copy of XTension they will automatically be sent on to the other copy of XTension.

  • There has also been a bug of omission in previous versions which allowed a 'pseudo' unit to appear to be 'blocked', but XTension still permitted commands to change their value. This has been fixed.


  • XTension 2.1.9 Release notes:

  • This is a preliminary release in anticipation of version 2.2.0
  • Added the ability to import Graphic Views for old Macs which had Black and White monitors but had the ColorQuickDraw ROMs. This is true of the SE/30, and Classic II's, and some early PowerBooks.

  • Fixed a problem where the 'Last Event Time' for a selected unit would not update until the panel was closed and reopened or another event occurred. It will now update whenever you click on a unit in any list or view.


  • XTension 2.1.8 Release notes:

  • THIS IS A PRELIMINARY RELEASE IT NEEDS TESTING !
  • Added new verbs for list and view processing:
    unit address of [database unit name]
    ( returns two or three character X-10 address of unit )
    example: unit address of "Lamp" --> "A1" etc.

  • Added new verb for placing a unit icon in a view:
    place icon for [unit name] horiz [x offset in pixels] vert [y offset in pixels]
    ( places icon for unit in 'front view' at [horiz,vert] )
    ie: place icon for "Lamp" horiz 12 vert 12
    Note that this will only work for 'graphic views' and the view must be the 'front' view.


  • XTension 2.1.7 Release notes:

  • THIS IS A PRELIMINARY RELEASE IT NEEDS TESTING !
  • Added logic to process 'received' extended codes for 'Output Status Ack' This is the message that is sent by the LM14 and the Leviton 6381 to announce the current 'level' of the dimmable device. This is sent by the device after it has been commanded with the 'xpress' verb, and whenever the device is changed by other methods...(ie manually?)

    CAVEATS and Notes:
  • This code handles only the extended code that specifies the 'output level'. Any other received extended codes will not be processed.

  • Unit ON/OFF scripts will be executed as normal, however the 'FUTURE VALUE' will be set to the 'raw' value byte received from the unit.

    This raw value includes both the current level in bits 5-0, (0 - 63)
    BIT 7 (the high bit) indicates whether the 'BULB' or 'LOAD' is present.
    0 = No Load (ie: the Bulb filament is burned out)
    1 = Load is present (Bulb is not burned out)
    BIT 6 indicates whether the unit is an appliance module or is 'dimmable'
    0 = 'dimmable'
    1 = unit is an appliance module (ON/OFF only)

  • This version includes TWO new verbs which control whether the unit will acknowledge a change in status via the 'extended code' messages.

    "enable extended ack for" (unit name) -- enables the auto-response
    "disable extended ack for " (unit name) -- disables the auto-response


  • XTension 2.1.5 Release notes:

  • Added new verb: xpress -- Send extended preset to unit
    This verb specifically sends the extended code "Preset Receiver Output" to the specified 'level' (0-64). It is compatible with the X-10 dimmer modules "LM14a" and the Leviton 6381.

    NOTE: this is an interim solution to the handling of these modules and the X-10 'extended code' system.


  • XTension 2.1.3 Release notes:

  • 'Corrected' the behavior of turning ON dimmable units which were already ON... Does not send and OFF and then ON...


  • XTension 2.1.2 Release notes:

  • Corrected behavior of 'force' commands with 'groups'. Previously, ony the first unit of the group would be commanded.

  • Fixed problem with the 'unit type' command for listing 'groups'. Previously, the first group would be ignored.


  • XTension 2.1.1 Release notes:

  • Added ability to request 'blocked' units in the 'unit type' verb...

  • Added new verb: "cut log file"
    this acts just as if you did a manual cut of the log file

  • Added new verb that returns the status of the Monitor Mode


  • XTension 2.1.0 Release notes:

    This release incorporates all of the changes which have been made in the various beta versions which have been tested since the release of version 2.0.5 :

  • Analog units, both real-dimmable and 'pseudo', may now have unit 'OFF' scripts.

    This should not require a change in any current scripts.

  • The logic for executing a 'OFF' script for any analog unit is now:

    IF the unit is turned OFF, OR Dimmed/Set to Zero,
    then the OFF script will be triggered.
    Any NON-Zero (even negative) value will trigger the ON script if any.

  • Groups are no longer defaulted to type Analog this means that they may now have OFF scripts.

  • Log file names no longer have illegal 'CR' terminator.

  • Unit list verbs no longer return 'groups'.

  • Suspend Event verb now allows 'for/until' variable.

  • The principal reason for this release is the 'fix' for the SE/30 - Classic problem which crashed when Cancelling out of the Edit Scheduled event dialog.

    This release does not completely fix the problem. There is still a small memory leak in the Edit Event process. It should be much less of a problem than the crash that currently happens... ( you can do a few hundred of these without running out of memory)

    This will be corrected in the next release.


    Copyright 2007, Sand Hill Engineering All rights reserved.

    Mac Made

    Last modified: March 15, 2004