local device = {} device.model = "YXZBSL" device.vendor = "Tuya" device.description = "Smart siren" device.exposes = { { type = "binary", name = "alarm", property = "alarm", access = 3, value_on = "ON", value_off = "OFF", description = "Turn the light of the alarm ON/OFF", }, { type = "enum", name = "type", property = "type", access = 3, description = "Alarm type", values = { "sound", "light", "sound+light", "normal" }, }, { type = "enum", name = "volume", property = "volume", access = 3, description = "Volume of the alarm", values = { "mute", "low", "middle", "high" }, }, { type = "enum", name = "ringtone", property = "ringtone", access = 3, description = "Ringtone of the alarm", values = { "melody1", "melody2", "melody3", "melody4", "melody5", "melody6", "melody7", "melody8", "door", "water", "temperature", "entered", "left", }, }, { type = "enum", name = "power_type", property = "power_type", access = 1, description = "Power type", values = { "battery", "cable" }, }, { type = "numeric", name = "duration", property = "duration", access = 3, unit = "min", min = 1, max = 60, value_step = 1, description = "Duration of the alarm", }, { type = "enum", name = "battery_level", property = "battery_level", access = 1, description = "Battery level state", values = { "low", "middle", "high" }, }, { type = "numeric", name = "battery", property = "battery", access = 1, unit = "%", min = 0, max = 100, description = "Remaining battery in %, can take up to 24 hours before reported", category = "diagnostic", }, } device.fromZigbee = { "battery" } device.tuyaDatapoints = { { dp = 1, name = "type", converter = "lookup", lookup = { sound = 0, light = 1, sound+light = 2, normal = 3 } }, { dp = 5, name = "volume", converter = "lookup", lookup = { low = 0, middle = 1, high = 2, mute = 3 } }, { dp = 6, name = "power_type", converter = "lookup" }, { dp = 7, name = "duration", converter = "raw" }, { dp = 13, name = "alarm", converter = "onOff" }, { dp = 14, name = "battery_level", converter = "lookup", lookup = { low = 0, middle = 1, high = 2 } }, { dp = 15, name = "battery", converter = "raw" }, { dp = 21, name = "ringtone", converter = "lookup", lookup = { melody1 = 0, melody2 = 1, melody3 = 2, melody4 = 3, melody5 = 4, melody6 = 5, melody7 = 6, melody8 = 7, door = 8, water = 9, temperature = 10, entered = 11, left = 12 } }, } device.configure = { bind = { "genPowerCfg" }, reporting = { { cluster = "genPowerCfg", attribute = "batteryPercentageRemaining", min = 3600, max = 65000, change = 0, }, { cluster = "genPowerCfg", attribute = "batteryVoltage", min = 3600, max = 65000, change = 0, }, }, } device.fingerprint = { { model = "TS0601", manufacturer = "_TZE204_k7mfgaen", }, { model = "TS0601", manufacturer = "_TZE204_fncxk3ob", }, { model = "TS0601", manufacturer = "_TZE284_fncxk3ob", }, } return device