Individualized control of office lighting intensity and color balance represents one of TINI's most practical applications. Researchers at the Lawrence Berkeley Laboratory have demonstrated that a networked office lighting control system based on TINI can be practical, cost-effective, and efficient. Dallas Semiconductor has created a demonstration kit containing all the software necessary to operate a basic lighting control system. This software package can be downloaded free of charge from this website. No special software needs to be installed on the users' computers since the lighting control panel is accessed over the network with a Java enabled web browser.
Control of ambient light intensity and color balance can be particularly important in CAD workstation environments. Long hours of work at a high-resolution monitor can produce eye strain if the ambient lighting is not adjusted correctly. By using colored fluorescent lights or white fluorescent lights surrounded by colored sleeves, it is possible to adjust not only the overall light intensity but also the color balance, contributing to a more comfortable working environment. Since every light fixture can be individually controlled, it is possible for each worker to independently adjust the lighting in his or her workspace.
To make use of this light control software you will need to obtain fluorescent light fixtures with a dimmable ballast, allowing the light intensity to be varied by changing the voltage applied across the control wires over a 0 to 10 volt range. These control wires must be connected to a DS2890 1-Wire addressable potentiometer as shown in the circuit diagram supplied in the download package. Once every dimmable ballast has been interfaced to a DS2890, the DS2890s can all be connected together on a 1-Wire network to the 1-Wire port of a single TINI. After these connections have been made, the software that you will install on TINI will be capable of individually controlling the intensity of lights connected to any of the dimmable ballasts. The programs in the download allow up to 192 dimmable ballasts to be individually controlled by a single TINI.
All of the necessary lighting control software resides on TINI's file system. TINI contains a basic web server that delivers an HTML page whenever it is accessed by a web browser on a remote client. The HTML page contains an applet tag that identifies a Java applet containing the lighting control panel. This applet tag causes the client web browser to download the Java applet from TINI. The client computer then executes the Java applet using the built-in Java support supplied by the web browser. The applet connects back to the server application running on TINI and establishes a bi-directional data flow for light intensity control information. The client computer then renders the control panel in the browser window, allowing the user to see the current intensities of all the lights and adjust them individually by manipulating the controls with the mouse. Multiple clients can be connected to TINI at the same time, and as one client manipulates the light intensities the changes made can be seen simultaneously on the control panels of every other client.
To use this software, download and unzip the software package below, then follow the instructions in the ReadMe.txt file to install the software in TINI's file system and configure it for use with the attached network of fluorescent lights.
1) A TINI. For more information on TINI, please visit the website: http://www.ibutton.com/TINI. Other necessary items for proper setup and configuration include:
3) A DS2890
for every light ballast. The DS2890
is a digital potentiometer and permits intermediate brightness levels under
1-Wire control. It has been sufficient for our purposes to only assert
brightness control (5% to 100%). The AC power to the fixture is applied
via a wall-switch with no electronic control. If the 1-Wire master (TINI)
is disconnected or if the 1-Wire net is shorted, the fixtures revert to
100% brightness under manual control.
Simple Web Lights interconnect schematic:

At Dallas Semiconductor, we designed a small board to facilitate an easier DS2890 interconnect scheme and some ESD protection. Photos of the board can be found below. We have also provided the board schematic in PDF format.
Top View:

Above is the top view of the DS2890 board we use (enlarged from original size). From left-to-right, this view shows the 1-Wire connector (an AMP "piercing" connector), the DS9502 ESD diode, and the screw-down terminals for the ballast connection (purple and gray wires) to the far right.
Botton View:
This is the bottom view of the DS2890 board showing the DS2890 chip.
Download the software here: Web Lights Source
The server software consists of a multi-threaded 1-Wire application called 'WebLightsServer' running on TINI. One dedicated thread listens on network port 80 (the default port used for serving up web pages) and handles any HTTP requests. The server program dynamically creates and keeps track of a single thread for each client program connected. The client programs simply open network sockets back to the WebLightsServer program and tell the program how bright or dim a light should be. The server then communicates this through 1-Wire protocol to the DS2890 potentiometer, and presto, the light changes intensity. Not only does it tell the DS2890 to change the light intensity, it also notifies the other clients that the light intensity has changed...
There are 2 basic types of Web Lights Clients available in the download:
1) WebLightsAWT. This one was written as a JAVA applet and as a separate stand-alone JAVA application. The builds can be found under the "applet" and "application" subdirectories, respectively, with source included.
These programs were designed with AWT windowing components exclusively. This means that they should be compatible with 1.1.X versions of JAVA and makes the applet more compatible with older browsers. Currently, each program displays 4 slider bars (which can be easily changed since source code is included). Each bar represents a light and a color.
Screenshot of the applet:

2) WebLightsSwing. This one was also written as a JAVA applet and as a separate stand-alone JAVA application. The separate builds can be found under the "applet" and "application" subdirectories, respectively, with source included.
These examples were written with Swing windowing components. So, only JAVA environments that include Swing can run these programs. This also means that the applet is less compatible with older browsers. As of this release, Netscape 6 and Opera 5 are the only browsers with native support for Swing. Therefore, use them to view the Swing applet. The program provides an easy way to change the color "hue" of a room based on integer values for red, blue, and green.
Screenshot of the Swing application:

As to building and running the actual program(s), please see the readmes in the downloadable zip file. One special thing of note is that a WebLights.properties file must be setup for the server software to function properly. For every light, you must record its 1-Wire net address in the file, along with a color (although, at this time the color is ignored by the program).
Here are the contents of an example WebLights.properties file:
810000000068742C=RED
BB00000000614B2C=GREEN
E000000000615B2C=BLUE
6E000000005AE72C=WHITE
This setup has quite a bit of potential in building automation. A wish-list of sorts for this project would be the following:
1) To create an administration tool for the server program to easily setup the lighting areas.
2) To allow lighting configurations to be done through XML tagging. This would include poperties such as lighting colors and the DS2890 1-Wire net addresses. Currently, the user is limited to 4 hard-coded colors and a Weblights.properties file.
3) To implement privacy controls and allow the user/owner to access his/her lights exclusively.