@townsen/homebridge-ds18b20

1.0.0 • Public • Published

homebridge-ds18b20

Features

  • Supports the graphing feature of the Eve app for trends
  • This plugin can read a 1-wire device attached to the host running Homebridge or it can use the rgpio library to read a device attached to a remote host.

Installation

Setup the Hardware

First ensure you have a 4.7k pullup resistor wired between the data pin and positive supply. Then choose which GPIO pin to use. The default is GPIO 4 but since I2C devices are often connected in that area I use header pins 14(gnd), 15(gpio 22) and 17 (3v3).

Setup Homebridge

Do the following on the computer that will run the HomeBridge instance:

  1. Install Homebridge using npm install -g homebridge

  2. Install this plugin npm install -g @townsen/homebridge-ds18b20 Alternatively, if you want to run the plugin directly from this repository then in this plugin directory issue:

    npm install sudo npm link

  3. Update your configuration file - see below for an example

  4. If accessing remote devices install python3-rgpio

Setup the OS hosting the 1-wire devices

  1. Setup the correct GPIO pin in /boot/config.txt with dtoverlay=w1-gpio,gpiopin=22.
  2. Alternatively dynamically load it with dtoverlay w1-gpio gpiopin=22 pullup=0
  3. If this will be accessed from a remote HomeBridge instance install the rpgiod package and edit the /etc/defaults/rgpiod file to remove the -l option. For security you may add the option -n <homebridge-instance-ip> to the configuration.

Configuration

  • accessory: "DS18B20"
  • name: descriptive name
  • refresh: Optional, time interval for refreshing data in seconds, defaults to 30 seconds.
  • device_id: the 1-wire device identifier. Find this by listing the directory /sys/bus/w1/devices.
  • host: the remote host to use. Default is 'localhost'. rgpiod must be installed on the remote host and the python3-rgpio library on the homebridge instance.
  • recordpath: Optional, used by the fakegato history code to create an on-disk record of the observations. This preserves the history in case of a restart, and can be used to extract the observations manually. The name and the device_id are used to name the sensor device, which is then used as the filename.

Simple Configuration

{
  "bridge": {
    "name": "DS18B20",
    "username": "CB:22:33:E2:CE:31",
    "port": 51826,
    "pin": "033-44-254"
  },
  "accessories": [
    {
      "accessory": "DS18B20",
      "name": "Water Temperature",
      "refresh": 60,
      "device_id": "28-3c01d6077a95"
    },
    {
      "accessory": "DS18B20",
      "name": "Pool Temperature",
      "host": "piz-pool-temperature",
      "refresh": 60,
      "device_id": "28-6a8e491f64ff"
    }
  ],
  "platforms": []
}

Debugging

Set the DEBUG variable to DS18B20 to get messages in the HomeBridge console

License

MIT

Package Sidebar

Install

npm i @townsen/homebridge-ds18b20

Weekly Downloads

14

Version

1.0.0

License

MIT

Unpacked Size

11.3 kB

Total Files

6

Last publish

Collaborators

  • townsen