@elshaer/homebridge-hdl-buspro-enhanced
Version:
Linking the HDL bus into the Homebridge widget
99 lines • 4.36 kB
JavaScript
;
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
exports.deviceTypeMap = void 0;
const RelayLightbulb_1 = require("./RelayLightbulb");
const RelayDimmableLightbulb_1 = require("./RelayDimmableLightbulb");
const Sensor8in1_1 = require("./Sensor8in1");
const RelayLock_1 = require("./RelayLock");
const LeakSensor_1 = require("./LeakSensor");
const SmokeSensor_1 = require("./SmokeSensor");
const OccupancySensor_1 = require("./OccupancySensor");
const ContactSensor_1 = require("./ContactSensor");
const RelayCurtains_1 = require("./RelayCurtains");
const RelayCurtainValve_1 = require("./RelayCurtainValve");
const RelayHeater_1 = require("./RelayHeater");
const RelayRGB_1 = require("./RelayRGB");
const RelayFan_1 = require("./RelayFan");
exports.deviceTypeMap = {
'relaylightbulb': {
deviceClass: RelayLightbulb_1.RelayLightbulb,
listener: RelayLightbulb_1.RelayListener,
uniqueArgs: (config) => [config.channel],
idEnding: (config) => `${config.channel}`,
},
'relaydimmablelightbulb': {
deviceClass: RelayDimmableLightbulb_1.RelayDimmableLightbulb,
listener: RelayLightbulb_1.RelayListener,
uniqueArgs: (config) => [config.channel],
idEnding: (config) => `${config.channel}`,
},
// Fan support
'relayfan': {
deviceClass: RelayFan_1.RelayFan,
listener: RelayLightbulb_1.RelayListener,
uniqueArgs: (config) => [config.channel],
idEnding: (config) => `${config.channel}`,
},
'sensor8in1': {
deviceClass: Sensor8in1_1.Sensor8in1,
listener: Sensor8in1_1.SensorListener,
uniqueArgs: () => [],
idEnding: () => '',
},
'relaylock': {
deviceClass: RelayLock_1.RelayLock,
listener: RelayLightbulb_1.RelayListener,
uniqueArgs: (config) => [config.channel, config.nc, config.lock_timeout],
idEnding: (config) => `${config.channel}`,
},
'relaycurtains': {
deviceClass: RelayCurtains_1.RelayCurtains,
listener: RelayCurtains_1.RelayCurtainListener,
uniqueArgs: (config) => [config.channel, config.nc, config.duration, config.curtains_precision],
idEnding: (config) => `${config.channel}`,
},
'relaycurtainvalve': {
deviceClass: RelayCurtainValve_1.RelayCurtainValve,
listener: RelayCurtains_1.RelayCurtainListener,
uniqueArgs: (config) => [config.channel, config.nc, config.valvetype],
idEnding: (config) => `${config.channel}`,
},
'contactsensor': {
deviceClass: ContactSensor_1.ContactSensor,
listener: ContactSensor_1.DryListener,
uniqueArgs: (config) => [config.area, config.channel, config.nc],
idEnding: (config) => `${config.area}.${config.channel}`,
},
'leaksensor': {
deviceClass: LeakSensor_1.LeakSensor,
listener: ContactSensor_1.DryListener,
uniqueArgs: (config) => [config.area, config.channel, config.nc],
idEnding: (config) => `${config.area}.${config.channel}`,
},
'smokesensor': {
deviceClass: SmokeSensor_1.SmokeSensor,
listener: ContactSensor_1.DryListener,
uniqueArgs: (config) => [config.area, config.channel, config.nc],
idEnding: (config) => `${config.area}.${config.channel}`,
},
'occupancysensor': {
deviceClass: OccupancySensor_1.OccupancySensor,
listener: ContactSensor_1.DryListener,
uniqueArgs: (config) => [config.area, config.channel, config.nc],
idEnding: (config) => `${config.area}.${config.channel}`,
},
'relayheater': {
deviceClass: RelayHeater_1.RelayHeater,
listener: RelayLightbulb_1.RelayListener,
uniqueArgs: (config) => [config.channel, config.minTemperature, config.maxTemperature, config.defaultTemperature],
idEnding: (config) => `${config.channel}`,
},
'relayrgb': {
deviceClass: RelayRGB_1.RelayRGB,
listener: RelayLightbulb_1.RelayListener, // Change if a dedicated listener is needed
uniqueArgs: (config) => [config.red_channel, config.green_channel, config.blue_channel],
idEnding: (config) => `${config.red_channel}-${config.green_channel}-${config.blue_channel}`,
},
};
//# sourceMappingURL=DeviceList.js.map