Whether you are building a smart home monitoring system or managing environmental conditions in a commercial setting, 1-Wire temperature sensors offer a reliable, cost-effective solution. To unlock their full potential, you need the right software infrastructure. Learn about Owserver the backbone of the OWFS (1-Wire File System) ecosystem that makes managing 1-Wire devices simple and scalable.
What is Owserver and the OWFS Ecosystem?
Owserver is the core daemon in the OWFS (1-Wire File System) suite, which helps managing access to 1-Wire devices like our USB Thermometer.
| Component | Purpose | Typical Use Case |
|---|---|---|
| owserver | Backend daemon that arbitrates access to the physical 1-Wire bus. | Manages communication with sensors (required for each below). |
| owfs | Mounts the 1-Wire network as a filesystem for easy file-like access to sensor data. | Browse sensors like regular directories (/mnt/1wire/28.XXXX/temperature). |
| owhttpd | Delivers a web interface (port 2121) to view temperatures via browser. | Access sensor data via browser at http://localhost:2121. |
| owftpd | FTP server for 1-Wire device access. | Legacy access method using FTP clients. |
For most IoT and home automation setups, owserver alone is sufficient, especially when paired with Home Assistant’s native 1-Wire integration. This minimizes resource usage while providing robust sensor access.
Installing Owserver on Ubuntu and Raspberry Pi
On Ubuntu or Raspberry Pi OS, update packages and install via apt.
# Update package lists
sudo apt update
# Install the OWFS suite (includes owserver, owhttpd and owfs)
sudo apt install owserver owhttpd owfs
Verify the installation succeeded:
owserver --version
# Should return something like: owserver version 3.2p4
Configuring Owserver for Passive USB Operation
Owserver expects an active 1-Wire controller (like DS9490R) by default. Our USB Thermometer requires passive mode configuration.
Quick Test (Without Service)
Before configuring the systemd service, verify your hardware works with this command:
sudo owserver --foreground --passive=/dev/ttyUSB0 --8bit
You should see output indicating successful bus initialization. Press Ctrl+C to stop the server.
🔍 Finding your device path: If /dev/ttyUSB0 doesn’t exist, check available serial devices with:
ls -l /dev/ttyUSB*
# Or for persistent naming:
ls -l /dev/serial/by-id/
Creating a Persistent Configuration File
Create /etc/owfs.conf with the following content:
# /etc/owfs.conf - Configuration for USB Thermometer in passive mode
# For full documentation, run: `man 5 owfs`.
# Configuration for the USB Thermometer
# https://electromake.pl/product/usb-thermometer-with-sensor-ds18b20/
! server: server = localhost:4304
server: port = localhost:4304
# ^ or *:4304 for access from anywhere.
server: passive = /dev/ttyUSB0
server: 8bit
# Optional: Enable the HTTP interface
http: port = 2121
# Optional: Filesystem mount
# mountpoint = /mnt/1wire
# ^ The path `/mnt/1wire` must exist,
# so don't forget to run `sudo mkdir /mnt/1wire`.
# allow_other
# Optional: Enable the FTP interface
# ftp: port = 2120
Save and exit. Then reload systemd and start the service:
sudo systemctl restart owserver
sudo systemctl restart owfs
sudo systemctl restart owhttpd
With owhttpd installed and configured (port 2121 in our example config), visit http://<your-device-ip>:2121 in a browser to see a directory listing of all detected 1-Wire devices it is useful for debugging before Home Assistant integration.
Connecting Owserver to Home Assistant
Home Assistant includes a native 1-Wire integration that communicates directly with Owserver over TCP. If you would like to install Home Assistant, check out our post How to install Home Assistant in Docker.
Prerequisites
- Owserver must be running on the same machine as Home Assistant or accessible over your local network.
- Port 4304 must be open (default Owserver port)
Integration Setup
- In Home Assistant, navigate to
Settings→Devices & Services→+ Add Integration - Search for and select “1-Wire”
- Configure the integration:
Host:localhost (if Owserver runs on the same machine) or the IP address of your Owserver hostPort:4304 (default)
- Click
Submit
Home Assistant will automatically discover all connected temperature sensors and create entities like 28.9082E2080000 Temperature.

0 Comments