local device = {} device.model = "jackdevice1" device.vendor = "Legrand" device.description = "Galion UP IOT thermostat" device.zigbeeModel = { "jackdevice1" } 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 = 5, max = 35, value_step = 0.5, description = "Heating temperature setpoint", }, { type = "numeric", name = "occupied_cooling_setpoint", property = "occupied_cooling_setpoint", access = 7, unit = "C", min = 5, max = 35, value_step = 0.5, description = "Cooling temperature setpoint", }, { type = "enum", name = "system_mode", property = "system_mode", access = 7, values = { "off", "auto", "cool", "heat", "dry", "fan_only" }, description = "Thermostat system mode", }, { type = "enum", name = "fan_mode", property = "fan_mode", access = 7, values = { "off", "low", "medium", "high", "on", "auto" }, description = "Fan mode", }, }, }, { type = "binary", name = "state", property = "state", access = 7, value_on = "ON", value_off = "OFF", description = "On/off state", }, { type = "numeric", name = "brightness", property = "brightness", access = 7, min = 0, max = 254, description = "Level control value", }, } device.fromZigbee = { "thermostat", "fan_mode", "on_off", "brightness" } device.toZigbee = { "thermostat_heating_setpoint", "thermostat_cooling_setpoint", "thermostat_system_mode", "fan_mode", "on_off", "brightness", } device.configure = { bind = { "hvacThermostat", "hvacFanCtrl", "genOnOff", "genLevelCtrl" }, reporting = { { cluster = "hvacThermostat", attribute = "localTemp", min = 0, max = 3600, change = 10, }, { cluster = "hvacThermostat", attribute = "occupiedHeatingSetpoint", min = 0, max = 3600, change = 10, }, { cluster = "hvacThermostat", attribute = "occupiedCoolingSetpoint", min = 0, max = 3600, change = 10, }, { cluster = "hvacThermostat", attribute = "systemMode", min = 10, max = 3600, change = 0, }, { cluster = "hvacFanCtrl", attribute = "fanMode", min = 0, max = 3600, change = 0, }, { cluster = "genOnOff", attribute = "onOff", min = 0, max = 3600, change = 0, }, { cluster = "genLevelCtrl", attribute = "currentLevel", min = 1, max = 3600, change = 1, }, }, } return device