UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

390 lines • 17.1 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 exposes = __importStar(require("../lib/exposes")); const m = __importStar(require("../lib/modernExtend")); const e = exposes.presets; // TODO: should split? const awox_color_ctrl = { cluster: "lightingColorCtrl", type: ["raw", "commandEnhancedMoveHue", "commandStepColorTemp" /* TODO: unused? */], // Limit types to messages we specifically handle convert: (model, msg, publish, options, meta) => { const payload = msg.data; let action = null; if (msg.type === "raw") { const colorByte = payload[4]; switch (colorByte) { case 0xd6: action = "color_blue"; break; case 0xd4: action = "color_green"; break; case 0xd2: action = "color_yellow"; break; case 0xd0: action = "color_red"; break; } } else if (msg.type === "commandEnhancedMoveHue") { action = "light_movement"; } if (action) { return { action: action }; } }, }; const awox_level_ctrl = { cluster: "genLevelCtrl", type: ["raw"], // Limit types to messages we specifically handle convert: (model, msg, publish, options, meta) => { const payload = msg.data; let action = null; if (msg.type === "raw" && payload[1] === 0xdf) { action = "refresh"; // Unique "Refresh" button } // DEVELOPER NOTE: Handling for genOnOff, genLevelCtrl (step/move), and genScenes is removed // as it's already covered by standard fz converters. if (action) { return { action: action }; } }, }; const awox_scenes_raw = { cluster: "genScenes", type: ["raw"], convert: (model, msg, publish, options, meta) => { return { action: `recall_${msg.data[msg.data.length - 1]}` }; }, }; exports.definitions = [ { zigbeeModel: ["ESMLFzm_w6_Dimm"], model: "12226", vendor: "AwoX", description: "Dimmable filament lamp", extend: [m.light()], }, { fingerprint: [ { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 258 }, { ID: 3, profileID: 49152, deviceID: 258 }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 257 }, { ID: 3, profileID: 4751, deviceID: 257 }, ], }, ], model: "AwoX-light", vendor: "AwoX", description: "Generic light", extend: [m.light()], whiteLabel: [ { vendor: "EGLO", model: "12229" }, { vendor: "EGLO", model: "12256" }, ], }, { zigbeeModel: ["ERCU_Zm"], fingerprint: [ { type: "EndDevice", manufacturerName: "AwoX", modelID: "TLSR82xx", powerSource: "Battery", endpoints: [ { ID: 1, profileID: 260, deviceID: 2048, inputClusters: [0, 3, 4, 4096], outputClusters: [0, 3, 4, 5, 6, 8, 768, 4096] }, { ID: 3, profileID: 4751, deviceID: 2048, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, ], model: "33952", vendor: "AwoX", description: "Remote controller", fromZigbee: [ fz.command_on, // @deprecated This converter provides generic color actions. Use `awox_remote_actions` for specific color buttons (blue, green, yellow, red). fz.awox_colors, // @deprecated This converter provides a generic refresh. Use `awox_remote_actions` for the dedicated 'refresh' action. fz.awox_refresh, // @deprecated This converter provides a generic colored refresh. Use `awox_remote_actions` for specific color buttons. fz.awox_refreshColored, fz.command_off, fz.command_step, // Now handled by fz.command_step fz.command_move, // Now handled by fz.command_move fz.command_stop, fz.command_recall, // Now handled by fz.command_recall fz.command_step_color_temperature, // Now handled by fz.command_step_color_temperature awox_color_ctrl, // Always at the end to prioritize specific actions. awox_level_ctrl, awox_scenes_raw, ], toZigbee: [], exposes: [ e.action([ "on", "off", /** @deprecated Use 'color_blue', 'color_green', 'color_yellow', 'color_red' from 'awox_remote_actions' instead. */ "red", // Deprecated if awox_colors is less precise than the new specific actions. /** @deprecated Use 'refresh' from 'awox_remote_actions' instead. */ "refresh", // Deprecated if fz.awox_refresh is less precise than the new refresh action. /** @deprecated Use 'color_blue', 'color_green', 'color_yellow', 'color_red' from 'awox_remote_actions' instead. */ "refresh_colored", // Deprecated if fz.awox_refreshColored is less precise. /** @deprecated Use 'color_blue' from 'awox_remote_actions' instead. */ "blue", /** @deprecated Use 'color_yellow' from 'awox_remote_actions' instead. */ "yellow", /** @deprecated Use 'color_green' from 'awox_remote_actions' instead. */ "green", // The actions below are no longer deprecated by awox_remote_actions as it no longer directly handles them. "brightness_step_up", "brightness_step_down", "brightness_move_up", "brightness_move_down", "brightness_stop", "recall_1", "color_temperature_step_up", "color_temperature_step_down", // New, more precise actions exposed by awox_remote_actions "color_blue", "color_green", "color_yellow", "color_red", // The actions below are no longer in awox_remote_actions; they are handled by standard converters. // "color_temp_warm", // "color_temp_cold", "light_movement", // This specific action is kept as it's handled by awox_remote_actions "refresh", // This specific action is kept as it's handled by awox_remote_actions "recall_1", // These actions are handled by fz.command_recall, not awox_remote_actions "recall_2", // Same ]), ], }, { zigbeeModel: ["ESMLzm_c5_GU10"], fingerprint: [ { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 269, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599, 10], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 269, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 269, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599, 10], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 269, inputClusters: [65360, 65361, 4], outputClusters: [65360, 65361] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 258, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096], outputClusters: [6, 25] }, { ID: 3, profileID: 49152, deviceID: 258, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 269, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 269, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 269, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 269, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, ], model: "33943/33944/33946", vendor: "AwoX", description: "LED RGB & brightness", extend: [m.light({ colorTemp: { range: [153, 370] }, color: { modes: ["xy", "hs"] } })], }, { fingerprint: [ { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 268, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599], outputClusters: [6] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, { ID: 3, profileID: 4751, deviceID: 268, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599, 10], outputClusters: [6] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, { ID: 3, profileID: 4751, deviceID: 268, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599, 10], outputClusters: [6] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, { ID: 3, profileID: 4751, deviceID: 268, inputClusters: [65360, 65361, 4], outputClusters: [65360, 65361] }, ], }, ], model: "33957", vendor: "AwoX", description: "LED light with color temperature", extend: [m.light({ colorTemp: { range: [153, 454] } })], whiteLabel: [{ vendor: "EGLO", model: "12239" }], }, { zigbeeModel: ["EBF_RGB_Zm"], model: "EBF_RGB_Zm", vendor: "AwoX", description: "LED with adjustable color temp on main ring; extra RGB strip for full colors.", extend: [m.light({ colorTemp: { range: [153, 370] }, color: { modes: ["xy", "hs"] } }), m.commandsOnOff()], whiteLabel: [{ vendor: "EGLO", model: "900566" }], }, { zigbeeModel: ["EGLO_ZM_TW"], fingerprint: [ { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096], outputClusters: [6, 25] }, { ID: 3, profileID: 49152, deviceID: 268, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, ], model: "33955", vendor: "AwoX", description: "LED light with color temperature", extend: [m.light({ colorTemp: { range: [153, 370] } })], whiteLabel: [ { vendor: "EGLO", model: "900316" }, { vendor: "EGLO", model: "900317" }, { vendor: "EGLO", model: "900053" }, ], }, { zigbeeModel: ["EGLO_ZM_RGB_W"], model: "EGLO_ZM_RGB_W", vendor: "AwoX", description: "RGB bulb with dedicated 3000 K white LED", extend: [m.light({ colorTemp: { range: [333, 333], startup: false }, color: { modes: ["xy", "hs"] } })], whiteLabel: [{ vendor: "EGLO", model: "113135" }], }, { zigbeeModel: ["EPIR_Zm"], model: "EPIR_Zm", vendor: "AwoX", description: "Connect-Z motion (PIR) sensor", extend: [m.battery(), m.occupancy(), m.commandsOnOff(), m.commandsLevelCtrl()], whiteLabel: [{ vendor: "EGLO", model: "99106" }], }, { zigbeeModel: ["ERCU_WS_Zm"], model: "ERCU_WS_Zm", vendor: "AwoX", description: "Connect-Z magnetic wall mountable light RCU", extend: [m.deviceEndpoints({ endpoints: { "1": 1, "3": 3 } }), m.commandsOnOff(), m.commandsLevelCtrl(), m.commandsColorCtrl()], meta: { multiEndpoint: true }, whiteLabel: [{ vendor: "EGLO", model: "900116" }], }, { fingerprint: [ { type: "Router", manufacturerName: "AwoX", modelID: "TLSR82xx", endpoints: [ { ID: 1, profileID: 260, deviceID: 257, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096, 64599, 10], outputClusters: [6] }, { ID: 3, profileID: 4751, deviceID: 257, inputClusters: [65360, 65361], outputClusters: [65360, 65361] }, ], }, ], model: "110285", vendor: "AwoX", description: "Smart Home LED Light Bulb E27, ST64, dimmable", extend: [m.deviceEndpoints({ endpoints: { "1": 1, "3": 3 } }), m.light()], whiteLabel: [{ vendor: "EGLO", model: "110285" }], }, ]; //# sourceMappingURL=awox.js.map