this.on('input', msg => { console.log(msg); this.debug('update ProgrammableSwitchEvent SINGLE_PRESS'); doorbellService.getCharacteristic(hap.Characteristic.ProgrammableSwitchEvent).updateValue(0); });
accessory(config) { const uuid = hap.uuid.generate(config.id + (config.uuidAddition ? config.uuidAddition : '')); let acc; this.bridge.bridgedAccessories.forEach(a => { if (a.UUID === uuid) { acc = a; } }); if (acc) { this.debug('already existing accessory ' + config.id + ' ' + config.name); } else if (this.bridge.bridgedAccessories.length >= 150) { this.error('maximum of 150 accessories per bridge exceeded, can\'t add ' + config.id + ' ' + config.name); } else { this.debug('addAccessory ' + config.id + ' ' + config.name); acc = new hap.Accessory(config.name, uuid, hap.Accessory.Categories.OTHER); this.bridge.addBridgedAccessory(acc); } this.waitForAccessories(); return acc; }
}); this.bridge.getService(hap.Service.AccessoryInformation) .setCharacteristic(hap.Characteristic.Manufacturer, 'RedMatic') .setCharacteristic(hap.Characteristic.Model, 'HAP-Nodejs Bridge') .setCharacteristic(hap.Characteristic.SerialNumber, this.username) .setCharacteristic(hap.Characteristic.FirmwareRevision, pkg.version); port: parseInt(this.port, 10), pincode: this.pincode, category: hap.Accessory.Categories.OTHER }, this.allowInsecureRequest); this.log('published bridge (' + this.bridge.bridgedAccessories.length + ' Accessories) ' + this.name + ' ' + this.username + ' on port ' + this.port);