Codecore Logo
Quick Search
»
Advanced Search »

Change History Archive

RSS

Version 2.2 (12/1/2014)

  • Fixed Rules issue that caused some rules to be triggered when a property index value changed even if the rule was for a different index than the rule specified.
  • Fixed an error that could occur when attempting to edit a rule which had a blank property index.
  • Fixed issues with the Google Contacts driver.

Version 2.1.0.1 (6/27/2014)

  • SendRawCommand() was not sending the correct command in the ElkM1 driver.

Version 2.1 (6/22/2014)

  • Breaking Changes
    • Note that this version does contain some breaking changes listed in red below.

  • Freeware
    • Removed all licensing, anti-piracy protection.
    • The license agreement is located in the License.txt file (EULA.txt in versions prior to 2.1).

  • Configuration File
    • The configuration file is no longer encrypted. While this isn't technically a breaking change, it is a change that merits highlighting.

  • Rules
    • Rules can now be turned on and off via an action list/script such as from another rule, scene, or touch screen event. This only applies to rules which are enabled in the configuration.
    • Added sending notifications to all touch screen viewer apps (including mobile apps).
    • Rule whenever filters for named lists such as lights, thermostats, etc now support choosing the index by item name such as a light name.
    • Auto generated property value change events now allow filtering the rule on the new value via the user interface without scripting.
    • Added event args support to action list condition action. This provides a a simpler point and click user experience when adding conditions to action lists in rules and all other action lists.

  • Elve Mobile & Touch Screen Viewer Lite
    • Notifications can now be sent to the viewer apps.
    • Added persistent sessions. Re-entering the app will now continue where you left off (up to 20 minutes after disconnecting).
    • Added image quality setting to touch service and android app for snapshot mode (png & jpg with compression). This improves performance and reduces memory use.
    • Added support for launching a web browser and navigating to a url from a button press.
    • Fixed incorrect message when connecting via the touch service and the product license is expired.
    • Fixed issue where the pressed image of a button would be shown when navigating from and back to an inner touch screen using that button.
    • Media library item image and text controls which are bound to a media browser control now update as soon as any selection is made including drill down selections.
    • The media library item image control no longer needs to fetch cover art from the media library driver when it is bound to a media browser.

  • Touch Screen Viewer
    • The Touch Screen Viewer Diagnostics window now shows all touch screen variables and their values.
    • Added Script Tester to Touch Screen Builder Diagnostics window for testing scripts within a live interface.

  • Touch Screen Builder
    • Any size interfaces can now be created/edited on any resolution monitor.
    • Control sytles can now be pasted into other controls (allows quickly duplicating styles to other controls).
    • Added touch screen events (as opposed to control events).
    • Added touch screen inteface dimensions to status bar.
    • Added continuous mouse position to status bar.
    • The builder window is now re-sizable (cannot be sized larger than loaded interface).
    • Added new Web Browser Button control to launch a web browser from a touch screen (including Elve Mobile apps).
    • Added Checked Changed event to Radio Button.
    • Added Item Selected event to Media Browser (occurs when the user selects an item, regardless of the item type).
    • Updated Media Library Item Image and Text controls to use the Media Browser's library instead of needing it to be set when bound to a media browser.
    • Added support for animating the movement of a touchscreen control to a destination location. This is only supported in Touch Screen Viewer and not in the Touch Screen Viewer Lite or the Mobile Elve applications.
    • Added event args support to touch screen builder events. Some touch screen and control events now expose event arguments which give more information about the event that occured.
    • Added Device Property Value Change event to touch screen controls and touch screens. This provides the ability to do anything in a touch screen when a device property value changes. For example you could change the touch screen to weather when the current temperature gets over 100 degrees.
    • Added Key Pressed event to touch screens.
    • The Paged List control may be bound to a ScriptPagedListCollection device property causing the paged list to automatically update when the collection changes. This will be useful for light lists, thermostat lists, security area and zone lists, email, caller id history, rss feeds, etc.
    • The Paged List control now supports an optional subtitle. The subtitle font is configured separately from the title font.
    • Added an additional value property to the Paged List control. This can for example be used to indicate additional information about an items such as if a light is a dimmer or switch. The Selection Changed event can for example deterministically toggle the light on/off or display a popup to to set a dim level based on the additional value property.
    • Added Lights, Thermostats, Security Areas, and Security Zones properties to several drivers which can be bound to a Paged List control. The paged list control will display the item name and status.
    • Added "Item Quick Pressed", "Item Pressed and Held", "Item Pressed", and "Item Double Pressed" events to Paged List control.
    • The Paged List's selected item border is now optional and configurable.
    • The Paged List control now shows sample data in design mode when not items have been manually specified.
    • The Paged List control item's may now be filtered via configuration.
    • Layout operations on a group of selected controls now uses the first selected control as the reference control.
    • Alignment and Size options are now available in the context menu when right clicking on one or more selected controls.
    • The background color for Button controls may now be set for normal and pressed states.
    • A control may now be set to ignore successive presses for a duration of time to prevent inadvertently pressing the control more than once.
    • The Paging Button may be auto-hidden when the associated list control is on the first/last page.
    • All touch Screen controls now have a 'Visibility Changed' event.
    • The Paged List control now has a Page Count Changed event.

  • New Drivers
    • Google Charts driver
    • Mitsubishi Projector (HC3800/HC4000)

  • Driver Changes
    • Changed lighting simulator light level range from 0-99 to 0-100.
    • The ZWave driver was not sending out property change notifications for ThermostatCurrentTemperatures, ThermostatHeatSetPoints, and ThermostatCoolSetPoints.
    • Replaced the POP3 driver with a new pop3 engine.
    • The NOAA driver could incorrectly report the the wrong number of dates.
    • Added AreaAlarmStates and AreaAlarmStatesTexts properties to HAI Omni Pro driver.
    • The Elve Media Player did not properly handle removing an item from the playlist before the currently playing item.
    • An upgraded version of the HAI.Controller.dll (from HAI) is included.
    • Aprillaire Driver
      • Added PagedLists for Humidistats and the sensors.
      • Added Stage 1 and Stage 2 properties for heating and cooling when multi-stage HVAC units are used.
      • Fixed a bug where the sensor value instances weren't updated correctly.
      • Improved Humidistat mode support.
    • Fixed the Elk M1 Send Raw Command command.
  • Elve Management Studio
    • Added scripting identifiers to the device grid.

  • Removed Drivers
    • This is a breaking change to anyone using these drivers.
    • Some rarely used drivers were removed due to licenses which would prevent potentially open sourcing the software in the future.
    • Removed Wiimote driver
    • Removed Proximity driver
    • Removed POP3 driver

  • Scripting Language
    • Added a new dynamic Expando Object which supports dynamically adding properties. Property values must be serializable.
    • Fixed an issue that caused the incorrect exception to be raised when accessing an undefined object member.
    • Added support for Unicode character escape sequences in strings using \uxxxx and \Uxxxxxx where x is a hex digit.

  • Installer
    • The installer program data backup folder now includes the backup's version number in the directory name.

  • Misc Fixes
    • ScriptDictionary.ToString() returned the wrong information (used by EMS property tab).
    • Fixed various incorrect ScriptObjectPropertyAttribute declarations missing a null for the set action list text in the Onkyo and Denon drivers.
    • Drivers which use windows user account impersonation for file access would not work off the local machine or a real windows domain.
    • Fixed an issue that caused the last item in a Paged List control to render scrunched in the remaining portion of the control.
    • The Touch Service (plus Touch Screen Viewer Lite and Elve Mobile apps) did not respect the click through feature on touch screen controls.
    • Device settings which expected a time span value were incorrectly being reformatted as date/times.
    • Fixed a security vulnerability in the XML protocol.

  • New Camera Support
    • Added older Axis Video 2400/2401 Servers/Encoders to list of pre-configured options.

  • SDK
    • Incremented the CodecoreTechnologies.Elve.dll assembly version to 2.0.0.0. This is a breaking change to all 3rd part drivers. 3rd party drivers for Elve 1.x must be recompiled using the 2.0 SDK.
    • Added DisplayText to IDriverEventParameterEditor.
    • The following driver interfaces have new paged list binding members (this is a breaking change): IClimateControlDriver, ILightingAndElectricalDriver, ISecurityDriver, IWeatherDriver.

Version 2.0

This was rolled into version 2.1.

Version 1.5.0.7 (5/16/2012)

  • Fixed update issue in Weather Underground driver.
  • Fixed set thermostat setpoint issue in Z-Wave (ViziaRF) driver.

Version 1.5.0.6 (5/12/2012)

  • The Touch Service was not properly updating controls after a touch screen variable was set.
  • Fixed issue where the pressed image of a button would be shown when navigating from and back to an inner touch screen using that button.

Version 1.5.0.5 (5/11/2012)

  • The TopTouchScreen.FindControl() was not finding controls properly in the Touch Service.

Version 1.5.0.4 (5/6/2012)

  • If you had two or more rules which updated the same global variable, the global variable device was configured to persist variables, and the rules were run concurrently then the persistence file could grow out of control.

Please check the following file path to determine if the issue has affected your system. In the filename below XXXXXX will be the name of your global variable driver. C:\ProgramData\Codecore Technologies\Elve\PersistedGlobalVariables_XXXXXX.bin

If this file is large (more than a few kilobytes) then you may delete the file (which may required stopping the Elve services).

Version 1.5.0.3 (5/1/2012)

  • Corrected an issue which can cause persisting global variables to consume excessive hard drive space.

Please check the following file path to determine if the issue has affected your system. In the filename below XXXXXX will be the name of your global variable driver. C:\ProgramData\Codecore Technologies\Elve\PersistedGlobalVariables_XXXXXX.bin

If this file is large (more than a few kilobytes) then you may delete the file (which may required stopping the Elve services).

Version 1.5.0.2 (4/13/2012)

  • Setting an Insteon light to 100% would prevent the level from being sent out in an Elve device property notification.
  • The Z-Wave driver was not properly polling nodes on start up.
  • Updated touch screen protocol for better backwards compatibility of future versions.

Version 1.5.0.1 (3/25/2012) v1.5 Release

  • Touch Screen Variables
    • Touch Screen variables are now global to the entire viewer client (and not just the inner touch screen they were assigned to).
    • Touch Screen variables can now be set from the Action List editor without scripting.

  • Touch Screen Builder UI Improvements
    • Touch Screen Builder now has a status bar indicating selected control location, bounds, selection marquee location and bounds, color, control name and type.
    • The Control Event property pane now shows a list of events with an icon next to events with an action list.
    • Moved "Current Touch Screen" action list menu item up to top menu and renamed to "Touch Screen", which now includes both TouchScreen and TopTouchScreen actions.
    • Removed action list commands from Inner Touch Screen control which were not applicable to it.
    • Improved Touch Screen control Text properties pane layout.
    • The border touch screen control property pane now disables the color and size controls if the sytle is set to none.

  • Device Property History
    • Elve saves device property value history to CSV files which can be loaded into Excel and other analysis applications.
    • Driver developers can also use the GetDevicePropertyHistory(...) APIs to retrieve at any interval and process the data.

  • Performance Improvements
    • Touch Screen control event scripts can now be run locally on the client which significantly improves the performance of making changes to touch screen controls.
    • Driver member information is now cached to improve performance.
    • Added internal device property value cache to improve performance.
    • Made some minor performance improvements when some controls have their Visible property set to false in Touch Screen Viewer.
    • Significantly improved the performance of writing to the log.
    • Improved compatibility with USB to serial adapters.
    • To provide support for a wider range of automation technologies when running on a 64 bit machine, Elve will now run in 32 bit mode. All previous versions of Elve have run in 64 bit mode on 64 bit machines and in 32 bit mode on 32 bit machines.

  • New Device Support
    • Added Weather Underground driver.
    • Added Clipsal C-Bus driver.
    • Added SageTV Information Popup driver.
    • Added JRMC export file media library driver.
    • Added music media library support to the Squeezebox driver
    • Added music media library support to the JRMC driver
    • Added Multiroom Audio Simulator driver.
    • Added SABnzbd Binary Newsreader driver.
    • Added DSC Alarm driver.

  • Media Player/Library Control Improvements
    • Improved the Media Browser touch screen control with more traditional drill down, play/append, and go back features.
    • The Media Browser Grouping buttons now have a Selected image to indicate which grouping is active.
    • Added new Media Browser Go Back control.
    • Added a Drilled Down event to the Media Browser control.
    • Added default cover art image to Media Cover Art control.
    • Added new Media Player Playlist control.
    • The Media Cover Art control now supports stretching the cover art to fit the control fully.
    • Updated Media Library Item Text touch screen control with more text options.
    • The Media Cover Art control now supports preventing the cover art from being cleared such as when the music stops.
    • The Media Library Item Image and Text controls can not be bound to a Media Browser control.
    • The Media Browser control can now show a background image for each row in list mode.
    • The Media Browser control now has a list mode padding setting.
    • The Media Browser control now supports grouping collections (such as sub-genres or boxsets).
    • Added SelectedItemLocation property to the Media Browser control.

  • Other Touch Screen Control Improvements
    • Added text scrolling/marquee support to Touch Screen Viewer's Label control.
    • Added Word Wrap option to Touch Screen controls.
    • Added Opacity setting to touch screen colors such as text, background and border colors.
    • Added presets for Foscam camera in Touch Screen Viewer IP Camera control.
    • Added "True Pressed Quickly", "False Pressed Quickly", "True Pressed and Held", and "False Pressed and Held" events to the Boolean control.
    • Added BooleanValue property to Touch Screen Boolean control.
    • Touch Screen popups now support slide-in and out animations.
    • Touch Screen popups now support auto-closing after a duration of time.
    • All controls can now ignore touch events and pass them through to the control beneath them.
    • Added 3 new custom events to each touch screen control which can be triggered by the user using the Trigger Custom Event # actions.
    • Added a Touch Screen Set event to the Inner Touch Screen control.
    • The IP Camera control images can now be stretched to fully fit the control.
    • Replaced Errors window with Diagnostics window with log, device property cache values, and control property values.
    • Added a Checked property to the Radio Button control.

  • Web Server
    • Scenes can now be run from from a web site.

  • API Improvements
    • Replaced IMediaPlayer GetZonePlaylistTexts with GetZonePlaylist which returns more information used in the new playlist control.
    • Rewrote all media library drivers to use changed IMediaLibraryDriver interface.
    • The DevicePropertyChangeNotification() driver development API now verifies that property names and values are consistent with the driver property.
    • Redesigned IMediaLibraryDriver interface making it simpler to use.
    • Removed SupportsNamedPlaylists property from IMediaPlayer interface and added SupportedPlaylistFileTypes and SupportsPlaylistIDFromCompanionMediaLibrary.
    • Added new callback delegates to ScriptArrayMarshalByReference which support common script object values.
    • Added two ToString() overrides with formatting to TimeSpan scripting object.
    • Added GetDevicePropertyHistory(...) APIs to the Driver base class for driver developers to retrieve property value history at any interval.

  • Other
    • The music, image, and video media filesystem library drivers now support username/password settings to gain access to the media directory.
    • Reloading a touch screen no longer re-centers the touch screen in the screen.
    • Auto-generated property change events for arrays no longer require that the index be specified in the rule filter.
    • The DateTime driver's MoonPhases property now supports property binding so you can bind it to an image list control.
    • The log can now be cleared.
    • The Onkyo driver now supports a network connection.
    • Added TurnOnFlag, TurnOffFlag, and SetFlagLevel, SetDateTime methods to the HAI driver.
    • The Video File System Media Library driver can now find mkv, vob, flv files.
    • Added all known sources to Onkyo/Integra driver.
    • Added GetRemainingTime method to Timers driver.
    • Added UPB Link Command Received event to HAI driver.
    • The UPB driver now requests device states after receiving a fade stop message.
    • The ViziaRF Z-Wave driver now suppresses Z-Wave transmission errors by default and includes a setting to override this.
    • The ViziaRF Z-Wave driver now supports locks, thermostat states, and battery level reporting.
    • The ViziaRF Z-Wave driver can now automatically reconnect to the controller connected to the pc if serial port connection is lost/disconnected.
    • The QK108 driver now supports property binding.
    • The Generic Network Driver now continuously attempts to reconnect after a lost connection.
    • Russound Driver updates:
      • Now supports multiple controllers for more than six zones.
      • Supports multiple Rnet tuners but currently assumes Tuner 1 is connected to Source 1, Tuner 2 is connected to Source 2 and so on.
      • Breaking Change: Renamed the property ZoneBackgroundColors to ZoneDefaultBackgroundColors to make it more intuitive.
      • Added ZoneCount, TunerCount and ControllerCount properties.
      • Breaking Change: Renamed the property ZoneDNDStates to ZoneDoNotDisturbStates to make it more intuitive.
      • Added ZoneTurnOnVolumeLevels property.
      • Breaking Change: Renamed TunerSongTitle to TunerTitle to make it more consistent with the other Tuner properties.
      • AM/FM Tuner now updates TunerChannelName and TunerChannelNumber although both are just the frequency.
      • Simplified the Source Name handling resulting in a removal of RussoundSourceNames. If you want the driver to ultimately control all the Source names then you'll need to use the Russound PCPowerTools utility to set the source name of each zone to one of the "Custom Name" slots. Of course, if you can do that then you might as well set the names to what you want anyway. :-)
      • Added SimulateReceivedData method support for custom russound messages. This method will automatically calculate the Rnet message checksum for you.
      • Added ForceZoneDiscovery method that polls a zone on a controller. This is for debugging purposes and doesn't have a real world use.
      • Breaking Change: Removed TunerPowerStates property and methods since it didn't work well anyway.
      • Breaking Change: Renamed "Display Feedback Received" to "Keypad Message Received" since it makes a bit more sense.
    • Added IsDaylightSavingTime property to DateTime driver.
    • Added RetrieveCounterValues() method to Elk M1 drier.
    • Added support for sending notification of array property bounds changes.
    • Added IconID and DayIconIDs properties to NOAA weather driver.

  • NEW Festive Touch Screen Sample
    • All new touch screen sample with multi-room audio matrix support.

  • Sample iPhone Touch Screen Update (v7)
    • Slide In/Out Thermostat Popups
    • Thermostat popups use zone global variable so it is reusable for multiple thermostats.
    • Added Media Player Zone button for multi-zone media players.
    • Added media player playlist screen
    • Touching the large media player cover art image shows/hides new repeat, shuffle and track position slider.
    • Added security areas page.
    • Security area page now uses a global variable for the area id so it is reuable for multiple areas.
    • Added a static numeric keypad to the security arming screen.
    • Added current weather temperature and icon to the More screen.
    • Added new 5 day weather forcast screen.
    • Set the camera to default to a well known public camera.

  • Sample Steel Dashboard Touch Screen Update (v4)
    • The HVAC screens now use a touch screen variable for a reusable inner touch screen.
    • Replaced references to elkm1 to security device.

  • Fixes
    • Fixed: The HAI SetLightLevelForDuration and SetUnitLevel methods had incorrect metadata atttributes which prevented their use in EMS.
    • Fixed: Setting an HAI light level to a percent less then 0 or greater than 100 would cause unexpected behavior.
    • Fixed: The HAI driver would incorrectly sent out a -100 light level property change notification when a light was turned off.
    • Fixed: Touch Screen Viewer was sometimes rendering the entire window unnecessarily.
    • Fixed: The Action List Editor did not allow setting a global variable with a name that includes an underscore.
    • Fixed: Elve could not export any image library images within a directory with one of the following characters: &<>'\.
    • Fixed: The Machine Setting application window did not properly scroll when resized.
    • Fixed: The space keyboard key would not work in a touch screen text field. We removed support for using the space key to show the menu.
    • Fixed: Added missing display names and descriptions to touch screen types names in the scripting editor.
    • Fixed: Copy and pasting a touch screen control would cause the new control name to have a 1 appended to it instead of rolling up the number.
    • Fixed: The property binding property index controls were not enabled when they were first shown.
    • Fixed: The Loader Button properties pane had the variables grid but off at the bottom.
    • Fixed: The HAI driver was not reporting some lights as off.
    • Fixed: The HAI driver was not sending unit change notifications with the proper value.
    • Fixed: The JRMC driver's toggle pause action was not playing if the media was stopped.
    • Fixed: The Loader button would not close a popup if both the "Load TS" and "Close Popup" checkboxes were checked but the touch screen name to load field was blank.
    • Fixed: Russound issues: muting, zone power, dnd, mute ramp rate.
    • Fixed: The TopTouchScreen.FindControl() scripting method would not find controls in inner touch screens.
    • Fixed: System Operators could gain access to the User Accounts interface via the EMS system status grid.
    • Fixed: The Loader Button was not assigning touch screen variables (from the grid) when showing a popup.
    • Fixed: The Video Filesystem Media Library driver did not recognize wmv files.
    • Fixed: The SqueezeCenter driver RemoveZonePlaylistItem method did not remove the playlist item.
    • Fixed: The JRMC driver's track position and length properties would error.
    • Fixed: The Nuvo GC and MPS4 ZonePowerStates property was inadvertently controlling the mute state and not power.
    • Fixed: The Aprilaire driver's ThermostatFanModes, ThermostatHolds, ThermostatCoolSetPoints, and ThermostatHeatSetPoints properties did not support writable binding.
    • Fixed: The Inner Touch Screen control was not preventing text from being rendered outside it's bounds.
    • Fixed: Touch Screen Viewer Lite would fail to connect when using the /autosignin command line parameter without also specifying the /port parameter.
    • Fixed: The default FileSystem driver name conflicted with a scripting keyword.
    • Fixed: The boolean touch screen control would not immediately update when the control settings used: "Evaluate a script expression which results in a boolean at timed intervals".
    • Fixed: Some touch screen controls would not detect 3rd party drivers when populating device drop down lists in control properties.
    • Fixed: The scripting parser would not always properly skip over if/for/while/try blocks.
    • Fixed: The scripting parser would incorrectly ignore extra "}" characters.
    • Fixed: The log would become corrupt if a driver with an ampersand in the name wrote to the log.
    • Fixed: The Image List control's image would be cleared in the viewer if the control was bound to a property which used a string list with with value containing upper cased letters.
    • Fixed: The Z-Wave ViziaRF driver could incorrectly send out a light level change notification with a value of 255 when it should have been 100.
    • Fixed: The installer was was installing and starting the MasterService before installing the MachineSettings.config file.
    • Fixed: The installer was installing the MachineSettings.config file multiple times.
    • Fixed: The Russound driver did not support zone "turn on" volumes.
    • Fixed: The Russound driver's zone "turn on" volume did not work if set under 20.
    • Fixed: The Russound driver's ToggleZoneLoudness action would not turn loudness back on.
    • Fixed: The Russound driver's ToggleZoneMute action did not unmute on for zone 6.
    • Fixed: The Russound driver could cause the CPU to peak when a ST2 tuner was connected.
    • Fixed: The Russound driver was missing the increment zone right balance method.
    • Fixed: The Russound driver would occasionally cause a source number out of range error due to an indexing problem.
    • Fixed: The Russound driver appended an extra character to some XM Tuner event messages.
    • Fixed: The Z-Wave ViziaRF driver's metadata was using a maximum light level of 99 instead of 100.
    • Fixed: The Touch Service could draw an image on a client viewer in the wrong location when using snapshot mode.
    • Fixed: The Touch Service could draw an image on a client viewer for an area that hadn't finished being rendered yet.
    • Fixed: The Media Player Track Position and Seek Slider controls now updated every 10 seconds in the Touch Screen Viewer Lite/Mobile apps.
    • Fixed: The Input/Output Simulator driver was marked as a third party driver.
    • Fixed: The Input/Output Simulator driver was sending out property change notifications for the wrong index.
    • Fixed: The HAI driver's FlagLevels property is now numeric (instead of boolean).
    • Fixed: Some Dates and numbers were not being stored using the invariant culture. This fix may cause users outside the USA to edit some of their configuration if it uses dates or numbers with decimal points.
    • Fixed: A duplicate device name could potentially result when adding a new device.
    • Fixed: The J River Media Center driver now was playing from the beginning of the track when the Play method was called after pausing.
    • Fixed: Driver files with a drivers which failed to load (due to validation problems) would prevent the rest of the drivers in the file from loading.
    • Fixed: The Timers driver's StopTimer method would not stop the timer.
    • Fixed: The Bluetooth driver could cause an out of memory error.
    • Fixed: The Rain8 driver did not properly control zone 8 on any module.
    • Fixed: The JVC projector driver had two device property change notifications with the wrong property names.
    • Fixed: The device setting editors would not display the default setting value when editing for the first time.
    • Fixed: The HAI driver's Set Flag Level method set the wrong unit level.
    • Fixed: Improved the Global Cache driver's IR code comparison fuzzy logic.
    • Fixed: The scripting language String object's IndexOf and Contains methods returned the wrong value.
    • Fixed: The HAI driver's Flag Level Changed event reported the wrong flag id.
    • Fixed: The script editor's autocompletion could insert text in the wrong location.
    • Fixed: It required a flag change states twice before the HAI driver would trigger the flag changed event.
    • Fixed: The Date Time driver's events would fail if the the trigger date was more than several weeks in the future.
    • Fixed: The NOAA driver now uses the new NOAA web service (since the old one was discontinued).
    • Fixed: The Onkyo/Integra driver now detects the appropriate incoming message delimiter.

Version 1.1.0.0 (3/10/2011) v1.1 Release

  • NEW Drivers:
    • Added Xantech MRC88 Driver
    • Added Panasonic PT-AE3000U Driver
    • Added SageTV Driver.
    • Added Global Cache IRE & IRL Driver (for use when connected to a PC)
    • Added Epson Powerlite Cinema Projector Driver

  • Driver Updates:
    • Added unlock door, lock door, show camera on touchscreen, set de/humidify setpoints and audio controls to HAI Omni driver.
    • Added Custom Source Names setting to Onkyo and Denon drivers.
    • The UPB driver now exposes light levels for channel 2 of devices with two channels.
    • The UPB driver now indicates if an UPStart export file was loaded via a new UPStartExportFileStatus property.
    • Added Mute support to the Text to Speech driver.
    • The Date Time At Sunrise and Sunset events now allow for an offset in minutes.
    • Fixed: The Onkyo Custom Zone Names setting incorrectly accepted 6 names instead of 3 (causing a device startup error if more than 3 were entered).
    • Fixed: The Global Variables driver allowed entering invalid identifier names.
    • Fixed: The Denon driver's Source Names property was not returning all source names.
    • Fixed: The ZoneSourceNames property was not sending out a change notification in several drivers.
    • Fixed: The Squeezebox Server driver would not play paths with spaces.
    • Fixed: The UPB driver's DeactivateLink method had a typo. This is an unfortunate breaking change if using this method.
    • Fixed: The UPB driver's minimum delay between commands was updated to improve performance.
    • Fixed: The Onkyo subwoofer level was not correct.
    • Fixed: The Liebert UPS ESP-II driver's SetOutputOff command did not work.
    • Fixed: The Global Cache relays could not be controlled via the action list (without scripting).
    • Fixed: The Elve Media PLayer and JRMC drivers were missing the ZoneCurrentTrackGenres property.
    • Fixed: Added missing support for property binding of HAI LightLevels and UnitLevels.

  • Application Changes:
    • Added user count to Elve Management Studio system status grid.
    • Added the # of recent warnings and errors to the Elve Management Studio system status grid.
    • Added Enable/Disable options to the Elve Management Studio Devices context menu.
    • The Group By drop down list selection in EMS Devices, Rules, and Scenes menu now persists.
    • The Group Name field in a Rule is now filled with existing group names.
    • The product licenses window no longer shows expired licenses by default, you must check the "Show expired licenses" checkbox.
    • Updated the sample web site by adding a new menu page and adding a new sample with better performance.
    • The Device Property Offset Button touch screen control now supports repeat.
    • The Background Image property tab for a touch screen control now shows the image size.
    • The Background Image property tab for a touch screen control now has a button to set the control size to the image size.
    • The panels in the Device Chooser window in Elve Management Studio can now be resized.
    • The touch screen web browser control now supports zoom.
    • The touch screen web browser control's Refresh method now does nothing to prevent it from reloading every 60 seconds. Use the new Reload method to manually reload the document.
    • Added a FindControl method to the TopTouchScreen object.
    • Improved scripting language array processing speed by 10x faster in some situations.
    • The Touch Screen Builder toolbox now opens to the left of the main window.
    • Added up/down buttons to the Log Viewer Detail window in EMS.
    • The Touch Screen Builder control property window's Events tab now sorts the events alphabetically in the drop down list.
    • The Touch Screen Radio Loader Button control can now load a touch screen into any inner touch screen in the entire loaded touch screen hierarchy.
    • Added Pressed Quickly and Pressed and Held events to many Touch Screen Viewer UI controls.
    • Added Press and Held Timeout setting to Touch Screen Viewer UI controls.
    • Improved Touch Screen Viewer UI refresh performance when pressing a loader button or radio loader button.
    • Added /autosignin command line parameter to Touch Screen Viewer Lite.
    • Added Settings menu to Touch Screen Viewer Lite application.
    • When a device, rule, scene, or user account is saved or deleted a log entry is written.
    • The Loader Button can now Load a touch screen and close the current popup at the same time.
    • Added a validation check to the action list parameter editor when a numeric value was entered but the Text value type was selected.
    • An image's opacity and size mode settings in the Image List control can now be replicated to all other images in the image list.
    • The lower portion of the Device Properties tab in EMS can now be resized horizontally.
    • Fixed an issue in the media.j9sp web page which caused an error when the page loaded.
    • Fixed: Application windows now remember which monitor they were closed on so they can reopen on the same monitor.
    • Fixed: The script editor auto-complete popup would error if a key was press but no items were in the list.
    • Fixed: The Web Browser touch screen control was refreshing when it should not have been.
    • Fixed: The action list editor was showing incorrect display text for properties with numbered lists.
    • Fixed: Clicking OK in EMS for a numeric device method parameter with a blank value would cause an error.
    • Fixed: The action list script editor would sometimes not warn the user before running of scripts containing "this", "touchscreen", "toptouchscreen", and "eventargs".
    • Fixed: You could not click OK when editing a method parameter in Elve Management Studio for a method parameter with a numeric list.
    • Fixed: The action list editor would error when an IR driver was configured with at least IR device in it's settings.
    • Fixed: Double clicking an empty array property in EMS would cause an error.
    • Fixed: The Machine Settings app now opens it's window within the screen bounds on smaller monitor resolutions.
    • Fixed: The Touch Screen Builder text macro window would sometimes only partially show the last device.
    • Fixed: The Touch Screen Builder text macro window whas some controls which were not properly anchored when then window was resized.
    • Fixed: The IR Learning device selection now shows the device display name and not the learning format.
    • Fixed: The Touch Screen Builder Loader and Radio Loader button properties could resolve an invalid relative path when selecting a touch screen to load.
    • Fixed: Auto-generated scene scripting identifiers could have some incorrect lower cased letters and accent marked letters are now converted to ascii.
    • Fixed: The device configuration report showed the Run On machine in the Status field.
    • Fixed: Clicking in the Touch Screen Viewer Media Browser control in Tiled mode (but not on a tile) would cause an error.
    • Fixed: Clicking Loader Radio Button could result in the wrong radio button being checked if more than one loads the same touch screen.
    • Fixed: Touch Screen Builder would loose the property binding setting if a device name's letters were changed to upper or lower case.
    • Fixed: The less than and greater than comparison type mismatch error description in the scripting language was incorrect.

  • Driver SDK:
    • Added IScriptObject and IScriptArray interfaces.
    • Removed ScriptArray and replaced with ScriptArrayMarshalByValue and ScriptArrayMarshalByReference.
    • Added new members to classes which implement IScriptArray: Add(), Clear(), Contains(), IndexOf, Insert(), Remove(), and RemoveAt().
    • Major scripting performance improvement since some objects have been changed to be passed by value instead of by reference.
    • Added IVideoDisplayDriver interface and updated JVC, Optomo, and Sanyo drivers to conform to it. This is an unfortunate breaking change necessary for conformity.
    • Fixed: IMultiroomAudioDriver was incorrectly named IMultiroomAudio.
    • Added Audio support to Elk M1 driver via SendAudioCommand action.
    • Added ICommunication interface for communication classes.
    • Added Flush() method to the communication objects and changed the Dispose() method to always flush prior to releasing all resources.
    • Added SetZoneRepeatMode and SetZoneShuffleState methods to the IMediaPlayerDriver interface.
    • Fixed: The TcpCommunication.Send() method would error if Open() was called instead of StartConnectionMonitoring().
    • Fixed: The Contact.IsEmpty property was incorrectly decorated as a Script Object Method.

  • NEW .NET API
    • Added a new .NET API to allow access to getting/setting device properties, calling methods and running scripts via a .NET class.
    • Added a new .NET API and web service to add, remove, enable, and disable a device programatically. System Operators or Adminstrator user type required.

Version 1.0.1.0 (12/19/2010) 1st Public v1.0 Release

  • Fixed: If the ACT TI103 driver's Device List setting was not set errors would occur whenever device data was received.
  • The ScriptObject class now implements ICloneable.
  • The ScriptObject class now has a CloneLocally() method.
  • The UPB, Insteon, and ACT TI103 drivers now uses the new ScriptArray callbacks for writable arrays.
  • The Global Variables driver now uses the new ScriptObject CloneLocally method instead of calling Serialize/Deserialize.
  • The Driver InvokeMethodAfterDelayAsync and SetPropertyAfterDelayAsync methods now make local clones the parameter values.
  • Fixed: The Insteon LightNames property was not returning names for unset devices.
  • Fixed: The Popcorn Hour Driver's internal unique identifier was incorrect. Users of this driver should delete the old driver and re-add it.
  • Added ScriptObjectExample attribute to API for adding example scripts to script object classes and members (including drivers).
  • Fixed: When editing a script in TS Builder Action list, selecting 'TouchScreen' or 'TopTouchScreen' from the datatype autocomplete popup would cause an error.
  • Fixed: The Date & Time driver now stores the TimeZone using the ID and not the display name.
  • The Touch Screen Loader Button control can now load a touch screen into any inner touch screen in the entire loaded touch screen hierarchy.
  • Fixed: The UPB driver could fail to read the UPStartExport.upe if the network password was too large.
  • Fixed: The UPB LightNames array started at 0 instead of 1.
  • Fixed: UPB commands could be ignored when sending them back to back.
  • Fixed: The Squeezebox driver was sending out a number instead of boolean for ZoneShuffleStates notifications and was not sending out ZoneShuffleModes at all.
  • Added Octava Matrix Switch driver.

Beta Version 0.28.2.0 (12/9/2010)

  • Fixed: One of the driver files had a script builder text formatting error in it which prevented the assembly from belong loaded into Elve.

Beta Version 0.28.1.0 (12/9/2010)

  • Fixed: Insteon driver was raising wrong event when a device level changed.
  • Fixed: The Insteon ReceivedX10Command event CommandCode parameter numbers were incorrectly offset by 1.
  • Fixed: The ACT TI103 ReceivedX10Command event CommandCode parameter value for Extended Data was incorrect..
  • Added ReceivedX10PresetDim event to ACT TI103 driver.
  • Added IX10Driver interface allowing drivers to communicate with X10 devices through a separate X10 driver.
  • Updated the Insteon and ACT TI103 drivers to support the IX10Driver interface.
  • Added InvokeDeviceMethod() method to Driver class.
  • Fixed: The IMatrixSwitcher interface has been renamed to IMatrixSwitcherDriver for consistency.
  • Fixed: Changed squeezebox ZoneShuffleStates property to a boolean array for consistency and added a new ZoneShuffleModes property.
  • Fixed: The installer no long clears previously set machine settings (machinesettings.config).

Beta Version 0.28.0.0 (11/26/2010)

  • Fixed: Global variable names now persist using the alphabetic-casing that they were set with.
  • Fixed: Rules for the "Ready State Changed" event would not load.
  • Fixed: We attempted to fix possible log corruption issues. We could not duplicate the issue so we are waiting to hear back.
  • Fixed: Renaming a rule for an auto-generated event would would cause an error whenever the rule was run until the driver restarted.
  • Fixed: The SqueezeCenter driver limited action list items to use only the 1st zone.
  • Fixed: The installer component selections were not being remembered when navigating back to the components page.
  • Added SourceNames to the IMultiRoomAudio interface.
  • Added IMatrixSwitcher interface for use to AV Matrices.
  • Added Matrix Switcher Simulator driver.
  • Replaced ClientConfig.exe command line application with MachineSettings.exe windows application.
  • Added Machine Settings menu to Elve Management Studio.
  • Added support for configuring the tcp callback ports in several apps.

Beta Version 0.27.3 (11/14/2010)

  • Fixed: The Date & Time driver was not properly detecting DST when calculating sunrise/sunset.
  • When an unknown error occurs when retrieving the log, the error will be shown.

Beta Version 0.27.2 (11/7/2010)

  • Fixed: The timed touch screen refresh's are now run on a separate thread (from the form) to prevent blocking the UI.
  • Fixed: The timed touch screen refresh no longer runs when not connected to the master service.
  • Fixed: The Date & Time driver's events did not properly handle daylight saving time changes.
  • Fixed: Prevent possible crashes due to errors in communication drivers and improved error logging.
  • Improved performance of scripts which use touch screen variables (by passing byvalue to server).

Beta Version 0.27.1 (11/6/2010)

  • Touch Screen variables have replaced the confusing touch screen property binding index container id methodology.
  • Added more media player zone support in touch screen controls.
  • Added variable entry to the text macro dialog.
  • Added ZoneNames to media players.
  • Fixed: The /kiosk command line parameter was not being ignored in the touch screen builder app.
  • Fixed: The touch screen media player track position slider wasn't changing position when the zone was changed.
  • Fixed: The touch screen media player track position label wasn't updaing when the zone was changed.
  • Fixed: The touch screen media player track cover art wasn't updaing when the zone was changed.
  • Fixed: Changing media player track poition didn't update the media player track position slider until refresh.
  • Fixed: The SqueezeBox Server driver didn't expose ZoneVolumes.
  • Fixed: Some SqueezeBox commands did not respect the specified zone.
  • Fixed: The SqueezeBox SignalStrength property was not an array.

Beta Version 0.27 (10/31/2010)

  • Media Player Enhancements
    • Redesigned all the media player drivers to support multiple zones. This is a breaking change to all media player drivers since most of the device properties and methods have changed. Please install the latest sample touch screen interfaces, update your existing touch screen interfaces, rules and scenes.
    • Updated touch screen media controls with preliminary support for zones. All applicable controls default to controlling zone 1. More support will be added in the future.
    • Added playlist manipulation methods to media player drivers: ClearPlaylist, AppendPlaylist, RemovePlaylistItem, InsertPlaylistItem, MovePlaylistItem.

  • Log Improvements
    • The Log architecture now handles very large files. (The old log will be deleted one when the system is started).
    • The default log file size is now 20MB.

  • API Enhancements
    • Redesigned the IMediaPlayer interface to support multiple zones.
    • Added convenience constructors to the ScriptArray object which simplifies adding preexisting primitive typed arrays.
    • Added set accessor callbacks to ScriptArray which vastly simplify writable custom arrays.

  • Other Enhancements
    • The Elve services now have a default failure recovery plan of restarting the service after the 1st 2 failures within a single day. Subsequent failures with 24 hours result in no action.
    • Added Moon Phases to Date & Time driver.

  • Fixes
    • Fixed: Pasting touch screen controls which are too large to fit into a touch screen interface would cause the controls to be placed outside the interface bounds.
    • Fixed: The SponsorManager's finalizer could cause Master Service to crash.
    • Fixed: If duplicate device, rule, scene and user names managed to get snuck in to the configuration the Master Service would fail to run.
    • Fixed: Elve incorrectly allowed adding a duplicate username for a user account.
    • Fixed: The Master Service could fail to recognize when it regained a connection to a Driver Service.
    • Fixed: Cleaned up script builder text meta macro errors in many various drivers.
    • Fixed: Driver with script builder text meta macro errors will not be loaded and an error message in the log will explain the issue.
    • Fixed: The UPB driver could throw an exception after activating a link.
    • Fixed: The Winamp volume now shows correctly.
    • Fixed: The iTunes track path now shows correctly.
    • Fixed: The Image List touch screen UI control was not auto updating for string or numeric bound properties.

Beta Version 0.26.7 (10/23/2010)

  • Same as 0.26.6 with an extended beta period... another feature/fix release is coming soon.

Beta Version 0.26.6 (10/12/2010)

  • Fixed: The Copy Registration Code button in EMS could cause an app crash.
  • Fixed: The Rain8net driver name was incorrect.
  • Fixed: EMS could crash on startup when verifying the connection to the master service.
  • Fixed: An error could occur in EMS when adding/deleting or changing the name of a device when the Rules window was open and the action list editor had not yet been viewed.
  • Fixed: The ACT TI103 driver would error when the hardware indicated its command buffer was full.
  • Fixed: Added a Normally Close/Normally Open setting to the Rain8 driver.
  • Fixed: The Elve Media Player was not loading artist, album, title and cover art for some file types.
  • Fixed: The Touch Screen Viewer and Touch Screen Builder command line parser did not properly handle quoted parameters.
  • Fixed: The Touch Screen Viewer /kiosk command line parameter caused the app to crash.
  • Fixed: Increase delay between ACT TI103 outgoing commands to 0.75 seconds to help prevent hardware buffer overflows.
  • Fixed: The Touch Screen Viewer & Builder Numeric and Full Keyboards were not displaying custom keyboard images.

Beta Version 0.26.5 (10/3/2010)

  • The touch screen virtual keyboards can now be placed in an interface (in addition to being shown as popups).
  • The Text Entry control's maximum number of characters setting is now accessible from scripts.
  • Added an Execute Action List button to the Rules and Screens toolbar.
  • Fixed: The Global Cache driver was not recognizing IR codes from a GC-IRL.
  • Fixed: The ACT TI103 driver now logs the received data when unexpected data is received.
  • Fixed: The serial driver no longer logs an error when asynchronously sending of data can not occur because there is no connect.

Beta Version 0.26.4 (9/26/2010)

  • Updated Drivers
    • Denon driver.
    • Rain8 driver (it has had more testing).
    • Aprillaire driver.

  • Driver SDK
    • Documented how to use a debugger (such as Visual Studio or SharpDevelop) to attach to the DriverService.exe process and debug your driver real time, setting break points, inspecting variables, etc.
    • Added a Driver Test Harness for easier development, testing, and debugging outside of Elve by third party driver developers.
    • Changed some "public" members of the Driver base class to be protected.

  • Other
    • When a fatal error occurs in Elve Management Studio it is now logged to the Elve log and displayed in a window.
    • The Installer now created the DeviceDrivers/Compiled directory when installing the Driver Service.

Beta Version 0.26.3 (9/22/2010)

  • Fixed: The webserver could not load the default website since the installer named the website/bin/CodecoreTechnologies.Elve.dll file incorrectly.
  • Fixed: The Bluetooth driver logged a NullReferenceException when it started.
  • Fixed: The Timers 'Start Timer' action threw an exception when added to an action list.
  • Fixed: If another process is using the clipboard an exception would occur when the user tried to copy a log item.
  • Fixed: When a driver would fail to start, the attempted logging of the startup error caused a secondary error.
  • Fixed: The EMS Rules window's action list "Control Device" menu was not getting updated if the Rules window was open and at least one action list has been viewer prior to renaming, adding, or removing a device.

Beta Version 0.26.2 (9/19/2010)

  • Fixed: The Touch Screen Builder interface properties window was not enabling some controls when checking some checkboxes.
  • Fixed: The send count setting was not used when emitting Pronto formatted ir codes using the Global Cache driver.
  • Fixed: If the Touch Screen Viewer screen saver was activated it would always be triggered after 5 minutes instead of the specified time.
  • Fixed: The Rain8 driver's OutputNames property incorrectly started at 0.
  • Fixed: The .net 4 behavior for string.StartsWith() has changed (for the better) and caused a bug when compiling in .net 4. (for future use)

Beta Version 0.26.1 (9/15/2010)

  • Fixed: The Global Cache driver was not properly connecting to serial ports.
  • Fixed: Drivers using the older way to log were logging everything with the debug severity.

Beta Version 0.26 (9/15/2010)

Elve has received a major overhaul to the device event engine architecture and now supports notifying other devices when device events occur. Future updates will send notifications to other Elve components as well such as touch screens. Device driver developers have also been presented with a simpler way to raise events.

Devices no longer need to be restarted when a rules is added or removed to one of the device's events.

TESTING TESTING TESTING: Every custom event in Elve was changed during the event system overhaul so every custom event needs to be retested. Most events are device property change events which have not been changed so they shouldn't need retesting. You can "usually" tell the difference because custom events "usually" do NOT have a name that ends with "Changed". So the gist is that any event that does NOT end with the word "Changed" needs to be tested with different whenever filters if applicable. The easiest way to do this is to create a new rule and check the "Record each time this rule is run to the log" checkbox. Then check the log when the rule should or shouldn't run.

  • Rules
    • The EMS Rules form now prevents adding a rule with a duplicate name.
    • Rules can now be saved and removed without restarting the driver.
    • Rules can now be removed without reloading the rules list from the master service.
    • Fixed: After removing a rule the window no longer shows the old rule details.

  • Driver SDK
    • Device driver event's must now be declared using the DriverEvent datatype, as opposed to an ICollection.
    • Added HandleAddedRule() and HandleRemovedRule() to the Driver class to optionally allow drivers to react to new/removed rules.
    • Added HandleDeviceEvent() method to Driver class to optionally allow drivers to react to events occurring in other drivers.
    • Added RaiseDeviceEvent() method to Driver class to execute associated rules with matching event parameters and notifying other devices and components that the event has occurred.
    • Removed InitializeRules() from the Driver class since HandleAddedRule() and HandleRemovedRule() were added.

  • Other
    • Fixed: A FileNotFoundException or SocketException would cause the error logging system to throw an InvalidCastException.
    • Errors when assigning device settings now log which setting has an issue.
    • Fixed: A few Elk M1 events did not allow leaving an event parameter blank.
    • Fixed: Rules for the UPB DeactivatedLink event were not being executed.

Beta Version 0.25.6 (9/12/2010)

  • New Device Support
    • Added Ocelot driver (currently supports controlling X10 devices, setting relays, and blasting IR codes).

  • Fixes & Improvements
    • Fixed: When the Rules window opened in EMS it would sometimes show an InvalidOperationException message and the Control Device menu wasn't populated.
    • Fixed: The touch screen viewer lite apps (including Elve Mobile) could not display images using the DEVICEIMAGE:// scheme.
    • Added maximum memory usage to image cache for touch screen lite apps to prevent the cache from using too much memory.
    • Fixed: The logger was not trimming hex byte data causing the log to fill up quickly.
    • Improved device startup logging.
    • The property name on the Device Properties tab in EMS is now copyable to the clipboard.

  • Driver SDK
    • Added LocalDeviceDataDirectoryPath prooperty to the Driver class.
    • Added HandleDevicePropertyChangeNotification to the Driver class.
    • Added HandleDeviceEventOccurance to the Driver class (not currently implemented).
    • Added a color device setting editor: ColorDeviceSettingEditor

Beta Version 0.25.5 (9/4/2010)

  • Fixed: A cross-threading UI error could occur when the action list editor added items to the Add Action menu.
  • Fixed: The Action List Member's Custom Value tab was validating the entered text even when clicking another tab or cancel.

Beta Version 0.25.4 (9/4/2010)

  • Fixed: Denon driver was erroring when viewing it's properties in EMS.
  • Fixed: The Infrared Library Manager would error of the Add/Learn button was pressed before the IR device was saved.
  • Fixed: The Global Cache driver was not properly detecting all sensor ports.
  • Fixed: The Infrared Library Manager Test feature did not support Send Count and Delay.
  • Improved memory cleanup in Image and Music filesystem library drivers.
  • Fixed: Some objects were not being disposed.
  • Fixed: The installer was not waiting for a service to stop before attempting to delete it or files it had open causing upgrades to fail sometimes.
  • Fixed: The installer now auto-uninstalls after a failed installation.

Beta Version 0.25.3 (8/23/2010)

  • Device Enhancements
    • The ACT TI103 driver's SetLightLevel action now supports direct dim command (extended x10), preset dim, and standard dimming.
    • The ACT TI103 driver now uses a range of 0-100 for light levels.

  • Communication
    • Improved communication performance layer even more.
    • Improved error logging in the XML Communication Protocol.

  • Scripting API
    • ScriptContact is now fully serializable.
    • ScriptObject members which are decorated with the Obsolete attribute are no longer shown in the user interfaces.

  • Other
    • Added more logging options to device developer API.
    • Added MaximumLogSize setting to configuration to allow for a larger/smaller log.
    • Added full support for context ID binding in touch screen controls. (name binding will come later)
    • Added scroll bars to log viewer details.

  • Fixed
    • Fixed: The clientconfig.exe command line application did not recognize /? as a command line argument.
    • Fixed: The memory used by a device was not freed when a driver was stopped or restarted.
    • Fixed: The memory used by scripting objects in a script and passed to other app domains was not freed.
    • Fixed: The XML Communication Protocol would incorrectly serialize numbers using the local locale.
    • Fixed: Device property change notifications were not properly xml encoded.
    • Fixed: The HAI driver would throw an error when an extended unit message was received if the status value was larger than 199.
    • Potentially fixed an issue which caused the "Connecting to Master Service" window to endlessly attempt to connect.

Beta Version 0.25.2 (8/11/2010)

  • Fixed:
    • The driver interfaces were not being recognized when drivers were scanned.
    • The ACT TI103 driver's Set Light Level by house code and unit code was sending the command to the wrong device.
    • The Z-Wave driver's custom exceptions were not very readable.
    • The Z-Wave driver would incorrectly report that it was ready for use as soon as the device properties were read.

  • Scripting
    • Added ParentTouchScreen and TopTouchScreen properties to all touch screen control objects.
    • Added a new TopTouchScreen variable/keyword which can be used in the script to reference the top level main touch screen.

  • Other:
    • Added Received X10 Command event to ACT TI103 driver.
    • Added more logging when scanning for drivers.
    • Added support for displaying event whenever filters in a specific order.
    • Added preliminary support for context ID binding in touch screen controls.
    • Minor performance improvements in communication layers.

  • Driver API:
    • Replaced Driver.GetLogger() method with Driver.Logger. This is a breaking change for driver developers.
    • Marked Driver.Log(...) as Obsolete, please use the Logger property. Ex: Logger.Debug(...) or Logger.Error(...), etc.

Beta Version 0.25.1(8/3/2010)

  • Fixes
    • Fixed: The communication classes were causing the applications and services to continuously eat memory (memory leak).
    • Fixed: The log was logging the entire incoming communication buffer instead of just the received data.
    • Fixed: The iTunes driver methods such as Play() would throw a non-user friendly remoting exception if not connected to the Desktop Server application.
    • Fixed: The j9Scripting language would error when parsing a numeric value with a decimal separator when the OS regional settings were set to use a character other than a period as the decimal separator.
    • Fixed: The Squeezebox driver would error when parsing a numeric value with a decimal separator when the OS regional settings were set to use a character other than a period as the decimal separator.
    • Fixed: The ACT TI103 driver would sometimes send a corrupt message to the TI103 module. (when the message checksum was less then 17).

  • Other
    • The Insteon driver now supports USB and Serial. (testers wanted)
    • Added information to the log when no 3rd party drivers are loaded.
    • Increased the maximum log size from 250KB to 1MB.
    • The installer now detects Apache web server if it is installed in the default path (to avoid port 80).
    • The installer now detects if port 80 is currently in use.
    • Elve Management Studio now remembers windows position and sizes between sessions.

Beta Version 0.25 (7/30/2010)

In review of the system before our v1.0 release candidate we decided it was necessary to make improvements in some areas which would result in breaking backwards compatibility with the device drivers and some device driver methods and properties. We try to avoid these kinds of changes even during the beta development cycle unless the changes provide a significant improvement. Thank you for your cooperation.

  • Changed TCP/UDP Port Range
    • Changed the port range from 12990-12997 to 33900-33907. Although the original ports are not claimed by Avast, we found that some Avast installations use some of these ports so to avoid a conflict we are forced to change the port #'s. This is a breaking change if you have manually configured your network (such as a firewall) for the prior ports. You will also need to adjust the current ports in your Elve Mobile application, and your Windows firewall settings.

  • New Device Support
    • Added Rain8net driver (needs testing)

  • Device Enhancements
    • Elk M1: Added custom value names, counter names, and counter support.
    • All Lighting Drivers: Added Set Light Level For Duration and Turn On Light For Duration.
    • Aprilaire: Now supports displaying text messages on the thermostat, button press events (needs more testing), and differential temperature settings.
    • Russound: Added tuner power command.
    • Nuvo grand concerto: Added paging support.
    • All Drivers: Added SetPropertyForDurationAsync method. Because this is an advanced feature it is only available via the scripting language and not as an action in the action list.
    • HAI Driver: Added TurnOnOutputForDuration method.
    • The file and database log drivers now support disabling logging at timed intervals.
    • Breaking Change: We have extended the use of Time Span by changing many driver actions which used to use a seconds or milliseconds parameter. Any action list or script that used these actions/methods needs to be updated. The use of the Time Span parameter provides a better solution and the following driver actions were affected:
      • Elk M1 TurnOnOutput action/method which accepted a duration has been renamed to TurnOnOutputForDuration for consistency.
      • Changed the Timer's StartTimer method to use Seconds instead of milliseconds.
      • Changed the Elk M1's SetKeypadText method which accepts a # of seconds to SetKeypadTextForDuration which now accepts a TimeSpan object.
      • Removed the StartTimer method from the Timers driver which accepted a number of seconds. This is a breaking change. Any action list or script that used this action/method needs to be updated.
      • The Time and Duration properties on all media player drivers have been changed from a numeric seconds value to a TimeSpan.
      • The Nuvo Grand Concerto and Nuvo MPS4 driver's DisplaySourceTrackStatus method has been changed to accept the TimeSpan datatype instead of numeric seconds.

  • Fixes
    • Fixed: The IR library would inadvertently allow duplicate make/models and duplicate code/format/direction entries which would cause an error.
    • Fixed: The Extron driver's tie commands were not working.
    • Fixed: When learning USB-UIRT codes for receiving the infrared command format was incorrectly set to "Pronto".
    • Fixed: Swapping device settings could cause Save button to stay disabled in Elve Management Studio.
    • Fixed: The Elve Management Studio Properties grid was not updated automatically when an array property changed (although the array element grid was updated).
    • Fixed: Editing an Inner Touch Screen's initial touch screen setting in Touch Screen build would not be remembered.
    • Fixed: After updating the IR Library, IR Blaster and Receiver devices can now be restarted automatically so that the changes are recognized by the devices.

  • Other
    • Added Test button to the action list editor window.
    • Added a new Advanced tab to Image Browser control.
    • Added Driver Pack support.
    • Added complier.config configuration file for use when compiling uncompiled drivers.
    • Changed the location of where 3rd party drivers should be saved. This is a breaking change. If you use this feature please move the driver files.
    • Added new Image data type to scripting language.
    • Changed media library drivers GetMediaImage method and media player drivers CoverArt to return an Image instead of ByteArray.
    • Added basic support for device property images in touch screen image controls. deviceimage://device/property/index
    • Added background image opacity and size mode to the touch screen background.
    • Added background image opacity and size mode to touch screen controls with support background images.
    • Added Touch Screen Chooser button to the user account details window to select the user's default touch screen.

  • Driver API
    • The SharedLibrary.dll reference has changed to CodecoreTechnologies.Elve.dll. This is a breaking change for driver developers.
    • The SharedLibrary namespace has changed to CodecoreTechnologies.Elve.DriverFramework. This is a breaking change for driver developers.
    • StartDriver() now returns a boolean indicating if the driver is ready for use. This is a breaking change for driver developers.
    • Added IsReady property to manage the driver's Ready state (ready for use).
    • Added Driver.GetLogger() method to SDK which returns an ILogger instance.
    • Added GetDevicePropertyValue, SetDevicePropertyValue, ToggleBooleanDevicePropertyValue, OffsetNumericDevicePropertyValue, and RunScript which allow accessing other drivers.
    • Added SetPropertyAfterDelayAsync and InvokeMethodAfterDelayAsync methods which allow setting a property or invoking a method in the current driver after a period of time (without blocking the thread). And it provides a key so that a previous call's timer can be reset.
    • Replaced BaseCommunication.LoggerVerbosity to BaseCommunication.Logger which should be set to the current driver's this.GetLogger(). This is a breaking change for driver developers.
    • Added a UdpCommunication class.
    • Added a UsbHidCommunication class.
    • Changed the TcpCommunication class to be socket based instead of TcpClient based which has shown a 25% performance boost in some drivers.
    • Removed old obsolete communication classes and members.
    • The StartConnectionMonitoring method on all the communication classes is now an asynchronous/non-blocking call. It previously blocked while making the 1st connection. All serial drivers have been updated for this change. If you need to catch a connection failure you can use Open() or you can use the ConnectionAttemptFailed event. This also means that the Connected property can not be checked immediately after StartConnectionMonitoring() is called. This is a breaking change for driver developers.

Beta Version 0.24.4.0 (7/3/2010)

  • New Device Support
    • Added Aprilaire driver
    • Added Nuvo MPS4 driver

  • Improvements
    • Added Button support to HAI driver. Looking for feedback on if this works and if the names are in the TaskNames list.
    • Added Area Chime Modes list to Elk M1 driver.
    • Added Trigger Zone action to Elk M1 driver to momentarily open and violate a zone.
    • Improved the verbosity of the error logging.
    • The Touch Screen Loader Button control can now load a touch screen into the container that the button is in.
    • Improved a few ZWave driver error messages.

  • Fixes
    • Fixed: Touch Screen interfaces were not receiving property change notifications for scripting identifier aliases.
    • Fixed: The Elk M1 driver's 'CustomValue' property name has changed to 'CustomValues' to be consistent with other plural names. This is a breaking change if using this property in your scripts or touch screens.
    • Fixed: Cleaned up a few error messages that were being logged related to the touch service and attempting to send data over a closed tcp connection.
    • Fixed: Changed light level range in HAI driver to 0-100.
    • Fixed: Any onscreen keyboard is now closed when navigating to a different inner touch screen.

  • iPhone Sample v4 Changes
    • Added Irrigation screen
    • Added Tivo screen
    • Added More button and screen

Beta Version 0.24.3.0 (6/27/2010)

  • Fixed: The UPB driver could incorrectly report that it had lost it's connection.
  • Fixed: If the '# of scripts running' performance counter could not be created, scripts will still run.
  • Inner touch screen controls now cache previously loaded touch screens providing persisted state, improved performance and more up to date controls when shown.

Beta Version 0.24.2.0 (6/22/2010)

  • Fixed: Un-compiled drivers (.cs or .vb files) were not starting properly.
  • Fixed: Touch Screen Loader buttons were not getting checked (shown as selected) when the associated inner touch screen control's interface changed by means other than pressing the loader control to the same interface that the loader control sets it to.

Beta Version 0.24.1.0 (6/21/2010)

Fixed: Un-compiled drivers (.cs or .vb files) were not compiling properly by Elve on startup.

Beta Version 0.24 (6/20/2010)

  • Working System after Installation
    • The following changes apply when installing on a machine that does not already contain any Elve configuration.
    • Working touch screen examples are now installed.
      • The Steel Dashboard touch screen interface example.
      • The iPhone touch screen interface example.
    • The General Purpose touch screen has been removed from the installation since it wasn't a good or reliable demonstration of the system and didn't demonstrate best practices.
    • The default Admin user account is set to use the Steel Dashboard example when starting a Touch Screen Viewer app.
    • The most common devices types are preconfigured with the system, including lighting, security, and climate control simulator devices and other devices.

  • Open Source Un-compiled Drivers
    • Elve now supports open source un-compiled devices drivers. C# & VB.NET source code can be placed in Driver sub-directories and compiled dynamically at run time.

  • Simulator Drivers
    • Added 5 new simulator device drivers to simulate lighting, climate control, security, input/output, and infrared blaster/receiver devices which are helpful for demonstrating the system and viewing/designing touch screen interfaces when a real hardware device is not available.

  • Device Scripting Identifier Aliases
    • Alias names can now be assigned to devices to make it easier to use other user's touch screen interfaces rules, and scenes.

  • New Device Support
    • Added Popcorn Hour driver.

  • Other New Features:
    • The log viewer now allows a time filter.
    • The Test button in the IR test window is now more prominent.
    • Added "Now" button to log viewer to set the start date filter to now.
    • Added "Show Keyboard" buttons to the Touch Screen Viewer signin window.
    • Added "Begin Editing Text" and "End Editing Text" events to the Text Entry UI control.

  • Fixes:
    • Fixed: The Script Editor was not showing the auto-complete popup when a period was pressed after a number (but the number was at the end of an identifier).
    • Fixed: The default setting for the POP3 driver's interval was in an invalid format.
    • Fixed: The ignore recurrent occurrences duration control is now disabled when it's checkbox is unchecked.
    • Fixed: The About Driver section in the Elve Management Studio Devices window had some fields in the wrong places.
    • Fixed: The HAI Omni driver's zone temperatures and humidity values are now correct.
    • Fixed: Improved error recovery in pop3 driver.
    • Fixed: The HAI Omni Pro II driver no longer reports temperatures with a decimal.
    • Fixed: A deadlock could easily occur in the Media Seek Slider control and Media Player Track Position Time control causing Touch Screen Viewer to freeze.
    • Fixed: Prevent a rendering error in the Media Seek Slider control when a media track's duration is incorrectly set to 0.
    • Fixed: The Touch Screen Viewer Image Browser now ensures that the selected item is visible when the window is opened.
    • Fixed: Touch Screen text macros with extra scripting at the end (like .ToString()) would skip the extra scripting.
    • Fixed: The SetZoneSource method in the Denon and Onkyo drivers was not working in the Action List Editor.
    • Fixed: The Device List UI control could not be added to a touch screen.
    • Fixed: When using url images (such as weather icon urls) the image could be shown as a bad image.
    • Fixed: Undoing a SendToBack or BringToFront action in Touch Screen Build could cause a fatal error.
    • Fixed: The iTunes driver stopped working in the prior release.
    • Fixed: After deleting a device, an adjacent device is now selected in the device list.
    • Fixed: When exporting a single touch screen, the suggested filename no longer includes path paths.
    • Fixed: Prevented a fatal error from occurring when painting a control (usually a popup) while another thread removes the control from the panel.

  • iPhone Sample v3 Changes
    • Replaced the arm security keypad with a TextEntry control and numeric keyboard.
    • Renamed "elkm1" device references to "security" and "climate" to work with the updated initial installation configuration.

  • Steel Dashboard Sample v2 Changes
    • Added music position slider control.
    • The hvac buttons now indicate the current state.
    • Added music search.
    • Add a volume slider.
    • Rearranged some of the controls.
    • Added a fill image to sliders.
    • All the lighting controls are now configured.
    • Split the media controls out as individual controls for a better example.
    • Renamed "elkm1" device references to "security" and "climate" to work with the updated initial installation configuration.

Beta Version 0.23.0.1 (6/9/2010)

  • Fixed: A bug was introduced in v0.23 that causes touch screen interface button presses to run any associated action lists twice.
  • Added a new "At Scheduled Intervals" event to the Date & Time driver.
  • This version should have been built as 0.23.1.0.

Beta Version 0.23 (6/6/2010)

  • New On-Screen Keyboard Features
    • Added a new Show Keyboard Button UI control to the which forces a Text Entry control's keyboard to be shown when pressed.
    • A Text Entry Touch Screen UI control's on-screen keyboard can now be programmatically shown/hidden.
    • A Text Entry Touch Screen UI control's on-screen keyboard can now NOT be shown automatically when pressed but still accept physical keyboard keystrokes.
    • A Text Entry Touch Screen UI control's on-screen keyboard's location can now be specified.
    • A Text Entry Touch Screen UI control's on-screen numeric keyboard now can have each key mapped.
    • A Text Entry Touch Screen UI control's on-screen numeric and full keyboard now support a button to clear the text.
    • Added watermark text support to the Text Entry control.
    • Fixed: Pressing TAB in a Text Entry Touch Screen UI control's on-screen keyboard would not select the next text entry field if it was the 1st control loaded.
    • Fixed: The Touch Screen Viewer numeric on-screen keyboard was allowing non-numeric text entry via a physical keyboard.
    • Fixed: The TextEntry Touch Screen UI control was always displaying text in gray.
    • Fixed: The Text Entry Touch Screen UI control's on-screen keyboard would be displayed in the wrong location if it used a custom keyboard image.
    • Fixed: Keystrokes on a physical keyboard were not sent to the active Text Entry control if the control was in an Inner Touch Screen.

  • New Slider Related Features
    • Added Slider Label touch screen UI control.
    • The Slider control now supports an alternate background image for the area left/below the thumb.
    • The Slider control can now update the value of a bound device property while the slider thumb is being moved.

  • Other Touch Screen Changes
    • Added Boolean Value Changed control event to Boolean touch screen control.
    • Added ClearText() method to most controls to clear the text as an alternative to setting the text to an empty string.
    • The various Button controls now support text macros.
    • Fixed: Touch Screen fonts were not being saved/loaded correctly in locales using a comma as the decimal separator.
    • Fixed: The Touch Screen Viewer application now notifies the user when signin in when the user account does not have a touch screen associated with it and no touch screen path was provided in the command line.
    • Fixed: Setting the TextVerticalAlign control property would inadvertently set the TextHorizontalAlign property instead.
    • Fixed: Text macros with script in a property index would not resolve.
    • Fixed: The Sign In button was showing as a white square (this may have just been an issue with an intermediate build).

  • Scripting
    • Added IsOddNumber, IsEvenNumber, and IsMultipleOf methods to the j9Script Math object.
    • Fixed: The -- j9script operator was ignored and resulted in an error.
    • Fixed: The Script Editor no longer shows the auto-complete popup when pressing a period after a period character (such as when entering a number like 1.3).

  • Other:
    • The Global Variables driver is now marked as allowing multiple instances per driver service.
    • Fixed: An error would occur when editing a Global Variables initial value before the type.
    • Fixed: The TcpCommunication class could deadlock if disposed while receiving data.

Beta Version 0.22.3 (5/15/2010)

  • The Log Viewer now shows log entries as soon as the window is opened.
  • Added Denon receiver 4306 driver.
  • Updated the Google Contacts driver with more options.
  • Removed HAI arm/disarm methods which acted on all areas.
  • Fixed: The touch screen slider control would render the thumb in the wrong place if the minimum value was not 0.
  • Fixed: The installer was not properly installing the Proliphix Thermostat Driver.
  • Fixed: The Desktop driver would allow a blank scripting identifier.
  • Fixed: The Nuvo Essentia E6D driver mute state property and toggle mute method were not working properly.
  • Fixed: The Script Editor now displays the object member list popup when pressing the period key after a closing square bracket "]" character.
  • Fixed: The Script Editor no longer shows the auto-complete popup when pressing a period while within a quoted string. It assumes the string starts on the current line.
  • Fixed: The device chooser did not notify the user of a 3rd party driver or a non-production driver when double clicking in the driver list (but did when clicking Ok).
  • Added an event display name to the SupportsDriverPropertyBinding attribute when using the auto-generated property change events. This is a minor breaking change if you are a driver developer, you just need to add an event display name to any SupportsDriverPropertyBinding attributes which already have a description. Attributes that did not previously specify an event description parameter do not need to be changed.
  • Added a primary communications port parameter to the Driver attribute. This is a minor breaking change if you are a driver developer, you just need to add a DriverCommunicationPort to your driver's DriverAttribute.
  • Added SimulateReceivedData() methods to the SerialCommunication and TcpCommunication classes for use with testing.

Beta Version 0.22.2 (5/4/2010)

  • Fixed: Upgrading from version 0.20 or earlier to 0.22.2 or later now works.
  • Fixed: Changed the HAI Driver arm/disarm methods to accept a security code.
  • Updated the Proliphix Thermostat Driver

Beta Version 0.22.1 (5/2/2010)

  • Fixed: Google Contacts and Calendars driver passwords were not being stored properly.
  • Fixed: The HAI driver's Zone Humidities property was not properly identifying humidity zones.
  • Device setting values can now have a display value associated with them.
  • Added arming/bypass/release support to HAI Omni Pro driver.

Beta Version 0.22 (5/1/2010)

  • Drivers
    • Added CommandFusion iViewer driver.
    • Added Proliphix Thermostat driver.
    • Renamed Desktop Mouse driver to Simulated Input driver and added simulated key stoke input. This is a breaking change if you were using the Desktop Mouse driver.
    • Changed the display name of the "System Media Player" driver to "Elve Media Player" since it was confusing users.
    • The Weather Channel driver now supports Fahrenheit, Celsius, and Kelvin and supports metric units.
    • The Weather Channel driver now has properties for the tempertaure scale, wind speed units, precipitation units, etc.
    • Fixed: Shuffle support was missing from the Action List editor for the Winamp, JRMC, Built-in Media Player, and iTunes drivers.
    • Fixed: Changed light level references of 99 to 100 in CM15A driver.
    • Fixed: LightLevels were not getting updated properly.
    • Fixed: SendKeys was not working in the Dekstop driver .
    • Fixed: The FileSystem driver had several methods that were inaccessible since they were marked as static
    • Fixed: Shuffle was clearing the Elve Media Player playlist.
    • Fixed: Nuvo Essentia E6D driver was not recognizing zone power offs.
    • Fixed: The weather channel driver's WindDirectionDegrees property would error if the data feed had "N/A" as it's value.
    • Fixed: An image could not be assigned to the Image List control when binding to the weather channel's Icon ID property.
    • Fixed: Minor Russound XM Radio fixes.

  • Elve Command Line
    • This is a new command line tool for controlling Elve.

  • Configuration
    • Consecutive executions of a rule can now be ignored for a specified timeout period.
    • Added a button to the action list editor to convert it to a script.
    • Fixed: The Allow Access To RESTful WebService user account setting was not persisting between restarts.
    • Fixed: The action list viewer was not escaping quotes in strings.

  • Touch Screen Builder
    • Added keyboard shortcuts to some important items.
    • Fixed: The touch screen paths assigned after choosing a touch screen in the touch screen chooser window could be converted to an in incorrect relative path causing Touch Screen Viewer and Touch Service to fail to find the touch screens.
    • Fixed: The inner touch screen control did not allow bypassing the an initial touch screen.
    • Fixed: The touch screen chooser now prevents creating directories that have the same name as an exiting item.
    • Fixed: The image list and slider controls can now be property bound to read only properties.

  • Scripting Language
    • Added TimeSpan object.
    • Added members to DateTime related to TimeSpan.
    • Added support for DateTime and TimeSpan to addition and subtraction operators.

  • Touch Service
    • Added more logging to the Touch Service to aid in diagnosing connection problems.
    • Fixed: The Inner touch screen control and loader buttons did not handle some relative paths correctly in some cases.

  • PocketPC Viewer
    • The ppc client now updates the screen during the connection process.
    • Fixed: An error was preventing the PocketPC Viewer from sending a HELLO command to the touch service when running on PocketPC hardware.
    • Fixed: The pocketpc viewer was sending touch events before a connection was established.

  • Installer
    • Added logging.
    • Fixed: Now prevents specifying that the master service is on the local machine when not installing the master service.
    • Fixed: The Installation Type page's Next/Finish button was not getting enabled when navigating past the page and then back to it.
    • Fixed: The Master Service was missing the SharedLibrary.dll as a dependency.

  • RESTful web service
    • Fixed: The User Account checkbox for allowing access to the RESTful web service was backwards. You will need to update all user accounts which were using this feature.

  • Logging
    • Added 2 new fields to the log. Context Type and Context Name.

  • Device Driver SDK
    • Moved Contact object into SharedLibrary.dll for use with 3rd party drivers.
    • Added new DevicePropertyChangeNotification(propertyname) override to Driver which auto-retrieves the property value.
    • Renamed DriverParameterArrayNamesAttribute to DriverSettingArrayNamesAttribute for consistency. This is a breaking change if you are a driver developer.
    • Added a display name parameter to the DriverSettingAttribute and DriverSettingArrayNamesAttribute attributes. This is a breaking change if you are a driver developer.
    • Added HiddenTextDriverSettingEditor device settings editor for use with settings that should not be shown such as passwords.

Beta Version 0.21 (4/11/2010)

  • All Applications & Services
    • All apps have been re-badged/labeled with the new name, graphics, install directories, etc.

  • Touch Screen Viewer
    • Added new Media Player Seek Slider control.
    • Added new Media Player Track Position control. Ex: 1:34
    • The On-screen keyboard tab key now tabs to the next text entry field for non-multiline controls.
    • Pressing the Enter key on the on-screen keyboard in the Sign-In interface's username field now tabs to the password field.
    • Pressing the Enter key on the on-screen keyboard in the Sign-In interface's password field now forces authentication.
    • In windowed mode the touch screen is centered each time a new one is loaded.
    • Fixed: The Media Browser control inadvertently allowed navigating out of the valid page range.
    • Fixed: A shown on-screen keyboard is now removed when changing touch screens.

  • Touch Screen Viewer Lite
    • Fixed: Toggle fullscreen mode was not working.
    • Fixed: Connection failure messages are now shown in the PC app and PocketPC app.
    • Fixed: The PC app not longer tries to reconnect after a bad username/password.
    • The Pocket PC app no longer needs to be restarted after changing the settings.
    • Fixed: On rare occasions the ppc app could crash during screen interaction after failing to connect.
    • Fixed: Nested popups were not working.

  • Touch Screen Builder
    • Touch Screens are now saved/loaded using a hierarchical filesystem-like naming convention. You must edit and resave all your user accounts to ensure they their associated touch screen setting are valid since touch screen names now require a full path.
    • The look of a transparent background can now be set to black, white, gray, and several checkered sizes.
    • Fixed: Setting an image's opacity when the regional settings used a non-period as the decimal separator would cause an error when the control was edited.
    • Fixed: The inner touch screen control was inadvertently loading the specified touch screen.

  • Configuration
    • Fixed: The IR Library window's delay field was incorrectly allowing decimal numbers to be entered.
    • For a first time installation, the admin account's default touch screen now defaults to "\General Purpose Sample\General Purpose Main".

  • Setup Installer
    • The installer was installing all items even if unchecked.

  • Scripting
    • Scripting error descriptions now include a snippet of the line with the error.

  • Production Drivers
    • All production drivers have had their version number increased to 1.0.

  • iTunes Support
    • Added support for named playlists.

  • Russound Support
    • Updated for XM radio support.

  • CM15A Support
    • Outgoing commands are now logged .

  • Logging
    • Fixed: The log entries are now date stamped with a higher precision resulting is better ordering for events which occur within the same millisecond.

  • RESTful Web Service
    • All requests now return xml, see the documentation for changes.
    • All date formats are now consistent, see the documentation for changes.

  • 3rd Party Drivers
    • 3rd Party drivers should now be placed in a "Drivers" subdirectory in the program files path.

  • Driver SDK
    • The SerialCommunication class's connection monitoring system was failing to send the bytes specified in ConnectionMonitorTestBytes.

  • Built-in Web Server
    • Fixed: The web server did not work on Windows 7.

Beta Version 0.20 (3/14/2010)

  • Touch Screen Viewer
    • Replaced the standard app sign-in window with a new integrated sign in interface with built-in on-screen keyboard support.
    • The sign in interface can now be shown as the screen saver.
    • When an on-screen keyboard is shown for a single line text entry control and the tab key is pressed on a real physical keyboard, the on-screen keyboard will move to the next text entry field (in z-order) (if one exists).
    • Added right mouse click menu to viewer (when not it kiosk mode).
    • Removed System menu items (upper left corner icon menu).
    • Added Window command line switch to the touch screen viewer app.
    • Added UserAccountName and UserAccountDisplayName properties to the TouchScreen object.
    • Fixed: The cover art control was not updating immediately when changed.

  • Scripting Language
    • Added OdbcConnection script object (which among other things supports MySql).
    • Renamed DbConnection script object to OleDbConnection. This is a breaking change, any scripts using DbConnection should be updated.

  • Infrared Learning
    • Added ir command testing after learning.

  • Log File Device Changes
    • Fixed: The Log File driver would fail to log.
    • Fixed: A Date field header will be added.
    • The quote character can now be set.
    • The date format can now be set.

  • ViziaRF
    • Fixed: An error would occur when clicking the Lights On/Offs and Light Levels properties in the Administrator application.

  • X10 CM15A
    • Fixed: An error would occur when x10 commands were received preventing rules from running.
    • Fixed: Removed the AllLightsOffPlc method since the hardware does not support it.
    • Fixed: Updated the TurnOffAllLights command to throw an error when in PLC mode since it is not supported by the hardware.

  • iTunes, JRiver MC, and Winamp
    • Fixed: Selecting the device in the device list when it was not connected to the Desktop Server would cause a delay.
    • The iTunes PlayItem method can now play iTunes playlists by name.

  • System Media Player
    • Removed errors when pausing, etc when no song was playing.
    • Adjusted the return value of the Connected property since its previous implementation was confusing to the users.

  • New Device Support
    • Russound multizone controllers (CAS, CAA, CAV, CAM, ST2)
    • Onkyo Receivers (Tested with SR-805 and SR-705)
    • iTunes Media Library
    • Database Logging driver
    • Desktop Mouse

  • Administrator
    • The device properties grid in the devices window is now updated when a property that supports notifications is changed.
    • When running the Administrator application on the master server machine it will check if the Master Service is running if it fails to connect and will display an informative message.
    • The user is now notified when adding a third-party driver and drivers that are not marks with the production stage.

  • Master Service
    • Added better logging when an error occurs during startup.

  • Pocket PC Touch Screen Viewer Lite
    • The Fit To Screen setting now persists between usages.
    • The touch service port can can now be specified in the hostname field.

  • PC Touch Screen Viewer Lite
    • The touch service port can can now be specified in the hostname field.

  • Configuration
    • The communication ports can now be changed from their defaults using the client config file.

Beta Version 0.19.0.4 (2/14/2010)

  • Added event argument info to the rule event description.
  • The rules grid now shows the device display name.
  • Added a multi-room audio interface (IMultiroomAudio) to the Driver Development API.
  • The Nuvo Grand Concerto driver now shows zone and source names when using property binding.
  • The Anthem driver now implements the IMultiroomAudio interface, which required some of the method names to change.
  • All drivers have been digitally signed.
  • Fixed: An error would occur when a rule was saved while the selected device in the devices window was for the saved rule's event then the user tried to invoke a method on the device.

Beta Version 0.19.0.3 (1/24/2010)

  • The Devices window now shows the names for property array elements (such as each light's name).
  • Fixed: The ACT TI103 LightNames property caused an error which could be seen in the device properties and when using the action list editor or property binding.

Beta Version 0.19.0.2 (1/23/2010)

  • Paged List Touch Screen Control
    • Added a pressed item image to the Paged List control.
    • The Paged List control's item height and initial values can now be set using the UI.
    • Separator lines can optionally be shown between each Paged List control item.
    • When using the scripting language the list items can now be set from a Dictionary object.
    • Fixed: Removing a Paged List control's item background would cause an error when editing the control later.

  • Web Browser Touch Screen Control
    • The Web Browser control can now have it's scroll bars hidden.

  • Image List Touch Screen Control
    • All the images can now be automatically set from a chosen folder.

  • Action List Editor
    • Fixed: Deleting an action list item and immediately clicking the up or down toolbar buttons would cause an error.

Beta Version 0.19.0.1 (1/20/2010)

  • Device Support
    • System Media Player
      • Fixed: The System Media Player would clear the artist, album and title info if the media file did not contain cover art.
      • Fixed: The System Media Player did not support folder.jpg cover art files.
    • Music Media Library
      • Added TrackCount, AlbumCount, ArtistCount, GenreCount, and PlaylistCount properties.
      • Now displays playlist album art in the Media Browser.
    • System Media Player
      • Now supports M3U and WPL playlist files.

  • Touch Screen Viewer
    • Fixed: Text macros no longer show xml encoded text such as ' for an apostrophe.
    • Fixed: When in fullscreen mode loading a new touch screen with the Loader Button (or script) no longer cuts off the edge of the touch screen.
    • The Media Browser control now shows music playlist album art.
    • The Paged List control now supports displaying a background image for each item and a selected item background image.

  • Action List Editor
    • Fixed: The Action List Editor did not properly show numbered list values.

Beta Version 0.19 (1/17/2010)

  • Scenes
    • Added support for reusable action lists.

  • Touch Screen Builder
    • The Media Browser control has received a major overhaul.
      • It now supports a new list display mode as well as the previous tile display mode.
      • It now supports a new search display mode that shows titles for all partial matching artists, albums, and titles.
      • Press and Hold on an Artist, Album, or Genre to display all the songs for the item.
      • Changing the grouping now respects the current search text.
    • Added new Text Entry control.
    • Added skinnable and localizable full on-screen keyboard and numeric on-screen keyboard which are used by the new Text Entry control.
    • Added Lock Controls feature to prevent the mouse from moving or resizing any controls.
    • When the right click context menu is displayed over more than one control, the non-top controls will be selectable from the menu.
    • The Image Browser now opens to the related image path/url or to the most recently visited path if none.
    • The Controls menu is now sorted alphabetically.
    • The IP Camera control can now have a border.
    • Fixed: The Undo command would not undo a Paste.
    • Fixed: Controls could be re-sized outside the touchscreen area.
    • Fixed: Loading a touch screen with an action list completely disabled would prevent the load.
    • Fixed: The Color Chooser could sometimes inadvertently return a transparent color.

  • Touch Screen Viewer
    • Improved lost connection detection.
    • Fixed: The F11 key stopped working in the previous version.
    • Fixed: The Web Browser's Visible property still didn't work.
    • Fixed: The Web Browser did not respect it's assigned initial visible state.
    • Fixed: The Slider control as not showing the correct value when using a script expression (as opposed to binding).

  • Touch Service
    • Fixed: The Extraneous screen changes were being sent to the the client when in Snapshot rendering mode (Draw Image commands). The was very evident when using the Media Browser and Slider controls.
    • Fixed: Popup touch screens no longer have a ghost displayed in the upper left hand corner.

  • Device Support
    • Added Standard Device Properties
      • DeviceDisplayName
      • DeviceStartTime
    • New Drivers
      • Tivo Series 3
      • Nuvo Essentia E6D
    • New Drivers (available later)
      • Topfield DVR
      • Windows Media Center
      • Onkyo Receiver
      • ISY
    • Insteon
      • Added Group On/Off/Dim/Bright commands.
    • Elk M1
      • Optimized the Elk M1 initialization requests, improving speed and reliability.
      • Added support for Custom Values.
    • ZWave
      • Since the Z-Wave network can be slow to respond, the ViziaRF driver now sends out light level change notifications to Touch Screen Viewer apps immediately instead of waiting for the confirmation.
    • Media Player drivers
      • Corrected datatype issues with the SqueezeCenter and System Media Player's Track Changed event.

  • Driver Service
    • Device drivers are now all started concurrently instead of waiting for each driver to start before attempting to start the next.

  • Configuration
    • Added Copy/Paste support to the action list editor.
    • The Device list now shows the category for each device.
    • The Device list can now be grouped by Category, Server Name, and Status.
    • The Device and Rules (and new Scenes) windows have received some changes... You can hide the details pane, and when editing the top list pane is hidden.
    • Fix: The Devices list no longer shows a device status of Disconnected Driver Server when the driver service is connected but the device is just pending start-up.

  • Administrator Application
    • The Master Service location is now shown in the System Status table.
    • The Log now orders entries to the millisecond. It was previously ordered to the seconds causing entries occuring at the same second to be potentially shown out of order.

  • Installer
    • The installer now defaults to not installing the master service when there is an existing configuration file that specifies a hostname other then the current pc.

  • Driver SDK
    • The SDK zip file now contains template drivers for all of the well known driver interfaces, such as security, lighting, weather, climate control, etc.

Beta Version 0.18.0.1 (12/27/2009)

  • Touch Screen Viewer
    • MAJOR BUG FIX: Using the Reload option on the Master Service machine would delete the images folder.

  • UPB
    • Fixed: The Turn On Light action did not work.

Beta Version 0.18 (12/16/2009)

  • Device Support
    • Lighting Devices
      • Added LightOnOffs to lighting drivers to make using the Boolean UI control with lights easier.
    • Caller ID Modem
      • Added support for answering and hanging up the phone with the AnswerAndHangUp method.
      • Added support for sending raw commands to the modem that may otherwise not be supported by the driver.

  • Touch Screen Builder
    • Added Marquee Selection. (select background or hold ALT key and drag)
    • Added Inverse Selection to the Edit menu.
    • Added Show All Control Bounds toggle to the View menu.
    • The selected image dimensions are now shown in when editing a control's image list.
    • The control size can now be set to the size of the size of the current image in the control's Images property pane with the click of a button.
    • Since it was difficult to edit the touch screen interface properties when controls covered the entire interface, an Interface Properties menu item has been added.
    • When creating or loading a touch screen interface, or exiting the app the user is now only notified that they will lose any unsaved changes if there have actually been any changes.
    • The Save toolbar icon is only enabled when changes have been made to the interface.
    • After successfully saving the interface a message is no longer displayed indicating success.
    • Added Touch Screen Changed event to the Inner Touch Screen control.
    • Added support for toggling between fullscreen and windowed mode from the action list.
    • Fixed an issue which prevented binding the Boolean UI control to the Elk M1 Thermostat Hold property.
    • The Property Index drop down list for the Boolean and ImageList controls was too short for long names so it was increased in size.
    • Fixed an issue which caused Align Tops to fail.
    • Fixed an issue that prevented the Web Browser's Visible property from being set.
    • Fixed an issue that cause the could cause limiting the value range by user type to fail.

  • Scripting Language
    • Added regular expression support with the new RegEx class.

  • Driver API
    • Added "Experimental" to the list of driver release stages.
    • Documented a few Driver methods that were missing documentation.

Beta Version 0.17.0.5 (12/6/2009)

  • Touch Screen Builder
    • Added multi-level Undo and Redo support.
    • Fixed an issue that could cause the touch screen size to inadvertently change.

  • Action List Editor
    • Removed methods which have an array parameter since the action list editor does not support arrays.

  • Device Support
    • SqueezeServer
      • Changed the PlayItem method's action list title from "Play playlist item" to "Play Item" for clarity.
    • Winamp
      • Cover Art is now read from the folder.jpg file when no cover art is in the media file.
    • Email Receiver (Pop3)
      • Added the from email address as a filter to ReceivedEmail event.

Beta Version 0.17.0.4 (11/15/2009)

  • Touch Client
    • The mouse cursor is now displayed as the wait cursor when the application is communicating with the server.

  • Touch Screen Builder
    • Fixed an issue that caused an error after clicking OK in the Inner Touch Screen control properties window.

Beta Version 0.17.0.3 (11/8/2009)

  • Configuration
    • If a network error occurs when saving a device or rule, the error details are now shown.

  • New Windows Performance Counters
    • Added a counter for the number of current connected Touch Clients.
    • Added a counter for the number of currently running scripts.

  • Reliability and Diagnostics
    • Added more exception handling to the Touch Service.
    • If an error occurs in a script the log message now better identifies which script was running.
    • Fixed a memory leak in the Touch Service.
    • Fixed an issue in the Touch Service that could cause it to crash after a client disconnected.
    • Fixed an issue that caused the CPU to max out for several seconds after a Touch Client disconnected.
    • The TcpCommunication object in the SDK now immediately detects client disconnections.

Beta Version 0.17.0.2 (10/24/2009)

  • Configuration
    • Rules which are associated with deleted devices can now be reassigned to a different device.
    • Rules which are associated with a driver that no longer exists (rare) can now be deleted.
    • The Rules Report now shows more details about Whenever Filters.

  • Touch Service
    • Fixed an issue that caused the control refresh timer to not be disposed.

  • Touch Screen Builder
    • Improved the performance of the boolean control toggling an associated boolean device property.
    • Improved the performance of the offset button control offsetting a bound numeric device property.
    • Fixed an issue that prevented dynamic properties (such as global variables) from being associated with a Boolean control.
    • Fixed an issue that caused the Boolean control to not display text or an image when designing.
    • Fixed an issue that caused the Boolean control to attempt to toggle an associated readonly property value.

Beta Version 0.17.0.1 (10/21/2009)

  • Configuration
    • Improved the performance of the rules editor table drawing.

  • Touch Screen Builder
    • The Boolean control can now be associated with a boolean device property, which does NOT require any scripting and automatically toggles the value when clicked.
    • The Image List control now supports binding to a boolean device property which supports binding.
    • The Device Property Binding panel's device list and property list are now sorted alphabetically.
    • Fixed an issue that caused adding a newly added Boolean control to have an invalid name.
    • Fixed an issue which caused the Text Macro Editor to incorrectly format macros.
    • Fixed an issue which cause the Image List Device Property Binding panel to show properties with values which are not enumerable.

  • Touch Screen Viewer
    • Fixed an issue that caused the Boolean control to sometime not show the correct text and image at first.

  • Touch Service
    • The touch screen definition cache is now cleared every 30 seconds.
    • Fixed a potential threading issue when refreshing controls.
    • The touch service now refreshes all control display values every 60 seconds.

  • Device Support
    • Fixed an issue in the Insteon driver that cause it to not set the light level properly for received Dim/Bright commands.

Beta Version 0.17 (10/17/2009)

  • New Thin Client Touch Screen Viewer applications:
    • Touch Screen Viewer Lite for PC: A new lightweight, portable single file Windows application for viewing touch screen interfaces.
    • Touch Screen Viewer Lite for PocketPC: A new lightweight touch screen viewer application for the PocketPC platform. This application replaces the older PocketPC viewer app.
    • TouchService: A new Windows service which the new thin client touch screen viewer applications connect to.
    • If you are a developer interested in creating a thin client touch screen view app for a different platform please see the Remote Touch Screen Protocol documentation.

  • Touch Screen Builder
    • Added toolbox button to Touch Screen Builder toolbar.
    • Removed the Maximize button from the window.

  • Touch Screen Viewer
    • Improved rendering performance.
    • Fixed a possible error when device property changes are received while the user changes touchscreens.

  • Supported Devices
    • J. River Media Player
      • Added Stopped event.
      • Fixed typos in jrmc driver.
      • Added support for playing smart playlists (as well as other organizational tree locations.
      • Fixed an issue which could cause some songs to not be added to the playlist from the touch screen media browser control.
    • Nuvo Grand Concerto
      • A minor fix was made to how text is displayed on the keypads.
    • Host Monitor
      • The host monitor driver can now shutdown, restart, suspend, or hibernate the pc.
    • SMTP Outgoing Email driver
      • Fixed an issue causing emails to fail to send when using a username/password.
    • W800
      • The X10 RF Codes for On and Off were backwards.
      • The X10 RF Dim, Bright, All Lights On and All Lights Off commands we unrecognized.

  • Configuration
    • The User's Default Touch Screen drop down list is now sorted.
    • The device's run on hostname is not longer case-sensitive.
    • Deleting a rule would cause the first rule in the list to be restarted instead of the deleted rule's device.

  • Device Driver SDK
    • Added a SharedLibrary.xml xml documentation file to the installer that can be used for intellisense documentation.
    • Updated the example drivers since some recent API changes had caused them not to compile.
    • The SerialCommunication class's Connected property now always reports true when using Open() (as opposed to StartMonitoring()) when the port was successfully opened.
    • Changed the naming of the serial and tcp communications class's and some methods and events. See this forum thread for more information.
    • Added an new buffer to the serial and tcp communication classes which can be accessed by developers.
    • Added ConnectionMonitorTestBytes property to the serial/tcp helper classes. This supplements the ConnectionMonitorTestRequest property and allows for binary messages.
    • Added ConnectionMonitorTest event to serial/tcp helper classes to allow for custom connection testing.

Beta Version 0.16 (9/8/2009)

  • Configuration
    • Double clicking a device or rule in the Devices or Rules window now edits the item.
    • After editing or adding a new device or rule, the item will be selected after the list is refreshed.
    • Fixed a duplicate rule issue that prevented the rule's device or event from being changed.
    • Fixed the Import Configuration window so it allowed entering a password.
    • Fixed an issue that caused first time installations to not have the preset Global Variables Persist Variables set.

  • New Device Support
    • Nuvo Grand Concerto
      • Added support for the Nuvo Grand Concerto.
    • TV One 1T-MX-3344
      • Added support for TV One 1T-MX-3344 video matrix switcher.
    • System (Built-In) Media Player
      • A new built in media player is now included and is the preferred media player for non-drm files. This provides pc based music playing without the need or the Desktop Server application and iTunes, Winamp or JRMC.

  • Updated Device Support
    • Insteon
      • Added a Received X10 Preset Dim event to the Insteon driver.
      • The Received X10 Command command is no longer triggered when a Preset Dim command is received... so it's command code's have also been removed from it's EventArgs and filter.
      • Changed the preset dim level range from 0-31 to 1-32.
    • UBP
      • Added simpler support for turning on and off keypad LEDs.
      • Added LinkNames as a property.
    • Music Media Library
      • Added support for more file types. Supported file extensions: wma, mp3, mp2, mp1, mpa, ogg, oga, flac, mp+, mpc, mpp, ape, m4a, m4p, mp4, m4b.
    • HAI Omni Pro II
      • Added support for zone temperature and humidity.
    • Weather Channel
      • International locations are now supported. The Zip Code setting has been removed and replaced with a Location ID. This is a breaking change, edit this setting after installing.
      • Locations can now be searched for when setting the Location ID setting.
      • Added support for Weather Channel devices in the Action List.
      • Fixed an issue in the Weather Channel driver that was causing an error when some of it's properties were queried.
      • Most of the Weather Channel properties can now be bound to touch screen interface controls.
    • NOAA Weather
      • Most of the NOAA properties can now be bound to touch screen interface controls.
    • J. River Media Center
      • The JRMC track Duration property was not being displayed in the action list editor.
    • Media
      • The Media driver has been removed and replaced by the new System Media Player driver. This is a breaking change.

  • Touch Screen Viewer
    • Added an IP Camera viewer control. It currently supports jpeg and mjpeg formats.
    • Added a built in screen saver which supports dimming/blanking/and loading an alternate touch screen.
    • Added Display Text Changed event to the Label and Boolean controls.
    • Added Image Changed event to the Image List control.
    • The Label control's text macro window's device list is now sorted.

  • Touch Screen Builder
    • A welcome window is now shown when the application starts up giving the user a choice of creating a new interface or editing an existing interface.
    • A new Toolbox window with drag-and-drop support has replaced the Toolbox menu.
    • Cut/Copy/Paste/Delete now support multiple items at a time in the Image Browser.
    • New touch screens are now initially assigned a unique name to help inadvertently overwriting an existing touch screen with the same name.
    • Fixed an issue that caused exported touch screens to not be importable in the Administrator application.
    • Fixed an issue that cause all touch screens except the selected ones to be exported.

  • Installer
    • Removed the AMovie interop dll since it is no longer needed.
    • The pre-configured Global Variables device (named vars) now has it's Persist Values setting set to true.

  • Desktop Server
    • Re-engineered the Desktop Server's event notification communication layer so it no longer requires connecting back to the driver service with a new connection when events occur.

Beta Version 0.15.0.6 (8/9/2009)

  • Configuration
    • New rules can now be created based on an existing rule.
    • A text report can now be generated for a rule or device configuration. When viewing the report it can be saved to a file, printed, or copied and pasted into an email or posted on the forum for better support.
    • Added toolbar to the Rules Editor and the Device Editor windows.
    • Added a Restart Device button to the new Devices Editor toolbar.
    • The DateTime driver can now be used in the Action List Editor to do date/time related comparisons.
    • The top and bottom panes of the Devices and Rules Editor windows can now be resized.

  • Device Support
    • Send Email (SMTP)
      • Added a new Email Sender (SMTP) driver. SMTP was already supported via the scripting language, but the new driver provides access to sending emails using the action list editor.
    • DateTime
      • Added many new properties and methods.
      • Added new time zone setting chooser for devices that require it such as the DateTime driver.
      • Added new days of week setting chooser for devices that require it such as the DateTime driver.
    • J. River Media Center
      • Fixed an issue that would cause an error message to be logged each time an event occured in the JRMC device after it had been restarted.
    • Generic Serial Driver
      • Fixed a major bug that prevented the driver from communicating with the serial port after about a minute.
    • Text To Speech
      • When configuring the TTS voice name, a new voice name chooser has been added which lists all the installed voice names.
    • File System
      • The FileSystem driver's Copy, Move and Directory Exists actions did not work.
      • Added actions/methods to save binary and text files.
    • Insteon
      • The Insteon driver now logs the dim level for X10 preset dim commands.

  • Touch Screen Builder
    • Cut/Copy/Paste now work between multiple running Touch Screen Builder.
    • Added touch screen size presets to the touch screen properties window.
    • The touch screen can no longer be resized by dragging the window's edge when building an interface. It was too easy to inadvertently resize the interface.

  • Script Editor
    • The Script Editor did not insert a period when right-clicking and choosing Object Member List and then selecting a menu item.
    • The Script Editor now allows typing when the popup auto-complete window is open.

  • Scripting Language
    • The scripting language now allows empty statements, i.e. a statement that does nothing.

  • PocketPC Touch Screen Viewer
    • Fixed an issue that prevented inner touchscreen control dynamic display values from being properly refreshed.
    • Fixed an issue that prevented inner touchscreen control dynamic display values from being properly set when a device property change notification was received.

Beta Version 0.15 (8/3/2009)

  • Drivers
    • Insteon
      • The Insteon driver was not processing incoming messages properly.
      • The Insteon driver now retrieves all device levels after starting up.
      • The Insteon driver was not properly identifying received X10 house codes.
      • Added Incremental and Continuous Dim and Brighten commands to the Insteon driver.
      • Added SendRawX10 method to Insteon driver.
      • Added ReceivedX10Data event to Insteon driver.
    • NOAA
      • The NOAA weather driver has been improved to retry failed attempts to get the weather at shorter intervals.
    • Generic Serial
      • The serial driver was not opening the serial port and therefore was unusable.
    • Date/Time
      • The DateTime driver's next sunrise and next sunset were not being property set which cause the AtSunrise event to not occur.
    • Elk M1
      • Changed Elk M1 driver AreaAlarmState array property name to AreaAlarmStates to be consistent with the other array names. This is a breaking change if you have any action lists using the property.
    • W800
      • The W800 driver now ignores incoming repeated messages.
      • The W800 driver was not always running the ReceivedCommand event.
    • General
      • Fixed an issue that could cause some serial drivers to falsely report a connected status.

  • PocketPC Viewer
    • Added an errors log window to the PocketPC viewer.
    • Fixed an issue that caused the PocketPC Viewer inner touch screens to ignore device property change notifications.

  • Configuration
    • Added support for exporting and importing configuration.
    • Added 'Pause Action List' action to action list editor which will pause the script for a specified number of seconds when running.
    • Added 'Write Message to Log' action to action list editor.
    • Added a check box to the device configuration for logging diagnostics information to the log.
    • Added a check box to the rule configuration for logging each time a rule is run to the log.
    • The Script Editor now shows a popup auto-complete window when pressing the period key after a closing parenthesis.
    • The Script Editor's popup auto-complete window now closes when the user clicks on the script window.
    • Fixed an issue that prevented the property value editor to fail if the current value was null.
    • The Rules Editor now shows orange red text for rule lines for a missing device.
    • Auto-generated events now support a custom display name for the PropertyIndex filter parameter, ex. 'Area ID' or 'Light ID'.
    • When editing a rule's action list parameter, the event details for auto-generated events are now selectable.
    • Updated a few Desktop server property and configuration setting descriptions.
    • The Devices window now indicates when a device's driver service is disconnected.
    • The Rules grid is now sortable.
    • The j9ts touch screen file extension has been replaced by j9export which is backwards compatible.

  • Other
    • Fixed an issue that caused authentication to result in success when it should not have been.
    • Fixed an issue that prevented user passwords from being changed to a blank password.
    • Added better logging for unhandled exceptions in the services.
    • Fixed an issue that could cause an error when running a script that ended with a comment.
    • The log viewer can now auto-refresh showing the most recent entries.

  • Driver SDK
    • Added Log() method to the Driver class. It is recommended that you use this to record log entries instead of SharedLibrary.Logger.Log().
    • Added LoggingVerbosity property to the TcpIpDelimitedTextIO and SerialDelimitedTextIO classes.
    • Added Now and Today static properties to the DateTime datatype.
    • For better clarity, the DriverParameterAttribute class was renamed to DriverSettingAttribute. The old name has been marked as obsolete... developers simply need to rename any references in their drivers and will be notified of this when attempting to compile. This is a breaking change.
    • The DriverEventParameter now accepts a display name for the PropertyIndex event parameter which is shown in the Rules Editor to help better identify the parameter.
    • Added IsWeekday and IsWeekend instance properties to the ScriptDateTime class.
    • Added TurnOnLightByName, TurnOffLightByName, and SetLightLevelByName methods to the ILightingAndElectricalDriver interface. This allows for controlling lights by specifying the name of the light instead of the id.

Beta Version 0.14 (7/12/2009)

  • NEW TCP Communication Protocol
    • A new TCP communication protocol has been documented providing another interface for 3rd party developers to control the system and includes device property change notifications as well. This is a richer alternative to the simple RESTful Web Service using a persistent TCP connection.

  • Touch Screen Viewer
    • The Touch Screen Viewer and PocketPC Touch Screen Viewer now support receiving device propery change notifications when outside the master server LAN.

  • PocketPC Touch Screen Viewer
    • Added a checkbox to turn on/off the persistent tcp connection used for notifications.
    • Added a checkbox to turn on/off periodic polling.

  • Desktop Server
    • The Desktop Server now notifies the user if a second instance tries to run.

  • Driver Changes
    • Added security code support to W800 Driver.
    • Fixed a major issue in the CM15A driver that prevented it from being usable.
    • Fixed issues in the Insteon driver that caused referencing a light by ID caused an error.
    • Fixed an issue in the Insteon Driver that caused the SetLightLevel method to not behave property.

  • RESTful Web Service
    • Fixed an issue in the RESTful web service that prevented array values from being set.
    • Added a value type parameter to the RESTful web service when setting a property.
    • Fixed an issue that caused several drivers to not run a rule if there was more than one rule for a device.

  • Other
    • Improved connectability via the internet.

Beta Version 0.13.0.1 (7/5/2009)

  • Device Support Changes
    • Fixed an issue in the J. River Media Center driver (JRMC) that caused it to not send play/pause and volume change notifications.
    • Fixed an issue in the X10 CM15A driver that caused an error when enumerating the light levels.

  • Touch Screen Builder
    • You are now warned when attempting to import a touch screen that already exists and indicates the names of the imported touchscreens.

  • Scripting Langauge
    • The String data type now has Split and Join methods.

  • Driver SDK
    • The SDK has been updated to reflect recent driver design changes and includes better examples.

Beta Version 0.13 (7/3/2009)

  • New Drivers
    • Bluetooth Proximity support.
    • Nintendo Wii Remote support as a remote control.

  • New Driver Features
    • The Global Variables driver now supports setting initial variable values when the device starts up.
    • The Z-Wave (ViziaRF RZC0P) driver now polls device levels at a specified interval so that non-ViziaRF device levels can be semi-up-to-date.
    • The Z-Wave (ViziaRF RZC0P) driver now supports entering a name for each Z-Wave device in the configuration settings. This is useful for non-ViziaRF devices since the RZC0P does not support querying their names.
    • The Insteon driver now supports entering a name for each Insteon device in the configuration settings.
    • The X10 CM15A driver now supports entering a name for each X10 device in the configuration settings.
    • The X10 CM15A driver now supports receiving light level changes.
    • The X10 ACT TI103 driver now supports entering a name for each X10 device in the configuration settings.
    • The Date & Time driver now limits the timezone setting range to -12 to +13.
    • The Date & Time driver's Use Daylight Saving Time setting now uses the checkbox setting editor window.

  • Touch Screens
    • Added an Exit Button user interface control to the Touch Screen Viewer/Builder applications that can be used to close the viewer application.

  • Configuration
    • The standard device setting editor window now supports string lists and numeric lists.
    • Auto-generated events now support a custom description for the PropertyIndex filter parameter.
    • Fixed an issue that failed to prevent duplicate device names (which would cause a the masters service to fail to startup).

Beta Version 0.12.0.5 (6/27/2009)

  • New Scripting Language Features
    • Added DayOfWeek and DayOfYear properties to DateTime datatype.
    • Added GetRandomInteger and GetRandomNumber methods to the Math object.

  • New Driver Features
    • Added AtRandomIntervals event to DateTime Driver.

  • Fixes
    • Fixed an issue that would cause an error when adding a script to the action editor.
    • Fixed an issue that caused the the EventArgs metadata not to be available when adding a new script to the action list editor.

Beta Version 0.12.0.4 (6/27/2009)

  • Fix
    • An issue was identified that prevented some events from being used in a rule. For example, selecting an Elk M1 thermostat event type in the rule editor will cause an error to be shown.

Beta Version 0.12.0.3 (6/27/2009)

Please note that for those user upgrading, this version has a breaking change.

  • Drivers Enhancements
    • The Music Media Library driver now supports album cover art stored in folder.jpg files.
    • The Global Variable Driver values can now be remembered between restarts (including unexpected restarts). The persisted values are encrypted for added security. This is a breaking change, if you have have a Global Variables device (which you likely do) you will need to edit and save it's configuration before the device can be started.
    • The Insteon driver now supports a device list with name and addresses so you don't need to remember the device addresses when creating rules or touch screens.

  • Drivers Fixes
    • The Music Media Library driver (and subsequently the Media Browser touch screen control) could error if a music file's track number or year metadata were non-numeric and non-blank.
    • The Music Media Library driver now includes music files with missing metadata. It assigns the Album, Artist, and Genre as 'Unknown'.
    • The Squeezebox volume is now reset to its previous level after unmuting.
    • If the NOAA Weather driver was never able to retrieve the weather, an error would occur when a noaa weather device was selected in the Administrator application.
    • The Master Service would fail to start if an error occurred while scanning driver metadata (such if an assembly dependency file was missing).
    • Added logging to the Music Media Library driver when errors occur during scanning. The logging verbosity needs to be set to Diagnostic for some of the error to be logged.

  • Configuration Enhancements
    • When editing a rule's action list parameter, the event details are now selectable. So for example when the CallerID Modem's Incoming Call event is triggered, the Name, Phone Number, etc are now available in the action list editor.
    • When editing a rule action list script, the EventArgs (event arguments) object now provides pop-up information about the available properties within the EventArgs object when you press the period key.
    • Most default device configuration settings are now set automatically when a new device is added.

Beta Version 0.12 (6/20/2009)

Please note that for those user upgrading, this version has several breaking changes. Breaking changes are avoided as much as possible but because this is beta software the changes were deemed acceptable as they fix a few fundamental inconsistency issues.

  • Touch Screen Viewer/Builder
    • Added popup touch screen support.
    • The touch screen viewer can now play sounds when:
      • a touch screen is loaded,
      • a touch screen is unloaded,
      • a control is activated (like a button press).
    • New Controls
      • Media Controls
        • Added Media Library Browser control for browsing music, pictures and video.
          • Supports viewing Music by Artists, Albums, Genres, Titles, and Playlists; and can be filtered by letters.
          • Supports viewing Pictures and Video by Directory structure.
        • Added Media Browser Grouping Button control.
        • Added Media Library Item Text control.
        • Added Media Library Item Image control.
      • More Convenience Buttons
        • Added Infrared Button control.
        • Added Radio Button control (mutually exclusive with all other radio buttons in container).
        • Added Loader Radio Button control (combination of the loader button and the radio button).
        • Added Paging Button to manipulate controls that support paging such as the Device List, Media Browser, Paged List, and Spinner List.
        • Added Refresh button control to refresh the display values.
        • The Loader Button can now show and close a popup touch screen.
    • New Control Events
      • Added a double pressed event.
      • The single press event now fires when a control is pressed and held for a short period of time, or when it is released (whichever occurs first).
    • Usability
      • Touch screens are now cached to the hard drive between sessions. This improves performance.
      • Added a new toolbar to Builder app.
      • Added more control layout options. Center in Screen and many Control Spacing options.
      • Multiple touch screen interfaces can now be exported to a single file.
      • Changed the name of the control event to be more readable and understandable.
      • Each control now has a default control event which is auto-selected by default when no actions have yet been added.
      • The "Please Wait..." message is no longer displayed if the loading touch screen is cached.
    • Fixes
      • Fixed an issue that would allow the user to enter a duplicate control name, which in turn caused an error.
      • Fixed an error that could occur when a touch screen was loaded while the previous touch screen was still refreshing.
      • Fixed an error that occurred when editing a slider control.
      • Fixed an issue that caused the the OnClick event to fire on a control B when control A is clicked, but the mouse is released over control B.
      • After loading a touch screen or creating a new one, right clicking the background would not display the popup menu until the cursor was moved over at least one j9Control.
      • The label control would ignore device property change notifications when the macro alphabetical-casing was different.


  • Drivers Fixes/Changes
    • The UPB Driver now supports the Simply Automated UMC-DB9 PIM.
    • Changed the Elk M1 Driver to use 115200 baud when using a serial connection.
    • Fixed an issue causing the Elk M1 Driver to not retrieve keypad and probe temperatures on startup.
    • Fixed an issue causing the Elk M1 Driver to not retrieve output values on startup.
    • The SqueezeCenter Driver did not recognize nor broadcast mute change notifications.
    • Implemented a standard set of playlist control methods to the media devices. This required a few method name changes to the Squeezebox, iTunes and Winamp drivers. This is a breaking change if any of the methods were previously used in an action list.
    • Moved the Text To Speech features into its own driver, called TextToSpeech. This change was made because users were having a hard time finding the TTS features. This is a breaking change if you were using the Media driver for text to speech.
    • The CM17A Driver was incorrectly named as XM17ADriver. This is a breaking change if the driver was being used. Simply delete the old one and add this one with the same device name.
    • The CM15A Driver's on/off/dim/bright methods did not work. Also updated incorrect method descriptions.
    • The Date & Time driver would not work if the user entered geographic longitude and latitude coordinates for the location. Decimal coordinates worked though.

  • New 3rd Party Interface

  • Driver SDK
    • Moved the driver metadata from within the class to a new [DriverAttribute] attribute. This is a small breaking change, meaning all existing third party drivers will need to be modified and recompiled. This change allows the metadata to be inspected without needing an instance of the class.
    • Drivers can now be specified as supporting multiple instances per driver service.
    • Fixed an issue that caused 0x00 bytes to be dropped in the SerialDelimitedTextIO class.

  • Scripting Language
    • Added the null literal keyword.
    • Added exception handling with new try-catch-finally statements.
    • The end statement was causing an error.
    • The ScriptArray object now has LowestIndex, HighestIndex, and BoundsLength properties.
    • The ScriptArray object now defaults unset elements to null (instead of an empty string as before).

  • Installer
    • When upgrading, the installer now detects the previously entered master server hostname.
    • When installing on a client machine, the installer now detects the master server's software version, and notifies the user if it has not yet been upgraded.

  • Miscellaneous
    • Significant performance improvement when refreshing and loading property values in the Administrator Devices window. In some cases it is 25x faster.
    • Improved handling situations where a configured device's driver no longer exists or is no longer installed.
    • The Action List Editor can now be edited even when a device action command specifies a device name that does not exist.
    • Rules for devices that are not configured can now be edited.
    • The Administrator application now only allows a single instance to be running at a time (to avoid user confusion).
    • Added WellKnownLocalHostName to client configuration for installations crossing routers.
    • The Administrator, Touch Screen Viewer, and Touch Screen Builder applications now ensure that they are running at the save version level as the master server.
    • The Administrator application now only allows one instance of most child windows to be opened at a time.
    • A lot of documentation has been added to the web site for the applications.
    • Fixed an issue that caused global variables to always be set to a string type when using the action editor (not scripts).

Beta Version 0.11.0.6 (3/31/2009)

  • Ease of Use
    • You no longer need to look up id's for lights, zones, etc, when using the action list editor.
      • The action list editor now supports choosing lights, outputs, zones, etc, by their name. The associated device must be running for this feature to be available.
      • The action list editor now shows the name of the lights, outputs, zones etc. This comes at a performance cost since the editor has to "ask" the device for the display text to show, such as a light; but it significantly improves the readability of the action list.
    • You no longer need to look up id's for lights, zones, etc, when using touch screen control device property bindings.
      • The Touch Screen Viewer's device control binding property editor now supports choosing lights, outputs, zones, etc, by their name.

  • Drivers
    • The UPB driver now allows setting light levels with the touch screen slider control.
    • The UPB driver can now discover what links are associated with each upb device (it previously needed the upstart export file for this).
    • The ACT TI103 X10 driver now allows setting light levels with the touch screen slider control.
    • The Mi Casa Verde Vera driver has been expanded.

  • Driver SDK
    • Added built in support for receiving non-delimited text from serial and tcp I/O.
    • Added built in support for receiving binary data from serial and tcp I/O.
    • Added display text array property name to the ScriptObjectProperty attribute and ScriptObjectMethodParameter attribute. This directly facilitates the array property index name support in the action list and touch screen device control property binding.
    • Added array datatype and array minimum/maximum index arguments to the ScriptObjectProperty attribute. This helps facilitate the array property index name support in the action list and touch screen device control property binding.

  • Miscellaneous
    • Improved performance of retrieving device information from client applications (using a cache).
    • The top level touch screen checkbox now defaults to checked when creating a new touch screen.

  • Documentation
    • The Elk M1 Driver documentation has been updated to use the standard format and now has method details.

  • Fixes
    • The Touch Screen Builder's top level touch screen checkbox was not shown with a check mark when loading a top level touch screen.

Beta Version 0.11.0.2 (3/24/2009)

  • New User Accounts
    • Added User Accounts to the system.
    • Added Sign-on window to Administrator, Touch Screen Viewer, and Touch Screen Builder applications.
    • Added user account management to the Administrator application.
    • Added optional Username and Password command line arguments to the Administrator, Touch Screen Viewer, and Touch Screen Builder applications.
    • Added user account editor to the Administrator application.
    • Integrated user accounts with touch screen viewer and the PocketPC touch screen viewer.
      • The user only sees the touch screens that they have access to.
      • Individual controls can be disabled or hidden by user type.
      • The slider control's value range can be limited by user type.


  • Miscellaneous
    • Touch screens can now be marked as top level touch screens and the "Select a Touch Screen..." window can be filtered to only show top level touch screens.
      • IMPORTANT: The Touch Screen Viewer's "Select a Touch Screen..." window now defaults to only showing top level touch screens. If you are upgrading from a previous version, none of your touch screens will be marked as top level and therefore the window will not list any touch screens. To show your touch screens, uncheck the "Only show top level touch screens" check box.
      • Updated 'Sample - Blue', 'BASIC CONCEPTS', and 'SqueezeBoxController' touch screen examples to be marked as top level touch screens. This only affects new installs, not upgrades.
    • Rearchitected the PocketPC start-up to open the main touch screen window immediately and to use the wait cursor when appropriate.
    • Redesigned the look and feel of the "Connecting to Master Server" window to be consistent with the sign-on window.
    • When the user adds the first control to a touch screen, a message is now shown indicating that the control was placed in the upper left corner of the touch screen.

  • Fixes
    • Fixed an issue in the Action List Editor when editing the index for a device property that returns an array when the property had a string list or numeric list associated with it's value. The editor wouldn't let you properly edit the array index.
    • Fixed an issue in the Log Viewer that would cause an error when the result set was larger than 8K.
    • Fixed an issue that could cause an error in the Log Viewer after deleting the log file.
    • The PocketPC Touch Screen Viewer was not loading touch screen definitions from the cache when loading a different one from the menu.
    • The installer now creates windows firewall program exceptions (in addition to the port exceptions). This is because the desktop applications were still asking for permission to allow the program.

Beta Version 0.10 (3/11/2009)


  • System
    • Added 'push/notification technology' for device property changes. When an enrolled device property changes, the Touch Screen Viewer applications are notified of the change (via a udp multicast message). This means that the Touch Screen Viewer application does not need to poll (pull technology) for device property changes as often. This creates a significant performance boost and lowers the cpu load as well. The polling interval now defaults to 60 seconds and can be changed using the command line.
    • Due to the new auto-generated property change events, some device events have been removed. It is advised that you check all your rules.
    • The Master Service now also uses tcp and udp port 12991, as well as tcp port 12990.
    • Added support for system messages when starting up some applications.
  • Administrator
    • Added system status dashboard to Administrator application.
    • Added log viewer detail window with copy to clipboard support.
    • Added right-click menu to log viewer.
    • The Log now stays less than 250KB.

  • Configuration
    • Device Configuration
      • Added Driver Chooser window when adding a new device.
      • The device list columns are now sortable.
    • Action Lists
      • The action list now shows the display text for numeric list values. Ex "Off (0)"
      • Added infrared library support to the action lists which makes sending ir commands easy.
    • Client Configuration
      • Added new clientconfig.exe command line application to change client configuration settings such as logging verbosity.
    • Fixes
      • Fixed an issue causing the USBUIRT and Global Cache InfraredCommandName whenever rule filter to error when no infrared commands have been associated with the device.
      • Fixed an issue causing an error when the configuration is loaded some point after setting a touch screen as the default for a pc.
      • Fixed a issue causing the action list member editor to not show the drop down list for string and numeric value lists on the 'Value' tab after having set the value using a different tab.


  • Touch Screen Viewer
    • Performance Enhancements
      • Now takes advantage of push technology to receive device property change notifications for displaying updates.
      • Improved performance of retrieving label values from device properties.
      • Added in-memory touch screen definition cache to improve load times.
      • Changed the refresh rate to every 60 seconds and can be changed using the command line.
    • User Interface
      • Added Menu when pressing the Space key or the Apps key on a Windows keyboard.
      • Added Kiosk mode, which prevents closing, showing menus, or using other applications. /kiosk command line parameter
      • Added a 'Refresh Display' menu item and shortcut key of F5.
      • Added "Please Wait..." notification when loading a touch screen.
      • In windowed mode, the maximize button now puts the window in fullscreen mode.
    • Fixes
      • Fixed an issue causing the touch screen viewer to error when changing the loaded touch screen via an event action.
      • Fixed an issue with background painting in fullscreen more when starting up.
      • Fixed some window sizing issues.

  • Touch Screen Builder
    • New UI Controls
      • Added Slider UI control.
      • Added Image List UI control.
      • Added Media Player Cover Art UI control.
      • Added Device Property Offset Button UI control.
      • Added Touch Screen Loader UI Button control (for convenience and support for PocketPC interfaces).
    • UI Control Enhancements
      • Added true/false text to the Boolean UI control.
      • Added OnTrueMouseClick and OnFalseMouseClick events to the Boolean UI control.
    • Other Enhancements
      • The device property picker (for macros and bindings) now supports array indexes.
      • Added 'Refresh' method to Touch Screen object and controls.
      • The touch screen members and control members listed in the action list now have an icon image next to them.
      • When creating a new touch screen interface, the background color now defaults to transparent.
      • The title bar now indicates which touch screen is loaded.
    • Fixes
      • Fixed an issue causing the label ui control's background image location to get cleared.
      • Fixed an issue causing an error after renaming an item in the image browser and immediately double clicking it.

  • Drivers

Beta Version 0.9 (12/31/2008)

  • Configuration
    • Added an easy to use point and click interface (called the Action List) to the rules editor and the touch screen control event editor. This is an alternative to using the advanced scripting language.
    • Added context (alternate mouse button click) menu to the device window's device list.
    • Added 'Restart Device' to Device List context (alternate mouse button click) menu.
    • Added more descriptions to the rule tab and device window tabs to aid in ease of use.
    • Added serial port selector for drivers that require a serial port assignment as a driver parameter.

  • Touch Screen Viewer
    • Added Errors Viewer which is useful in debugging touch screen event problems while they are running.
    • Fixed an issue causing the change of some control properties through scripting to not immediately appear to have taken effect, such as Left, Top, Width, Height, Visible, etc.

  • Drivers
    • Added HTTP Driver which can retrieve web page content and post data to a web server.
    • Added Quality Kits QK108 Driver which supports relays and inputs.
    • The Elk M1 Driver now detects when the connection to the Elk M1 has been lost and tries to reconnect.
    • The Media Driver was only playing the first second or so of the media file.
    • The DateTime Driver was incorrectly interpreting negative numbers for longitude and timezone as Eastern hemisphere values which resulted in incorrect sunrise and sunset times.
    • The USB-UIRT Driver was incorrectly returning an empty ir code sequence when no code was learned.

  • Scripting Language
    • Fixed an issue that caused some touch screen control properties to be inaccessible via script.

  • Installer
    • The installer was failing to install supporting files on satellite pc's for the Media Driver and X10 CM15A Driver.

Beta Version 0.8.0.3 (12/17/2008)

  • Touch Screen Viewer
    • When clicking a button ui control which has a "pressed" image, but no "mouse over" image, the image would not change when the mouse button was released until the mouse was moved away from the button.

  • Touch Screen Builder
    • When importing a touch screen that contained images, an error would occur if the image destination directory(s) did not exist.

Beta Version 0.8.0.2 (12/4/2008)


  • Touch Screen Viewer
    • The mouse pointer can now be hidden using the CTRL-M shortcut keys (or from the menu when in windowed mode).

Beta Version 0.8.0.1 (11/30/2008)


  • Configuration
    • The Administrator Rules window was not requiring that required event parameters be set before saving which could prevent the rule from running properly.
    • The Administrator Devices window was not requiring that required driver parameters be set before saving which could prevent the device from running properly.
    • The Scanner And Camera Driver now ensures that the selected imaging device supports capturing a still image after the user selects the device.

  • Touch Screen Viewer
    • The Touch Screen Viewer and Builder applications are now allowed to be running at the same time.
    • Added CTRL-R shortcut key to reload the current touch screen.
    • Fixed an issue that caused the Web Browser touch screen ui control to fail when it's auto-refresh property was not checked.
    • Fixed an issue that caused the Web Browser touch screen ui control to not be displayed when its parent touch screen was loaded dynamically.
    • Fixed an issue that could cause the Web Browser control to take longer than normal to free up it's memory when removed from the window.

  • Touch Screen Builder
    • Fixed an issue where you select one control then hold CTRL down and attempt to drag a control, the selected control would fly off the window.
    • The tabbing order in the touch screen properties window is now in order.
    • Added vertical scroll bars to multi-line text fields the in control properties window.
    • Fixed an issue causing the DateTime ui control to default to using an invalid name of DateTime.
    • Fixed an issue that caused the DateTime control properties to not show a sample date & time.

Beta Version 0.8 (11/23/2008)

  • Touch Screen Builder & Viewer
    • The Interface Builder/Viewer has been renamed to Touch Screen Builder/Viewer.
    • First time installs include a sample touch screen interface to control your lighting, media players, climate control, weather, tasks, outputs/relays, and security. This interface is ready to use out of the box and can be further customized by the user with the Touch Screen Builder application. (Screenshots)
    • Complete overhaul of the touch screen builder and touch screen viewer applications.
      • Fixed the screen flicker problems.
      • Added support for nested touch screens (i.e. touch screens within touch screens).
      • Added import/export support.
      • Added Image Library Browser (with import image support).
      • Added Web Browser ui control.
      • Added Device List ui control.
      • Added Generic List ui control.
      • Added Date & Time ui control.
      • Added Paged List ui control.
      • Added multiple ui control alignment and sizing support in the touchscreen builder.
      • Added Select All support.
      • Added Load and About menus to the Viewer's system menu (upper left corner menu).
      • Added Cut/Copy/Paste/Delete/Select All hot keys to touch screen builder.
      • Added Label ui control property value browser (for dynamic text).
      • Added the this scripting keyword to reference the current control in action scripts.
      • Added OnLoad event to all ui controls.
      • Added horizontal and vertical text justification support on label and button ui controls.
      • Fixed rendering issue in the color picker.

  • Desktop Server
    • Fixed an issue in the Desktop Server application that was preventing it from automatically exiting when windows shuts down.


  • Installer
    • Can now upgrade or uninstall previously installed versions (v0.7.0.0 and newer).
    • The client configuration file is now deleted when uninstalling.
    • Now checks if any applications are running that could cause an uninstall to be incomplete or fail.


  • Documentation
    • The Touch Screen Object documentation has been added. This describes how to use the scripting language to control the touch screen user interface, such as hiding controls or loading other touch screens programmatically through action scripts.

  • Security
    • All applications and drivers are now signed with a strong name signature theoretically preventing them from being tampered with.

Beta Version 0.7.0.2 (10/23/2008)

  • Configuration Editor
    • Fixed an issue preventing the saving of new rules.

Beta Version 0.7.0.1 (10/13/2008)

  • Configuration Editor
    • Fixed an issue preventing the editing of rules with an apostrophe in the display name.

  • Installer
    • Fixed an issue preventing the installation from completing successfully when Windows Firewall is disabled.

Beta Version 0.7 (10/6/2008)

  • Configuration Editor
    • Added Infrared (IR) Library for use with infrared blaster/receiver drivers.
    • Added learn infrared command support, integrated with new Infrared Library.
    • Added third party plug-in device parameter editor support allowing custom device parameter types.
    • Added third party plug-in device event parameter editor support allowing custom device event parameter types.
    • Fixed an issue when executing a method would sometimes incorrectly indicate that the wrong number of arguments were used.
    • Reduced the initial size of some windows to ensure they fit in a 800x600 display resolution.


  • Built-in Web Site

  • Driver SDK
    • Added IRDriverBase as the base for all IR drivers and provides support for processing the infrared library and handling dynamic properties.
    • Added IIRBlasterDriver and IIRRecieverDriver interfaces as common interfaces for infrared drivers.
    • Added IDriverParameterEditor interface for third party driver parameter editor support.
    • Added IDriverEventParameterEditor interface for third party driver event parameter editor support.

  • Installer
    • Fixed an issue that caused the Desktop Server Start Menu icon to be blank.
    • Added the DriverSDK.zip file to the Start Menu.
    • Known issue: The Windows Firewall must be enabled in order for the installation to complete successfully.

Beta Version 0.6.0.1 (7/31/2008)

  • Configuration Editor
    • The rules editor now allows you to test it's script from the context menu.
    • After saving a rule and the grid is refreshed, the edited rule is reselected.
    • Fixed an issue when editing a rule that caused only those entered whenever parameters to be shown.
    • Known Issue: Executing a method will sometimes incorrectly indicate that the wrong number of arguments were used. (fixed in v0.7)

  • Driver Updates
    • Added a LightLevelChanged (PLC level changed) event to the Elk M1 Driver.
    • Added whenever parameters for NodeID and PercentOn to Vizia RF Driver LevelChanged event.
    • Added support for choosing a specific voice name to use with the Media Driver text to speech feature.
    • Added base Global Cache GC-100 driver. This driver is under construction and is currently very limited in functionality.
    • Known Issue: The Elk M1 Driver TurnOnOutput() and TurnOffOutput() methods are reversed in functionality in this version and prior versions.

  • Driver SDK
    • Fixed an issue in the TcpIpDelimitedTextIO class that forced a delimiter of <cr><lf> to always be used.

Beta Version 0.6 (7/30/2008)

  • Configuration Editor
    • This release includes a huge step forward in ease of configuration by providing the following:
      • Devices can now be added and modified through an easy to use interface. Screenshot
      • Rules can now be added and modified though a user interface. Screenshot
      • Script Editor now shows syntax highlighting. Screenshot
      • Script Editor supports context sensitive auto-completion. Screenshot
    • This means it is no longer necessary to manually modify the configuration file.
    • Added a user interface for executing device methods to supplement the property editor. Screenshot
    • Enhanced property, method parameter and event parameter editors for enumeration support.
    • The configuration file is now encrypted to protect private data.

  • Built-in Web Site
    • Added dynamic web pages for all devices of the following types:
      • Climate Control: View current settings and change set points. Screenshot
      • Lighting: View light names and levels. Turn on/off or dim/brighten lights. Screenshot
      • Security: View all area and zone statuses. Screenshot
      • Media players: View currently playing tracks and control the player(s). Screenshot
      • Tasks: Activate named tasks. Screenshot
      • Outputs: View and control output/relay states. Screenshot
      • Weather: View weather conditions. Screenshot
    • The dynamic pages are all generated using J9SP and can be altered/skinned/and extended by the user as desired.

  • Interface Designer
    • The interface definitions are now reloaded when an interface is saved from the interface designer.
    • When the interface designer is run and no interfaces have been created, a new one will automatically be created.
    • Double clicking a control now displays the properties window.
    • Added macro syntax example to the text property page.
    • Added image location examples to the appropriate property pages.
    • Controls are now refreshed in the window immediately after being edited.
    • Added syntax highlighting and auto-complete to script editor.
    • Non-web images are now required to be located under the InterfaceImages directory on the master service server.
    • Added images icons to menu items.
    • Added boolean control to show an image based on result of boolean script expression.
    • Added Edit, Controls, and About menus.
    • Added Size and Location to basic control property page.
    • Enhanced selection/focus rectangle to be more visible.
    • Added multiple selection support using the CTRL key.
    • Added more keyboard shortcut keys, which can be viewed in the About window. (Press F1 in the Viewer)
    • Fixed an issue that caused cut and pasting of controls not to work.
    • Fixed an issue where the color picker was drawing the same color repeatedly in it's drop down list.
    • Known Issue: The graphics on the viewer flicker excessively with mouse movement, which will be addressed in a future version.

  • Driver Updates
    • Added iTunes Driver.
    • Added SqueezeCenter Driver rules.
    • Added keypad text display updates to the Elk M1 Driver.
    • Added name retrieval support of lights, outputs, tasks, thermostats, areas, and zones in Elk M1 Driver.
    • Added new Media Driver to support playing media on machines other than the master server.
    • Improved support for retrieving missing driver files from the master service. Driver files can be centrally located on the master service server and/or on each driver service server.
    • Fixed an issue with the Timers Driver that caused the methods to be inaccessible to a script.

  • Driver SDK
    • Added a Microsoft Visual Studio solution with sample driver source code.
    • Added more meta data support for script editor auto-complete.
    • To facilitate auto-generated user interfaces, implemented common scripting interfaces across drivers, such as climate control, lighting, security, media players, tasks, outputs, and weather. See System Script Object for related driver retrieval methods.

  • Scripting Language
    • Added System Script Object to the Scripting Language.
    • Added DeviceContainer Object to the Scripting Language.
    • Extended the String Object by adding several new instance methods.
    • Fixed bug where array brackets following an object member would cause an error.
    • Improved detection of undeclared variable use to throw informative errors.
    • Fixed an issue when using consecutive else blocks.
    • Fixed an issue where short circuiting comparison expressions would cause an error.

  • Miscellaneous
    • When the logging service can not be contacted, logging is cached locally until a connection is made.
    • Added icons to all windows applications windows.

Beta Version 0.5 (6/5/2008)

  • Easier installation
    • NOAA Weather and Global Variable devices are pre-configured as sample devices.
    • Added Device Information viewer with property editor in the Administrator application.
    • Added web site installation with sample J9SP web page.
    • Added start menu shortcut to website when installing built-in web server.
    • Added Windows Firewall port exceptions to the installer.
    • Installer now backups previous installation files.

  • Web Browser Support



  • Miscellaneous
    • Desktop Server was missing from the installer.
    • Reworked the plug-in driver abstract class for driver developers.
      • Changed member names to include "Driver" in them to reduce the chance of member name collisions.
      • Added DriverAuthor, DriverDescription, DriverMajorVersion and DriverMinorVersion properties.
    • More enhancments to Script Tester window.
    • Fixed an issue when starting the interface editor and clicking cancel.

Beta Version 0.4 (5/9/2008)



  • Miscellaneous
    • Enhanced Script Tester window.

Beta Version 0.3 (4/20/2008)


  • Scripting Language
    • Added scripted function support to the scripting language which allows functions to be declared/written in scripts.

  • Miscellaneous
    • Color coded the rows in the log viewer based on severity.
    • Enhanced Installer to show window while installing/uninstalling.

Alpha Release 2 (3/20/2008)

  • Interface Designer
    • The interface designer is now much more intuitive to use.
    • Allow user's to configure the base interface info, such as the interface name, background color, etc.
    • Supports base interface deletion.
    • Fixed issue - was not drawing the background color.
    • Fixed issue - was not drawing the background image.
    • Fixed issue - would error when clicking on the background (as oppose to a control).
    • Added validations on control names and device names to ensure they comply with the scripting language identifier naming rules.

  • Drivers
    • Serial port support for the Elk M1 driver has been added.
    • Preliminary work on the USB-UIRT driver.

  • Driver SDK
    • Added base serial and tcp/ip delimited response drivers to help facilitate quicker driver development. Both of these implement the same base delimited response communications class.

Alpha Release 1 (3/17/2008)

  • Initial alpha release

Estimated Beginning (10/1/2007)

Vizia RF library and master service/driver service beginnings.
Privacy Policy | Conditions Of Use

Copyright ©2014 Codecore Technologies, All rights reserved.