code: function (i2copts_arg) {
      var i2copts;
      var raspi_check;
      if (typeof i2copts_arg === 'undefined') {
          i2copts = {device: '/dev/i2c-1'};
          raspi_check = raspi_i2c_devname();
          if (raspi_check !== '') {
              //console.log('Raspberry Pi I2C device name is: ', raspi_check);
              i2copts.device = raspi_check;
          }
      }
      else {
          i2copts = i2copts_arg;
          if ((typeof i2copts.device === 'undefined') || (i2copts.device === '')) {
              raspi_check = raspi_i2c_devname();
              if (raspi_check !== '') {
                  //console.log('Raspberry Pi I2C device name is: ', raspi_check);
                  i2copts.device = raspi_check;
              }
          }
      }
      //console.log('i2c options: ', i2copts);
      this.i2c        = new i2c(HTU21D_I2CADDR, i2copts);
  }
docs: The regular versions of the READTEMP and READHUMI commands depend on clock stretching/hold  which seems to be a problem the raspberry pi i2c controller.