UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

526 lines (524 loc) • 18.4 kB
const exposes = require('../lib/exposes'); const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee}; const tz = require('../converters/toZigbee'); const reporting = require('../lib/reporting'); const extend = require('../lib/extend'); const e = exposes.presets; const ea = exposes.access; module.exports = [ { zigbeeModel: ['FL 140 C'], model: 'FL 140 C', vendor: 'Innr', description: 'Color Flex LED strip 4m 1200lm', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['FL 130 C'], model: 'FL 130 C', vendor: 'Innr', description: 'Color Flex LED strip', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['FL 120 C'], model: 'FL 120 C', vendor: 'Innr', description: 'Color Flex LED strip', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BF 263'], model: 'BF 263', vendor: 'Innr', description: 'B22 filament bulb dimmable', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['OPL 130 C'], model: 'OPL 130 C', vendor: 'Innr', description: 'Outdoor smart pedestal light colour', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 185 C'], model: 'RB 185 C', vendor: 'Innr', description: 'E27 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BY 185 C'], model: 'BY 185 C', vendor: 'Innr', description: 'B22 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 250 C'], model: 'RB 250 C', vendor: 'Innr', description: 'E14 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {enhancedHue: false, applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 265'], model: 'RB 265', vendor: 'Innr', description: 'E27 bulb', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RF 265'], model: 'RF 265', vendor: 'Innr', description: 'E27 bulb filament clear', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BF 265'], model: 'BF 265', vendor: 'Innr', description: 'B22 bulb filament clear', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 278 T'], model: 'RB 278 T', vendor: 'Innr', description: 'Smart bulb tunable white E27', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 285 C'], model: 'RB 285 C', vendor: 'Innr', description: 'E27 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {enhancedHue: false, applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BY 285 C'], model: 'BY 285 C', vendor: 'Innr', description: 'B22 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 165'], model: 'RB 165', vendor: 'Innr', description: 'E27 bulb', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 162'], model: 'RB 162', vendor: 'Innr', description: 'E27 bulb', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 172 W'], model: 'RB 172 W', vendor: 'Innr', description: 'ZigBee E27 retrofit bulb, warm dimmable 2200-2700K, 806 Lm', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 175 W'], model: 'RB 175 W', vendor: 'Innr', description: 'E27 bulb warm dimming', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 178 T'], model: 'RB 178 T', vendor: 'Innr', description: 'Smart bulb tunable white E27', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BY 178 T'], model: 'BY 178 T', vendor: 'Innr', description: 'Smart bulb tunable white B22', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 122'], model: 'RS 122', vendor: 'Innr', description: 'GU10 spot', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 125'], model: 'RS 125', vendor: 'Innr', description: 'GU10 spot', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 225'], model: 'RS 225', vendor: 'Innr', description: 'GU10 Spot', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 226'], model: 'RS 226', vendor: 'Innr', description: 'GU10 Spot', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 128 T'], model: 'RS 128 T', vendor: 'Innr', description: 'GU10 spot 350 lm, dimmable, white spectrum', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 228 T'], model: 'RS 228 T', vendor: 'Innr', description: 'GU10 spot 350 lm, dimmable, white spectrum', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 229 T'], model: 'RS 229 T', vendor: 'Innr', description: 'GU10 spot 350 lm, dimmable, white spectrum', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [200, 454]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RS 230 C'], model: 'RS 230 C', vendor: 'Innr', description: 'GU10 spot 350 lm, dimmable, RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), exposes: [e.light_brightness_colortemp_color()], meta: {enhancedHue: false, applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 145'], model: 'RB 145', vendor: 'Innr', description: 'E14 candle', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 245'], model: 'RB 245', vendor: 'Innr', description: 'E14 candle', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 248 T'], model: 'RB 248 T', vendor: 'Innr', description: 'E14 candle with white spectrum', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RB 148 T'], model: 'RB 148 T', vendor: 'Innr', description: 'E14 candle with white spectrum', extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RF 261'], model: 'RF 261', vendor: 'Innr', description: 'E27 filament bulb dimmable', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RF 263'], model: 'RF 263', vendor: 'Innr', description: 'E27 filament bulb dimmable', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RF 264'], model: 'RF 264', vendor: 'Innr', description: 'E27 filament bulb dimmable', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BY 165', 'BY 265'], model: 'BY 165', vendor: 'Innr', description: 'B22 bulb dimmable', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RCL 110'], model: 'RCL 110', vendor: 'Innr', description: 'Round ceiling light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RSL 110'], model: 'RSL 110', vendor: 'Innr', description: 'Recessed spot light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RSL 115'], model: 'RSL 115', vendor: 'Innr', description: 'Recessed spot light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['PL 110'], model: 'PL 110', vendor: 'Innr', description: 'Puck Light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['PL 115'], model: 'PL 115', vendor: 'Innr', description: 'Puck Light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['ST 110'], model: 'ST 110', vendor: 'Innr', description: 'Strip Light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['UC 110'], model: 'UC 110', vendor: 'Innr', description: 'Under cabinet light', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['DL 110 N'], model: 'DL 110 N', vendor: 'Innr', description: 'Spot narrow', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['DL 110 W'], model: 'DL 110 W', vendor: 'Innr', description: 'Spot wide', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['SL 110 N'], model: 'SL 110 N', vendor: 'Innr', description: 'Spot Flex narrow', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['SL 110 M'], model: 'SL 110 M', vendor: 'Innr', description: 'Spot Flex medium', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['SL 110 W'], model: 'SL 110 W', vendor: 'Innr', description: 'Spot Flex wide', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['AE 260'], model: 'AE 260', vendor: 'Innr', description: 'E26/24 bulb', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['AE 280 C'], model: 'AE 280 C', vendor: 'Innr', description: 'E26 bulb RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['SP 120'], model: 'SP 120', vendor: 'Innr', description: 'Smart plug', fromZigbee: [fz.electrical_measurement, fz.on_off, fz.ignore_genLevelCtrl_report, fz.metering], toZigbee: [tz.on_off], configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']); await reporting.onOff(endpoint); // Gives UNSUPPORTED_ATTRIBUTE on reporting.readEletricalMeasurementMultiplierDivisors. endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', { acCurrentDivisor: 1000, acCurrentMultiplier: 1, }); await reporting.activePower(endpoint); await reporting.rmsCurrent(endpoint); await reporting.rmsVoltage(endpoint); // Gives UNSUPPORTED_ATTRIBUTE on reporting.readMeteringMultiplierDivisor. endpoint.saveClusterAttributeKeyValue('seMetering', {multiplier: 1, divisor: 100}); await reporting.currentSummDelivered(endpoint); }, exposes: [e.power(), e.current(), e.voltage().withAccess(ea.STATE), e.switch(), e.energy()], }, { zigbeeModel: ['SP 220'], model: 'SP 220', vendor: 'Innr', description: 'Smart plug', extend: extend.switch(), configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']); await reporting.onOff(endpoint); }, }, { zigbeeModel: ['SP 222'], model: 'SP 222', vendor: 'Innr', description: 'Smart plug', extend: extend.switch(), configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']); await reporting.onOff(endpoint); }, }, { zigbeeModel: ['SP 224'], model: 'SP 224', vendor: 'Innr', description: 'Smart plug', extend: extend.switch(), configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']); await reporting.onOff(endpoint); }, }, { zigbeeModel: ['OFL 120 C'], model: 'OFL 120 C', vendor: 'Innr', description: 'Outdoor flex light colour LED strip 2m, 550lm, RGBW', extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['OFL 140 C'], model: 'OFL 140 C', vendor: 'Innr', description: 'Outdoor flex light colour LED strip 4m, 1000lm, RGBW', extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['OSL 130 C'], model: 'OSL 130 C', vendor: 'Innr', description: 'Outdoor smart spot colour, 230lm/spot, RGBW', extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555], supportsHS: true}), meta: {applyRedFix: true, turnsOffAtBrightness1: true}, }, { zigbeeModel: ['BE 220'], model: 'BE 220', vendor: 'Innr', description: 'E26/E24 white bulb', extend: extend.light_onoff_brightness(), meta: {turnsOffAtBrightness1: true}, }, { zigbeeModel: ['RC 110'], model: 'RC 110', vendor: 'Innr', description: 'Innr RC 110 Remote Control', fromZigbee: [fz.command_step, fz.command_move, fz.command_stop, fz.command_on, fz.command_off, fz.rc_110_level_to_scene], toZigbee: [], meta: {multiEndpoint: true}, endpoint: (device) => { return {'all': 1, 'l1': 3, 'l2': 4, 'l3': 5, 'l4': 6, 'l5': 7, 'l6': 8}; }, exposes: [e.action(['on_*', 'off_*', 'brightness_*', 'scene_*'])], configure: async (device, coordinatorEndpoint, logger) => { await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genBasic', 'genGroups', 'genScenes', 'genOnOff', 'genLevelCtrl']); for (const ep of [3, 4, 5, 6, 7, 8]) { const endpoint = device.getEndpoint(ep); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']); } }, }, ];