Version 2.0 is built on an architecture vastly different from its predecessors. This architecture takes full advantage of Microsoft's new .NET framework. The .NET architecture offers what Microsoft calls "Managed Code". The idea is that anything written in .NET will be much more reliable. The programming languages used by .NET all use the same .NET framework. The framework offers a consistent Application Program Interface (API) into the operating system and isolates the application from the hardware. Frameworks for other operating systems are currently in development and this will allow HomeSeer 2.0 to run on other platforms (such as Linux) in the future. The new environment offers HomeSeer the ability to use advanced features such as threading and .NET "remoting" and threading.
HomeSeer Version 2.0 is totally "multithreaded". This means that every process that needs some amount of time will run in its own thread. For example, every time a script is triggered a new "thread" is created and the script is launched. So the rest of the system is free to process other tasks while also continuing to work on the script.
HomeSeer has also been broken up into a "distributed architecture". This means that the main application runs as a service on Windows 2000 and XP and is accessed using any web browser. There is a minimal user interface so most interaction is done through the web interface and the web interface is now easier to use.
The method in which event actions are handled has also been changed. You can now create your own order of event actions. For example, when an event triggers you can have it speak something, turn on a light, speak something else, send an infrared command, turn off another light, etc. There is no limit to the number of actions and you can specify and order them any way you like.
Script writers take note: Because of this significant change to events, the Event Class has changed and many of the event actions and conditions are now only accessible through the AddAction and AddCondition commands.
The main service application is what we call the "scheduler". This service handles running all scheduled events, scripts, and interactions with the automation hardware. Voice recognition (VR) and text-to-speech (TTS) are handled with an external application. This application, called "Speaker", is an executable that can run on any computer on your network. This application connects to the service application using .NET remoting (similar to DCOM). When an event needs to speak, it does so by sending the speech to the Speaker application. You can have as many Speaker applications as you like and the applications can even be located on the Internet! HomeSeer can speak to all applications at once or just to specific ones. Voice recognition works the same way. Each speaker application is a VR client, so VR can be handle at any number of computers, all at the same time! This works over the Internet also.
Scripts written in .NET are compiled and run as executables. Scripts can be complete applications and have access to all the same resources as a standard .NET application. Scripts can be written in Visual Basic .NET and C#. Scripts that are written in the older VBScript language are still supported, so HomeSeer 2 still runs scripts written for previous versions of HomeSeer.
Version 2.0 is fully compatible with ASP.NET. Any ASP.NET web page (.aspx) or web application should work. Creating web pages in .NET is much easier than with the old ASP and free tools are available to assist you.
The web server in Version 2.0 now includes support for SSL (https://), which creates a more secure connection to your home over the Internet.
Several new script commands exist for use in scripts
and ASP/ASPX files. To
see what's new, click on Using Scripts and then Scripting
Functions from the navigation tree to the left and look for the
symbol next to the script procedure
name.