TINI Customer Service Community Contributions Partner Marketplace Classified Ads


1-Wire LUX9000 Thermostat Monitor

Table of Contents

  • Overview
  • Downloads
  • Hardware
  • Installation
  • Software
  • Future


    This application demonstrates monitoring the LUX9000 Thermostat by utilizing the 1-Wire® Network communication port of the TINI™ platform.

    1-Wire addressable switches are used to read the state information from the accessory port of the LUX9000 Thermostat. The protocol to read out this port was graciously provided by LUX. (Thank you LUX!)

    LUX9000 and TINI

    Here is the description of the LUX unit from their web site. We found ours at Home Depot! http://www.luxproducts.com/thermostats/tx9000.htm

    The monitoring is done through a web browser. Here is a screen snapshot of the Thermostat monitor. See the software section for more details on it's operation.

    Thermostat Monitor applet screen capture

    As you can see, at 11:10 on Friday, the unit is running, trying to achieve a temperature of 76°F with the current temperature being 75.0.



    The hardware consists of a TINI communicating to an interface board that connects to the LUX unit.
    Hardware Overview

    The interface board contains (3) DS2406's that connect to the LUX accessory port and (1) DS2433 for tagging information. This board allows the LUX9000 to be a 1-Wire 'node' on the network.

    The 1-Wire and power is provided through the RJ-12 connection from TINI. Note the ground 'tail'.

    1-Wire Interface board (top)

    1-Wire Interface board (bottom)
    Note the 4 pin header that plugs onto the accessory port of the LUX9000.

    The Schematic can be downloaded here:
    1-Wire LUX Schematic

    The PCB can be downloaded here:
    1-Wire LUX PCB


    The board was designed to give access to a standard RJ-12 1-Wire port out the back of the unit.

    LUX9000 Thermostat (back)

    Accessory header where the board will mount

    Board mounted to accessory header

    Ground `tail' inserted between battery and contact

    Closed unit with RJ-12 accessible out the back


    The software consists of a 1-Wire application called 'ThermostatMonitor' running on TINI that listens on a network port (7777) for a socket connection. Once a connection has been established then the monitor updates the new socket every time a change in the Thermostat occurs. The entity on the other end of this socket is a Java™ Applet running in a browser. Here is the overall software flow:

    Software Overview Download source:
    1-Wire LUX Source

    Socket Communication

    The socket communication is simple text read-line write-line. The consequence of this is the ThermostatMonitor socket server can be linked up to a simple telnet session.

    For example:

    c:\>telnet my_tini 7777

    Telnet Screen

    Note that the first message that is recieved is the version of the server. The type of message is denoted by the first character. Here are the available types of messages.

    From Server to Client

    • V version
    • X exception
    • Everything else is parsible data

    From Client to Server

    • X kill socket


    Each sample directory contains batch files to build and deploy the applications. The batch files require the following environment variables be set before use:

    • MY_TINI - name or IP of the TINI to deploy to
    • TINI_HOME - absolute path to the TINI distribution
    • OWAPI_HOME - absolute path to the 1-Wire API distribution

    The source is divided up into the following build directories:

    • ThermostatMonitor - base classes to monitor the Thermostat
    • ThermostatSocketServer - Socket listner that uses ThermostatMonitor
    • ThermostatApplet - Applet to run in remote browser
    • SimpleTINIWebServer - Simple Web server to run on TINI


    When using the 'deploy' batch files, the following 4 files will be copied to TINI:
    • tiniweb.tini - simple web server
    • tserv.tini - Thermstat Server
    • webroot/index.html - main HTML that brings in applet
    • webroot/ThermostatApplet.jar - applet


    To start the application:
    TINI> java tiniweb.tini &
       TINI> java tserv.tini

    To stop the Thermostat server application, hit 'ENTER' at the telnet prompt. To stop the web server, connect on port 6666.


    This current implementation can only monitor the Thermostat and not set any of the values. We have experimented with a unit that simulates 'key' presses to set the trip values. LUX is in the process of changing the firmware of this unit to allow updates through the accessory port. When this unit is available this same board will be able to interface with it.

    Another step forward will be realized with the introduction of the DS2408. This is an 8-channel version of the DS2406 allowing the (3) DS2406's to be replaced with ONE chip!

        Need Help? About Us    
    A Product of
    Dallas/Maxim Logo

    Copyright © 2004 Maxim/Dallas Semiconductor Corp.    Legal Notice