homebridge-fibaro-home-center
Version:
Homebridge plugin for Fibaro Home Center (2, 2 Lite, 3, 3 Lite, Yubii Home).
199 lines • 8.63 kB
JavaScript
;
// 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