Skip to content

Instantly share code, notes, and snippets.

@Koenkk

Koenkk/ext.js Secret

Created July 19, 2023 17:26
Show Gist options
  • Save Koenkk/688987a60de3f7bc13fc20b2413b76a1 to your computer and use it in GitHub Desktop.
Save Koenkk/688987a60de3f7bc13fc20b2413b76a1 to your computer and use it in GitHub Desktop.
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const legacy = require('zigbee-herdsman-converters/lib/legacy');
const extend = require('zigbee-herdsman-converters/lib/extend');
const ota = require('zigbee-herdsman-converters/lib/ota');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
zigbeeModel: ['RODRET Dimmer'],
model: 'E2201',
vendor: 'IKEA',
description: 'RODRET wireless dimmer/power switch',
fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_move, fz.command_stop],
toZigbee: [tz.battery_percentage_remaining],
exposes: [
e.battery().withAccess(ea.STATE_GET),
e.action(['on', 'off', 'brightness_move_down', 'brightness_move_up', 'brightness_stop']),
],
ota: ota.tradfri,
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
const binds = ['genOnOff', 'genLevelCtrl', 'genPollCtrl', 'genPowerCfg'];
await reporting.bind(endpoint, coordinatorEndpoint, binds);
await reporting.batteryPercentageRemaining(endpoint);
},
};
module.exports = definition;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment