UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

490 lines • 17.5 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.definitions = void 0; const fz = __importStar(require("../converters/fromZigbee")); const tz = __importStar(require("../converters/toZigbee")); const exposes = __importStar(require("../lib/exposes")); const m = __importStar(require("../lib/modernExtend")); const nodon_1 = require("../lib/nodon"); const reporting = __importStar(require("../lib/reporting")); const e = exposes.presets; const ea = exposes.access; const fzLocal = { LDSENK08: { cluster: "ssIasZone", type: "commandStatusChangeNotification", convert: (model, msg, publish, options, meta) => { const zoneStatus = msg.data.zonestatus; return { contact: !((zoneStatus & 1) > 0), vibration: (zoneStatus & (1 << 1)) > 0, tamper: (zoneStatus & (1 << 2)) > 0, battery_low: (zoneStatus & (1 << 3)) > 0, }; }, }, }; const tzLocal = { // biome-ignore lint/style/useNamingConvention: ignored using `--suppress` LDSENK08_sensitivity: { key: ["sensitivity"], convertSet: async (entity, key, value, meta) => { await entity.write("ssIasZone", { 19: { value, type: 0x20 } }); return { state: { sensitivity: value } }; }, }, }; exports.definitions = [ { zigbeeModel: ["LDSENK08"], model: "LDSENK08", vendor: "ADEO", description: "ENKI LEXMAN wireless smart door window sensor with vibration", fromZigbee: [fzLocal.LDSENK08, fz.battery], toZigbee: [tzLocal.LDSENK08_sensitivity], exposes: [ e.battery_low(), e.contact(), e.vibration(), e.tamper(), e.battery(), e.numeric("sensitivity", ea.STATE_SET).withValueMin(0).withValueMax(4).withDescription("Sensitivity of the motion sensor"), ], configure: async (device, coordinatorEndpoint) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ["genPowerCfg"]); await reporting.batteryPercentageRemaining(endpoint); }, }, { zigbeeModel: ["LDSENK09"], model: "LDSENK09", vendor: "ADEO", description: "Security system key fob", fromZigbee: [fz.command_arm, fz.command_panic], toZigbee: [], exposes: [e.action(["panic", "disarm", "arm_partial_zones", "arm_all_zones"])], onEvent: async (type, data, device) => { // Since arm command has a response zigbee-herdsman doesn't send a default response. // This causes the remote to repeat the arm command, so send a default response here. if (data.type === "commandArm" && data.cluster === "ssIasAce") { await data.endpoint.defaultResponse(0, 0, 1281, data.meta.zclTransactionSequenceNumber); } }, }, { zigbeeModel: ["ZBEK-1"], model: "IA-CDZOTAAA007MA-MAN", vendor: "ADEO", description: "ENKI LEXMAN E27 7.2 to 60W LED RGBW", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-2"], model: "IG-CDZOTAAG014RA-MAN", vendor: "ADEO", description: "ENKI LEXMAN E27 14W to 100W LED RGBW v2", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-3"], model: "IP-CDZOTAAP005JA-MAN", vendor: "ADEO", description: "ENKI LEXMAN E14 LED RGBW", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-4"], model: "IM-CDZDGAAA0005KA_MAN", vendor: "ADEO", description: "ENKI LEXMAN RGBTW GU10 Bulb", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-5"], model: "IST-CDZFB2AS007NA-MZN-01", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["SIN-4-1-21_EQU"], model: "SIN-4-1-21_EQU", vendor: "ADEO", description: "Multifunction relay switch with metering", extend: [m.onOff(), m.electricityMeter({ cluster: "metering" })], }, { zigbeeModel: ["ZBEK-7"], model: "IST-CDZFB2AS007NA-MZN-02", vendor: "ADEO", description: "ENKI LEXMAN E27 LED Edison white filament 806 lumen", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-8"], model: "IG-CDZFB2G009RA-MZN-02", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white filament 1055 lumen", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-9"], model: "IA-CDZFB2AA007NA-MZN-02", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-6"], model: "IG-CDZB2AG009RA-MZN-01", vendor: "ADEO", description: "ENKI LEXMAN E27 Led white bulb", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-10"], model: "IC-CDZFB2AC004HA-MZN", vendor: "ADEO", description: "ENKI LEXMAN E14 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-11"], model: "IM-CDZDGAAG005KA-MZN", vendor: "ADEO", description: "ENKI LEXMAN GU-10 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-12"], model: "IA-CDZFB2AA007NA-MZN-01", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-13"], model: "IG-CDZFB2AG010RA-MNZ", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-14"], model: "IC-CDZFB2AC005HA-MZN", vendor: "ADEO", description: "ENKI LEXMAN E14 LED white", extend: [m.light({ colorTemp: { range: [153, 454] } })], }, { zigbeeModel: ["ZBEK-22"], model: "BD05C-FL-21-G-ENK", vendor: "ADEO", description: "ENKI LEXMAN RGBCCT lamp", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-27"], model: "84845506", vendor: "ADEO", description: "ENKI LEXMAN Gdansk", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-29"], model: "84845509", vendor: "ADEO", description: "ENKI LEXMAN Gdansk LED panel", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-28"], model: "PEZ1-042-1020-C1D1", vendor: "ADEO", description: "ENKI LEXMAN Gdansk", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-31"], model: "84870054", vendor: "ADEO", description: "ENKI LEXMAN Extraflat 85", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-32"], model: "ZBEK-32", vendor: "ADEO", description: "ENKI Inspire Extraflat D12", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-33"], model: "ZBEK-33", vendor: "ADEO", description: "ENKI Inspire Extraflat 2400Lumens", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["ZBEK-34"], model: "84870058", vendor: "ADEO", description: "ENKI LEXMAN Extraflat 225 ", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["LDSENK01F"], model: "LDSENK01F", vendor: "ADEO", description: "10A EU smart plug", extend: [m.onOff()], }, { zigbeeModel: ["LDSENK01S"], model: "LDSENK01S", vendor: "ADEO", description: "10A EU smart plug", extend: [m.onOff()], }, { zigbeeModel: ["LXEK-5", "ZBEK-26"], model: "HR-C99C-Z-C045", vendor: "ADEO", description: "RGB CTT LEXMAN ENKI remote control", fromZigbee: [ fz.battery, fz.command_on, fz.command_off, fz.command_step, fz.command_stop, fz.command_step_color_temperature, fz.command_step_hue, fz.command_step_saturation, fz.color_stop_raw, fz.scenes_recall_scene_65024, fz.ignore_genOta, ], toZigbee: [], exposes: [ e.battery(), e.action([ "on", "off", "scene_1", "scene_2", "scene_3", "scene_4", "color_saturation_step_up", "color_saturation_step_down", "color_stop", "color_hue_step_up", "color_hue_step_down", "color_temperature_step_up", "color_temperature_step_down", "brightness_step_up", "brightness_step_down", "brightness_stop", ]), ], configure: async (device, coordinatorEndpoint) => { const endpoint = device.getEndpoint(1); const binds = ["genBasic", "genOnOff", "genPowerCfg", "lightingColorCtrl", "genLevelCtrl"]; await reporting.bind(endpoint, coordinatorEndpoint, binds); await reporting.batteryPercentageRemaining(endpoint); }, }, { zigbeeModel: ["LXEK-1"], model: "9CZA-A806ST-Q1A", vendor: "ADEO", description: "ENKI LEXMAN E27 LED RGBW", extend: [m.light({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ["LXEK-3"], model: "9CZA-P470T-A1A", vendor: "ADEO", description: "ENKI LEXMAN E14 LED RGBW", extend: [m.light({ colorTemp: { range: [153, 370] }, color: true })], }, { zigbeeModel: ["LXEK-4"], model: "9CZA-M350ST-Q1A", vendor: "ADEO", description: "ENKI LEXMAN GU-10 LED RGBW", extend: [m.light({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ["LXEK-2"], model: "9CZA-G1521-Q1A", vendor: "ADEO", description: "ENKI LEXMAN E27 14W to 100W LED RGBW", extend: [m.light({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ["LDSENK07"], model: "LDSENK07", vendor: "ADEO", description: "ENKI LEXMAN wireless smart outdoor siren", fromZigbee: [fz.battery, fz.ias_siren], toZigbee: [tz.warning], exposes: [e.warning(), e.battery(), e.battery_low(), e.tamper()], extend: [m.quirkCheckinInterval(0)], configure: async (device, coordinatorEndpoint) => { const endpoint = device.getEndpoint(1); if (endpoint.binds.some((b) => b.cluster.name === "genPollCtrl")) { await endpoint.unbind("genPollCtrl", coordinatorEndpoint); } }, }, { zigbeeModel: ["LXEK-7"], model: "9CZA-A806ST-Q1Z", vendor: "ADEO", description: "ENKI LEXMAN E27 LED white", extend: [m.light({ colorTemp: { range: [153, 370] } })], }, { zigbeeModel: ["LDSENK02F"], model: "LDSENK02F", description: "10A/16A EU smart plug", vendor: "ADEO", extend: [m.onOff(), m.electricityMeter()], }, { zigbeeModel: ["LDSENK10"], model: "LDSENK10", vendor: "ADEO", description: "ENKI LEXMAN motion sensor", fromZigbee: [fz.ias_occupancy_alarm_1], toZigbee: [], exposes: [e.occupancy(), e.battery_low(), e.tamper()], }, { zigbeeModel: ["LDSENK02S"], model: "LDSENK02S", vendor: "ADEO", description: "ENKI LEXMAN 16A EU smart plug", extend: [m.onOff(), m.electricityMeter()], }, { zigbeeModel: ["SIN-4-1-20_LEX"], model: "SIN-4-1-20_LEX", vendor: "ADEO", description: "ENKI LEXMAN 3680W single output relay", extend: [m.onOff()], endpoint: (device) => { return { default: 1 }; }, }, { zigbeeModel: ["SIN-4-RS-20_LEX"], model: "SIN-4-RS-20_LEX", vendor: "ADEO", description: "Roller shutter controller (Leroy Merlin version)", fromZigbee: [fz.cover_position_tilt], toZigbee: [tz.cover_state, tz.cover_position_tilt], configure: async (device, coordinatorEndpoint) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ["genPowerCfg", "closuresWindowCovering"]); await reporting.currentPositionLiftPercentage(endpoint); await reporting.currentPositionTiltPercentage(endpoint); }, exposes: [e.cover_position()], }, { zigbeeModel: ["SIN-4-1-22_LEX"], model: "SIN-4-1-22_LEX", vendor: "ADEO", description: "ENKI LEXMAN Access Control", extend: [m.onOff()], }, { zigbeeModel: ["SIN-4-FP-21_EQU"], model: "SIN-4-FP-21_EQU", vendor: "ADEO", description: "Equation pilot wire heating module", ota: true, fromZigbee: [fz.on_off, fz.metering], toZigbee: [tz.on_off], exposes: [e.switch(), e.power(), e.energy()], configure: async (device, coordinatorEndpoint) => { const ep = device.getEndpoint(1); await reporting.bind(ep, coordinatorEndpoint, ["genBasic", "genIdentify", "genOnOff", "seMetering"]); await reporting.onOff(ep, { min: 1, max: 3600, change: 0 }); await reporting.readMeteringMultiplierDivisor(ep); await reporting.instantaneousDemand(ep); await reporting.currentSummDelivered(ep); }, extend: [...(0, nodon_1.nodonPilotWire)(true)], }, { zigbeeModel: ["ZB-Remote-D0001"], model: "83633204", vendor: "ADEO", description: "1-key remote control", fromZigbee: [fz.adeo_button_65024, fz.battery], exposes: [e.action(["single", "double", "hold"]), e.battery()], toZigbee: [], configure: async (device, coordinatorEndpoint) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ["genPowerCfg"]); await reporting.batteryPercentageRemaining(endpoint); }, }, { zigbeeModel: ["ZB-SMART-PIRTH-V3"], model: "83633205", vendor: "ADEO", description: "Smart 4 in 1 sensor", extend: [ m.battery(), m.illuminance(), m.temperature(), m.humidity(), m.iasZoneAlarm({ zoneType: "occupancy", zoneAttributes: ["alarm_1", "tamper", "battery_low"] }), ], }, { zigbeeModel: ["ZB-DoorSensor-D0007"], model: "ZB-DoorSensor-D0007", vendor: "ADEO", description: "ENKI LEXMAN wireless smart door window sensor", extend: [m.battery(), m.iasZoneAlarm({ zoneType: "contact", zoneAttributes: ["alarm_1", "tamper", "battery_low"] })], }, ]; //# sourceMappingURL=adeo.js.map