0.9.4 • Published 11 months ago
homebridge-dht-rgpio v0.9.4
homebridge-dht-rgpio
A temperature/humidity sensor service plugin for Homebridge using a
DHTxx.
The sensor is accessed using the python3-rgpio package which means this works on kernels 5.11 and above (when the kernel GPIO interface changed).
- Display of temperature, humidity from a DHTxx connected to a RaspberryPI.
 - Support the graphing feature of the Eve app for trends
 
Installation
On the machine hosting HomeBridge:
- Install Homebridge using 
npm install -g homebridge - Install Python3 rgpio with 
sudo apt-get install python3-rgpio - Install this plugin 
npm install -g @townsen/homebridge-dht-lgpio - Update your configuration file - see below for an example
 
On the machine to which the DHTxx is attached:
- Install the rgpio daemon with 
sudo apt-get install rgpiod 
Configuration
accessory: "DHTxx"name: descriptive nameloglevel: 0 = none, 1 = invalid status codes, 2 = each reading, errors are always loggedhostname: The name of the remote hostgpiochip: the gpio chip to use (optional, default 0)gpio: the pin to which the device is connected (optional, default 4)name_temperature(optional): descriptive name for the temperature sensorname_humidity(optional): descriptive name for the humidity sensorrefresh: Optional, time interval for refreshing data in seconds, defaults to 30 seconds.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 sensor device is nameddht-<gpiochip>-<gpio>which is then used to create the filename:homebridge_<device>_persist.json.
Simple Configuration
This is fine if you just have one device called "Temperature", but if you have more then their persisted readings will collide!
{
  "bridge": {
    "name": "Example for DHT22 using LGPIO",
    "username": "AB:A2:44:66:6E:36",
    "port": 51826,
    "pin": "023-66-204"
  },
  "accessories": [
    {
      "accessory": "DHTxx",
      "name": "Sensor",
      "name_temperature": "Temperature",
      "name_humidity": "Humidity",
      "recordpath": "/save/me",
      "refresh": 35,
      "hostname": "remote.machine",
      "gpiochip": 0
      "gpio": 5
    }
  ],
  "platforms": []
}This plugin creates two services: TemperatureSensor and HumiditySensor.
Credits
This was adapted from the two projects below:
- homebridge-bme280
 - homebridge-am2320
 
The python script to read the DHT devices came from
License
MIT