//Create a class for color temperature package ColorTemperature import SmartThing.SmartThing //Importing mutable integer class import MutableInteger.MutableInteger public class ColorTemperature extends SmartThing { // id, label, and display name of the device StringBuilder id = new StringBuilder() StringBuilder label = new StringBuilder() StringBuilder displayName = new StringBuilder() // Features with numberical values MutableInteger currentColorTemperature = new MutableInteger() // Maps from features to values HashMap deviceIntValuesMap = new HashMap() ColorTemperature(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, MutableInteger colorTemperature) { deviceIntValuesMap = deviceIntValueSmartThing idSmartThing = id labelSmartThing = label displayNameSmartThing = displayName sendEventSmartThings = sendEvent // Initialization this.id = id this.label = label this.displayName = displayName this.currentColorTemperature = currentColorTemperature deviceIntValuesMap.put("colorTemperature", currentColorTemperature) } // Methods to set values def setColorTemperature(int newValue) { if (!currentColorTemperature.getValue().equals(newValue)) { String tmpID = id.toString() currentColorTemperature.setValue(newValue) println("The color temperature of the light with id $tmpID is changed to $newValue!") sendEvent([name: "colorTemperature", value: "$newValue", deviceId: tmpID, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } // Methods to return values def getCurrentColorTemperature() { return currentColorTemperature.getValue() } }