UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

382 lines (380 loc) 14.9 kB
const exposes = require('../lib/exposes'); const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee}; const ota = require('../lib/ota'); const reporting = require('../lib/reporting'); const extend = require('../lib/extend'); const e = exposes.presets; module.exports = [ { zigbeeModel: ['Gardenspot RGB'], model: '73699', vendor: 'OSRAM', description: ' Gardenspot LED mini RGB', extend: extend.ledvance.light_onoff_brightness_color(), ota: ota.ledvance, }, { zigbeeModel: ['Outdoor Lantern W RGBW OSRAM'], model: '4058075816718', vendor: 'OSRAM', description: 'SMART+ outdoor wall lantern RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['Outdoor Lantern B50 RGBW OSRAM'], model: '4058075816732', vendor: 'OSRAM', description: 'SMART+ outdoor lantern RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['Classic A60 RGBW'], model: 'AA69697', vendor: 'OSRAM', description: 'Classic A60 RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['B40 TW Value'], model: 'AC25704', vendor: 'LEDVANCE', description: 'Classic E14 tunable white', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['A60 TW Z3'], model: 'AC10787', vendor: 'OSRAM', description: 'SMART+ classic E27 TW', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['A60 TW Value II'], model: 'AC25702', vendor: 'LEDVANCE', description: 'Classic E27 Tunable White', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['CLA60 RGBW OSRAM'], model: 'AC03645', vendor: 'OSRAM', description: 'LIGHTIFY LED CLA60 E27 RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, exposes: [e.light_brightness_colortemp_colorhs([153, 526]), e.effect()], }, { zigbeeModel: ['CLA60 TW OSRAM'], model: 'AC03642', vendor: 'OSRAM', description: 'SMART+ CLASSIC A 60 TW', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['PAR16 DIM Z3'], model: 'AC08560-DIM', vendor: 'OSRAM', description: 'SMART+ LED PAR16 GU10', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['A60 DIM Z3'], model: 'AC10786-DIM', vendor: 'OSRAM', description: 'SMART+ classic E27 dimmable', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['CLA60 RGBW Z3'], model: 'AC03647', vendor: 'OSRAM', description: 'SMART+ LED CLASSIC E27 RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 526], disableColorTempStartup: true}), ota: ota.ledvance, exposes: [e.light_brightness_colortemp_colorhs([153, 526]).removeFeature('color_temp_startup'), e.effect()], }, { zigbeeModel: ['CLA60 RGBW II Z3'], model: 'AC16381', vendor: 'OSRAM', description: 'SMART+ LED CLASSIC E27 RGBW V2', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { // AA70155 is model number of both bulbs. zigbeeModel: ['LIGHTIFY A19 Tunable White', 'Classic A60 TW'], model: 'AA70155', vendor: 'OSRAM', description: 'LIGHTIFY LED A19 tunable white / Classic A60 TW', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['PAR16 50 TW'], model: 'AA68199', vendor: 'OSRAM', description: 'LIGHTIFY LED PAR16 50 GU10 tunable white', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['PAR16 TW Z3'], model: '4058075148338', vendor: 'OSRAM', description: 'LIGHTIFY LED PAR16 50 GU10 tunable white', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Classic B40 TW - LIGHTIFY'], model: 'AB32840', vendor: 'OSRAM', description: 'LIGHTIFY LED Classic B40 tunable white', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Ceiling TW OSRAM'], model: '4058075816794', vendor: 'OSRAM', description: 'Smart+ Ceiling TW', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Classic A60 W clear - LIGHTIFY'], model: 'AC03641', vendor: 'OSRAM', description: 'LIGHTIFY LED Classic A60 clear', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['Surface Light W �C LIGHTIFY'], model: '4052899926158', vendor: 'OSRAM', description: 'LIGHTIFY Surface Light TW', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['Surface Light TW'], model: 'AB401130055', vendor: 'OSRAM', description: 'LIGHTIFY Surface Light LED Tunable White', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Plug 01'], model: 'AB3257001NJ', description: 'Smart+ plug', vendor: 'OSRAM', extend: extend.switch(), ota: ota.ledvance, configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(3); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']); await reporting.onOff(endpoint); }, }, { zigbeeModel: ['Plug Z3'], model: 'AC10691', description: 'Smart+ plug', vendor: 'OSRAM', extend: extend.switch(), ota: ota.ledvance, configure: async (device, coordinatorEndpoint, logger) => { let endpoint = device.getEndpoint(3); // Endpoint 3 is not always present, use endpoint 1 in that case // https://github.com/Koenkk/zigbee2mqtt/issues/2178 if (!endpoint) endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']); await reporting.onOff(endpoint); }, }, { zigbeeModel: ['Flex RGBW', 'LIGHTIFY Indoor Flex RGBW', 'LIGHTIFY Flex RGBW'], model: '4052899926110', vendor: 'OSRAM', description: 'Flex RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['LIGHTIFY Outdoor Flex RGBW', 'LIGHTIFY FLEX OUTDOOR RGBW', 'Flex Outdoor RGBW'], model: '4058075036185', vendor: 'OSRAM', description: 'Outdoor Flex RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['Gardenpole RGBW-Lightify'], model: '4058075036147', vendor: 'OSRAM', description: 'Smart+ gardenpole 8.7W RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['Gardenpole RGBW Z3'], model: '4058075047853', vendor: 'OSRAM', description: 'Smart+ gardenpole 4W RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), meta: {disableDefaultResponse: true}, ota: ota.ledvance, }, { zigbeeModel: ['Gardenpole Mini RGBW OSRAM'], model: 'AC0363900NJ', vendor: 'OSRAM', description: 'Smart+ mini gardenpole RGBW', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['Gardenspot W'], model: '4052899926127', vendor: 'OSRAM', description: 'Lightify mini gardenspot WT', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['PAR 16 50 RGBW - LIGHTIFY'], model: 'AB35996', vendor: 'OSRAM', description: 'Smart+ Spot GU10 Multicolor', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['PAR16 RGBW Z3'], model: 'AC08559', vendor: 'OSRAM', description: 'SMART+ Spot GU10 Multicolor', extend: extend.ledvance.light_onoff_brightness_colortemp_color(), ota: ota.ledvance, }, { zigbeeModel: ['B40 DIM Z3'], model: 'AC08562', vendor: 'OSRAM', description: 'SMART+ Candle E14 Dimmable White', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['Motion Sensor-A'], model: 'AC01353010G', vendor: 'OSRAM', description: 'SMART+ Motion Sensor', fromZigbee: [fz.temperature, fz.ias_occupancy_alarm_2, fz.ignore_basic_report], toZigbee: [], configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg']); await reporting.temperature(endpoint); await reporting.batteryVoltage(endpoint); }, exposes: [e.temperature(), e.occupancy(), e.battery_low(), e.tamper()], }, { zigbeeModel: ['MR16 TW OSRAM'], model: 'AC03648', vendor: 'OSRAM', description: 'SMART+ spot GU5.3 tunable white', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Lightify Switch Mini', 'Lightify Switch Mini blue'], model: 'AC0251100NJ/AC0251700NJ', vendor: 'OSRAM', description: 'Smart+ switch mini', fromZigbee: [fz.legacy.osram_lightify_switch_cmdOn, fz.legacy.osram_lightify_switch_cmdMoveWithOnOff, fz.legacy.osram_lightify_switch_AC0251100NJ_cmdStop, fz.legacy.osram_lightify_switch_cmdMoveToColorTemp, fz.legacy.osram_lightify_switch_cmdMoveHue, fz.legacy.osram_lightify_switch_cmdMoveToSaturation, fz.legacy.osram_lightify_switch_cmdOff, fz.legacy.osram_lightify_switch_cmdMove, fz.battery, fz.legacy.osram_lightify_switch_cmdMoveToLevelWithOnOff], exposes: [e.battery(), e.action([ 'up', 'up_hold', 'up_release', 'down_release', 'circle_release', 'circle_hold', 'down', 'down_hold', 'circle_click'])], toZigbee: [], meta: {battery: {voltageToPercentage: '3V_2500'}}, ota: ota.ledvance, configure: async (device, coordinatorEndpoint, logger) => { const endpoint1 = device.getEndpoint(1); const endpoint2 = device.getEndpoint(2); const endpoint3 = device.getEndpoint(3); await reporting.bind(endpoint1, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'genPowerCfg']); await reporting.bind(endpoint2, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']); await reporting.bind(endpoint3, coordinatorEndpoint, ['genLevelCtrl', 'lightingColorCtrl']); await reporting.batteryVoltage(endpoint1); }, }, { zigbeeModel: ['Switch 4x EU-LIGHTIFY', 'Switch 4x-LIGHTIFY', 'Switch-LIGHTIFY'], model: '4058075816459', vendor: 'OSRAM', description: 'Smart+ switch', exposes: [e.battery(), e.action(['left_top_click', 'left_bottom_click', 'right_top_click', 'right_bottom_click', 'left_top_hold', 'left_bottom_hold', 'left_top_release', 'left_bottom_release', 'right_top_release', 'right_top_hold', 'right_bottom_release', 'right_bottom_hold'])], fromZigbee: [fz.battery, fz.legacy.osram_lightify_switch_AB371860355_cmdOn, fz.legacy.osram_lightify_switch_AB371860355_cmdOff, fz.legacy.osram_lightify_switch_AB371860355_cmdStepColorTemp, fz.legacy.osram_lightify_switch_AB371860355_cmdMoveWithOnOff, fz.legacy.osram_lightify_switch_AB371860355_cmdMove, fz.legacy.osram_lightify_switch_AB371860355_cmdStop, fz.legacy.osram_lightify_switch_AB371860355_cmdMoveHue, fz.legacy.osram_lightify_switch_AB371860355_cmdMoveSat], toZigbee: [], meta: {battery: {voltageToPercentage: '3V_2500'}}, ota: ota.ledvance, configure: async (device, coordinatorEndpoint, logger) => { const endpoint1 = device.getEndpoint(1); const endpoint2 = device.getEndpoint(2); const endpoint3 = device.getEndpoint(3); const endpoint4 = device.getEndpoint(4); await reporting.bind(endpoint1, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'genPowerCfg']); await reporting.bind(endpoint2, coordinatorEndpoint, ['genLevelCtrl', 'lightingColorCtrl']); await reporting.bind(endpoint3, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']); await reporting.bind(endpoint4, coordinatorEndpoint, ['genLevelCtrl', 'lightingColorCtrl']); await reporting.batteryVoltage(endpoint1); }, }, { zigbeeModel: ['SubstiTube', 'Connected Tube Z3'], model: 'ST8AU-CON', vendor: 'OSRAM', description: 'OSRAM SubstiTUBE T8 Advanced UO Connected', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, { zigbeeModel: ['Panel TW 595 UGR22'], model: '595UGR22', vendor: 'OSRAM', description: 'OSRAM LED panel TW 595 UGR22', extend: extend.ledvance.light_onoff_brightness_colortemp(), ota: ota.ledvance, }, { zigbeeModel: ['Zigbee 3.0 DALI CONV LI'], model: '4062172044776', vendor: 'OSRAM', description: 'OSRAM Zigbee 3.0 DALI CONV LI dimmer for DALI-based luminaires', extend: extend.ledvance.light_onoff_brightness(), ota: ota.ledvance, }, ];