local device = {} device.model = "LED2104R3" device.vendor = "IKEA" device.description = "TRADFRI bulb GU10, warm white, 345/380 lm" device.zigbeeModel = { "TRADFRI bulb GU10 WW 345lm", "TRADFRI bulb GU10 WW 345lm", "\\u001TRADFRI bulb GU10 WW 345lm", "TRADFRI bulb GU10 WW 345lm8", "TRADFRI bulb GU10 WW 380lm" } device.exposes = { { type = "light", features = { { type = "binary", name = "state", property = "state", access = 7, value_on = "ON", value_off = "OFF", description = "On/off state of this light", }, { type = "numeric", name = "brightness", property = "brightness", access = 7, min = 0, max = 254, description = "Brightness of this light", }, { type = "composite", name = "level_config", property = "level_config", access = 7, description = "Configure genLevelCtrl", features = { { type = "binary", name = "execute_if_off", property = "execute_if_off", access = 7, value_on = true, value_off = false, description = "this setting can affect the \"on_level\", \"current_level_startup\" or \"brightness\" setting", }, { type = "numeric", name = "current_level_startup", property = "current_level_startup", access = 7, min = 1, max = 254, description = "Defines the desired startup level for a device when it is supplied with power", }, }, }, }, }, { type = "enum", name = "effect", property = "effect", access = 2, description = "Triggers an effect on the light (e.g. make light blink for a few seconds)", values = { "blink", "breathe", "okay", "channel_change", "finish_effect", "stop_effect" }, }, { type = "enum", name = "power_on_behavior", property = "power_on_behavior", access = 7, description = "Controls the behavior when the device is powered on after power loss", category = "config", values = { "off", "on", "toggle", "previous" }, }, { type = "enum", name = "identify", property = "identify", access = 2, description = "Initiate device identification", category = "config", values = { "identify" }, }, } device.fromZigbee = { "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, }, }, } return device