code: function (platform, deviceId, service) {
    var self = this
  
    if (!(this instanceof Camera)) return new Camera(platform, deviceId, service)
  
    var floodlight
  
    PushSensor.call(this, platform, deviceId, service)
    
    if (underscore.keys(service.capabilities).indexOf('floodlight') === -1) return
  
    floodlight = self.getAccessoryService(Service.Lightbulb)
    if (!floodlight) return self.log.warn('Camera', { err: 'could not find Service.Lightbulb' })
  
    debug('setting callback for on/off')
    floodlight.getCharacteristic(Characteristic.On).on('set', function (value, callback) {
      if (self.readings.floodlight === value) return callback()
  
      if (!self.platform.doorbot) {
        var err = new Error('not connected for updating floodlight')
  
        self.log.error('setValue', { deviceId: deviceId, diagnostic: err.toString() })
        return callback(err)
      }
  
      debug ('set value to ' + JSON.stringify(value) + ', currently ' + JSON.stringify(self.readings.floodlight))
      self.readings.floodlight = value
      self.platform.doorbot[value ? 'lightOn' : 'lightOff']({ id: deviceId },
                                                   function (err, response, result) {/* jshint unused: false */
        debug('result from doorbot ' + (value ? 'lightOn' : 'lightOff') + ': errP=' + (!!err))
        if (err) {
          self.log.error('setValue', { deviceId: deviceId, diagnostic: err.toString() })
        } else {
          self._update.bind(self)({ floodlight: value })
        }
         
        callback()
      })
      debug('setting value to ' + JSON.stringify(value))
    })
    debug ('callback for on/off is now set')
  }
docs: /* perhaps later...
  var Chime = function (platform, deviceId, service) {
  if (!(this instanceof Chime)) return new Chime(platform, deviceId, service)
  
  PushSensor.call(this, platform, deviceId, service)
  }
  util.inherits(Chime, PushSensor)