UNPKG

homebridge-fibaro-home-center

Version:

Homebridge plugin for Fibaro Home Center (2, 2 Lite, 3, 3 Lite, Yubii Home).

199 lines 8.63 kB
"use strict"; // manualDeviceConfigurations.ts var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.manualDeviceConfigs = exports.ManualDeviceConfigurations = void 0; // Configuration for manual device setup const constants_1 = require("./constants"); const manualDeviceConfigs = new Map(); exports.manualDeviceConfigs = manualDeviceConfigs; // Decorator function for mapping manual device configurations to the device type function ManualType(displayAs) { return function (target, propertyKey) { manualDeviceConfigs.set(displayAs, target[propertyKey]); }; } class ManualDeviceConfigurations { static configureSwitch(Service, Characteristic, device) { return [{ service: Service.Switch, characteristics: [Characteristic.On], subtype: device.id + '----', }]; } static configureDimmer(Service, Characteristic, device) { return [{ service: Service.Lightbulb, characteristics: [Characteristic.On, Characteristic.Brightness], subtype: device.id + '----', }]; } static configureBlind(Service, Characteristic, device) { return [{ service: Service.WindowCovering, characteristics: [ Characteristic.CurrentPosition, Characteristic.TargetPosition, Characteristic.PositionState, Characteristic.HoldPosition, ], subtype: device.id + '----', }]; } static configureBlindWithTilt(Service, Characteristic, device) { return [{ service: Service.WindowCovering, characteristics: [ Characteristic.CurrentPosition, Characteristic.TargetPosition, Characteristic.PositionState, Characteristic.HoldPosition, Characteristic.CurrentHorizontalTiltAngle, Characteristic.TargetHorizontalTiltAngle, ], subtype: device.id + '----', }]; } static configureGarage(Service, Characteristic, device) { return [{ service: Service.GarageDoorOpener, characteristics: [ Characteristic.CurrentDoorState, Characteristic.TargetDoorState, Characteristic.ObstructionDetected, ], subtype: device.id + '----', }]; } static configureTemperature(Service, Characteristic, device) { return [{ service: Service.TemperatureSensor, characteristics: [Characteristic.CurrentTemperature], subtype: device.id + '----', }]; } static configureHumidity(Service, Characteristic, device) { return [{ service: Service.HumiditySensor, characteristics: [Characteristic.CurrentRelativeHumidity], subtype: device.id + '----', }]; } static configureLightSensor(Service, Characteristic, device) { return [{ service: Service.LightSensor, characteristics: [Characteristic.CurrentAmbientLightLevel], subtype: device.id + '----', }]; } static configureMotion(Service, Characteristic, device) { return [{ service: Service.MotionSensor, characteristics: [Characteristic.MotionDetected], subtype: device.id + '----', }]; } static configureLeak(Service, Characteristic, device) { return [{ service: Service.LeakSensor, characteristics: [Characteristic.LeakDetected], subtype: device.id + '----', }]; } static configureSmoke(Service, Characteristic, device) { return [{ service: Service.SmokeSensor, characteristics: [Characteristic.SmokeDetected], subtype: device.id + '----', }]; } static configureOutlet(Service, Characteristic, device) { return [{ service: Service.Outlet, characteristics: [Characteristic.On, Characteristic.OutletInUse], subtype: device.id + '----', }]; } } exports.ManualDeviceConfigurations = ManualDeviceConfigurations; __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.SWITCH), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureSwitch", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.DIMMER), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureDimmer", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.BLIND), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureBlind", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.BLIND_WITH_TILT), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureBlindWithTilt", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.GARAGE), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureGarage", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.TEMPERATURE), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureTemperature", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.HUMIDITY), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureHumidity", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.LIGHT_SENSOR), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureLightSensor", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.MOTION), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureMotion", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.LEAK), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureLeak", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.SMOKE), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureSmoke", null); __decorate([ ManualType(constants_1.MANUAL_DEVICE_TYPES.OUTLET), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", void 0) ], ManualDeviceConfigurations, "configureOutlet", null); //# sourceMappingURL=deviceManual.js.map