- Home
- TEMP08 Serial One Wire Interface
- 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

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
- 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. - Save the event script. Place
com1_event.txtin the HomeSeer Scripts folder. Itsmainroutine is called with every line the board sends. - Open the port at startup. In
startup.txt, anywhere beforeend sub, add a call tohs.OpenComPortwith the port number, the settings9600,n,8,1, the script file name and the routine namemain. Check the returned value: if it is not empty, write an error to the log; otherwise log that setup is complete. - Close the port at shutdown. In
shutdown.txt, again beforeend sub, addhs.CloseComPortfor the same port, logging either an error or a “port was closed” message. - 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.
- 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.
- Create humidity devices. For a humidity sensor, add virtual device R20. For several, continue upward from R20.
- 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 device | Contents | Source line |
|---|---|---|
| R1 to R19 | Temperatures, one per sensor number | Temp #01 to #19 |
| R20 to R29 | Relative humidity | Humidity #01 onward |
| Z17 | Firmware version banner | TEMP08 |
| Z31 to Z38 | Status of eight relays | Relay |
| Z7 | Wind direction | Wind Dirn |
| Z4 | Wind speed | Wind Speed |
| Z1 | Wind gust | Wind Speed |
| V6 | Highest wind speed seen | Wind Speed |
| V7 | Rain today | Rain |
| V8 | Rain history | Rain |
| V9 | Absolute rain count | Rain |
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.

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
TEMP08 Serial One Wire Interface
TEMP08 linked a PC serial port to the 1-Wire bus: up to 60 sensors for temperature, humidity, rain, wind and relays, plus a real-time clock and RJ-12 jack.
TEMP08 Instructions
TEMP08 command reference for firmware 2.24 and later: DEL, DIS, INI, SET, SPT and more, with SET options, DIS output codes and how to read a TMP poll line.
TEMP08 Frequently Asked Questions
TEMP08 FAQ: parasite power, sensor wiring and distance, serial settings, DS1820 vs DS18S20 vs DS18B20 vs DS1822, weather station versions and odd readings.
1-Wire USB Interface Options
Pick a 1-Wire USB interface for current hosts: DS9490R adapters, USB-serial for TEMP08 kits, Raspberry Pi GPIO drivers, OWFS and Home Assistant setup.
TEMP05 Introduction
TEMP05 was a serial 1-Wire interface for a weather station and up to 20 DS18S20 thermometers, later 60 devices.