local device = {} device.model = "TS1101_dimmer_module_2ch" device.vendor = "Tuya" device.description = "Zigbee dimmer module 2 channel" device.exposes = { { type = "light", endpoint = "l1", features = { { type = "binary", name = "state", property = "state_l1", access = 7, value_on = "ON", value_off = "OFF", description = "On/off state of this light", endpoint = "l1", }, { type = "numeric", name = "brightness", property = "brightness_l1", access = 7, min = 0, max = 254, description = "Brightness of this light", endpoint = "l1", }, { type = "numeric", name = "min_brightness", property = "min_brightness_l1", access = 7, min = 1, max = 255, description = "Minimum light brightness", endpoint = "l1", }, }, }, { type = "light", endpoint = "l2", features = { { type = "binary", name = "state", property = "state_l2", access = 7, value_on = "ON", value_off = "OFF", description = "On/off state of this light", endpoint = "l2", }, { type = "numeric", name = "brightness", property = "brightness_l2", access = 7, min = 0, max = 254, description = "Brightness of this light", endpoint = "l2", }, { type = "numeric", name = "min_brightness", property = "min_brightness_l2", access = 7, min = 1, max = 255, description = "Minimum light brightness", endpoint = "l2", }, }, }, { type = "enum", name = "effect", property = "effect_l1", access = 2, description = "Triggers an effect on the light (e.g. make light blink for a few seconds)", endpoint = "l1", values = { "blink", "breathe", "okay", "channel_change", "finish_effect", "stop_effect" }, }, { type = "enum", name = "effect", property = "effect_l2", access = 2, description = "Triggers an effect on the light (e.g. make light blink for a few seconds)", endpoint = "l2", values = { "blink", "breathe", "okay", "channel_change", "finish_effect", "stop_effect" }, }, { type = "binary", name = "do_not_disturb", property = "do_not_disturb", access = 3, value_on = true, value_off = false, description = "Do not disturb mode, when enabled this function will keep the light OFF after a power outage", category = "config", }, } device.fromZigbee = { "on_off", "brightness" } device.toZigbee = { "on_off", "brightness" } device.configure = { bind = { "genOnOff", "genLevelCtrl" }, reporting = { { cluster = "genOnOff", attribute = "onOff", min = 0, max = 3600, change = 0, }, { cluster = "genLevelCtrl", attribute = "currentLevel", min = 1, max = 3600, change = 1, }, }, } device.meta = { multiEndpoint = true } device.fingerprint = { { model = "TS1101", manufacturer = "_TZ3000_7ysdnebc", }, } return device