Beta Versions

7/13/10 build 805
  • adds support for the new weeder analog input card that replaces the old one. The WTAIN 4 input differential card is the new analog input card.
  • Fixes an issue that may have been the cause of the queue errors that people were seeing with multiple weeder cards on the same serial port and increased the polling speed and efficiency.
6/17/10 build 804
  • fixes an issue where your scheduled events might not run.
6/6/10 build 803
  • begin rework of UI removing old toolbar on top of unit lists and replaced with “action bar” interface at the bottom.
  • Dont use the “new editor” that you can turn on in the preferences or you may be annoyed at it's unfinishedness or perhaps astonished at it's shinyness.
  • added “xtID” property to both the unit extract record and the xUnit object. You can now access units and global scripts by their unique ID if you need a way to access them separate from name changes or text encodings. Any verb or accessor that will take a unit name will also take a string version of the unique ID that you can get in this way.
5/14/10 build 799
  • Bad or empty packets from the DIY interface should now trigger the usual interface error checking meaning that if lots of them stack up in a hurry the interface will be closed and re-opened to hopefully get around null packet repeating from USB issues or other similar things.
  • non fatal interface errors, like the one from the CM11 that says it's not responding, can now be trapped in the interface error script. Create an interface error script if you dont have one (use the popup of reserved names in the new global script window to make sure the name is correct) then add an on nonfatalmessage( TheMessage, TheInterface) handler to get the message being sent (things usually logged in red but not official errors from the interface) to check to see if it's something you want to act on. The global ThisInterface is also set to the proper name.
  • Using the future value after changing the value of another unit the decimal point is no longer lost.
3/25/10 build 798
  • (known issue) unit icons in views are not displayed properly in this version, I'm in the middle of reworking that for some new features so dont upgrade to this if you need that functionality.
  • UPB unit setup dialogs no longer popup for every UPB packet that is received unless it's actually expecting one to respond to a query for setup mode.
  • Large numbers of errors no longer fill up the log window after starting up a connection to a UPB PIM that is already in pulse mode.
  • Non-database UPB commands received now log their address in the same format that you would enter it into a new database unit setup. Hex, vs decimal, so it will be a lot easier to create a UPB device for the unit you're trying to reach.
  • Updates the UPB ISF helper app to build 10.
  • Documentation menu item now points to the wiki.
2/20/10 build 797
  • Fixed a problem with “set picture” verb on 10.5 and 10.6
  • Fixed a potential crash when dragging a unit from one list to another.
  • lots of work behind the scenes in the “views” section, these are in progress and unfinished and you should test your views to make sure they all still work.
  • added a new view feature of “control” which at the moment offers only 1 setting for an iPhone style toggle that you can add to a view by just dragging the unit out of any list and into a new view.
  • created a default setting for the unit being dragged into a view rather than just being an invisible rectangle like previously.
1/3/10 build 793
  • Begin support for the RFX Transmitter.
  • Fixed a few dangling apple event descriptor leaks.
  • New weeder plugin version now sends updates at startup rather than events so that you wont get an ON for any weeder digital IO deivces that are already on, but any that are not will be conformed to the current state.
  • New weeder plugin support for analog output card, beta support now.
  • Added “kaku house address” field to the RFX Transmitter screen if you have Kaku devices to control.
  • Added 2 kaku device types to the device type popup for the RFX Transmitter interface, Kaku and Legacy Kaku.
10/21/09 build 788
  • fixed a potential problem with the DIY interface not returning the data but rather an error when reading.
  • added verbs “unit property names” and “remove unit property” for managing unit properties.
10/20/09 build 787
  • renamed “lastditch” to “xtension background helper” to avoid confusion and fear
  • added preference to not run the background helper and restart during daylight savings time
  • included fix for truncated packets from the USB RFX device. This fixes a specific problem, but not likely every problem. You will still see packets occasionally that will not parse and this is OK, but you wont see nearly as many of them anymore.
  • Improved the usability of the manage script window so that you can type ahead to select one by name and hit return to edit it.
  • Added “bytesAsList” option to data sent to a DIY interface script. It's now the same as the data passed to the interface error script. 2 parameters are passed, (DataAsString, BytesAsList) it's the same data but the second one is an apple script list of the individual byte values to make numerical processing easier.
  • Added a list of bitwise and byte manipulation verbs to make such low level handling of bytes and bits easier in AppleScript
    • number to hex: pass any number and returns a string with the value in hex
    • hex to number: takes any string containing hex values and returns an integer
    • bitwiseAND: pass a list of 2 numbers or number strings and returns the integer of them added together. For example:

write log (bitwiseAND {32, ”&b00101100”} –with ”&b” denoting binary and ”&h” denoting hex and ”&o” denoting octal and ”&d” denoting decimal (but decimal is assumed if there is no prefix)

  • bitwiseOR (same as AND)
  • bitwiseXOR (same as AND)
  • shift left 32 by 2
  • shift right 8 by 1
  • text to number (takes any string as described in the bitwiseAND entry and returns a number.
  • number to binary (takes any byte and returns the binary number in a string of 0's and 1's can be used to check individual bits of a byte by looking at (if the second item of TheBinaryString is “1” then it's on)
9/24/09 build 784
  • Implemented checksum for RFXMeter data
  • Improved timeouts for the “lastditch” background app so fewer (or no) errors should be displayed for that.
9/3/09 XTension beta build 782
  • re-enables the checking for large time changes in the heartbeat script. This was originally to catch the daylight savings time change and restart the program but it caused more pain than pleasure because it could also have been triggered by long script timeouts and on some machines it failed to restart silently. This version re-enables this check but at a better calculated interval to make it better immune to both of those problems. It has the added benefit of making the program more robust to crashes of any type. I dont get many reports of issues that cause actual crashes, but if one were to happen to you after updating to this version the program will restart within a few seconds. Try just force quitting it for a bit of fun.
  • In an earlier version unknown exotic packets from the RFX were passed through to the Interface Error script so that you could handle them or choose to not log the debugging information. It did not process packets that failed the length or checksum checks through this though and you wanted to be able to suppress all errors in this way. This version sends both packet length errors and just unknown device errors through to the interface error handler as documented for the beta in beta 777.
8/20/09 XTension beta build 780
  • Fixed version control issue with 779 and this build now actually contains the fixes that were supposed to be in 779.
8/14/09 XTension 6.1 build 779
  • removed the auto restart if the program is held out for a long period of time as this was causing problems for some folks and didn't really solve the problem it was supposed to for the others.
  • Now attempts to load global scripts even if the creator/file type is set wrong on them for some reason inside the database.
8/9/09 XTension 6.1 build 778
  • Improved handling of unknown packets, more things that aren't obviously oregon packets are now passed properly through to the handler created in build 777. NOTE one important change though is that the “length” byte of the oregon packet is now also passed through so if you built other handling based on the data as passed in 777 you will receive one extra byte at the beginning. Packets like those from HomeEasy devices and other devices currently not directly supported by XTension but supported by the RFX interface should now be passed properly though. Several of the startup packets also fall into this group though so you may receive more packets in the handler than before.
8/6/09 XTension 6.1 build 777
  • Added support for the Oregon Scientific THWR800 Water thermo sensor
  • First pass at custom script handling for otherwise unparsable oregon packets.

In order to manually process packets that XTension currently only logs an error for you first need a global script named “Interface Error Script” which is run in response to any interface error with the verb “ThisInterface” set to the name of the interface that called it. Next you need to create a handler in the script to receive the packets like:

on UnknownPacket( ThePacketAsString, ThePacketAsArrayOfBytes)

this passes 2 parameters, the first is an unprocessed string of the data. But since some packets are not really characters and applescript makes it hard to deal with bytes sometimes given text encoding and all that I am also passing the same data as a list of numbers corresponding to the bytes. like {12, 45, 15, 0, 0, 99, 250… etc}

If you wish you can just return from the handler at any time and a regular error with the debug information will be printed to the log. However, if you wish to suppress the error message because you've handled it then you can return true from the end of the handler telling XTension that you took care of it and it doesn't need to log the error. An error may still be logged from the ISF handler if the packet is not recognized at least as a known protocol. This error cannot be suppressed, but the debug output with the byte lists can be. Keep in mind though that if you create a blank handler that does nothing but return true it will reduce your log clutter but at the cost of collecting data that might lead to figuring out what it is you're receiving.

  • Lastly on a DIY interface you can now call handlers inside the interface script from anywhere, making it easier to create interfaces to custom devices. For example if you have a handler to:

on MakeBottleSpin()

then in any other script in the program you can do a

tell xInterface “Bottle Interface” to MakeBottleSpin()

Note that inside the handlers of an interface script the ThisInterface verb is always set to the interface you're telling even if you're doing so from an event triggered by another interface. This makes it easier to share scripts between multiple interfaces.

7/7/09 XTension 6.1 build 775
  • beta support for the weeder technologies Solid State Relay module (WTSSR-M)
  • Continued updates to the UPB subsystem with the ability to program most light switches to change their address, set their dimmable flag and default ramp rate as well as turn on and off the reporting of local state changes via the switch.
  • Update to the CM15 interface to support sending X10 wireless commands.
5/21/09 XTension 6.1 build 770
  • numerous UPB related fixes and additions
  • fixed packet length calculation so that it now works with only a single repeat specified
  • implemented the blink applescript verb. See dictionary blink (unit name) rate (10)
  • add link and delete link verbs now work but linked units do not update in the database by themselves yet
  • no longer requires manually placing a unit in setup mode before issuing the add or delete link command
  • fixes a UI problem with the transmit count increasing by one every time you edited the unit.
5/20/09 XTension 6.1 build 769
  • added support for the WMR200 oregon professional weather station.
5/14/09 UPB: Universal Powerline Bus, support in private beta.
  • read the UPB Beta Page
  • Please contact me via email in those articles for more info if you wish to join in.
5/1/09 XTension 6.1 build 765

Changes include:

  • Sorted out the error displayed when a truncated or corrupted Oregon Scientific packet is received. Instead of a full page of stack trace you just get a single line of standard error message.
  • In the Unit Properties window you can now manually edit a double precision number in the UI where before it told you this data type was not editable.
4/23/09 XTension is 6.1 build 763

Changes include:

  • Fixed the receiving of wind speed and wind direction from Oregon scientific weather stations.
  • Fixed the annoying tendency of the manage global scripts window to redraw itself loosing your selection just as you were looking for something.
  • Added a percent resize parameter to the applescript verb to get the current frame from a video stream.
beta.txt · Last modified: 2010/07/13 12:12 by James Sentman
CC Attribution-No Derivative Works 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0