zigbee-herdsman-converters
Version:
Collection of device converters to be used with zigbee-herdsman
107 lines (105 loc) • 3.99 kB
JavaScript
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;
module.exports = [
{
zigbeeModel: ['SoftWhite'],
model: 'PSB19-SW27',
vendor: 'GE',
description: 'Link smart LED light bulb, A19 soft white (2700K)',
extend: extend.light_onoff_brightness(),
},
{
zigbeeModel: ['ZLL Light'],
model: '22670',
vendor: 'GE',
description: 'Link smart LED light bulb, A19/BR30 soft white (2700K)',
extend: extend.light_onoff_brightness(),
},
{
zigbeeModel: ['Daylight'],
model: 'PQC19-DY01',
vendor: 'GE',
description: 'Link smart LED light bulb, A19/BR30 cold white (5000K)',
extend: extend.light_onoff_brightness(),
},
{
zigbeeModel: ['45852'],
model: '45852GE',
vendor: 'GE',
description: 'ZigBee plug-in smart dimmer',
extend: extend.light_onoff_brightness({noConfigure: true}),
configure: async (device, coordinatorEndpoint, logger) => {
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(endpoint);
},
},
{
zigbeeModel: ['45853'],
model: '45853GE',
vendor: 'GE',
description: 'Plug-in smart switch',
fromZigbee: [fz.on_off, fz.metering, fz.ignore_basic_report],
toZigbee: [tz.on_off, tz.ignore_transition],
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
await reporting.onOff(endpoint);
await reporting.readMeteringMultiplierDivisor(endpoint);
await reporting.instantaneousDemand(endpoint, {min: 10, change: 2});
},
exposes: [e.switch(), e.power(), e.energy()],
},
{
zigbeeModel: ['45856'],
model: '45856GE',
vendor: 'GE',
description: 'In-wall smart switch',
extend: extend.switch(),
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(endpoint);
},
},
{
zigbeeModel: ['45857'],
model: '45857GE',
vendor: 'GE',
description: 'ZigBee in-wall smart dimmer',
extend: extend.light_onoff_brightness({noConfigure: true}),
configure: async (device, coordinatorEndpoint, logger) => {
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(endpoint);
},
},
{
zigbeeModel: ['Smart Switch'],
model: 'PTAPT-WH02',
vendor: 'GE',
description: 'Quirky smart switch',
extend: extend.switch(),
endpoint: (device) => {
return {'default': 2};
},
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(2);
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(endpoint);
},
},
{
zigbeeModel: ['ZHA Smart Plug'],
model: 'POTLK-WH02',
vendor: 'GE',
description: 'Outlink smart remote outlet',
extend: extend.switch(),
},
];