@homenet/plugin-zway
Version:
Homenet plugin for Z-Way connected Z-Wave devices
32 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sensor_1 = require("./sensor");
const lock_1 = require("./lock");
function createLockFactory(controllers, logger) {
return function lockFactory(id, opts) {
logger.info('Adding Z-Way lock: ' + id);
const controller = controllers[opts.controller];
return new lock_1.ZwayLock(id, controller, opts.deviceId);
};
}
exports.createLockFactory = createLockFactory;
function createSensorFactory(controllers, logger, type) {
return function sensorFactory(id, opts) {
logger.info(`Adding Z-Way ${type} sensor: ${id}`);
const controller = controllers[opts.controller];
switch (type) {
case 'motion':
return new sensor_1.ZwayMotionSensor(id, controller, opts);
case 'temperature':
return new sensor_1.ZwayTemperatureSensor(id, controller, opts);
case 'humidity':
return new sensor_1.ZwayHumiditySensor(id, controller, opts);
case 'luminescence':
return new sensor_1.ZwayLuminescenceSensor(id, controller, opts);
default:
throw new Error(`Could not create ${type} sensor: ${id}`);
}
};
}
exports.createSensorFactory = createSensorFactory;
//# sourceMappingURL=factories.js.map