UNPKG

homebridge-parrot-flower

Version:
101 lines (89 loc) 4.64 kB
'use strict'; const util = require('util'); module.exports = { registerWith: function (hap) { const Characteristic = hap.Characteristic; const Service = hap.Service; ////////////////////////////////////////////////////////////////////////////////////////// // Target Ambient Light Level ////////////////////////////////////////////////////////////////////////////////////////// Characteristic.TargetAmbientLightLevel = function () { Characteristic.call(this, 'Target Ambient Light Level', Characteristic.TargetAmbientLightLevel.UUID); this.setProps({ format: Characteristic.Formats.FLOAT, perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY], unit: Characteristic.Units.LUX, minValue: 0.0001, maxValue: 100000.0 }); this.value = this.getDefaultValue(); }; Characteristic.TargetAmbientLightLevel.UUID = '83343E2D-6766-4E0A-AD95-B6AEBC6A343C'; util.inherits(Characteristic.TargetAmbientLightLevel, Characteristic); ////////////////////////////////////////////////////////////////////////////////////////// // Current Average Ambient Light Level ////////////////////////////////////////////////////////////////////////////////////////// Characteristic.CurrentAverageAmbientLightLevel = function () { Characteristic.call(this, '24h Average Ambient Light Level', Characteristic.CurrentAverageAmbientLightLevel.UUID); this.setProps({ format: Characteristic.Formats.FLOAT, perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY], unit: Characteristic.Units.LUX, minValue: 0.0, maxValue: 100000.0 }); this.value = this.getDefaultValue(); }; Characteristic.CurrentAverageAmbientLightLevel.UUID = 'C9E1762F-FCD9-4F92-AC52-4A7DB4959707'; util.inherits(Characteristic.CurrentAverageAmbientLightLevel, Characteristic); ////////////////////////////////////////////////////////////////////////////////////////// // Target Relative Humidity ////////////////////////////////////////////////////////////////////////////////////////// Characteristic.FlowerTargetRelativeHumidity = function () { Characteristic.call(this, 'Target Relative Humidity', Characteristic.FlowerTargetRelativeHumidity.UUID); this.setProps({ format: Characteristic.Formats.FLOAT, perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY], unit: Characteristic.Units.PERCENTAGE, minValue: 0, maxValue: 100, minStep: 1 }); this.value = this.getDefaultValue(); }; Characteristic.FlowerTargetRelativeHumidity.UUID = 'B9A294F9-3EAA-4282-9F1B-AADE976E6729'; util.inherits(Characteristic.FlowerTargetRelativeHumidity, Characteristic); ////////////////////////////////////////////////////////////////////////////////////////// // Current Average Relative Humidity ////////////////////////////////////////////////////////////////////////////////////////// Characteristic.CurrentAverageRelativeHumidity = function () { Characteristic.call(this, '24h Average Relative Humidity', Characteristic.CurrentAverageRelativeHumidity.UUID); this.setProps({ format: Characteristic.Formats.FLOAT, unit: Characteristic.Units.PERCENTAGE, maxValue: 100, minValue: 0, minStep: 1, perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY] }); this.value = this.getDefaultValue(); }; Characteristic.CurrentAverageRelativeHumidity.UUID = 'CFD8DCC6-CE11-489F-854A-92688569B855'; util.inherits(Characteristic.CurrentAverageRelativeHumidity, Characteristic); //////////////////////////////////////////////////////////////////////////// // Recommendation Service //////////////////////////////////////////////////////////////////////////// Service.RecommendationService = function (displayName, subtype) { Service.call(this, displayName, Service.RecommendationService.UUID, subtype); // Required Characteristics this.addCharacteristic(Characteristic.FlowerTargetRelativeHumidity); this.addCharacteristic(Characteristic.TargetAmbientLightLevel); this.addCharacteristic(Characteristic.CurrentAverageRelativeHumidity); this.addCharacteristic(Characteristic.CurrentAverageAmbientLightLevel); // Optional Characteristics this.addOptionalCharacteristic(Characteristic.Name); }; Service.RecommendationService.UUID = '33A4F3A3-D2B7-4019-8209-1D037840252D'; util.inherits(Service.RecommendationService, Service); } };