zigbee-herdsman-converters
Version:
Collection of device converters to be used with zigbee-herdsman
410 lines • 16.6 kB
JavaScript
"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 (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const exposes = __importStar(require("../lib/exposes"));
const fromZigbee_1 = __importDefault(require("../converters/fromZigbee"));
const reporting = __importStar(require("../lib/reporting"));
const toZigbee_1 = __importDefault(require("../converters/toZigbee"));
const modernExtend_1 = require("../lib/modernExtend");
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 = {
LDSENK08_sensitivity: {
key: ['sensitivity'],
convertSet: async (entity, key, value, meta) => {
await entity.write('ssIasZone', { 0x0013: { value, type: 0x20 } });
return { state: { sensitivity: value } };
},
},
};
const definitions = [
{
zigbeeModel: ['LDSENK08'],
model: 'LDSENK08',
vendor: 'ADEO',
description: 'ENKI LEXMAN wireless smart door window sensor with vibration',
fromZigbee: [fzLocal.LDSENK08, fromZigbee_1.default.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: [fromZigbee_1.default.command_arm, fromZigbee_1.default.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: [(0, modernExtend_1.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: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-3'],
model: 'IP-CDZOTAAP005JA-MAN',
vendor: 'ADEO',
description: 'ENKI LEXMAN E14 LED RGBW',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-4'],
model: 'IM-CDZDGAAA0005KA_MAN',
vendor: 'ADEO',
description: 'ENKI LEXMAN RGBTW GU10 Bulb',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-5'],
model: 'IST-CDZFB2AS007NA-MZN-01',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED white',
extend: [(0, modernExtend_1.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: [(0, modernExtend_1.onOff)(), (0, modernExtend_1.electricityMeter)({ cluster: 'metering' })],
},
{
zigbeeModel: ['ZBEK-7'],
model: 'IST-CDZFB2AS007NA-MZN-02',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED Edison white filament 806 lumen',
extend: [(0, modernExtend_1.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: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-9'],
model: 'IA-CDZFB2AA007NA-MZN-02',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-6'],
model: 'IG-CDZB2AG009RA-MZN-01',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 Led white bulb',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-10'],
model: 'IC-CDZFB2AC004HA-MZN',
vendor: 'ADEO',
description: 'ENKI LEXMAN E14 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-11'],
model: 'IM-CDZDGAAG005KA-MZN',
vendor: 'ADEO',
description: 'ENKI LEXMAN GU-10 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-12'],
model: 'IA-CDZFB2AA007NA-MZN-01',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-13'],
model: 'IG-CDZFB2AG010RA-MNZ',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-14'],
model: 'IC-CDZFB2AC005HA-MZN',
vendor: 'ADEO',
description: 'ENKI LEXMAN E14 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 454] } })],
},
{
zigbeeModel: ['ZBEK-22'],
model: 'BD05C-FL-21-G-ENK',
vendor: 'ADEO',
description: 'ENKI LEXMAN RGBCCT lamp',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-27'],
model: '84845506',
vendor: 'ADEO',
description: 'ENKI LEXMAN Gdansk',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-29'],
model: '84845509',
vendor: 'ADEO',
description: 'ENKI LEXMAN Gdansk LED panel',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-28'],
model: 'PEZ1-042-1020-C1D1',
vendor: 'ADEO',
description: 'ENKI LEXMAN Gdansk',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['ZBEK-34'],
model: '84870058',
vendor: 'ADEO',
description: 'ENKI LEXMAN Extraflat 225 ',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['LDSENK01F'],
model: 'LDSENK01F',
vendor: 'ADEO',
description: '10A EU smart plug',
extend: [(0, modernExtend_1.onOff)()],
},
{
zigbeeModel: ['LDSENK01S'],
model: 'LDSENK01S',
vendor: 'ADEO',
description: '10A EU smart plug',
extend: [(0, modernExtend_1.onOff)()],
},
{
zigbeeModel: ['LXEK-5', 'ZBEK-26'],
model: 'HR-C99C-Z-C045',
vendor: 'ADEO',
description: 'RGB CTT LEXMAN ENKI remote control',
fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.command_on, fromZigbee_1.default.command_off, fromZigbee_1.default.command_step, fromZigbee_1.default.command_stop, fromZigbee_1.default.command_step_color_temperature,
fromZigbee_1.default.command_step_hue, fromZigbee_1.default.command_step_saturation, fromZigbee_1.default.color_stop_raw, fromZigbee_1.default.scenes_recall_scene_65024, fromZigbee_1.default.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: [(0, modernExtend_1.light)({ colorTemp: { range: undefined }, color: true })],
},
{
zigbeeModel: ['LXEK-3'],
model: '9CZA-P470T-A1A',
vendor: 'ADEO',
description: 'ENKI LEXMAN E14 LED RGBW',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] }, color: true })],
},
{
zigbeeModel: ['LXEK-4'],
model: '9CZA-M350ST-Q1A',
vendor: 'ADEO',
description: 'ENKI LEXMAN GU-10 LED RGBW',
extend: [(0, modernExtend_1.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: [(0, modernExtend_1.light)({ colorTemp: { range: undefined }, color: true })],
},
{
zigbeeModel: ['LDSENK07'],
model: 'LDSENK07',
vendor: 'ADEO',
description: 'ENKI LEXMAN wireless smart outdoor siren',
fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.ias_siren],
toZigbee: [toZigbee_1.default.warning],
exposes: [e.warning(), e.battery(), e.battery_low(), e.tamper()],
extend: [
(0, modernExtend_1.quirkCheckinInterval)(0),
],
configure: async (device, coordinatorEndpoint) => {
await device.getEndpoint(1).unbind('genPollCtrl', coordinatorEndpoint);
},
},
{
zigbeeModel: ['LXEK-7'],
model: '9CZA-A806ST-Q1Z',
vendor: 'ADEO',
description: 'ENKI LEXMAN E27 LED white',
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 370] } })],
},
{
zigbeeModel: ['LDSENK02F'],
model: 'LDSENK02F',
description: '10A/16A EU smart plug',
vendor: 'ADEO',
extend: [(0, modernExtend_1.onOff)(), (0, modernExtend_1.electricityMeter)()],
},
{
zigbeeModel: ['LDSENK10'],
model: 'LDSENK10',
vendor: 'ADEO',
description: 'ENKI LEXMAN motion sensor',
fromZigbee: [fromZigbee_1.default.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: [(0, modernExtend_1.onOff)(), (0, modernExtend_1.electricityMeter)()],
},
{
zigbeeModel: ['SIN-4-1-20_LEX'],
model: 'SIN-4-1-20_LEX',
vendor: 'ADEO',
description: 'ENKI LEXMAN 3680W single output relay',
extend: [(0, modernExtend_1.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: [fromZigbee_1.default.cover_position_tilt],
toZigbee: [toZigbee_1.default.cover_state, toZigbee_1.default.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: [(0, modernExtend_1.onOff)()],
},
{
zigbeeModel: ['SIN-4-FP-21_EQU'],
model: 'SIN-4-FP-21_EQU',
vendor: 'ADEO',
description: 'Equation pilot wire heating module',
fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.metering, fromZigbee_1.default.nodon_pilot_wire_mode],
toZigbee: [toZigbee_1.default.on_off, toZigbee_1.default.nodon_pilot_wire_mode],
exposes: [
e.switch(),
e.power(),
e.energy(),
e.pilot_wire_mode(),
],
configure: async (device, coordinatorEndpoint) => {
const ep = device.getEndpoint(1);
await reporting.bind(ep, coordinatorEndpoint, ['genBasic', 'genIdentify', 'genOnOff', 'seMetering', 'manuSpecificNodOnPilotWire']);
await reporting.onOff(ep, { min: 1, max: 3600, change: 0 });
await reporting.readMeteringMultiplierDivisor(ep);
await reporting.instantaneousDemand(ep);
await reporting.currentSummDelivered(ep);
const p = reporting.payload('mode', 0, 120, 0, { min: 1, max: 3600, change: 0 });
await ep.configureReporting('manuSpecificNodOnPilotWire', p);
},
},
{
zigbeeModel: ['ZB-Remote-D0001'],
model: '83633204',
vendor: 'ADEO',
description: '1-key remote control',
fromZigbee: [fromZigbee_1.default.adeo_button_65024, fromZigbee_1.default.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);
},
},
];
exports.default = definitions;
module.exports = definitions;
//# sourceMappingURL=adeo.js.map