1.4.0 • Published 5 years ago
@iainfarq/homebridge-bme280 v1.4.0
homebridge-bme280
Bosch BME280 temperature/humidity/barometric pressure sensor service plugin for Homebridge.
- Display of temperature, humidity and Barometric Pressure from a BME280 connected to a RaspberryPI.
 - Archives results every hour to a google spreadsheet
 - Support the graphing feature of the Eve app for trends
 
Forked from homebridge-280 to use bme280, which has a full implementation of the BME280 options. See the datasheet for all oversampling and filtering options.
Installation
- Install Homebridge using 
npm install -g homebridge - Install this plugin 
npm install -g @iainfarq/homebridge-bme280 - Update your configuration file - see below for an example
 
Follow the excellent directions in the bme280 package to connect the device to the I2C bus.
Configuration
accessory: "BME280"name: descriptive namename_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.options: options for bme280. Note that the 'forcedMode' option is set to true by default; this should better match any homebridge use - self heating is reduced, and the sensor is only active once per refresh cycle.
If you get an I/O error, make sure the I2C address is correct (usually 0x76 or 0x77 depending on a jumper).
Simple Configuration
{
  "bridge": {
    "name": "BME280Example",
    "username": "CB:22:33:E2:CE:31",
    "port": 51826,
    "pin": "033-44-254"
  },
  "accessories": [
    {
      "accessory": "BME280",
      "name": "Sensor",
      "name_temperature": "Temperature",
      "name_humidity": "Humidity",
      "options": {
        "i2cBusNo": 1,
        "i2cAddress": "0x77"
      }
    }
  ],
  "platforms": []
}More complex configuration, using all available bme280 options:
{
  "bridge": {
    "name": "BME280Example",
    "username": "CB:22:33:E2:CE:31",
    "port": 51826,
    "pin": "033-44-254"
  },
  "accessories": [
    {
      "accessory": "BME280",
      "name": "Sensor",
      "name_temperature": "Temperature",
      "name_humidity": "Humidity",
      "refresh": 15,
      "options": {
        "i2cBusNo": 1,
        "i2cAddress": "0x77",
        "humidityOversampling": "OVERSAMPLE.X8",
        "pressureOversampling": "OVERSAMPLE.X16",
        "temperatureOversampling": "OVERSAMPLE.X2",
        "filterCoefficient": "FILTER.F16",
        "standby": "STANDBY.MS_20",
        "forcedMode": false
      }
    }
  ],
  "platforms": []
}This plugin creates two services: TemperatureSensor and HumiditySensor.
Credits
- NorthernMan54 - Barometric Pressure and Device Polling
 - simont77 - History Service
 - fivdi - Comprehensive implementation of the BME280 interface
 
License
MIT