DS18B20ΒΆ

Feature Support
Sending no
Receiving yes
Config yes

Supported Brands

Brand Protocol
1-Wire DS18B20 ds18b20
1-Wire DS18S20 ds18s20

Sender Arguments

None

Config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
{
  "devices": {
    "weather": {
      "protocol": [ "ds18b20" ],
      "id": [{
        "id": "0000052ba3ac"
      }],
      "temperature": 19.562
    }
  },
  "gui": {
    "temperature": {
      "name": "Temperature Sensor",
      "group": [ "Misc" ],
      "media": [ "all" ]
    }
  }
}
Option Value
id valid 1-wire id
temperature -55 - 125

Note

DS18B20

Valid id’s can be found in the path /sys/bus/w1/devices/ starting with 28-. The prefix 28- should be removed from the id.

Note

DS18S20

Valid id’s can be found in the path /sys/bus/w1/devices/ starting with 10-. The prefix 10- should be removed from the id.

Optional Settings

Device Settings

Setting Default Format Description
poll-interval 5 seconds What should be the poll interval of the sensors
temperature-offset 0 number Correct temperature value

GUI Settings

Note

DS18B20

Setting Default Format Description
temperature-decimals 2 number How many decimals the GUIs should display for temperature
show-temperature 1 1 or 0 Don’t display the temperature value

Note

DS18S20

Setting Default Format Description
temperature-decimals 3 number How many decimals the GUIs should display for temperature
show-temperature 1 1 or 0 Don’t display the temperature value

Comments

Before pilight can see the sensor, you have to run the following commands:

sudo modprobe w1-gpio
sudo modprobe w1-therm

To make sure this is done every reboot, edit /etc/modules and add the following lines:

w1-gpio
w1-therm

If you have enabled “Device tree support” (since Raspbian with kernel 3.18 it’s the default configuration), you have to add the following line to /boot/config.txt:

dtoverlay=w1-gpio-pullup,gpiopin=4

Note

The GPIO pin number is the BCM GPIO and not the WiringX number.

This will load the module w1-gpio, so you only have to add w1-therm to your /etc/modules.

To find the correct sensor id, you have to run the following commands:

cd /sys/bus/w1/devices
ls

The result will look like:

28-0000055bd776  w1_bus_master1

Use the part after 28- as the correct id, e.g. 0000055bd776.