The onewire platform supports sensors which are using the One wire (1-wire) bus for communication.

Supported devices:

The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g DS9490R).

Raspberry Pi setup

In order to setup 1-Wire support on Raspberry Pi, you’ll need to edit /boot/config.txt following this documentation. To edit /boot/config.txt on Hass.io use this documentation to enable SSH and edit /mnt/boot/config.txt via vi.

Interface adapter setup


When an interface adapter is used, sensors can be accessed on Linux hosts via owfs 1-Wire file system. When using an interface adapter and the owfs, the mount_dir option must be configured to correspond a directory, where owfs device tree has been mounted.


When an interface adapter is used, you can also access sensors on a remote or local Linux host that is running owserver. owserver by default runs on port 4304. Use the host option to specify the host or IP of the remote server, and the optional port option to change the port from the default.

Units with multiple sensors

This platform works with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices. If you wish to maintain continuity it can be resolved in the database by renaming the old devices to the new names.

Connect to your database using the instructions from Database section. Check the names of sensors:

SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 10;

Alter the names of sensors using the following examples:

UPDATE states SET entity_id='sensor.<sensor_name>_temperature' WHERE entity_id LIKE 'sensor.<sensor_name>%' AND attributes LIKE '%\u00b0C%';
UPDATE states SET entity_id='sensor.<sensor_name>_pressure' WHERE entity_id LIKE 'sensor.<sensor_name>%' AND attributes LIKE '%mb%';
UPDATE states SET entity_id='sensor.<sensor_name>_humidity' WHERE entity_id LIKE 'sensor.<sensor_name>%' AND attributes LIKE '%%%' ESCAPE '';

Remember to replace <sensor_name> with the actual name of the sensor as seen in the SELECT query.


To enable One wire sensors in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: onewire

Configuration Variables



ID and friendly name of your sensors.



Location of device tree if owfs driver used.



Remote or local host running owserver.



The port number of the owserver (requires host).

Default value:


Configuration Example

When onewire is added to Home Assistant, it will generate an ID for the sensor. You can specify a friendly name for the sensor with the name configuration option.

# Named sensor configuration.yaml entry
  - platform: onewire