local device = {} device.model = "L2-T-F-MF" device.vendor = "Tuya" device.description = "Smart Zigbee fan coil thermostat" device.exposes = { { type = "climate", features = { { type = "numeric", name = "local_temperature", property = "local_temperature", access = 1, unit = "°C", description = "Current temperature measured on the device", }, { type = "enum", name = "system_mode", property = "system_mode", access = 3, description = "Mode of this device", values = { "off", "cool", "heat", "fan_only" }, }, { type = "enum", name = "fan_mode", property = "fan_mode", access = 3, description = "Mode of the fan", values = { "low", "medium", "high", "auto" }, }, { type = "numeric", name = "current_heating_setpoint", property = "current_heating_setpoint", access = 3, unit = "°C", min = 5, max = 45, value_step = 0.5, description = "Temperature setpoint", }, }, }, { type = "numeric", name = "local_temperature_calibration", property = "local_temperature_calibration", access = 3, unit = "°C", min = -9, max = 9, value_step = 1, description = "Temperature compensation setting", }, { type = "numeric", name = "screen_brightness", property = "screen_brightness", access = 3, min = 1, max = 9, value_step = 1, description = "Display brightness level", }, { type = "numeric", name = "deadzone_temperature", property = "deadzone_temperature", access = 3, unit = "°C", min = 0.5, max = 5, value_step = 0.5, description = "Temperature deadzone", }, { type = "numeric", name = "min_temperature_limit", property = "min_temperature_limit", access = 3, unit = "°C", min = 5, max = 15, value_step = 1, description = "Minimum temperature limit", }, { type = "numeric", name = "max_temperature_limit", property = "max_temperature_limit", access = 3, unit = "°C", min = 16, max = 45, value_step = 1, description = "Maximun temperature limit", }, { type = "enum", name = "child_lock", property = "child_lock", access = 3, description = "Child lock", values = { "locked", "unlocked" }, }, { type = "numeric", name = "eco_temperature_heating", property = "eco_temperature_heating", access = 3, unit = "°C", min = 20, max = 30, value_step = 1, description = "Eco heating temperature", }, { type = "numeric", name = "eco_temperature_cooling", property = "eco_temperature_cooling", access = 3, unit = "°C", min = 20, max = 30, value_step = 1, description = "Eco cooling temperature", }, } device.tuyaDatapoints = { { dp = 16, name = "local_temperature", converter = "divideBy10" }, { dp = 18, name = "min_temperature_limit", converter = "divideBy10" }, { dp = 34, name = "max_temperature_limit", converter = "divideBy10" }, { dp = 39, name = "child_lock", converter = "lookup" }, { dp = 49, name = "fan_mode", converter = "lookup", lookup = { auto = 0, high = 1, medium = 2, low = 3 } }, { dp = 50, name = "current_heating_setpoint", converter = "divideBy10" }, { dp = 101, name = "screen_brightness", converter = "raw" }, { dp = 102, name = "local_temperature_calibration", converter = "raw" }, { dp = 104, name = "deadzone_temperature", converter = "divideBy10" }, { dp = 107, name = "eco_temperature_heating", converter = "raw" }, { dp = 109, name = "eco_temperature_cooling", converter = "raw" }, } device.fingerprint = { { model = "TS0601", manufacturer = "_TZE284_4vbj3fxh", }, } return device