UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

898 lines • 37.2 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 (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 globalStore = __importStar(require("../lib/store")); const utils = __importStar(require("../lib/utils")); const ota = __importStar(require("../lib/ota")); const toZigbee_1 = __importDefault(require("../converters/toZigbee")); const libColor = __importStar(require("../lib/color")); const modernExtend_1 = require("../lib/modernExtend"); const logger_1 = require("../lib/logger"); const NS = 'zhc:gledopto'; const e = exposes.presets; const tzLocal1 = { gledopto_light_onoff_brightness: { key: ['state', 'brightness', 'brightness_percent'], options: [exposes.options.transition()], convertSet: async (entity, key, value, meta) => { if (utils.isNumber(meta.message?.transition)) { meta.message.transition = meta.message.transition * 3.3; } if (!Array.isArray(meta.mapped) && (meta.mapped.model === 'GL-S-007ZS' || meta.mapped.model === 'GL-C-009')) { // https://github.com/Koenkk/zigbee2mqtt/issues/2757 // Device doesn't support ON with moveToLevelWithOnOff command if (typeof meta.message.state === 'string' && meta.message.state.toLowerCase() === 'on') { await toZigbee_1.default.on_off.convertSet(entity, key, 'ON', meta); await utils.sleep(1000); } } return await toZigbee_1.default.light_onoff_brightness.convertSet(entity, key, value, meta); }, convertGet: async (entity, key, meta) => { return await toZigbee_1.default.light_onoff_brightness.convertGet(entity, key, meta); }, }, gledopto_light_colortemp: { key: ['color_temp', 'color_temp_percent'], options: [exposes.options.color_sync(), exposes.options.transition()], convertSet: async (entity, key, value, meta) => { if (utils.isNumber(meta.message?.transition)) { meta.message.transition = meta.message.transition * 3.3; } // Gledopto devices turn ON when they are OFF and color is set. // https://github.com/Koenkk/zigbee2mqtt/issues/3509 const state = { state: 'ON' }; const result = await toZigbee_1.default.light_colortemp.convertSet(entity, key, value, meta); if (result) { result.state = { ...result.state, ...state }; } return result; }, convertGet: async (entity, key, meta) => { return await toZigbee_1.default.light_colortemp.convertGet(entity, key, meta); }, }, gledopto_light_color: { key: ['color'], options: [exposes.options.color_sync(), exposes.options.transition()], convertSet: async (entity, key, value, meta) => { if (utils.isNumber(meta.message?.transition)) { meta.message.transition = meta.message.transition * 3.3; } if (key === 'color' && !meta.message.transition) { // Always provide a transition when setting color, otherwise CCT to RGB // doesn't work properly (CCT leds stay on). meta.message.transition = 0.4; } // Gledopto devices turn ON when they are OFF and color is set. // https://github.com/Koenkk/zigbee2mqtt/issues/3509 const state = { state: 'ON' }; const result = await toZigbee_1.default.light_color.convertSet(entity, key, value, meta); if (result) { result.state = { ...result.state, ...state }; } return result; }, convertGet: async (entity, key, meta) => { return await toZigbee_1.default.light_color.convertGet(entity, key, meta); }, }, }; const tzLocal = { ...tzLocal1, gledopto_light_color_colortemp: { key: ['color', 'color_temp', 'color_temp_percent'], options: [exposes.options.color_sync(), exposes.options.transition()], convertSet: async (entity, key, value, meta) => { if (key == 'color') { const result = await tzLocal1.gledopto_light_color.convertSet(entity, key, value, meta); utils.assertObject(result); if (result.state && result.state.color.hasOwnProperty('x') && result.state.color.hasOwnProperty('y')) { result.state.color_temp = Math.round(libColor.ColorXY.fromObject(result.state.color).toMireds()); } return result; } else if (key == 'color_temp' || key == 'color_temp_percent') { const result = await tzLocal1.gledopto_light_colortemp.convertSet(entity, key, value, meta); utils.assertObject(result); result.state.color = libColor.ColorXY.fromMireds(result.state.color_temp).rounded(4).toObject(); return result; } }, convertGet: async (entity, key, meta) => { return await toZigbee_1.default.light_color_colortemp.convertGet(entity, key, meta); }, }, }; function gledoptoLight(args) { args = { powerOnBehavior: false, ...args }; if (args.color) args.color = { modes: ['xy', 'hs'], ...(utils.isObject(args.color) ? args.color : {}) }; const result = (0, modernExtend_1.light)(args); result.toZigbee = utils.replaceInArray(result.toZigbee, [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.light_colortemp, toZigbee_1.default.light_color, toZigbee_1.default.light_color_colortemp], [tzLocal.gledopto_light_onoff_brightness, tzLocal.gledopto_light_colortemp, tzLocal.gledopto_light_color, tzLocal.gledopto_light_color_colortemp], false); return result; } function gledoptoOnOff(args) { const result = (0, modernExtend_1.onOff)({ powerOnBehavior: false, ...args }); result.onEvent = async (type, data, device) => { // This device doesn't support reporting. // Therefore we read the on/off state every 5 seconds. // This is the same way as the Hue bridge does it. if (type === 'stop') { clearInterval(globalStore.getValue(device, 'interval')); globalStore.clearValue(device, 'interval'); } else if (!globalStore.hasValue(device, 'interval')) { const interval = setInterval(async () => { try { await device.endpoints[0].read('genOnOff', ['onOff']); } catch (error) { // Do nothing } }, 5000); globalStore.putValue(device, 'interval', interval); } }; return result; } function gledoptoConfigureReadModelID() { const configure = async (device, coordinatorEndpoint, definition) => { // https://github.com/Koenkk/zigbee-herdsman-converters/issues/3016#issuecomment-1027726604 const endpoint = device.endpoints[0]; const oldModel = device.modelID; const newModel = (await endpoint.read('genBasic', ['modelId'])).modelId; if (oldModel != newModel) { logger_1.logger.info(`Detected Gledopto device mode change, from '${oldModel}' to '${newModel}'`, NS); } }; return { configure, isModernExtend: true }; } const definitions = [ { zigbeeModel: ['GL-SD-003P'], model: 'GL-SD-003P', vendor: 'Gledopto', description: 'Zigbee DIN Rail triac AC dimmer', extend: [(0, modernExtend_1.light)()], meta: { disableDefaultResponse: true }, }, { fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-H-001', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 528, inputClusters: [4096], outputClusters: [4096] }, ] }, ], model: 'GL-H-001', vendor: 'Gledopto', description: 'Zigbee RF Hub', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['HOMA2023'], model: 'GD-CZ-006', vendor: 'Gledopto', description: 'Zigbee LED Controller WW/CW', extend: [gledoptoLight({})], }, { zigbeeModel: ['GL-SD-001'], model: 'GL-SD-001', vendor: 'Gledopto', description: 'Zigbee triac AC dimmer', extend: [gledoptoLight({})], meta: { disableDefaultResponse: true }, }, { zigbeeModel: ['GL-C-006'], fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GLEDOPTO', endpoints: [ { ID: 11, profileID: 49246, deviceID: 544, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, ] }, ], model: 'GL-C-006', vendor: 'Gledopto', description: 'Zigbee LED Controller WW/CW', extend: [gledoptoLight({ colorTemp: { range: undefined } })], }, { zigbeeModel: ['GL-C-006S'], model: 'GL-C-006S', vendor: 'Gledopto', description: 'Zigbee LED Controller WW/CW (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined } })], }, { zigbeeModel: ['GL-C-006P'], model: 'GL-C-006P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee LED Controller WW/CW (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined } }), gledoptoConfigureReadModelID()], }, { zigbeeModel: ['GL-G-003P'], model: 'GL-G-003P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: '7W garden light pro', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 528, inputClusters: [4096], outputClusters: [4096] }, ] }, { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 12, profileID: 260, deviceID: 258, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, ] }, { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 260, deviceID: 269, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096], outputClusters: [25] }, { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] }, ] }, ], model: 'GL-C-007-1ID', // 1 ID controls white and color together // Only enable disableDefaultResponse for the second fingerprint: // https://github.com/Koenkk/zigbee2mqtt/issues/3813#issuecomment-694922037 meta: { disableDefaultResponse: (entity) => !!entity.getDevice().getEndpoint(12) }, vendor: 'Gledopto', description: 'Zigbee LED Controller RGBW (1 ID)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, { ID: 15, profileID: 49246, deviceID: 256, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, ] }, { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GLEDOPTO', endpoints: [ { ID: 10, profileID: 49246, deviceID: 256, inputClusters: [0, 3, 4, 5, 6, 8], outputClusters: [] }, { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, ] }, ], model: 'GL-C-007-2ID', // 2 ID controls white and color separate vendor: 'Gledopto', description: 'Zigbee LED Controller RGBW (2 ID)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], exposes: [e.light_brightness_colortemp_colorxy().withEndpoint('rgb'), e.light_brightness().withEndpoint('white')], endpoint: (device) => { if (device.getEndpoint(10) && device.getEndpoint(11) && device.getEndpoint(13)) { return { rgb: 11, white: 10 }; } else if (device.getEndpoint(11) && device.getEndpoint(12) && device.getEndpoint(13)) { return { rgb: 11, white: 12 }; } else { return { rgb: 11, white: 15 }; } }, }, { zigbeeModel: ['GL-C-007S'], model: 'GL-C-007S', vendor: 'Gledopto', description: 'Zigbee LED Controller RGBW (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-C-007P'], model: 'GL-C-007P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee LED Controller RGBW (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true }), gledoptoConfigureReadModelID()], }, { fingerprint: [ // Although the device announces modelID GL-C-007, this is clearly a GL-C-008 // https://github.com/Koenkk/zigbee2mqtt/issues/3525 { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, { ID: 15, profileID: 49246, deviceID: 544, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, ] }, { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GL-C-007', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 12, profileID: 260, deviceID: 258, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, { ID: 15, profileID: 49246, deviceID: 256, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, ] }, ], model: 'GL-C-008-2ID', // 2 ID controls color temperature and color separate vendor: 'Gledopto', description: 'Zigbee LED Controller RGB+CCT (2 ID)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], exposes: [e.light_brightness_colorxy().withEndpoint('rgb'), e.light_brightness_colortemp([158, 495]).withEndpoint('cct')], // Only enable disableDefaultResponse for the second fingerprint: // https://github.com/Koenkk/zigbee-herdsman-converters/issues/1315#issuecomment-645331185 meta: { disableDefaultResponse: (entity) => !!entity.getDevice().getEndpoint(12) }, endpoint: (device) => { return { rgb: 11, cct: 15 }; }, }, { fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GLEDOPTO', endpoints: [ { ID: 11, profileID: 49246, deviceID: 528, inputClusters: [0, 3, 4, 5, 6, 8, 768], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, ] }, ], zigbeeModel: ['GL-C-008'], model: 'GL-C-008-1ID', // 1 ID controls color temperature and color separate vendor: 'Gledopto', description: 'Zigbee LED Controller RGB+CCT (1 ID)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], meta: { disableDefaultResponse: true }, }, { zigbeeModel: ['GL-C-008S'], model: 'GL-C-008S', vendor: 'Gledopto', description: 'Zigbee LED Controller RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], meta: { disableDefaultResponse: true }, }, { zigbeeModel: ['GL-C-003P'], model: 'GL-C-003P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee LED Controller RGB (pro)', extend: [gledoptoLight({ color: true, powerOnBehavior: true }), gledoptoConfigureReadModelID()], }, { zigbeeModel: ['GL-C-008P'], model: 'GL-C-008P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee LED Controller RGB+CCT (pro)', whiteLabel: [{ vendor: 'Gledopto', model: 'GL-C-001P' }, { vendor: 'Gledopto', model: 'GL-C-002P' }], extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true }), gledoptoConfigureReadModelID()], meta: { disableDefaultResponse: true }, }, { zigbeeModel: ['GL-C-009'], fingerprint: [ { type: 'Router', manufacturerName: 'GLEDOPTO', modelID: 'GLEDOPTO', endpoints: [ { ID: 11, profileID: 49246, deviceID: 256, inputClusters: [0, 3, 4, 5, 6, 8], outputClusters: [] }, { ID: 13, profileID: 49246, deviceID: 57694, inputClusters: [4096], outputClusters: [4096] }, ] }, ], model: 'GL-C-009', vendor: 'Gledopto', description: 'Zigbee LED Controller W', extend: [gledoptoLight({})], }, { zigbeeModel: ['GL-C-009P'], model: 'GL-C-009P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee LED Controller W (pro)', extend: [gledoptoLight({ powerOnBehavior: true }), gledoptoConfigureReadModelID()], }, { zigbeeModel: ['GL-C-009S'], model: 'GL-C-009S', vendor: 'Gledopto', description: 'Zigbee LED Controller W (plus)', extend: [gledoptoLight({})], }, { zigbeeModel: ['GL-MC-001'], model: 'GL-MC-001', vendor: 'Gledopto', description: 'Zigbee USB Mini LED Controller RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-LB-001P'], model: 'GL-LB-001P', vendor: 'Gledopto', description: 'Zigbee USB LED bar RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true, powerOnBehavior: true })], }, { zigbeeModel: ['GL-B-002P'], model: 'GL-B-002P', vendor: 'Gledopto', description: 'Zigbee smart filament LED bulb', extend: [gledoptoLight({ colorTemp: { range: [158, 495] } })], }, { zigbeeModel: ['GL-S-006P'], model: 'GL-S-006P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee GU10 LED lamp', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true, turnsOffAtBrightness1: true })], }, { zigbeeModel: ['GL-S-014P'], model: 'GL-S-014P', vendor: 'Gledopto', description: 'Zigbee 5W MR16 bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 500] }, color: true })], }, { zigbeeModel: ['GL-MC-001P'], model: 'GL-MC-001P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee USB Mini LED Controller RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-003Z'], model: 'GL-S-003Z', vendor: 'Gledopto', description: 'Zigbee 5W GU10 Bulb RGBW', extend: [gledoptoLight({ color: true })], endpoint: (device) => { // https://github.com/Koenkk/zigbee2mqtt/issues/5169 if (device.getEndpoint(12)) return { default: 12 }; // https://github.com/Koenkk/zigbee2mqtt/issues/5681 else return { default: 11 }; }, }, { zigbeeModel: ['GL-S-004Z'], model: 'GL-S-004Z', vendor: 'Gledopto', description: 'Zigbee 4W MR16 Bulb 30deg RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: [155, 495], startup: true }, color: true })], }, { zigbeeModel: ['GL-S-005Z'], model: 'GL-S-005Z', vendor: 'Gledopto', description: 'Zigbee 4W MR16 Bulb 120deg RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-004ZS'], model: 'GL-S-004ZS', vendor: 'Gledopto', description: 'Zigbee 4W MR16 Bulb RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-004P', 'GL-S-005P'], model: 'GL-S-004P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 4W MR16 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true, turnsOffAtBrightness1: true })], }, { zigbeeModel: ['GL-S-007Z', 'GL-S-007Z(lk)'], model: 'GL-S-007Z', vendor: 'Gledopto', description: 'Zigbee 5W GU10 Bulb RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-007ZS'], model: 'GL-S-007ZS', vendor: 'Gledopto', description: 'Zigbee 4W GU10 Bulb RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-007P'], model: 'GL-S-007P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 4W GU10 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-S-008Z'], model: 'GL-S-008Z', vendor: 'Gledopto', description: 'Zigbee 5W PAR16 Bulb RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-001Z'], model: 'GL-B-001Z', vendor: 'Gledopto', description: 'Zigbee 4W E12/E14 Bulb RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-001ZS'], model: 'GL-B-001ZS', vendor: 'Gledopto', description: 'Zigbee 4W E12/E14 Bulb RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-001P'], model: 'GL-B-001P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 4W E12/E14 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-007Z'], model: 'GL-B-007Z', vendor: 'Gledopto', description: 'Zigbee 6W E26/E27 Bulb RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-C-103P'], model: 'GL-C-103P', vendor: 'Gledopto', description: 'Zigbee LED controller (pro)', extend: [(0, modernExtend_1.light)({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-G-004P'], model: 'GL-G-004P', vendor: 'Gledopto', description: 'Zigbee 7W garden light Pro RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-B-007ZS'], model: 'GL-B-007ZS', vendor: 'Gledopto', description: 'Zigbee 6W E26/E27 Bulb RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-007P'], model: 'GL-B-007P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 6W E26/E27 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true, powerOnBehavior: true })], }, { zigbeeModel: ['GL-B-008Z'], model: 'GL-B-008Z', vendor: 'Gledopto', description: 'Zigbee 12W E26/E27 Bulb RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-008ZS'], model: 'GL-B-008ZS', vendor: 'Gledopto', description: 'Zigbee 12W E26/E27 Bulb RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-008P'], model: 'GL-B-008P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W E26/E27 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-002P'], model: 'GL-D-002P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 6W Downlight RGB+CCT (pro CRI>90)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-003Z'], model: 'GL-D-003Z', vendor: 'Gledopto', description: 'Zigbee 6W Downlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-003ZS'], model: 'GL-D-003ZS', vendor: 'Gledopto', description: 'Zigbee 6W Downlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-003P'], model: 'GL-D-003P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 6W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-004Z'], model: 'GL-D-004Z', vendor: 'Gledopto', description: 'Zigbee 9W Downlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-004ZS'], model: 'GL-D-004ZS', vendor: 'Gledopto', description: 'Zigbee 9W Downlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-004P'], model: 'GL-D-004P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 9W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-005Z'], model: 'GL-D-005Z', vendor: 'Gledopto', description: 'Zigbee 12W Downlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-005ZS'], model: 'GL-D-005ZS', vendor: 'Gledopto', description: 'Zigbee 12W Downlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-D-005P'], model: 'GL-D-005P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-009P'], model: 'GL-D-009P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-015P'], model: 'GL-D-015P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-010P'], model: 'GL-D-010P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-013P'], model: 'GL-D-013P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 6W Downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-006P'], model: 'GL-D-006P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 6W anti-glare downlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-D-007P'], model: 'GL-D-007P', vendor: 'Gledopto', description: 'Zigbee 12W anti-glare downlight RGB+CCT (pro)', ota: ota.zigbeeOTA, extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-FL-004TZ'], model: 'GL-FL-004TZ', vendor: 'Gledopto', description: 'Zigbee 10W Floodlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-B-003P'], model: 'GL-B-003P', vendor: 'Gledopto', description: 'Zigbee 7W E26/E27 Bulb RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [155, 495] }, turnsOffAtBrightness1: true })], }, { zigbeeModel: ['GL-FL-004TZS'], model: 'GL-FL-004TZS', vendor: 'Gledopto', description: 'Zigbee 10W Floodlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: [155, 495] }, color: true })], }, { zigbeeModel: ['GL-FL-004P', 'GL-FL-004TZP'], model: 'GL-FL-004P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 10W Floodlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-C-004P'], model: 'GL-C-004P', vendor: 'Gledopto', description: 'Zigbee LED Strip Light Kit', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, configureReporting: true })], }, { zigbeeModel: ['GL-FL-001P'], model: 'GL-FL-001P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 10W Floodlight RGB+CCT 12V Low Voltage (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-FL-005TZ'], model: 'GL-FL-005TZ', vendor: 'Gledopto', description: 'Zigbee 30W Floodlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-FL-005TZS'], model: 'GL-FL-005TZS', vendor: 'Gledopto', description: 'Zigbee 30W Floodlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-FL-005P', 'GL-FL-005TZP'], model: 'GL-FL-005P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 30W Floodlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-FL-006TZ'], model: 'GL-FL-006TZ', vendor: 'Gledopto', description: 'Zigbee 60W Floodlight RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-FL-006TZS'], model: 'GL-FL-006TZS', vendor: 'Gledopto', description: 'Zigbee 60W Floodlight RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-FL-006P', 'GL-FL-006TZP'], model: 'GL-FL-006P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 60W Floodlight RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [158, 495] }, color: true })], }, { zigbeeModel: ['GL-G-001Z'], model: 'GL-G-001Z', vendor: 'Gledopto', description: 'Zigbee 12W Garden Lamp RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-G-001ZS'], model: 'GL-G-001ZS', vendor: 'Gledopto', description: 'Zigbee 12W Garden Lamp RGB+CCT (plus)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-G-001P'], model: 'GL-G-001P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W Garden Lamp RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-G-101P'], model: 'GL-G-101P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 12W garden lamp RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-G-002P'], model: 'GL-G-002P', vendor: 'Gledopto', ota: ota.zigbeeOTA, description: 'Zigbee 7W garden lamp RGB+CCT (pro)', extend: [gledoptoLight({ colorTemp: { range: [150, 500] }, color: true })], }, { zigbeeModel: ['GL-G-007Z'], model: 'GL-G-007Z', vendor: 'Gledopto', description: 'Zigbee 9W garden lamp RGB+CCT', extend: [gledoptoLight({ colorTemp: { range: undefined }, color: true })], }, { zigbeeModel: ['GL-P-101P'], model: 'GL-P-101P', vendor: 'Gledopto', description: 'Zigbee pro constant current CCT LED driver', extend: [gledoptoLight({ colorTemp: { range: [158, 495] } })], }, { zigbeeModel: ['GL-W-001Z'], model: 'GL-W-001Z', vendor: 'Gledopto', description: 'Zigbee on/off wall switch', extend: [gledoptoOnOff()], }, { zigbeeModel: ['GL-SD-002'], model: 'GL-SD-002', vendor: 'Gledopto', description: 'Zigbee 3.0 smart home switch', extend: [gledoptoOnOff()], }, { zigbeeModel: ['GL-B-004P'], model: 'GL-B-004P', vendor: 'Gledopto', description: 'Filament LED light bulb E27 G95 7W pro', extend: [gledoptoLight({ colorTemp: { range: [158, 495] } })], }, ]; exports.default = definitions; module.exports = definitions; //# sourceMappingURL=gledopto.js.map