Change Log : jHomeNet server package Written by : Dave Irwin (jhomenet at gmail dot com) Note: Some of the files listed in this file may be not be included with the actual release, however they should be included in the source versioning repository. ______________________________________________________________________________ Version 0.5.4 DESCRIPTION ----------- This release contains both minor feature enhancements and bug fixes. See below for more information. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ 2007.12.08 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * [Issue #1845956]: This issue has been resolved. The source of the problem turned out to actually be in the jhomenet-ui package. When a user would click on the "Edit" drop-down option of any sensor responsive object (i.e. a condition, a response, a plan) the window loads the sensor responsive object and displays its current contents in the window. However, when a user then saved the updated sensor responsive object instead of actually updating the existing object it would simply create a brand new object. When doing so the object's Hibernate ID (i.e. primary key) would be set to null (as all new objects are) instead of retaining the original Hibernate ID. When the object is then saved in the database because the object's Hibernate ID was null Hibernate thought that it was a brand new object instead of one that should be updated. All of the sensor responsive window classes have been updated to check whether the loaded sensor responsive object is null or not. If it's null then simply create a brand new object. However, if it's not null then we want to update the object instead of creating a brand new one. ** New Features * Added a new sensor responsive "event table" in the sensor responsive control panel that displays recent plan events. For example, when a plan has been scheduling and is executing, when a plan runs and the result state changes this will then be displayed in the event table. ** Changes * ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * [Issue #1845956]: In the 0.5.3 release it's been noticed that sensor responsive objects are not being properly updated in the database when a user attempts to edit an object and then save the updates to the database. ______________________________________________________________________________ Version 0.5.3 DESCRIPTION ----------- This release contains both minor feature enhancements and bug fixes. See below for more information. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ 12/3/2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * Added support for saving sensor responsive expressions (a collection of conditions) and plans. * Added some new UI visual features including new sensor responsive response icons. * Added some new types of sensor responsive responses including a new email response. * Added some new types of sensor responsive conditions including a time of day condition (including support for using either the current sunrise or sunset time). The sunrise/sunset feature requires that a Weather Channel weather gateway be defined that matches the zip code defined in the server.cfg.xml configuration file. * Added limited support for different user roles (i.e. adminstrator or user). ** Changes * Added support for the DS1820 1-Wire temperature sensor. * Redesigned the sensor responsive control panel. * Reworked some of the backend sensor responsive system design to fix some bugs and add functionality. * Reworked portions of the Weather Channel weather gateway design. ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * ______________________________________________________________________________ Version 0.5.2 DESCRIPTION ----------- This release contains both minor feature enhancements and bug fixes. See below for more information. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ 10/11/2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * Added support for the Dallas Semiconductor DS2405 1-Wire switch. Affected files/classes include: jhomenet.server.hw.driver.onewire.OneWireSwitchDriver.java resources/conf/hardware.cfg.xml User(s): dhirwinjr (10/11/2007) ** Changes * Removed the hardware icon filename definition from the hardware configuration files (hardware.cfg.xml and hardware_test.cfg.xml). Instead, the hardware icon filename definitions have been moved to the UI package. Affected files/classes include: resources/conf/hardware.cfg.xml resources/conf/hardware_test.cfg.xml User(s): dhirwinjr (10/11/2007) ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * ______________________________________________________________________________ Version 0.5.1 DESCRIPTION ----------- This release contains both minor feature enhancements and bug fixes. See below for more information. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ 9/17/2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * [Issue #1784299]: Updated the authentication login screen and created a fixed panel size rather than using a preferred panel size. This now fixes the "Exit" button to a particular location. Affected files/classes include: jhomenet.server.auth.swingx.JHSLoginPanel.java Updated by: dhirwinjr (8/29/2007) ** New Features * Added the ability for the server to detect the version of the current database configuration and then act accordingly. For example, if the database server is present by a database has not been created the server will automatically create the database and the necessary tables and foreign keys. If the database is already present the server will then check to make sure that the database configuration version is compatible with the server's database dependency requirement. If the running database is not compatible the server will prompt the user ask if the existing database should be deleted and re-initialized or whether the server should exit and allow the user to backup the existing database. Future server releases will hopefully contain functionality to actually backup the database contents automatically, but a clean and elegant solution was not available at the time of this release. Affected files/classes include: jhomenet.server.ServerDatabaseVersion.java [new] jhomenet.server.ServerDatabaseVersion.hbm.xml [new Hibernate config file] jhomenet.server.CheckSchemaBootTask.java [new] jhomenet.server.persistence.DatabaseVersionPersistenceFacade.java [new] jhomenet.server.persistence.hibernate.SchemaUtil.java [new] resources/conf/hibernate.cfg.xml Updated by: dhirwinjr (8/17/2007) ** Changes * ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * ______________________________________________________________________________ Version 0.5.0 DESCRIPTION ----------- This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ 8/4/2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * Added the jHomeNet server library class. This class is used to check for that the jHomenet commons and UI library dependencies are met. It's in this class (currently at least) that one defines which libraries are required for this particular version of the jHomeNet server. Affected files/classes include: jhomenet.server.JHomeNetServer.java jhomenet.server.JHomenetServerLibrary.java [new file] Updated by: dhirwinjr (8/4/2007) * Added functionality that no longer requires the user to run the Ant "init-db" task in order to initialize the database. Instead, this functionality has also been moved into the actual jHomeNet server. This way, the first time the user starts the jHomeNet server, the server checks for the existence of the database. If it's not present, it creates the database and then populates the database with the required tables and foreign keys. If the database is already present then nothing is done. The big advantage of this is that it now no longer requires the end user to install Ant to initialize the database if the only thing they want to do is run the server. A developer will still have the option of initializing the database using the Ant "init-db" task. Note: this added functionality is built on top of existing Hibernate tools and still relies on Hibernate for the underlying ORM. All database connection information is still configured through the Hibernate configuration file. Affected files/classes include: jhomenet.server.JHomenetServer.java jhomenet.server.boot.CheckSchemaBootTask.java [new file] jhomenet.server.persistence.hibernate.HibernateUtil.java jhomenet.server.persistence.hibernate.SchemaExportUtil.java [new file] Updated by: dhirwinjr (8/1/2007) * Made some significant additions/changes to the Ant build.xml and default.properties build files. In particular, the build files will automatically update and create several of the batch and readme files based on current build variables and template files. This has removed the need to constantly update the Windows batch files with the updated jhomenet-commons and jhomenet-ui jar filenames, especially given that the library filenames now will contain the current version information. When a library's version information is incremented, it only needs to be updated in the library's default.properties build properties file. Note: other dependent libraries may also need to update their library version dependency information which may require a source code update and re-compilation. Affected files/classes include: docs/changelog.txt_tpl [new template file; refactored from changelog.txt] docs/jhomenet-server-readme.txt_tpl [new template file: refactored from jhomenet-server-readme.txt] build.xml default.properties server_dev.bat_tpl [new template file; refactored from server_dev.bat] server_jar.bat_tpl [new template file; refactored from server_jar.bat] Updated by: dhirwinjr (7/29/2007) ** Changes * Updated the X10 hardware driver and container classes. The X10 hardware driver interface had been disabled in prior releases. This change now provides functionality for controlling an X10 light switch through the system. Affected files/classes include: jhomenet.server.hw.driver.X10.X10Container.java jhomenet.server.hw.driver.X10.X10ContainerLoader.java jhomenet.server.hw.driver.X10.X10SwitchContainer.java jhomenet.server.hw.driver.X10.X10SwitchDriver.java Updated by: dhirwinjr (7/25/2007) * Updated JScience library to version 4.1 Affected files/classes include: lib/jscience.jar Updated by: dhirwinjr (7/23/2007) * Updated the hardware configuration files to use the new hardware icons. The new icons now are PNG files rather than GIF files. Affected classes/files include: resources/conf/hardware_test.cfg.xml resources/conf/hardware.cfg.xml Updated by: dhirwinjr (7/23/2007) ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * [Issue #1784299] When a user clicks on the "Login" button on the authentication window the "Exit" button shifts upwards slightly. ______________________________________________________________________________ Version 0.4 DESCRIPTION ----------- This is the fourth major release of the jHomeNet server package. This release includes a number of different additional features that have been added as well as changes to the existing design. Refer to the Bug Fixes/New Features/Changes descriptions below for more specific information. The biggest addition in this release is the inclusion of the Sensor Responsive System. The sensor responsive system can be used to execute certain responses based on a set of conditions. For example, a condition might be if the temperature of a certain temperate sensor is create than a 90F, execute an email response that would automatically send an email with pertitent information. Note: most of the actual Sensor Responsive System functionality is found in the jhomenet-commons package. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ July 16, 2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * Added a UI manager that manages the behavior of the main window and console. In particular, the UI manager keeps track of which main windows (not internal windows in the desktop view) are open and makes sure that if the user decides to close the main window the console will then be displayed. This can be seen by clicking on the File > Close option. If the console is not already open, doing this will close the main window and then open a console. If the console is already open, the main window will close and nothing else will happen. Alternatively, the user may want to shut the application down completely. This can be done by clicking on the File > Shutdown option. In this case, the main window is closed, no console will be displayed, and the application will shutdown. Affected classes/files include: jhomenet.server.ui.UiManager.java User(s): dhirwinjr (6/18/2007) * Reworked the authentication framework to now include a graphical login option. The user may specify what type of login should be used (text based console or graphical UI) using the server.cfg.xml configuration file. Specifically, in the "start-config" node, set the "console display=" value to "true" to use the text based console or "false" to use the graphical UI. Part of this work required pulling components from the SwingX project's authentication package into this project and making minor modifications. This is somewhat undesirable as any future modifications to the SwingX code base won't be reflected in these components. Affected classes/files include: jhomenet.commons.configuration.ServerSystemConfiguration.java jhomenet.server.auth.AuthManager.java jhomenet.server.auth.AuthWindow.java jhomenet.server.auth.CustomLoginService.java jhomenet.server.auth.swingx.JHSLoginAdapter.java jhomenet.server.auth.swingx.JHSLoginDialog.java jhomenet.server.auth.swingx.JHSLoginEvent.java jhomenet.server.auth.swingx.JHSLoginListener.java jhomenet.server.auth.swingx.JHSLoginPanel.java jhomenet.server.auth.swingx.JHSLoginService.java jhomenet.server.boot.StartAuthBootTask.java jhomenet.server.configuration.AbstractServerConfigurationXmlRepository.java jhomenet.server.configuration.ServerConfigurationXmlDom4jRepository.java jhomenet.server.configuration.ServerSystemConfigurationImpl.java User(s): dhirwinjr (6/2/2007) * Added support for multiple simultaneous users. Previously, the system only supported a single user being logged into the system at once. The authentication manager class now has the ability to track multiple different users. Affected classes/files include: jhomenet.server.auth.AuthManager.java jhomenet.server.auth.AuthFacade.java jhomenet.server.auth.CustomLoginService.java jhomenet.server.console.ConsoleService.java jhomenet.server.console.LocalConsoleService.java jhomenet.server.console.Session.java; jhomenet.server.console.LocalSession.java; User(s): dhirwinjr (5/28/2007) * Added user authentication to the local console. Previously at startup, the console would automatically log the user into the system. Starting in this release a user now must enter a username and password. The authentication uses the authentication tools as previously implemented in this release (see below). Incremented the jHomeNet console version from 0.1 to 0.2 with this change. Affected classes/files include: jhomenet.server.JHomeNetServer.java jhomenet.server.console.ConsoleService.java jhomenet.server.console.LocalConsoleService.java jhomenet.server.console.Session.java; jhomenet.server.console.LocalSession.java; User(s): dhirwinjr (5/27/2007) * Added user authentication to the server. This is done by storing a username and hashed password in the database. When a user attempts to authenticate, the systems checks if the username is currently in the database, and if it is it then checks that the stored and supplied user password hashes match. Currently, this functionality is only supported while storing user authentication information in the database persistence. The default username/password for testing purposes is admin/admin. Affected classes/files include: jhomenet.server.auth.AuthFacade.java jhomenet.server.auth.AuthManager.java jhomenet.server.auth.User.java jhomenet.server.auth.CustomLoginService.java jhomenet/server/auth/User.hbm.xml (Hibernate configuration file) jhomenet.server.boot.CheckAdminUserBootTask.java jhomenet.server.dao.DAOFactory.java jhomenet.server.dao.UserDao.java jhomenet.server.dao.hibernate.UserDaoHibernate.java resources/images/login.psd (Adobe Photoshop file) src/resources/images/login.png User(s): dhirwinjr (5/16/2007) ** Changes * Based on some minor changes to the ResponsiveManager interface API from the jHomeNet commons library, updated the ResponsiveManagerImpl class. In particular, this included added new "load()" methods that are used to load entity objects from the persistence layer. This is in addition to the existing "get()" methods that returned a list of the particular entity. This way the entities are loaded from the persistence layer only once during application startup. Other classes wishing to retrieve references to the entities should make use of the "get()" methods. Previsously, the "get()" methods included code that pulled entities from the persistence layer. This was both unnecessary and costly to perform. Affected classes/files include: jhomenet.server.responsive.ResponsiveManagerImpl.java User(s): dhirwinjr (7/5/2007) * Made some minor Updates to the boot tasks and the boot task manager API. In particular, the AbstractBootTask now takes as a constructor parameter a reference to the BootManager rather than passing it in as a parameter in the execute() method. Also added a new AbstractVoidBootTask class that provides a default get() method. Affected classes/files include: jhomenet.server.JHomeNetServer.java jhomenet.server.boot.AbstractBootTask.java jhomenet.server.boot.AbstractVoidBootTask.java [NEW] jhomenet.server.boot.BootTask.java jhomenet.server.boot.BootTaskManager.java jhomenet.server.boot.CheckAdminUserBootTask.java jhomenet.server.boot.CheckLibrariesBootTask.java jhomenet.server.boot.IntroBootTask.java jhomenet.server.boot.LoadPluginsBootTask.java jhomenet.server.boot.ServiceManagerBootTask.java jhomenet.server.boot.StartAuthBootTask.java User(s): dhirwinjr (6/13/2007) * Updated the console service and the way that the console window is closed when a user exits from the session. Previously, when a user exits the session it would close the entire jHomeNet server down. This is not desireable. Rather, the user when they exit the current session and will be presented with a new login screen. The jHomeNet server will continue to operate as if nothing has changed. A new command has been added to the console service in order to enable shutting down the actual jHomeNet server (the current "exit" command will simply exit the current session, not the server). Affected classes/files include: jhomenet.server.console.ConsoleService.java jhomenet.server.console.ConsoleWindow.java jhomenet.server.console.ConsoleWindowImpl.java jhomenet.server.console.LocalConsoleService.java jhomenet.server.console.LocalSession.java jhomenet.server.console.Session.java jhomenet.server.console.command.ShutdownServerCommand.java User(s): dhirwinjr (5/31/2007) * Updated the jHomeNet draft user manual to match the changes made in this release. Affected classes/files include: docs/jhomenet.doc User(s): dhirwinjr (5/28/2007) * Updated the hardware data persistence setup. Previously, access to the hardware data persistence resources was through the jhomenet.commons.persistence.HardwareDataPersistence class. In order to generalize the persistence process, this has been replaced with a DAO model. Affected classes/files include: jhomenet.commons.dao.GenericDao.java jhomenet.commons.dao.HardwareDataDao.java jhomenet.server.console.command.PersistDataCommand.java jhomenet.server.dao.txt.HardwareDataDaoTxt.java jhomenet.server.hw.HardwareListenerImpl.java jhomenet.server.hw.mngt.HardwareManagerImpl.java jhomenet.server.work.units.PersistDataWorkUnit.java jhomenet.server.work.units.CaptureAndPersistDataUnit.java User(s): dhirwinjr (5/27/2007) * Updated the way the hardware configuration is defined in the server configuration file. As of this release, only XML based hardware configurations are supported. Future releases will also support text based and Hibernate based hardware configurations. Affected classes/files include: jhomenet.commons.configuration.ServerSystemConfiguration.java jhomenet.server.configuration.ServerSystemConfigurationImpl.java jhomenet.server.configuration.ServerConfigurationXmlDom4jRepository.java resources/conf/server.cfg.xml User(s): dhirwinjr (5/27/2007) * Updated the way the hardware persistence and hardware data persistence information is loaded. Previously, the hardware persistence and hardware data persistence information was loaded, including the persistence layer classname and the sometimes even the repository classname. Now, the user only has to specify the type of persistence layer to be used. This makes editing the configuration files easier while also making updating APIs between versions easier. Affected classes/files include: jhomenet.commons.configuration.HardwareConfiguration.java jhomenet.server.configuration.HardwareConfigurationImpl.java jhomenet.server.configuration.HardwareConfigurationXmlDom4jRepository.java resources/conf/hardware.cfg.xml resources/conf/hardware_test.cfg.xml User(s): dhirwinjr (5/27/2007) * Updated the way the hardware container loader classnames are loaded. Previously, the hardware container loader classnames were specified in the hardware configuration file. This had the disadvantage that any change in the classname between revisions would require the configuration file to be updated as well. Now the type of container loader is specified in the configuration file and the actual classname loading is left to the corresponding hardware configuration repository class (which will now require updating when the container loader classname is changed). This will hopefully make updating revision easier for the end user. Affected classes/files: jhomenet.commons.configuration.HardwareConfiguration.java jhomenet.server.configuration.HardwareConfigurationImpl.java jhomenet.server.configuration.AbstractHardwareConfigurationXmlRepository.java jhomenet.server.configuration.HardwareConfigurationXmlDom4jRepository.java resources/conf/hardware.cfg.xml resources/conf/hardware_test.cfg.xml User(s): dhirwinjr (5/27/2007) * Removed the jhomenet.server.auth.AuthSettings class. This class was originally used as a configuration class for tracking the type of user authentication to be used. It's no longer used as the type of user authentication will be fixed going forward. Affected class/files include: jhomenet.server.auth.AuthSettings.java jhomenet.server.configuration.ServerConfigurationXmlDom4jRepository.java jhomenet.server.configuration.ServerSystemConfigurationImpl.java User(s): dhirwinjr (5/16/2007) * Updated the splash screen color scheme to match the new login screen color scheme. Affected class/files include: resources/images/splashColor.psd (Adobe Photoshop file) src/resources/images/splash.png User(s): dhirwinjr (5/16/2007) * Renamed the jHomeNet server database from jhomenet to jhomenet_db. User(s): dhirwinjr (5/16/2007) * Updated the build.xml file to copy the necessary *.dtd files from the resources/conf folder. Affeced classes/files include: build.xml User(s): dhirwinjr (5/16/2007) * Updated the server.bat file to include the swing-worker.jar library that is required by the new jhomenet.server.auth.AuthManager class. Affected classes/files include: server.bat User(s): dhirwinjr (5/16/2007) ** Known Issues NOTE: All bug submissions should be done through the Sourceforge website. Any outstanding bugs at the release time will be included in this list along with the Sourceforge bug id. * ______________________________________________________________________________ Version 0.3 DESCRIPTION ----------- Third major release after major server redesign. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ March 15, 2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * Added a "build-suite" and "build-clean-suite" Ant task calls in the jHomeNet server's Ant build.xml file. These Ant tasks allow the whole suite of jHomeNet packages to be easily built including copying the necessary built libraries to the appropriate library folders. This saves the user from having to build the individual jHomeNet packages and then copy the built libraries the corresponding library folders. * Implemented a login script execution. When the local console session is started, it will automatically attempt to load and run any commands defined in a .login file located in the \resources\login folder. By default, the .login file contains a command to open the main jHomeNet UI window. All of the commands found in the .login file are executed in the background. ** Changes * Updated the ConsoleService, HardwareManagerImpl, NetworkService, PluginService, PollingService, and ResponsiveService classes in response to changes in the services API. * Major changes to the server's boot-up design. * Upgraded the Apache Commons Collections library to version 3.1. * Upgraded the Quartz timing library to version 1.6.0. * Updated the server.bat file to match the upgraded libraries. * Updated the jHomeNet user manual document to match version 0.3 of the jHomeNet server. * Updated source file documentation. ** Known Issues * The hardware and data persistence layers are currently not operational. It was deemed more critical to get the server running properly and then focus on the persistence afterwards. Hopefully both hardware and data persistence will be fully operational in the next release. [issue #server-001] ============================================================================== Find below the change history for older releases. ============================================================================== ______________________________________________________________________________ Version 0.2 DESCRIPTION ----------- Second major release after major server redesign. Minor updates to hardware sensor API. This version is not binary compatible with previous releases. This release is still a pre 1.0 release and API changes can be expected between releases. RELEASE DATE ------------ February 11, 2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * First attempt at adding fade-in animation to the splash screen. * Added ability to set the hardware channel description in the XML hardware persistent file. * Added ability to set the preferred data unit in the XML hardware persistent file. * Included a fullbuild.bat Windows batch file for automatically building the jHomenet commons library, the jHomeNet UI library, and the jHomeNet server. Refer to the jHomeNet server' readme file for more information. ** Changes * Updated the OneWireADDriver class to initialy set A/D converter to the highest resolution and the highest range possible when doing an A/D conversion. * Updated to Hibernate version 3.2.2 GA (http://www.hibernate.org). Find below the change history for older releases. ______________________________________________________________________________ Version 0.1 DESCRIPTION ----------- First major release after major server redesign. The redesigned server is not compatible with the previous design. RELEASE DATE ------------ January 15, 2007 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * When jHomeNet libraries are loaded, they are checked for compatibility with the jHomeNet server. If any of the jHomeNet libraries are incompatibile, the server startup is interrupted. * Moved all of the persistence DAO code from the server to the jHomeNet commons package. ** Changes * Find below the change history for older releases. ______________________________________________________________________________ Version Beta1 DESCRIPTION ----------- Fifth major software release. Due to updates in the dependency libraries, it's recommended that a clean build be performed. This includes deleting the entire \build\classes directory before building the application. RELEASE DATE ------------ January 16, 2006 BUG FIXES/NEW FEATURES/CHANGES ------------------------------ ** Bug fixes * ** New Features * New current hardware data window. The window displays the current sensor hardware data including the hardware Id, the hardware setup description, the hardware data value/state, and the data's timestamp. ** Changes * Updated JFreechart from version 1.0.0-rc1 to version 1.0.1 (new Jar file: jfreechart-1.0.1.jar). This also requires an update of the companion jcommon library from version 1.0.0-rc1 to 1.0.0 (new Jar file: jcommon-1.0.0.jar). The included server.bat, server_test.bat, and server_test-6.0.bat have been updated to reference the updated Jar file. Find below the change history for older releases. ______________________________________________________________________________ Version Alpha 4 INTRODUCTION ------------ Fourth major software release. Released January 16, 2006. NEW FEATURES/CHANGES/FIXES -------------------------- ** Bug fixes * ** New Features * User login authentication with user defined authentication services including JAAS, JDBC, or an application local service. The release currently only supports a built-in test authentication. * Added support for more sensor/device hardware including HVAC monitor sensors. * Remote logging server support using a custom log4j appender. Remote clients can connect to the appender and recieve debugging information over a network connection. * Supports automatic hardware sensor plotting update. The sensor data plot updates with each update to the particular hardware sensor data. * Refactored a major portion of the hardware data package. In particular, created two new hardware data types: value data and state data which both inherit from an abstract data class. All sensor data can be classified as either value based (represented by a floating point number) or state based (a particular state such as ON or OFF). * In conjunction to reworking the hardware data package, expanded the use of state based information. In particular, several new types of states have been developed in the jhomenet.hw.states package. They include on/off states, day/night states, direction states among others. They're used both in both storing sensor data but also in the sensor responsive system. Changes/additions to the hardware states and the hardware data objects required some changes to the Hibernate O/R code. * Support added for persisting both hardware value data and hardware state data in the database. * Changed hardware value data unit object from a custom implementation to units from the JScience library. Included a major rewrite of how the value data information is created, used, and persisted in the database. * New database manager to provide an abstraction from the persistence layer. This will allow the server to function without an underlying database (with limited features available to the end user). Allows users to quickly install and get the server running (especially useful for testing and debugging). The Alpha4 release also coincides with the creation and release of a new jhomenet-util CVS module. The new package will hold useful tools to aid in the administration of the jHomenet server. The new util module will initially include a remote client tool for receiving debugging information over a network. Both Java and C# variants will be available. ** Known Issues * Multi-channel sensors (i.e. HVAC monitor) don't properly display all their channel information in the GUI. In particular, only "channel-0" is currently displayed in the GUI. However, all channels are properly stored in the database. In the hardware tree on the left, each registered hardware object now has an additional drop-down option for the hardware's corresponding channel. Future releases will incorporate these drop-down options to better display all the hardware's channel data. * Hardware state data is not currently plotted; only hardware value data is plotted. Furthermore, only "channel-0" is plotted for value based sensors. * The user login feature currently only supports a built-in authentication service. In particular, the username and password are currently hard coded and can't be changed. The authentication service doesn't currently support JAAS or JDBC. The next release will implement these missing features. The purpose of including the login feature in this release is to provide a starting point and to familiarize users with the feature. Find below the change history for older releases. ______________________________________________________________________________ Version Alpha 3 INTRODUCTION ------------ Third major software release. Released November 16, 2005. NEW FEATURES/CHANGES/FIXES -------------------------- ** Bug fixes * ** New Features * Added sensor data plotting to the GUI. Users may filter the plotting by date (defaults to plotting the last 24 hours of sensor data). * Added ability to change a sensor's polling type. The polling type is bound to the hardware bean's actual polling type object using the JGoodies Binding framework. The change is only committed when the user clicks on the "Apply" button. * Registered hardware in the tree can have a specific icon. The icon filename is defined in the hardware configuration file and is loaded at start time. The icons must be located in the "images" folder. * Can manually control device states through the GUI by clicking on the On/Off control buttons. * Transitioned responsive editor windows from using lists to tables in displaying lists of plans, triggers, or respones. * Added a polling services status window used to control the hardwarep polling threads. The status window displays the current state of each polling thread and provides the ability to pause or resume threads. * Updated jHomenet manual to include more installation information. Find below the change history for older releases. ______________________________________________________________________________ Version Alpha 2 INTRODUCTION ------------ Second software release. Released October 29, 2005. NEW FEATURES/CHANGES/FIXES -------------------------- ** Bug fixes * ** New Features * Finished re-writing the persistence layer using Hibernate. Now uses transactions (adds potential for future use. Memory leak appears to be resolved. * Added ability to unregister currently registered hardware. * GUI receives feedback of the sensor data changes from a hardware manager event. * When hardware is unregistered by the GUI, the polling services removes the hardware from its list. Also removed the multiple specific hardware polling classes and replaced them with a more general HardwarePollingJob class. The newn class recieves the specific polling type argument as part of the job context. * Bound a registered hardware's setup description and configuration text to the appropriate GUI text fields using the JGoodies Binding framework. In addition, a registered sensor's data objects (current data, minimum data, and maximum data) are also bound to the appropriate GUI's labels. * Added appropriate tool-tips to GUI elements including the information about tree nodes. Find below the change history for older releases. ________________________________________________________________________________ Version Alpha 1 INTRODUCTION ------------ Initial software release. NEW FEATURES/CHANGES/FIXES -------------------------- ** Bug fixes * ** New Features * A hardware registry for maintaining list of hardware sensors and devices. System currently supports Dallas Semiconductor 1-Wire sensors and X-10 devices. Supports adding and deleting hardware from the system. * A hardware polling service for polling currently registered hardware and storing the data in a SQL database. * Remote and local shell access. Provides a command line interface for managing the system. * A GUI client written in Swing that provides operator with list of hardware, current settings, plots of sensor data using jFreeChart, and a table for displaying historic data. Client connects to server using RMI.