local device = {} device.model = "AC201" device.vendor = "OWON" device.description = "HVAC controller/IR blaster" device.zigbeeModel = { "AC201" } 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 = "numeric", name = "occupied_heating_setpoint", property = "occupied_heating_setpoint", access = 7, unit = "C", min = 8, max = 30, value_step = 1, description = "Heating temperature setpoint", }, { type = "numeric", name = "occupied_cooling_setpoint", property = "occupied_cooling_setpoint", access = 7, unit = "C", min = 8, max = 30, value_step = 1, description = "Cooling temperature setpoint", }, { type = "enum", name = "system_mode", property = "system_mode", access = 7, values = { "off", "heat", "cool", "auto", "dry", "fan_only" }, description = "Thermostat system mode", }, { type = "enum", name = "fan_mode", property = "fan_mode", access = 7, values = { "low", "medium", "high", "on", "auto" }, description = "Fan mode", }, { type = "enum", name = "ac_louver_position", property = "ac_louver_position", access = 7, values = { "fully_open", "fully_closed", "half_open", "quarter_open", "three_quarters_open", }, description = "AC louver position", }, }, }, } device.fromZigbee = { "thermostat", "fan_mode" } device.toZigbee = { "fan_mode", "thermostat_system_mode", "thermostat_heating_setpoint", "thermostat_cooling_setpoint", "thermostat_ac_louver_position", } device.configure = { bind = { "hvacFanCtrl", "hvacThermostat" }, reporting = { { cluster = "hvacFanCtrl", attribute = "fanMode", min = 0, max = 3600, change = 0, }, { cluster = "hvacThermostat", attribute = "occupiedHeatingSetpoint", min = 0, max = 3600, change = 100, }, { cluster = "hvacThermostat", attribute = "occupiedCoolingSetpoint", min = 0, max = 3600, change = 100, }, { cluster = "hvacThermostat", attribute = "localTemp", min = 60, max = 600, change = 10, }, { cluster = "hvacThermostat", attribute = "systemMode", min = 0, max = 3600, change = 0, }, { cluster = "hvacThermostat", attribute = "acLouverPosition", min = 0, max = 3600, change = 0, }, }, } return device