1. Home
  2. TEMP08 Serial One Wire Interface
  3. Setting up HomeSeer to use TEMP08

HomeSeerintegration

Feeding TEMP08 sensor readings into HomeSeer

HomeSeer was the most common home for TEMP08 data. The company published a short VBScript that opened the serial port when HomeSeer started, parsed every line the board printed, and stored each reading in a virtual device. From there the values could drive events, web pages and logs. This page walks through that setup and explains what the script does.

First published August 22, 2003 · Text rewritten 2026

Isometric illustration of a wall-mounted tablet showing a home automation dashboard with charts (AI-generated image)

Script or plug-in

There were two ways to connect a TEMP08 to HomeSeer. The first, described here, used a small event script supplied by the company. The second used one of several plug-ins written by HomeSeer community members. One was written for the TEMP05 and worked with the TEMP08 as well, making the script unnecessary; another added database capture and charting of the readings. Plug-ins were easier to maintain, while the script showed exactly how the data was handled and could be changed freely.

Either way, HomeSeer was optional. The TEMP08 prints plain text over a serial port at 9600 bps, so any program that reads a serial port can use it. The freeware thermd program was a common stand-alone choice for logging and graphs. The script on this page was written for the TEMP08 only.

Before starting, make sure the board itself is set up: sensors found with INI, a sensible poll interval, and serial number display chosen to suit the script. The TEMP08 command reference covers those commands, and the TEMP08 overview covers cabling and power.

What the script expects

The script keys on the start of each line. It looks for lines beginning Temp, Humidity #, TEMP08 (the version banner), Relay, Wind Dirn, Wind Speed, Rain and Switch. Anything else is ignored, apart from a debug log entry. That makes it tolerant of the day and time header and the Reading Sensors line that open each poll.

Setup steps

  1. Check the COM port. Connect the TEMP08 to a serial port on the HomeSeer PC with a straight-through cable. The sample assumes COM1. If the board is on another port, rename the script file to match, for example com3_event.txt, and use that number in the next steps.
  2. Save the event script. Place com1_event.txt in the HomeSeer Scripts folder. Its main routine is called with every line the board sends.
  3. Open the port at startup. In startup.txt, anywhere before end sub, add a call to hs.OpenComPort with the port number, the settings 9600,n,8,1, the script file name and the routine name main. Check the returned value: if it is not empty, write an error to the log; otherwise log that setup is complete.
  4. Close the port at shutdown. In shutdown.txt, again before end sub, add hs.CloseComPort for the same port, logging either an error or a “port was closed” message.
  5. Restart HomeSeer. Shut it down and start it again. The log should show the COM port setup complete message. If it shows an error, the port number or cable is wrong.
  6. Create temperature devices. Add virtual devices R1 through Rx, where x is the number of temperature sensors. Define them as status only and give them a new device type of their own; the name does not matter.
  7. Create humidity devices. For a humidity sensor, add virtual device R20. For several, continue upward from R20.
  8. Wait one poll. Within a minute, or within the poll interval set on the TEMP08, at least one valid temperature should appear in R1 onward. With all sensors connected, every virtual device should show a reading.

What the script stores

The script maps each kind of reading to a fixed HomeSeer virtual device. House code R holds temperatures and humidity; codes Z and V hold weather and status values.

Virtual deviceContentsSource line
R1 to R19Temperatures, one per sensor numberTemp #01 to #19
R20 to R29Relative humidityHumidity #01 onward
Z17Firmware version bannerTEMP08
Z31 to Z38Status of eight relaysRelay
Z7Wind directionWind Dirn
Z4Wind speedWind Speed
Z1Wind gustWind Speed
V6Highest wind speed seenWind Speed
V7Rain todayRain
V8Rain historyRain
V9Absolute rain countRain

Switch lines can be passed on to an X-10 or virtual device with a base code of S, but those calls are commented out in the sample and need enabling by hand.

How the parsing works

Temperatures

For a Temp line, the script reads the two-digit sensor number, drops a leading zero, and takes everything after the equals sign as the value. A trailing F or C is stripped so HomeSeer receives a bare number. Sensor numbers up to 19 map to R1 through R19.

Filtering bad readings

Two kinds of value are treated as invalid. A reading of ??? means the board could not read the sensor. A reading beginning with 185 is the value a sensor reports when its result is not valid. In both cases the script keeps the previous good value instead. When a reading does change, the script updates the device string, its value and its last-change time, so HomeSeer triggers can react to real changes only.

Humidity, wind and rain

Humidity lines go to R20 upward, and a ??? result writes a sensor error to the HomeSeer log. Wind speed lines also update a high-wind device and log a HIGH WIND entry when a new maximum appears. Rain lines keep a short rolling history in V8 and work out today's rain as the difference from yesterday's count, rejecting any jump above 10 inches in one cycle as an error.

Debugging

The last statement logs every received line as TEMP08 RECEIVED. That is the quickest way to confirm data is arriving. Once it works, remove that line to keep the log readable.

Isometric illustration of a small home server on a wall shelf with neatly bundled cables (AI-generated image)

Taking it further

With readings in virtual devices, HomeSeer can treat them like any other device: trigger fans or heating on a temperature, send an alert when humidity passes a limit, or log wind and rain. The virtual devices can also feed a HomeSeer web page, which was a popular way to show a live weather panel.

A few practical points came up repeatedly. The script handles up to 19 temperature sensors because R20 is reserved for humidity; larger installations need the mapping changed. The sensor numbers in the output count each type separately and are not the DIS memory positions, so it is worth checking the device mapping after adding or removing sensors. And if the log shows nothing at all, the usual causes are a null-modem cable, the wrong COM port, or flow control left on. Those and other board-side problems are covered in the TEMP08 FAQ.

Today the same kind of setup is often built with newer tools. A USB 1-Wire adapter with OWFS, or the modern 1-Wire options such as the Home Assistant 1-Wire integration, reads the same DS18B20, DS2438 and DS2423 devices directly.

Further reading: Home Assistant 1-Wire integration · OWFS 1-Wire File System

Questions and answers

Do I need a plug-in to use the TEMP08 with HomeSeer?

No. The company's sample script was enough: it opens the COM port at startup, parses each line from the board and writes readings into virtual devices. Community-written plug-ins did the same job with less manual setup, and one also added database capture and charting of the sensor readings.

What COM port settings does the HomeSeer script use?

The script opens the port with the string 9600,n,8,1, meaning 9600 bps, no parity, 8 data bits and 1 stop bit, matching the TEMP08. The sample assumes COM1; for another port, change the number in the startup and shutdown lines and rename the event script file to match.

Which virtual devices hold the TEMP08 readings?

Temperatures go to R1 through R19 by sensor number and humidity to R20 upward. The version banner goes to Z17, relay status to Z31 through Z38, wind direction, speed and gust to Z7, Z4 and Z1, and rain values to V7, V8 and V9.

Why does HomeSeer show no TEMP08 readings?

First check the log for the COM port setup message. If it is missing or shows an error, the port number is wrong. If setup succeeded but nothing arrives, check for a null-modem cable, flow control enabled, or a poll interval of zero on the board. The script's debug log line shows every line received.

How does the script deal with bad sensor readings?

A reading of ??? or one starting with 185 is treated as invalid, and the script keeps the previous good value in the virtual device. The last-change time and device value are updated only when a reading actually differs, so events do not fire on repeated or faulty values.

Related pages